]> git.eshelyaron.com Git - emacs.git/log
emacs.git
22 months agoUpdate Android port
Po Lu [Sat, 25 Feb 2023 12:11:48 +0000 (20:11 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsNoninteractive.java (main): Port to
Android 2.2.
* src/android-asset.h (AAsset_openFileDescriptor): Delete stub
function.
* src/android.c (android_check_compressed_file): Delete
function.
(android_open): Stop trying to find compressed files or to use
the system provided file descriptor.  Explain why.

22 months agoUpdate Android port
Po Lu [Sat, 25 Feb 2023 11:11:07 +0000 (19:11 +0800)]
Update Android port

* doc/emacs/android.texi (Android Startup, Android File System)
(Android Environment, Android Windowing, Android
Troubleshooting): Improve documentation; fix typos.
* doc/lispref/commands.texi (Misc Events): Likewise.
* java/org/gnu/emacs/EmacsService.java (queryBattery): New
function.
* lisp/battery.el (battery-status-function): Set appropriately
for Android.
(battery-android): New function.
* src/android.c (struct android_emacs_service): New method
`query_battery'.
(android_check_content_access): Improve exception checking.
(android_init_emacs_service): Look up new method.
(android_destroy_handle, android_create_window)
(android_init_android_rect_class, android_init_emacs_gc_class)
(android_set_clip_rectangles)
(android_create_pixmap_from_bitmap_data, android_fill_polygon)
(android_get_image, android_put_image, android_bell)
(android_set_input_focus, android_raise_window)
(android_lower_window, android_query_tree, android_get_geometry)
(android_translate_coordinates, android_wc_lookup_string)
(android_damage_window, android_build_string)
(android_build_jstring, android_exception_check_1)
(android_exception_check_2): New functions.
(android_browse_url): Improve exception handling.  Always use
android_exception_check and don't leak local refs.
(android_query_battery): New function.
* src/android.h (struct android_battery_state): New struct.
* src/androidfns.c (Fandroid_query_battery, syms_of_androidfns):
New function.
* src/androidfont.c (androidfont_from_lisp, DO_SYMBOL_FIELD)
(DO_CARDINAL_FIELD, androidfont_list, androidfont_match)
(androidfont_draw, androidfont_open_font)
(androidfont_close_font):
* src/androidselect.c (Fandroid_set_clipboard)
(Fandroid_get_clipboard):
* src/sfnt.c (sfnt_map_glyf_table):
* src/sfntfont.c (sfntfont_free_outline_cache)
(sfntfont_free_raster_cache, sfntfont_close): Allow font close
functions to be called twice.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 25 Feb 2023 06:24:17 +0000 (14:24 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months agoMerge from origin/emacs-29
Stefan Kangas [Sat, 25 Feb 2023 05:30:14 +0000 (06:30 +0100)]
Merge from origin/emacs-29

5cf50d60041 Check the anchor along with the offset in treesit-indent-...
497018dd5c3 ; Fix typos in docstrings in c-ts-common.el
03072bbdd38 ; Set indent-tabs-mode to nil in c-ts-mode indent preproc...
4a25fa4586c Align to prev sibling for c-ts-mode indentation
d25f24fe57b Fix c-ts-common-statement-offset and c-ts-common--node-is
c92360c7a3b typescript-ts-mode: Highlight non-shorthand destructuring...
a795c51f605 Add more/finer faces for tree-sitter
146bce49321 Avoid crashes in batch mode due to lack of frame face cache
244a73cd729 Add Tramp version integrated in Emacs 28.3

# Conflicts:
# etc/NEWS

22 months agoCheck the anchor along with the offset in treesit-indent-region
Daniel Martín [Sat, 25 Feb 2023 02:07:55 +0000 (03:07 +0100)]
Check the anchor along with the offset in treesit-indent-region

* lisp/treesit.el (treesit-indent-region): To compute a valid column,
having a non-nil offset is not enough, we need a non-nil anchor as
well.

22 months ago; Fix typos in docstrings in c-ts-common.el
Daniel Martín [Thu, 23 Feb 2023 17:30:36 +0000 (18:30 +0100)]
; Fix typos in docstrings in c-ts-common.el

* lisp/progmodes/c-ts-common.el:
(c-ts-common-statement-offset): Fix typo.

22 months ago; Set indent-tabs-mode to nil in c-ts-mode indent preproc test
Yuan Fu [Sat, 25 Feb 2023 03:43:22 +0000 (19:43 -0800)]
; Set indent-tabs-mode to nil in c-ts-mode indent preproc test

* test/lisp/progmodes/c-ts-mode-resources/indent-preproc.erts: Set
indent-tabs-mode to nil.

22 months agoAlign to prev sibling for c-ts-mode indentation
Yuan Fu [Sat, 25 Feb 2023 02:40:52 +0000 (18:40 -0800)]
Align to prev sibling for c-ts-mode indentation

As requested by a discussion on emacs-devel.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--anchor-prev-sibling): New function.
(c-ts-mode--indent-styles): Indent first child as before, indent the
rest to their previous sibling.  Remove bracketless statement rules
that I forgot to remove previously.

22 months agoFix c-ts-common-statement-offset and c-ts-common--node-is
Yuan Fu [Sat, 25 Feb 2023 03:31:34 +0000 (19:31 -0800)]
Fix c-ts-common-statement-offset and c-ts-common--node-is

* lisp/progmodes/c-ts-common.el:
(c-ts-common--node-is): Guard against case where the node has no field
name.
(c-ts-common-statement-offset): Do indent a level if the "if" in the
"else if" is on an independent line.

22 months agotypescript-ts-mode: Highlight non-shorthand destructuring bindings
Dmitry Gutov [Sat, 25 Feb 2023 01:54:31 +0000 (03:54 +0200)]
typescript-ts-mode: Highlight non-shorthand destructuring bindings

* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Highlight non-shorthand
variable bindings in object destructuring.

22 months agoAdd more/finer faces for tree-sitter
Dmitry Gutov [Sat, 25 Feb 2023 01:15:46 +0000 (03:15 +0200)]
Add more/finer faces for tree-sitter

* doc/lispref/modes.texi (Faces for Font Lock):
Update the list of faces (bug#61655).

* etc/NEWS: Update the list of new faces.

* lisp/cus-theme.el (custom-theme--listed-faces): Update.

* lisp/font-lock.el (font-lock-function-call-face)
(font-lock-variable-ref-face, font-lock-property-ref-face):
New faces.
(font-lock-property-name-face):
Rename from 'font-lock-property-face'.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
Use new faces.  More 'enumerator' query to 'definition' feature.
(c-ts-mode--fontify-declarator, c-ts-mode--fontify-variable):
Use new faces.

* lisp/progmodes/cmake-ts-mode.el
(cmake-ts-mode--font-lock-settings): Use new faces.

* lisp/progmodes/csharp-mode.el
(csharp-ts-mode--font-lock-settings): Use new faces.

* lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings):
Use new faces.

* lisp/progmodes/java-ts-mode.el
(java-ts-mode--font-lock-settings): Use new faces.

* lisp/progmodes/js.el (js--treesit-fontify-assignment-lhs)
(js--treesit-font-lock-settings): Use new faces.  Highlight
variable definitions inside array and object destructuring
patterns.

* lisp/progmodes/python.el (python--treesit-variable-p):
Exclude identifiers in parameters.
(python--treesit-settings): Use new faces.  Highlight function
parameters.  Move 'keyword' up to still highlight 'self' as
keyword.

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Use new faces.

* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--font-lock-settings): Use new faces.

* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Use new faces.

* lisp/textmodes/css-mode.el (css--treesit-settings):
Use font-lock-property-ref-face.

* lisp/textmodes/toml-ts-mode.el
(toml-ts-mode--font-lock-settings):
Use font-lock-property-ref-face.

* lisp/textmodes/yaml-ts-mode.el
(yaml-ts-mode--font-lock-settings): Same.

22 months agoAvoid crashes in batch mode due to lack of frame face cache
Eli Zaretskii [Fri, 24 Feb 2023 20:46:05 +0000 (22:46 +0200)]
Avoid crashes in batch mode due to lack of frame face cache

* src/xfaces.c (Finternal_merge_in_global_face): Handle frames
with no face cache.

22 months agokmacro: Simplify register code and recent change
Stefan Monnier [Fri, 24 Feb 2023 19:18:24 +0000 (14:18 -0500)]
kmacro: Simplify register code and recent change

While reviewing uses of `last-kbd-macro` for more problems like
those of bug#61700 I noticed that we don't need the `kmacro-register`
type any more (we can directly use the new `kmacro` type instead).
Also `macros.el` requires `kmacro` so rather than autoload
`macro--string-to-vector` it's simpler to move the function to
`kmacro.el`.  And while at it fold into it the `stringp` test that's used
before every call to that function.

* lisp/kmacro.el (kmacro--to-vector): Rename from
`macro--string-to-vector`, move from `mcros.el`, and make it work for
vectors.
(kmacro-ring-head, kmacro-lambda-form): Simplify accordingly.
(cl-print-object): Remove unused declaration.
(kmacro-register): Delete type.  Use `kmacro` objects instead.
(register-val-jump-to, register-val-describe, register-val-insert):
Rewrite accordingly.
(kmacro-to-register): Put the `kmacro` object.

* lisp/macros.el (macro--string-to-vector): Move to `kmacro.el`.
(insert-kbd-macro): Use `kmacro--to-vector`.

* src/macros.c (end_kbd_macro): Always generate a vector.

22 months agoTramp cleanup
Michael Albinus [Fri, 24 Feb 2023 19:08:10 +0000 (20:08 +0100)]
Tramp cleanup

* lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Ignore errors.

* test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion)
(tramp-test26-interactive-file-name-completion)
(tramp-test29-start-file-process, tramp-test30-make-process): Fix tests.

22 months agoAdd Tramp version integrated in Emacs 28.3
Michael Albinus [Fri, 24 Feb 2023 18:47:15 +0000 (19:47 +0100)]
Add Tramp version integrated in Emacs 28.3

* lisp/net/trampver.el (customize-package-emacs-version-alist):
Add Tramp version integrated in Emacs 28.3.

22 months agoMerge branch 'emacs-29'
Stefan Monnier [Fri, 24 Feb 2023 18:13:59 +0000 (13:13 -0500)]
Merge branch 'emacs-29'

22 months agoAvoid reusing :lisp-dir twice in 'package-vc--main-file'
Philip Kaludercic [Wed, 22 Feb 2023 14:28:44 +0000 (15:28 +0100)]
Avoid reusing :lisp-dir twice in 'package-vc--main-file'

* lisp/emacs-lisp/package-vc.el (package-vc--main-file): Just use
:lisp-dir from 'package-desc-extras', not 'pkg-spec'.

This avoid appending the contents of :lisp-dir twice, in case it is
specified both in pkg-spec and pkg-desc.

22 months agoEnsure right package-desc-type before installing package
Philip Kaludercic [Wed, 22 Feb 2023 14:23:43 +0000 (15:23 +0100)]
Ensure right package-desc-type before installing package

* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Move copying
code from 'package-vc-install'.
(package-vc-install): Remove copying.  (Bug#61669)

22 months agoMore accurate suppression of ignored return value warning
Mattias Engdegård [Fri, 24 Feb 2023 14:32:04 +0000 (15:32 +0100)]
More accurate suppression of ignored return value warning

* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
Be careful to propagate the for-effect mode through a
`with-suppressed-warnings` form when compiling, so that a form
inside isn't erroneously considered to have its value 'used'
by the surrounding warning suppression form itself.

22 months agoFix unsafep for aliases to side-effect-free functions
Mattias Engdegård [Fri, 24 Feb 2023 14:12:40 +0000 (15:12 +0100)]
Fix unsafep for aliases to side-effect-free functions

* lisp/emacs-lisp/unsafep.el (unsafep-function):
Follow aliases when reading the `side-effect-free` property.

22 months agoFollow function aliases for `side-effect-free` and `pure` properties
Mattias Engdegård [Thu, 23 Feb 2023 13:04:55 +0000 (14:04 +0100)]
Follow function aliases for `side-effect-free` and `pure` properties

This way we don't need to set these properties on aliases at all;
it was always easy to forget doing so.

* lisp/emacs-lisp/byte-opt.el (byte-opt--fget): New function.
(byte-optimize-form-code-walker, byte-optimize-form): Use it.
(side-effect-free-fns, side-effect-and-error-free-fns, pure-fns):
Remove aliases from lists, leaving only built-in functions.

22 months agoRestore invisibility of symlink target on exiting wdired-mode
Stephen Berman [Fri, 24 Feb 2023 15:43:35 +0000 (16:43 +0100)]
Restore invisibility of symlink target on exiting wdired-mode

* lisp/wdired.el (wdired-change-to-dired-mode): Invoke
dired-hide-details-update-invisibility-spec (bug#61510).

* test/lisp/wdired-tests.el (wdired-test-bug61510): New test.

22 months agoEglot: fix jit-lock inlay hint bugs
João Távora [Fri, 24 Feb 2023 14:48:01 +0000 (14:48 +0000)]
Eglot: fix jit-lock inlay hint bugs

One of the bugs was straightforward.  The timer function of
eglot--update-hints must set the correct buffer.

The other is much more odd.  When using Eglot on Emacs's own
src/coding.c, the jit-lock code starts calling its jit-functions over
and over again with the same sequence of arguments, like so:

======================================================================
1 -> (eglot--update-hints 63551 65051)
1 <- eglot--update-hints: [nil 25592 52026 4
======================================================================
1 -> (eglot--update-hints 65051 66551)
1 <- eglot--update-hints: [nil 25592 52026 4
======================================================================
1 -> (eglot--update-hints-1 63551 66551)
1 <- eglot--update-hints-1: nil
======================================================================
1 -> (eglot--update-hints 63551 65051)
1 <- eglot--update-hints: [nil 25592 52026 4
======================================================================
1 -> (eglot--update-hints 65051 66551)
1 <- eglot--update-hints: [nil 25592 52026 5
======================================================================
1 -> (eglot--update-hints-1 63551 66551)
1 <- eglot--update-hints-1: nil

This continues forever at a very fast rate and saturates the LSP
channel.

At first I thought that it was because eglot--update-hints-1 is
actually causing the buffer to be modified with overlays sometime in
the future, but it is not so!  It seems that merely calling

   (goto-char (eglot--lsp-position-to-point position))

(from the LSP request handler in eglot--update-hints-1) will cause
this bug.

* lisp/progmodes/eglot.el (eglot--update-hints): Fix bugs.

22 months agoImprove Android configury
Po Lu [Fri, 24 Feb 2023 14:25:48 +0000 (22:25 +0800)]
Improve Android configury

* configure.ac (JAVA_PUSH_LINT): New macro.
(JAVAFLAGS): New variable.  Check for various lint flags and
macros and enable them.
* java/Makefile.in (ANDROID_ABI):
* java/org/gnu/emacs/EmacsSdk7FontDriver.java: Remove compiler
warning.

22 months agoEnable normal-erase-is-backspace on Android
Po Lu [Fri, 24 Feb 2023 13:22:47 +0000 (21:22 +0800)]
Enable normal-erase-is-backspace on Android

* lisp/frame.el (display-symbol-keys-p):
* lisp/simple.el (normal-erase-is-backspace-setup-frame): Return
appropriate values on Android.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Fri, 24 Feb 2023 13:20:08 +0000 (21:20 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months agoFix auto-revert-mode on Android
Po Lu [Fri, 24 Feb 2023 13:18:35 +0000 (21:18 +0800)]
Fix auto-revert-mode on Android

* src/inotify.c (Finotify_add_watch): Handle asset files.

22 months agoEglot: fix inlay hint with label collection instead of string
João Távora [Fri, 24 Feb 2023 10:46:20 +0000 (10:46 +0000)]
Eglot: fix inlay hint with label collection instead of string

Reported by Chinmay Dalal <dalal.chinmay.0101@gmail.com>

* lisp/progmodes/eglot.el (eglot--update-hints-1): Fix bug when
inlay hint contains collection of labels.

22 months agoFix insertion of keyboard macro containing named keys
Robert Pluim [Fri, 24 Feb 2023 10:12:24 +0000 (11:12 +0100)]
Fix insertion of keyboard macro containing named keys

* lisp/kmacro.el: Autoload `macro--string-to-vector'.
(kmacro-ring-head): Convert `last-kbd-macro' to a vector if it's a
string, since `kmacro' uses `key-parse' on it.
(kmacro-lambda-form): Remove require for 'macros
* test/lisp/kmacro-tests.el
(kmacro-tests-name-last-macro-key-parse-syntax):
Test that insertion of macros that contain strings that look
like named keys works correctly.

(Bug#61700)

22 months agoMerge from origin/emacs-29
Stefan Kangas [Fri, 24 Feb 2023 05:30:11 +0000 (06:30 +0100)]
Merge from origin/emacs-29

b0cbd5590b2 Eglot: simplify inlay hints implementation with jit-lock
91e24c5b5a6 Eglot: update inlay hints on window configuration changes
79fead1709f ; Fix a typo in a doc string in c-ts-common.el (bug#61736).
a0b273ef300 ; Clarify documentation of 'file-modes-number-to-symbolic'
5c2be6a2632 ; Fix recently-added doc strings in eglot.el
e3be0dbf85c Eglot: display completion label when safe
5286111ea1f Improve documentation of VC commands, including in Dired
990f4027131 * doc/emacs/maintaining.texi: More mentions of marked fil...

22 months agoEglot: simplify inlay hints implementation with jit-lock
João Távora [Thu, 23 Feb 2023 23:51:09 +0000 (23:51 +0000)]
Eglot: simplify inlay hints implementation with jit-lock

This implementation is much simpler than the one based on
windows-scroll-functions.  It's also supposedly safer, as long as
jit-lock guarantees refontification of affected regions.

It's not _trivially_ simple though, as simply adding
'eglot--update-hints-1' to jit-lock-functions, while possible, is
going to request inlay hints from the LSP server for many small
regions of the buffer, depending on what jit-lock thinks is best.  So
we keep coalescing these into a larger region until the time is
suitable for a more bandwidth-efficient request.

To do this, we use a jit-lock implementation detail,
jit-lock-context-unfontify-pos, which is a proxy for knowing that the
jit-lock-context-timer has run.  Not sure how brittle it is, but it
seems to work reasonably.

We also get rid of the previous "get hints for entire buffer"
implementation.

* doc/misc/eglot.texi (Eglot Variables): Remove mention
to deleted eglot-lazy-inlay-hints.

* lisp/progmodes/eglot.el (eglot-lazy-inlay-hints)
(eglot--inlay-hints-after-scroll)
(eglot--inlay-hints-fully)
(eglot--inlay-hints-lazily): Remove.
(eglot--update-hints): Add function.
(eglot-inlay-hints-mode): Simplify.

22 months ago; * src/keyboard.c (lispy_function_keys): Add missing delete key.
Po Lu [Fri, 24 Feb 2023 01:06:15 +0000 (09:06 +0800)]
; * src/keyboard.c (lispy_function_keys): Add missing delete key.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Fri, 24 Feb 2023 01:01:29 +0000 (09:01 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months ago; Return t or nil for 'test-completion' of Eshell user references
Jim Porter [Thu, 23 Feb 2023 23:13:38 +0000 (15:13 -0800)]
; Return t or nil for 'test-completion' of Eshell user references

* lisp/eshell/em-dirs.el (eshell-complete-user-reference): Simply call
'test-completion' when ACTION is 'lambda'; don't modify the result.

22 months ago; Remove commented-out leftover from the last commit
Jim Porter [Thu, 23 Feb 2023 22:14:01 +0000 (14:14 -0800)]
; Remove commented-out leftover from the last commit

* lisp/eshell/em-dirs.el (eshell-complete-user-reference): Remove
commented code.

22 months agoDon't add a space after the trailing slash when completing ~USER in Eshell
Jim Porter [Thu, 2 Feb 2023 01:48:47 +0000 (17:48 -0800)]
Don't add a space after the trailing slash when completing ~USER in Eshell

This provides a programmed completion function that works similarly to
~USER completion in 'completion-file-name-table'.

* lisp/eshell/em-dirs.el (eshell-complete-user-reference): Throw a
programmed completion function.

* test/lisp/eshell/em-cmpl-tests.el
(em-cmpl-test/user-ref-completion): Update test.

22 months agoAdd support for completing quoted variables in Eshell like $'FOO'
Jim Porter [Thu, 2 Feb 2023 01:48:43 +0000 (17:48 -0800)]
Add support for completing quoted variables in Eshell like $'FOO'

This also adds the ability for Pcomplete handlers to set their own
exit functions that will get called as appropriate.

* lisp/pcomplete.el (pcomplete-default-exit-function): New function.
(pcomplete-exit-function): New variable...
(pcomplete-completions-at-point): ... let-bind and use it.

* lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Handle
quoted variables.  We also build the 'posns' list from right-to-left
now.

* lisp/eshell/esh-var.el (eshell-envvar-names): Ensure that variable
aliases are included in this list.
(eshell-complete-variable-reference): Handle quoted variables and set
the exit function on the completions.
(eshell-variables-list): Simplify.  We now add the trailing slash for
directories in the exit function inside
'eshell-complete-variable-reference'.

* test/lisp/eshell/em-cmpl-tests.el
(em-cmpl-test/quoted-variable-ref-completion)
(em-cmpl-test/variable-ref-completion/directory): New tests.

22 months ago; Throw strings as the values for 'eshell-incomplete'
Jim Porter [Thu, 2 Feb 2023 01:48:37 +0000 (17:48 -0800)]
; Throw strings as the values for 'eshell-incomplete'

This lets us distinguish between cases like "'foo" and "$'foo".

* lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Use
strings when checking the delimiter.

* lisp/eshell/em-glob.el (eshell-parse-glob-chars):
* lisp/eshell/em-pred.el (eshell-parse-arg-modifier):
* lisp/eshell/esh-arg.el (eshell-parse-backslash)
(eshell-parse-literal-quote, eshell-parse-double-quote)
(eshell-parse-special-reference):
* lisp/eshell/esh-cmd.el (eshell-parse-subcommand-argument)
(eshell-parse-lisp-argument):
* lisp/eshell/esh-var (eshell-parse-variable-ref)
(eshell-parse-indices): Throw strings instead of characters.

* lisp/eshell/esh-mode.el (eshell-parse-command-input): Print
delimiter as a string.

22 months agoEglot: update inlay hints on window configuration changes
João Távora [Thu, 23 Feb 2023 19:18:41 +0000 (19:18 +0000)]
Eglot: update inlay hints on window configuration changes

* lisp/progmodes/eglot.el
(eglot--inlay-hints-after-window-config-change): New helper.
(eglot-inlay-hints-mode): Use it.

22 months ago; Fix a typo in a doc string in c-ts-common.el (bug#61736).
Daniel Martín [Thu, 23 Feb 2023 17:30:36 +0000 (18:30 +0100)]
; Fix a typo in a doc string in c-ts-common.el (bug#61736).

22 months ago; Clarify documentation of 'file-modes-number-to-symbolic'
Eli Zaretskii [Thu, 23 Feb 2023 15:45:52 +0000 (17:45 +0200)]
; Clarify documentation of 'file-modes-number-to-symbolic'

* doc/lispref/files.texi (Changing Files):
* lisp/files.el (file-modes-number-to-symbolic): Clarify the
confusion with "symbolic" forms of file modes.  (Bug#61709)

22 months ago; Fix recently-added doc strings in eglot.el
Eli Zaretskii [Thu, 23 Feb 2023 15:18:28 +0000 (17:18 +0200)]
; Fix recently-added doc strings in eglot.el

* lisp/progmodes/eglot.el (eglot-lazy-inlay-hints)
(eglot-inlay-hints-mode): Doc fixes.

22 months agoAdditional change for Bug#61432
andrés ramírez [Thu, 23 Feb 2023 14:59:20 +0000 (15:59 +0100)]
Additional change for Bug#61432

* lisp/emulation/viper-cmd.el (viper-set-mode-vars-for): Check
'viper-enable-minibuffer-faces' before enabling minibuffer overlays.

22 months agoEglot: display completion label when safe
João Távora [Thu, 23 Feb 2023 13:58:38 +0000 (13:58 +0000)]
Eglot: display completion label when safe

Originally reported in
https://github.com/joaotavora/eglot/discussions/1141 by "Mintsoup".

Eglot doesn't always show the LSP :label property of a CompletionItem
in the completion candidates.  That is because label is sometimes not
what should be inserted in the buffer in the end, the :insertText
property supercedes it.

But the label is usually more suitable for display nevertheless and if
the LSP CompletionItem contains either a snippet or a textEdit, it's
safe to display the label, since :exit-function will guarantee that a
suitable buffer insertion is performed.

This change reflects that awareness that when a textEdit is available,
it's acceptable to show the label.

* lisp/progmodes/eglot.el (eglot-completion-at-point): Adjust.

22 months agoMake sure scroll-bar.el is loaded on Android
Po Lu [Thu, 23 Feb 2023 13:49:02 +0000 (21:49 +0800)]
Make sure scroll-bar.el is loaded on Android

* lisp/loadup.el: Update commentary.
* src/androidterm.c (syms_of_androidterm): Define
Vx_toolkit_scroll_bars.
* src/xterm.c (syms_of_xterm): Update doc string.xf64

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Thu, 23 Feb 2023 13:38:41 +0000 (21:38 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months agoFix ImageMagick build on Android
Po Lu [Thu, 23 Feb 2023 13:31:42 +0000 (21:31 +0800)]
Fix ImageMagick build on Android

* INSTALL.android (-linux_arm_sources):
* build-aux/ndk-build-helper-1.mk:
(NDK_$(LOCAL_MODULE)_STATIC_LIBRARIES)::(NDK_CXX_FLAG_$(LOCAL_MODULE)):
* build-aux/ndk-build-helper-2.mk:
(NDK_$(LOCAL_MODULE)_STATIC_LIBRARIES)::(NDK_CXX_FLAG_$(LOCAL_MODULE)):
* cross/ndk-build/ndk-build-shared-library.mk (objname)::($(call
objname,$(LOCAL_MODULE),$(basename
$(1))))::(ALL_OBJECT_FILES$(LOCAL_MODULE)):
* cross/ndk-build/ndk-build-static-library.mk (objname)::($(call
objname,$(LOCAL_MODULE),$(basename
$(1))))::(ALL_OBJECT_FILES$(LOCAL_MODULE)):
(ALL_SOURCE_FILES): Update ImageMagick build instructions and
C++ module detection.

22 months agoImprove documentation of VC commands, including in Dired
Eli Zaretskii [Thu, 23 Feb 2023 12:26:06 +0000 (14:26 +0200)]
Improve documentation of VC commands, including in Dired

* doc/emacs/dired.texi (Operating on Files):
* doc/emacs/maintaining.texi (VC Change Log, VC Directory Mode)
(Version Control, Basic VC Editing): Document VC command
invocation from Dired buffers.  Improve documentation of vc-log
commands.

* lisp/dired-aux.el (dired-vc-next-action):
* lisp/vc/vc.el (vc-print-log, vc-log-search, vc-log-mergebase)
(vc-log-view-type, vc-print-root-log, vc-next-action): Doc fixes.

22 months ago; * src/android.c (android_run_select_thread): Fix typos.
Po Lu [Thu, 23 Feb 2023 10:19:32 +0000 (18:19 +0800)]
; * src/android.c (android_run_select_thread): Fix typos.

22 months agoMake android_select more robust
Po Lu [Thu, 23 Feb 2023 10:05:57 +0000 (18:05 +0800)]
Make android_select more robust

* src/android.c (android_run_select_thread): Lock select_mutex
before signalling condition variable.
(android_select): Unlock event queue mutex prior to waiting for
it.

22 months ago* doc/emacs/maintaining.texi: More mentions of marked files in Dired.
Juri Linkov [Thu, 23 Feb 2023 08:23:41 +0000 (10:23 +0200)]
* doc/emacs/maintaining.texi: More mentions of marked files in Dired.

(Basic VC Editing, Old Revisions, VC Change Log): Add more mentions of
ability to include the marked files to the VC fileset in Dired (bug#61712).

22 months agoMerge from origin/emacs-29
Stefan Kangas [Thu, 23 Feb 2023 05:30:16 +0000 (06:30 +0100)]
Merge from origin/emacs-29

94e70ed4261 ; * lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area)...
1841299a11d Eglot: implement inlay hints (bug#61412, bug#61066)
28ed0d1840f Eglot: run eglot-managed-mode-hook after LSP didOpen
7ad5d9babed Eglot: restore eldoc-documentation-functions on shutdown
711a775ba76 Eglot: simplify capability-checking code
ea7251ad6df Eglot: go back to setting eldoc-documentation-strategy again
6016f1982d3 ; * etc/NEWS: Fix typo again
d411b4d1fd3 ; * etc/NEWS (C-x v !): Additional text.
a0b67252346 ; * doc/emacs/vc1-xtra.texi (Preparing Patches): Wording ...
43c4dd6f962 ; * doc/emacs/anti.texi (Antinews): Adjust to latest chan...
20c654b6f8f Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
177d0cf2a9a ; * etc/NEWS: Fix typos.
db7096a532c Yield to erc-move-to-prompt before unhiding prompt
db21c84bc94 ; Improve doc string of 'C-q'
a6be0be1db6 ; Clarify "kill files" in Gnus manual
d816429e2f2 * lisp/progmodes/python.el (python--import-sources): Fix ...
1f4886fdb09 Do not error out on non image file (bug#61639)
003759a6dca Explain effect of variable-pitch fonts on fill-column
ba91a76659b Avoid division by zero in get_narrowed_* functions
fb5dbf6de73 ; Fix documentation of 'icon-title-format'.
48c9a507713 * etc/NEWS: Mention new buffer display action alist entries
4dc1f2b9a01 ; * src/xterm.c (x_update_end): Condition on HAVE_XDBE
f1c83898060 Fix build --without-xdbe
ef38774c02c Improve dnd-direct-save-remote-files docstring
cf53e62a791 Add 'process-status' to process shortdoc
68df9e5953c * lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename)...
06ba9484166 Improve text about deleting windows
1976ca1634d Make 'emacs-news-cycle-tag' work at all levels

# Conflicts:
# etc/NEWS

22 months ago; * lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area): Fix typo.
Yuan Fu [Thu, 23 Feb 2023 01:55:30 +0000 (17:55 -0800)]
; * lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area): Fix typo.

22 months agoEglot: implement inlay hints (bug#61412, bug#61066)
João Távora [Tue, 21 Feb 2023 14:14:05 +0000 (14:14 +0000)]
Eglot: implement inlay hints (bug#61412, bug#61066)

Inlay hints are small text annotations to specific parts of the whole
buffer, not unlike diagnostics, but designed to help readability
instead of indicating problems.  For example, a C++ LSP server can
serve hints about positional parameter names in function calls and a
variable's automatically deduced type.  Emacs can display these hints
in many little 0-length overlays with an 'before-string property, thus
helping the user remember those types and parameter names.

Since inlay hints are potentially a large amount of data to request
from the LSP server, the implementation strives to be as parsimonious
as possible with these requests.

So, by default, inlay hints are only requested for the visible
portions of the buffer across windows showing this buffer.  This is
done by leveraging the 'window-scroll-functions' variable, making for
a reasonably complex implementation involving per-window timers.  When
scrolling a window, it may take a short amount of time for inlay hints
to "pop in".  The new user variable 'eglot-lazy-inlay-hints' can be
used to exert some control over this.

Specifically, if the variable's value is set to 'nil', then inlay
hints are greedily fetched for the whole buffer every time a change
occurs.  This is a much simpler mode of operation which may avoid
problems, but is also likely much slower in large buffers.

Also, because the inlay feature is probably visually suprising to
some, it is turned OFF by default, which is not the usual practice of
Eglot (at least not when the necessary infrastructure is present).
This decision may be changed soon.  Here's a good one-liner for
enabling it by default in every Eglot-managed buffer:

   (add-hook 'eglot-managed-mode-hook #'eglot-inlay-hints-mode)

I haven't tested inlay hints extensively across many LSP servers, so I
would appreciate any testing, both for functional edge cases and
regarding performance.  There are possibly more optimization
oportunities in the "lazy" mode of operation, like more aggressively
deleting buffer overlays that are not in visible parts of the buffer.

Though I ended up writing this one from scratch, I want to thank
Dimitry Bolopopsky <dimitri@belopopsky.com> and Chinmay Dala
<dalal.chinmay.0101@gmail.com> for suggestions and early patches.

* lisp/progmodes/eglot.el (eglot--lsp-interface-alist): Define
InlayHint.
(eglot-client-capabilities): Announce 'inlayHint' capability.
(eglot-ignored-server-capabilities): Add :inlayHintProvider.
(eglot--document-changed-hook): New helper hook.
(eglot--after-change): Use it.
(eglot-inlay-hint-face, eglot-type-hint-face)
(eglot-parameter-hint-face): New faces.
(eglot--update-hints-1, eglot--inlay-hints-after-scroll)
(eglot--inlay-hints-fully, eglot--inlay-hints-lazily): New helpers.
(eglot-lazy-inlay-hints): New user variable.
(eglot-inlay-hints-mode): New minor mode.
(eglot--maybe-activate-editing-mode): Try to activate
eglot-inlay-hints-mode.
(eglot--before-change): Remove overlays immediately in the
area being changed.
(eglot--managed-mode-off): Remove overlays.

* doc/misc/eglot.texi (Eglot Features): Mention inlay hints.
(Eglot Variables): Mention eglot-lazy-inlay-hints.

22 months agoEglot: run eglot-managed-mode-hook after LSP didOpen
João Távora [Wed, 22 Feb 2023 18:44:39 +0000 (18:44 +0000)]
Eglot: run eglot-managed-mode-hook after LSP didOpen

This allows using the hook for interacting with the LSP server using
the current buffer as the subject of that interaction ("document" in
LSP parlance).

* lisp/progmodes/eglot.el (eglot--maybe-activate-editing-mode):
Run eglot-managed-mode-hook here.
(eglot--managed-mode): Not here.

22 months agoEglot: restore eldoc-documentation-functions on shutdown
João Távora [Wed, 22 Feb 2023 18:50:46 +0000 (18:50 +0000)]
Eglot: restore eldoc-documentation-functions on shutdown

* lisp/progmodes/eglot.el (eglot--managed-mode): Restore
eldoc-documentation-functions when shutting down eglot.

22 months agoEglot: simplify capability-checking code
João Távora [Tue, 21 Feb 2023 13:59:04 +0000 (13:59 +0000)]
Eglot: simplify capability-checking code

* lisp/progmodes/eglot.el (eglot--server-capable-or-lose): New helper.
(eglot--signal-textDocument/willSave)
(eglot--signal-textDocument/didSave): Tweak docstring.
(eglot--workspace-symbols, xref-backend-identifier-at-point)
(eglot-format, eglot-completion-at-point, eglot-rename)
(eglot-code-actions): Use new eglot--server-capable-or-lose.

22 months agoEglot: go back to setting eldoc-documentation-strategy again
João Távora [Wed, 22 Feb 2023 18:05:00 +0000 (18:05 +0000)]
Eglot: go back to setting eldoc-documentation-strategy again

This commits reverts part of

   commit e83c78b8c7784254c2c6f043530ab325c2fa7f16
   Author: João Távora <joaotavora@gmail.com>
   Date:   Mon Feb 20 22:43:50 2023 +0000

       Eglot: respect user's Eldoc configuration by default

In that commit, I did what many longstanding issues and users were
suggesting and removed Eglot's override of two Eldoc user
configuration varibles.

I verified that Eglot's behaviour would stay mostly unaltered but my
tests were very incomplete.  In short there is no way that Eglot can
work acceptably with the default setting of
'eldoc-documentation-strategy', which is
'eldoc-documentation-default'.  So it must be changed, either globally
or locally in Eglot's minor mode.

This is true for any situation where both synchronous and asynchronous
documentation sources are present.  In Eglot's case there are two
asynchronous sources which have more importance than the synchronous
source.  So any other strategy except the
'eldoc-documentation-default' makes sense.

* lisp/progmodes/eglot.el (eglot--managed-mode): Set
eldoc-documentation-strategy to eldoc-documentation-compose.

22 months agoUpdate Modus themes to version 4.1.0
Protesilaos Stavrou [Wed, 22 Feb 2023 18:00:13 +0000 (20:00 +0200)]
Update Modus themes to version 4.1.0

* doc/misc/modus-themes.org: Update the manual.

* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-operandi-tinted-theme.el:
* etc/themes/modus-vivendi-deuteranopia-theme.el:
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-vivendi-tinted-theme.el: Update theme files.

* etc/themes/modus-themes.el: Update main file to the latest version.

Detailed release notes here:
<https://protesilaos.com/codelog/2023-02-22-modus-themes-4-1-0/>.

22 months ago; * etc/NEWS: Fix typo again
Martin Rudalics [Wed, 22 Feb 2023 17:48:33 +0000 (18:48 +0100)]
; * etc/NEWS: Fix typo again

22 months ago; * etc/NEWS (C-x v !): Additional text.
Sean Whitton [Wed, 22 Feb 2023 17:17:08 +0000 (10:17 -0700)]
; * etc/NEWS (C-x v !): Additional text.

22 months ago; * doc/emacs/vc1-xtra.texi (Preparing Patches): Wording tweaks.
Sean Whitton [Wed, 22 Feb 2023 17:10:04 +0000 (10:10 -0700)]
; * doc/emacs/vc1-xtra.texi (Preparing Patches): Wording tweaks.

22 months agoDeclare `indirect-function` to be side-effect-free and error-free
Mattias Engdegård [Wed, 22 Feb 2023 13:13:07 +0000 (14:13 +0100)]
Declare `indirect-function` to be side-effect-free and error-free

* lisp/emacs-lisp/byte-opt.el (side-effect-and-error-free-fns):
Add `indirect-function` which is now error-free.

22 months ago; * doc/emacs/anti.texi (Antinews): Adjust to latest changes.
Eli Zaretskii [Wed, 22 Feb 2023 15:40:00 +0000 (17:40 +0200)]
; * doc/emacs/anti.texi (Antinews): Adjust to latest changes.

22 months agoMerge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29
Michael Albinus [Wed, 22 Feb 2023 14:35:48 +0000 (15:35 +0100)]
Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29

22 months ago; * etc/NEWS: Fix typos.
Michael Albinus [Wed, 22 Feb 2023 14:35:03 +0000 (15:35 +0100)]
; * etc/NEWS: Fix typos.

22 months agoYield to erc-move-to-prompt before unhiding prompt
F. Jason Park [Wed, 22 Feb 2023 14:24:17 +0000 (06:24 -0800)]
Yield to erc-move-to-prompt before unhiding prompt

* lisp/erc/erc-backend.el (erc--hide-prompt): Change hook depth from 0
to 91 to allow the `move-to-prompt' module to do its thing.  This
feature was added by bug#54826 and first appeared in Emacs 29.
* lisp/erc/erc-common.el (erc-server-user): Remove erroneous comment.
The `buffers' field is a list of buffers.
* test/lisp/erc/erc-tests.el (erc-hide-prompt): Use `erc--target'
instead of `erc-default-recipients' because this is new code.

22 months ago; Improve doc string of 'C-q'
Eli Zaretskii [Wed, 22 Feb 2023 14:24:59 +0000 (16:24 +0200)]
; Improve doc string of 'C-q'

* lisp/simple.el (read-quoted-char-radix, quoted-insert): Doc fix.

22 months ago; Clarify "kill files" in Gnus manual
Eli Zaretskii [Wed, 22 Feb 2023 13:40:26 +0000 (15:40 +0200)]
; Clarify "kill files" in Gnus manual

* doc/misc/gnus.texi (Scoring): Make the reference to kill files
less vague.  (Bug#61325)

22 months ago* lisp/progmodes/python.el (python--import-sources): Fix regexp (bug#61648)
Augusto Stoffel [Mon, 20 Feb 2023 09:49:22 +0000 (10:49 +0100)]
* lisp/progmodes/python.el (python--import-sources): Fix regexp (bug#61648)

22 months ago; Fix typo
Po Lu [Wed, 22 Feb 2023 13:24:59 +0000 (21:24 +0800)]
; Fix typo

* cross/ndk-build/ndk-build-shared-library.mk: Fix typo.

22 months ago* src/image.c (imagemagick_load_image): Check HAVE_DECL_xxx.
Po Lu [Wed, 22 Feb 2023 13:20:52 +0000 (21:20 +0800)]
* src/image.c (imagemagick_load_image): Check HAVE_DECL_xxx.

22 months agoDo not error out on non image file (bug#61639)
Manuel Giraud [Sun, 19 Feb 2023 20:03:57 +0000 (21:03 +0100)]
Do not error out on non image file (bug#61639)

* lisp/image/image-dired.el
(image-dired-display-thumbs): Do not insert non image file and do not
display image-dired buffer if it is empty.

22 months agoUpdate Android port
Po Lu [Wed, 22 Feb 2023 13:20:30 +0000 (21:20 +0800)]
Update Android port

ImageMagick now builds but does not link yet some of the time.

* INSTALL.android: Document ImageMagick and caveats.
* build-aux/ndk-build-helper-1.mk (NDK_SO_NAMES):
* build-aux/ndk-build-helper-2.mk (NDK_A_NAMES):
* build-aux/ndk-build-helper.mk (TARGET_ARCH_ABI): Define architecture
and don't respect explicitly specified library names.
* configure.ac: Enable ImageMagick and lcms2 on Android.
* cross/ndk-build/ndk-build-shared-library.mk (objname)::($(call
objname,$(LOCAL_MODULE),$(basename
$(1))))::(ALL_OBJECT_FILES$(LOCAL_MODULE)):
* cross/ndk-build/ndk-build-static-library.mk (objname)::($(call
objname,$(LOCAL_MODULE),$(basename $(1)))):
(NDK_CFLAGS, ALL_SOURCE_FILES): Handle sources files which start with
$(LOCAL_PATH).
* cross/ndk-build/ndk-clear-vars.mk: Don't undefine; clear variables
instead.
* m4/ndk-build.m4 (ndk_SEARCH_MODULE): Redirect make stderr to
config.log.xf64

22 months agoExplain effect of variable-pitch fonts on fill-column
Eli Zaretskii [Wed, 22 Feb 2023 13:16:25 +0000 (15:16 +0200)]
Explain effect of variable-pitch fonts on fill-column

* doc/emacs/text.texi (Fill Commands):
* doc/emacs/display.texi (Displaying Boundaries):
* lisp/display-fill-column-indicator.el
(display-fill-column-indicator-mode): Document caveats of using
variable-pitch fonts with 'fill-column' and its indicator.
(Bug#61677)

22 months agoAvoid division by zero in get_narrowed_* functions
Eli Zaretskii [Wed, 22 Feb 2023 12:55:05 +0000 (14:55 +0200)]
Avoid division by zero in get_narrowed_* functions

* src/xdisp.c (get_narrowed_width, get_narrowed_len): Return at
least 1 as the value.  (Bug#61704)

22 months agoUse delete-char instead of backward-delete-char
Mattias Engdegård [Wed, 22 Feb 2023 11:55:45 +0000 (12:55 +0100)]
Use delete-char instead of backward-delete-char

* lisp/bs.el (bs-delete):
* lisp/dired-aux.el (dired-show-file-type):
* lisp/emulation/viper-cmd.el (viper-insert-prev-from-insertion-ring):
* lisp/man.el (Man-fontify-manpage, Man-cleanup-manpage):
* lisp/net/mailcap.el (mailcap-parse-mailcap):
* lisp/progmodes/antlr-mode.el (antlr-insert-makefile-rules):
* lisp/textmodes/reftex-ref.el (reftex-reference):
* lisp/vc/emerge.el:
* lisp/woman.el (woman-man-buffer):
* test/src/fns-tests.el (fns-tests-hash-buffer):
Replace some calls to backward-delete-char with delete-char (negating
the argument) since the former is intended for interactive use.
This silences most of the interactive-only warnings.

22 months ago; * src/androidmenu.c (android_menu_show): Fix typo.
Po Lu [Wed, 22 Feb 2023 11:31:31 +0000 (19:31 +0800)]
; * src/androidmenu.c (android_menu_show): Fix typo.

22 months agoUpdate Android port
Po Lu [Wed, 22 Feb 2023 06:59:27 +0000 (14:59 +0800)]
Update Android port

* doc/emacs/input.texi (On-Screen Keyboards): Document changes
to text conversion.
* java/org/gnu/emacs/EmacsInputConnection.java (getExtractedText)
(EmacsInputConnection):
* src/keyboard.c (read_key_sequence): Disable text conversion
after reading prefix key.
* src/textconv.c (get_extracted_text): Fix returned value when
request length is zero.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Wed, 22 Feb 2023 03:31:39 +0000 (11:31 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months agoAdd cross-compilation test for cleanup attribute
Po Lu [Wed, 22 Feb 2023 03:19:57 +0000 (11:19 +0800)]
Add cross-compilation test for cleanup attribute

* configure.ac: Per title.

22 months agoUpdate Android port
Po Lu [Wed, 22 Feb 2023 02:57:33 +0000 (10:57 +0800)]
Update Android port

* INSTALL.android: Port to MIPS.
* configure.ac (modules): Default to ifavailable.
Write actual test for __attribute__((cleanup)).
* m4/ndk-build.m4: Recognize mips and mips64.
* src/emacs-module.c: Remove broken HAS_ATTRIBUTE test.

22 months ago; * configure.ac (EMACS_CONFIG_FEATURES): Improve configure message.
Po Lu [Wed, 22 Feb 2023 02:51:27 +0000 (10:51 +0800)]
; * configure.ac (EMACS_CONFIG_FEATURES): Improve configure message.

22 months ago; Fix documentation of 'icon-title-format'.
Eli Zaretskii [Tue, 21 Feb 2023 20:06:30 +0000 (22:06 +0200)]
; Fix documentation of 'icon-title-format'.

22 months ago* etc/NEWS: Mention new buffer display action alist entries
Martin Rudalics [Tue, 21 Feb 2023 17:49:04 +0000 (18:49 +0100)]
* etc/NEWS: Mention new buffer display action alist entries

22 months agoRemove stray quotes
Mattias Engdegård [Tue, 21 Feb 2023 15:13:36 +0000 (16:13 +0100)]
Remove stray quotes

* lisp/emacs-lisp/bytecomp.el (byte-compile-form):
* lisp/help-fns.el (help-fns--interactive-only): Fix obvious mistake.
Since `interactive-only` is not supposed to be anything other than
a symbol at these points it was not a very consequential bug.

22 months agoSay whether we're using X11 double buffering
Robert Pluim [Tue, 21 Feb 2023 17:21:56 +0000 (18:21 +0100)]
Say whether we're using X11 double buffering

* configure.ac (EMACS_CONFIG_FEATURES): Output value of HAVE_XDBE.

22 months ago; * src/xterm.c (x_update_end): Condition on HAVE_XDBE
Robert Pluim [Tue, 21 Feb 2023 17:05:32 +0000 (18:05 +0100)]
; * src/xterm.c (x_update_end): Condition on HAVE_XDBE

22 months agoFix build --without-xdbe
Eli Zaretskii [Tue, 21 Feb 2023 16:15:35 +0000 (18:15 +0200)]
Fix build --without-xdbe

* src/xterm.c (x_end_cr_clip, handle_one_xevent): Condition
double-buffering code on HAVE_XDBE.  (Bug#61667)

22 months agoImprove dnd-direct-save-remote-files docstring
Robert Pluim [Tue, 21 Feb 2023 15:55:21 +0000 (16:55 +0100)]
Improve dnd-direct-save-remote-files docstring

* lisp/dnd.el (dnd-direct-save-remote-files): Reword.

22 months agoAdd 'process-status' to process shortdoc
Robert Pluim [Tue, 21 Feb 2023 15:45:21 +0000 (16:45 +0100)]
Add 'process-status' to process shortdoc

* lisp/emacs-lisp/shortdoc.el (process): Add 'process-status'.

22 months ago* lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename): Improve 5d0b45cd67b
Andrea Corallo [Tue, 21 Feb 2023 13:58:28 +0000 (14:58 +0100)]
* lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename): Improve 5d0b45cd67b

22 months agoImprove text about deleting windows
Robert Pluim [Tue, 21 Feb 2023 15:35:25 +0000 (16:35 +0100)]
Improve text about deleting windows

* doc/emacs/windows.texi (Change Window): Improve grammar around
'delete-window-choose-selected'.

22 months agoMake 'emacs-news-cycle-tag' work at all levels
Robert Pluim [Tue, 21 Feb 2023 14:20:56 +0000 (15:20 +0100)]
Make 'emacs-news-cycle-tag' work at all levels

* lisp/textmodes/emacs-news-mode.el (emacs-news-cycle-tag): Search for
a heading starting with 2 or more '*' rather than exactly 3.
* test/lisp/textmodes/emacs-news-mode-resources/cycle-tag.erts
(Point-Char): Add tests for 2 and 4 '*' levels.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Tue, 21 Feb 2023 13:08:16 +0000 (21:08 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months agoUpdate Android port
Po Lu [Tue, 21 Feb 2023 13:07:57 +0000 (21:07 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
(addSubmenu, inflateMenuItems): Handle tooltips correctly.
* src/android.c (android_scan_directory_tree): Fix limit
generation for root directory.
* src/androidmenu.c (android_init_emacs_context_menu)
(android_menu_show): Implement menu item help text on Android
8.0 and later.

22 months ago; * test/lisp/emacs-lisp/nadvice-tests.el: suppress some warnings
Mattias Engdegård [Tue, 21 Feb 2023 11:30:09 +0000 (12:30 +0100)]
; * test/lisp/emacs-lisp/nadvice-tests.el: suppress some warnings

22 months agoFollow aliases for `interactive-only` declarations
Mattias Engdegård [Tue, 21 Feb 2023 10:46:14 +0000 (11:46 +0100)]
Follow aliases for `interactive-only` declarations

Make `interactive-only` declarations apply to aliases of the same
function as well since this quality isn't in the name but in what
the function does.

* lisp/emacs-lisp/bytecomp.el (byte-compile-form):
* lisp/help-fns.el (help-fns--interactive-only):
Follow aliases when retrieving the `interactive-only` property.

22 months ago; Merge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 09:58:00 +0000 (10:58 +0100)]
; Merge from origin/emacs-29

The following commit was skipped:

16ca258b1fc Repair mistake in a previous edmacro-sanitize-string change

22 months agoMerge from origin/emacs-29
Stefan Kangas [Tue, 21 Feb 2023 09:58:00 +0000 (10:58 +0100)]
Merge from origin/emacs-29

5a864f23eb8 regex-emacs.c: Reduce the use of backtracking a bit further
e83c78b8c77 Eglot: respect user's Eldoc configuration by default
5d0b45cd67b Make the native compiler always use `make-temp-file' for ...
88ee92e61d7 ; * lisp/progmodes/rust-ts-mode.el (treesit-node-end): De...
02aba20d528 Update to Transient v0.3.7-216-gfe40342
d7010d64b21 Add declaration_list to c-ts-common-indent-type-regexp-alist
19480aa30e3 Typescript-ts-mode: Add switch case handling
dfc850ca022 Fix object initializer for csharp-mode (bug#61541)
fc4bfa76db9 Update to Org 9.6.1-34-geea8da
afbce8bb467 Improve tree-sitter indent anchor prev-adaptive-prefix (b...
2e6093b425e Adjust jsx indentation
c544df4fa3f Cleanup preproc indent for c-ts-mode (bug#61558)
d397f3d5084 Add comment style toggle for c-ts-mode (bug#61550)
683961cd733 * lisp/simple.el (choose-completion): Check for completio...
1ac05eac74b rust-ts-mode--font-lock-settings: Avoid the explicit 'def...
b5bea14ca17 * lisp/progmodes/xref.el: Bump the version.

# Conflicts:
# src/comp.c