1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-14 23:40:39 -08:00
Commit graph

167102 commits

Author SHA1 Message Date
Po Lu
01bea42cbf Avoid responding to input method queries asynchronously
* src/androidterm.c (handle_one_android_event): Don't answer
queries here; just rely on the event interrupting
android_select.  This avoids exposing buffer contents to input
methods while a command is being executed.
* src/textconv.c (TEXTCONV_DEBUG, really_commit_text)
(really_finish_composing_text, really_set_composing_text)
(really_set_composing_region, really_delete_surrounding_text)
(really_set_point_and_mark, get_extracted_text): Add debugging
printouts.
2023-06-09 18:05:26 +08:00
Po Lu
a5b74e2ff6 Initialize text conversion hooks for each C Mode buffer
* lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Always add
text conversion hooks.
2023-06-09 15:55:19 +08:00
Po Lu
41a99ea993 ; * src/android.c (android_get_gc_values): Remove redundancy. 2023-06-09 14:16:08 +08:00
Po Lu
c321eea5af Block profiling signals in the Android UI thread
* java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
function `setupSystemThread'.
* java/org/gnu/emacs/EmacsService.java (onCreate): Block all
signals except for SIGBUS and SIGSEGV in the UI thread.
* src/android.c (setupSystemThread): New function.
2023-06-09 14:03:50 +08:00
Po Lu
7f073df533 Fix crash starting Emacs to open file
* java/org/gnu/emacs/EmacsThread.java (run): Correct check
against extraStartupArgument when an initial file is specified.
2023-06-09 09:27:04 +08:00
Po Lu
f33f3b973a Merge remote-tracking branch 'origin/master' into feature/android 2023-06-09 08:55:52 +08:00
Mattias Engdegård
c9c0d1cf7f ; fix important-return-value-fns mistake
* lisp/emacs-lisp/bytecomp.el (important-return-value-fns):
Remove assoc-string; it's already side-effect-free.
2023-06-08 19:25:16 +02:00
Mattias Engdegård
0d411a0a6d Remove special fset byte-compilation warning
* lisp/emacs-lisp/bytecomp.el (fset, byte-compile-fset):
Remove special warning for fset, subsumed by the more general quoted
lambda funarg warning.
2023-06-08 19:25:16 +02:00
João Távora
976cb7e0e6 Eglot: also add watches for newly created directories
GitHub-reference: https://github.com/joaotavora/eglot/pull/1228
GitHub-reference: https://github.com/joaotavora/eglot/discussions/1226

* lisp/progmodes/eglot.el (eglot-register-capability): Rework.

Suggested by: https://github.com/thejeffphil
2023-06-08 15:09:45 +01:00
João Távora
433a452814 Eglot: try reuse file watchers when server over-watches
GitHub-reference: https://github.com/joaotavora/eglot/pull/1228
GitHub-reference: https://github.com/joaotavora/eglot/discussions/1226

The Pyright language server issues very heavy file watching requests,
which sometimes exceed the OS limit.  Most of these file watches are
useless, but Pyright insists on issuing them.

What's more, for some (absurd?) reason, Pyright issues two file
watching requests for the _same_ directories, only to then almost
immediately ask to undo the effects of one of these requests.

This change to Eglot makes it so that if a single server requests to
watch a specific directory twice, only one file watch object is used.

Suggested by: https://github.com/thejeffphil

* lisp/progmodes/eglot.el (eglot-lsp-server): Change structure of
file-watches field.
(eglot--on-shutdown): Adapt to new structure.
(eglot-register-capability): Rework.
(eglot-unregister-capability): Rework.

* etc/EGLOT-NEWS: Mention change
2023-06-08 15:08:46 +01:00
Po Lu
6d86ded544 Merge remote-tracking branch 'origin/master' into feature/android 2023-06-08 20:50:26 +08:00
Po Lu
1661762784 Correctly display popup dialogs from Emacsclient
* java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu):
Make subclasses final.
* java/org/gnu/emacs/EmacsDialog.java (display1): Check if an
instance of EmacsOpenActivity is open; if it is, try using it to
display the pop up dialog.
* java/org/gnu/emacs/EmacsDialogButtonLayout.java
(EmacsDialogButtonLayout): Make final.
* java/org/gnu/emacs/EmacsHolder.java (EmacsHolder<T>):
Likewise.
* java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity):
New field `currentActivity'.
(onCreate, onDestroy, onWindowFocusChanged, onPause): Set that
field as appropriate.
2023-06-08 20:50:02 +08:00
Amritpal Singh
46b6d17505 Support files compressed by 'pigz'
* src/decompress.c (md5_gz_stream): Check 'stream.avail_in' as
well.  (Bug#63832)

Copyright-paperwork-exempt: yes
2023-06-08 12:40:44 +03:00
Po Lu
b1bd40dce1 Update Android port
* src/android.c (android_is_special_directory): New function.
(android_get_asset_name, android_content_name_p)
(android_get_content_name):
* src/android.h (android_is_special_directory)
(JNI_STACK_ALIGNMENT_PROLOGUE):
* src/fileio.c (check_mutable_filename):
* src/filelock.c (WTMP_FILE, make_lock_file_name):
* src/inotify.c (IN_ONLYDIR, Finotify_add_watch): Factor out
checks against asset and content directories to that function.
2023-06-08 14:04:31 +08:00
Po Lu
f2b2863ff7 ; Update from Gnulib 2023-06-08 08:48:37 +08:00
Po Lu
59fdd16f90 Merge remote-tracking branch 'origin/master' into feature/android 2023-06-08 08:46:19 +08:00
Paul Eggert
a902156068 Update from Gnulib by running admin/merge-gnulib 2023-06-07 12:04:00 -07:00
Po Lu
49dceb9dd6 ; Update Android port
* doc/emacs/android.texi (Android Startup): Fix reference to
non existent node.
2023-06-07 19:52:38 +08:00
Po Lu
63339a9577 Update Android port
* java/org/gnu/emacs/EmacsInputConnection.java (beginBatchEdit)
(endBatchEdit, commitCompletion, commitText, deleteSurroundingText)
(finishComposingText, getSelectedText, getTextAfterCursor)
(getTextBeforeCursor, setComposingText, setComposingRegion)
(performEditorAction, performContextMenuAction, getExtractedText)
(setSelection, sendKeyEvent, deleteSurroundingTextInCodePoints)
(requestCursorUpdates): Ensure that the input connection is up
to date.
(getSurroundingText): New function.
* java/org/gnu/emacs/EmacsNative.java (getSurroundingText):
Export new C function.
* java/org/gnu/emacs/EmacsService.java (resetIC): Invalidate
previously created input connections.
* java/org/gnu/emacs/EmacsView.java (EmacsView)
(onCreateInputConnection): Signify that input connections are
now up to date.
* src/androidterm.c (struct
android_get_surrounding_text_context): New structure.
(android_get_surrounding_text, NATIVE_NAME):
* src/textconv.c (get_surrounding_text):
* src/textconv.h: New functions.
2023-06-07 11:03:56 +08:00
Wilson Snyder
f68d962ede Merge from verilog-mode upstream.
* lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix parsing "@ (* )" (#1829).
(verilog-indent-ignore-p): Fix indent of comments being
wrongly detected as multiline defines.  Reported by Gonzalo Larumbe
<gonzalomlarumbe@gmail.com>.
(verilog-pos-at-end-of-statement): Fix minor bug in
`verilog-pos-at-end-of-statement' assuming `verilog-end-of-statement`.
Reported by Gonzalo Larumbe <gonzalomlarumbe@gmail.com>.
(verilog-in-generate-region-p):
Fix indentation of generate blocks omitting keyword.
Reported by Gonzalo Larumbe <gonzalomlarumbe@gmail.com>.
2023-06-06 21:46:19 -04:00
Po Lu
9a68041f2c Merge remote-tracking branch 'origin/master' into feature/android 2023-06-07 07:28:00 +08:00
Eli Zaretskii
ef8485ad05 ; * src/window.c (window_wants_header_line): Shut up bogus GCC warning. 2023-06-06 21:27:27 +03:00
Po Lu
8b102bf606 ; * lisp/simple.el (analyze-text-conversion): Remove old workaround. 2023-06-06 21:06:58 +08:00
Po Lu
34391d6675 Merge remote-tracking branch 'origin/master' into feature/android 2023-06-06 21:06:16 +08:00
Po Lu
229f0b8dd3 ; Fix coding style in just installed change
* src/window.c (window_wants_header_line): Fix whitespace.
2023-06-06 21:05:13 +08:00
Po Lu
1263531b9a Merge remote-tracking branch 'origin/master' into feature/android 2023-06-06 21:01:56 +08:00
Po Lu
bf28b019a8 Fix problems resulting from modification of the undo list
* doc/lispref/text.texi (Atomic Changes): Describe what not to
do inside an atomic change group.
* lisp/elec-pair.el (electric-pair-inhibit-if-helps-balance):
Don't call `delete-char'; that edits the undo list by removing
boundary markers.
* lisp/subr.el (atomic-change-group, prepare-change-group): Warn
against modifying the undo list inside.
2023-06-06 21:00:44 +08:00
Eli Zaretskii
05c2be28a3 ; Fix last change
* src/window.c (window_wants_header_line): Fix whitespace and
commentary in last change.  (Bug#63825)
2023-06-06 15:15:34 +03:00
Eshel Yaron
4f66cbbfe5 Avoid header line with some empty non-nil formats
Allow the value of 'header-line-format' to indicate that no header
line should be displayed when it trivially yields 'nil', even if it is
not plain 'nil'.  Previously, any non-nil 'header-line-format'
resulted in a (possibly empty) header line.  This change adds some
flexibility by also taking a non-nil value of 'header-line-format' to
mean that no header line should be displayed if it's a list whose
'car' is a symbol and either that symbol is ':eval' and the second
list element evaluates to 'nil', or the symbol's value as a variable
is 'nil' or void.
(Bug#63825)

* src/xdisp.c (safe_eval_inhibit_quit): New function.
* src/lisp.h (safe_eval_inhibit_quit): Declare it.
* src/window.c (null_header_line_format): New function.
(window_wants_header_line): Use it.

* doc/lispref/modes.texi (Header Line): Update to reflect new
conditions for displaying a window's header line.

* etc/NEWS: Announce updated treatment of 'header-line-format'.
2023-06-06 15:08:31 +03:00
Sean Whitton
d751915ef4 eval-command-interactive-spec: Shorten code
* lisp/emacs-lisp/subr-x.el (eval-command-interactive-spec): Don't
reimplement checking for an 'interactive-form symbol property.
`interactive-form' already does this.  Thanks to Stefan Monnier.
2023-06-06 12:15:30 +01:00
Po Lu
5b4dea0fc7 Update Android port
* java/org/gnu/emacs/EmacsContextMenu.java (display): Use
`EmacsHolder' instead of `Holder'.
* java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): Use
`EmacsDialogButtonLayout' to ensure that buttons are wrapped
properly.
(display): Adjust for new holder class.
* java/org/gnu/emacs/EmacsDialogButtonLayout.java
(EmacsDialogButtonLayout, onMeasure, onLayout): New functions.

* java/org/gnu/emacs/EmacsDrawLine.java:
* java/org/gnu/emacs/EmacsFillPolygon.java: Remove redundant
imports.
* java/org/gnu/emacs/EmacsHolder.java (EmacsHolder<T>):
* java/org/gnu/emacs/EmacsService.java (class Holder<T>)
(getEmacsView, EmacsService): Rename `Holder' to `EmacsHolder'
and make it public.
2023-06-06 14:35:19 +08:00
Po Lu
5f09df3d6a Improve undo behavior on Android
* lisp/simple.el (undo-auto-amalgamate): Update doc string to
describe new amalgamating commands.
(analyze-text-conversion): Make this an amalgamating command by
default, unless a new line has been inserted.  Also, shorten the
undo boundary timer.
* src/textconv.c (really_commit_text)
(really_set_composing_text): Correctly report ephemeral
deletions.
(syms_of_textconv): Fix doc strings.
2023-06-06 10:06:10 +08:00
Po Lu
49ae645624 Merge remote-tracking branch 'origin/master' into feature/android 2023-06-06 07:53:41 +08:00
Michael Albinus
7ca1d782f5 Improve tree-sitter tests on emba
* test/infra/Dockerfile.emba (emacs-tree-sitter): Install further
grammars.

* test/infra/Makefile.in (subdir_template): Special handling of src.
(TREE-SITTER-FILES): Add treesit-tests.el.

* test/infra/test-jobs.yml: Regenerate.
2023-06-05 17:16:46 +02:00
Eli Zaretskii
9a28600a97 Fix bug with point-adjustment after M-x COMMAND
* src/keyboard.c (command_loop_1): Preserve 'last_point_position'
across command execution, to avoid bugs in
'adjust_point_for_property' if the command invokes
'recursive-edit'.  Reported by Mats Lidell <matsl@gnu.org>.
2023-06-05 15:57:05 +03:00
Michael Albinus
26ee0ce6f9 Adapt emba integration
* test/infra/Dockerfile.emba (emacs-tree-sitter):
Use "/root/.emacs.d/tree-sitter" instead of "/usr/local/lib/tree-sitter".

* test/infra/gitlab-ci.yml (.job-template): Run "/bin/bash -xvc".
(test-eglot): Revert last change, it doesn't work yet.
(test-tree-sitter): Set TEST_HOME instead of LD_LIBRARY_PATH.
2023-06-05 13:29:21 +02:00
Po Lu
c4a89851ed Clear batch edit state once a new input connection is established
* src/androidterm.c (android_handle_ime_event): Clear batch edit
state, in case the previous input method forgot to do so.
2023-06-05 11:34:18 +08:00
Po Lu
66783af554 Update Android port
* java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
function clearInputFlags.
* java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
Stop reporting changes after a new input method connection is
established.
* src/androidterm.c (android_handle_ime_event): Implement that
change.
(JNICALL): New function.
2023-06-05 10:38:25 +08:00
Po Lu
6f0ebe11aa Merge remote-tracking branch 'origin/master' into feature/android 2023-06-05 08:46:58 +08:00
Sean Whitton
a30781399b * subr-x (eval-command-interactive-spec): New function. 2023-06-04 20:16:55 +01:00
Mattias Engdegård
6058b4559d Better internal-make-closure optimisation
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Optimise closed-over values in closure creation like any other, which
can lead to stack variables being eliminated.
2023-06-04 19:17:15 +02:00
Andrea Corallo
5d3d84066f * lisp/emacs-lisp/comp-cstr.el (cl-macs): Require it. 2023-06-04 16:43:13 +02:00
Andrea Corallo
b5f171f98f * lisp/emacs-lisp/comp.el (comp-function-type-spec): Improve. 2023-06-04 16:25:14 +02:00
Eli Zaretskii
3f9e0281ad ; Minor doc copyedits in comp.el
* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix
commentary.
(comp-function-type-spec): Doc fix.
2023-06-04 15:28:25 +03:00
Po Lu
835ac18a76 ; * src/keyboard.c: Fix build without window system 2023-06-04 20:11:44 +08:00
Mattias Engdegård
508005b3cf ; * lisp/emacs-lisp/comp.el (comp-funciton-type-spec): typo 2023-06-04 14:09:39 +02:00
Andrea Corallo
53dc1f3fe0 Print know function types in C-h f
* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Improve comment.
(comp-funciton-type-spec): New function.
* lisp/help-fns.el (help-fns--signature): Update to make use of
`comp-funciton-type-spec'.
2023-06-04 13:06:39 +02:00
Andrea Corallo
9ed24bfb04 * Have `comp-cstr-to-type-spec' handle comp-cstr-f as well
* lisp/emacs-lisp/comp-cstr.el (comp--simple-cstr-to-type-spec): New
function.
(comp-cstr-to-type-spec): Make use of.
2023-06-04 12:53:38 +02:00
Andrea Corallo
ac1532a7c9 * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix line lengths 2023-06-04 12:53:38 +02:00
Andrea Corallo
fe91af936d * lisp/emacs-lisp/comp.el: Improve 85cb075b1b. 2023-06-04 12:53:38 +02:00