Commit graph

165257 commits

Author SHA1 Message Date
Po Lu
57c19f477f Update Android port
* INSTALL.android: Explain where to get tree-sitter.

* configure.ac: Add support for dynamic modules and tree-sitter.

* doc/emacs/android.texi (Android Windowing):
* java/org/gnu/emacs/EmacsSdk11Clipboard.java
(EmacsSdk11Clipboard, ownsClipboard): Improve clipboard handling
and documentation.
2023-02-20 22:14:29 +08:00
Po Lu
fecd0a9fed Fix crash inside font-list-family
* src/androidfont.c (androidfont_list_family): Don't
unconditionally initialize the Android font driver.
2023-02-20 11:56:13 +08:00
Po Lu
ba87d2c28b Merge remote-tracking branch 'origin/master' into feature/android 2023-02-20 11:41:16 +08:00
Po Lu
34ba481c8e Improve SFNT driver lookup efficiency
* src/fontset.c (fontset_find_font): Add compatibility test to
registry strangeness case.
* src/sfnt.c (sfnt_read_cmap_table): Don't read subtable data if
DATA is NULL.
* src/sfntfont.c (struct sfnt_font_desc): New field `registry'.
(sfnt_registry_for_subtable): New function.
(sfntfont_identify_cmap): Move above sfnt_grok_registry.
(sfnt_grok_registry): New function.
(sfnt_enum_font_1): Call it.
(sfntfont_registries_compatible_p): New function.
(sfntfont_list_1): Check registry compatibility.
(sfntfont_registry_for_desc): New function.
(mark_sfntfont): Mark desc->registry.
2023-02-20 11:38:59 +08:00
Po Lu
b91396bace Improve reliability of Java code rebuilds
* java/Makefile.in ($(CLASS_FILES)): Depend on the Java
compiler's internal dependency tracking.
2023-02-20 10:50:04 +08:00
Eric Abrahamsen
cac13e3605 Help Elisp xref recognize defclass parent classes
* lisp/progmodes/elisp-mode.el (elisp--xref-infer-namespace):
Handle defclass parents (bug#61640).

* test/lisp/progmodes/elisp-mode-tests.el (elisp-mode-infer-namespace):
New case in the test.
2023-02-20 03:01:41 +02:00
Michael Albinus
9e745ed3f2 Tramp cleanup
* lisp/net/tramp-smb.el (tramp-smb-action-get-acl)
(tramp-smb-action-set-acl): Use timeout.

* test/lisp/net/tramp-tests.el
(tramp-test26-interactive-file-name-completion): Fix test.
2023-02-19 18:35:46 +01:00
Alan Mackenzie
8fba4cff1b imenu: Make the test for a single category of map (e.g. "Class") rigorous
This fixes bug #61629.

* lisp/imenu.el (imenu--mouse-menu): Test (consp (cdadr menu)) to avoid
confusion with a single entry for a single function.
(imenu-update-menubar): Change the code to match that above.
2023-02-19 16:09:32 +00:00
Po Lu
1727777a46 Match font registry after font is opened
* src/fontset.c (fontset_find_font): Work around TrueType
performance problem.
2023-02-19 23:33:19 +08:00
Po Lu
e5232fc0e5 Merge remote-tracking branch 'origin/master' into feature/android 2023-02-19 22:41:42 +08:00
Po Lu
05791d09f6 * cross/Makefile.in (src/libemacs.so): Depend on libgnu.a. 2023-02-19 21:57:17 +08:00
Po Lu
585ee91b21 More fixes to parallel Make
* cross/ndk-build/ndk-build.mk.in (NDK_BUILD_MODULES)
(NDK_BUILD_SHARED, NDK_BUILD_STATIC): Define group rule to build
all files so that they are built within one make process.
* java/Makefile.in: Reorganize cross compilation and make sure
there is only one make subprocess for each subdirectory of
cross.
2023-02-19 21:52:21 +08:00
Po Lu
f319605207 More parallel build fixes
* cross/Makefile.in: (.PHONY):
* java/Makefile.in: (.PHONY):
* src/Makefile.in: (libemacs.so): Avoid calling ndk-build from
two places at once.  Build android-emacs separately from
libemacs.so.
2023-02-19 21:25:37 +08:00
Po Lu
18f723faa8 Fix parallel compilation of Android port
* cross/Makefile.in ($(top_builddir)/lib/libgnu.a):
* java/Makefile.in (CROSS_LIBS): Explicitly depend on gnulib
to prevent it from being built at the same time from different
jobs.
2023-02-19 20:45:32 +08:00
Po Lu
c09dca3fb0 Fix sfntfont.c build without mmap
* src/sfntfont.c (sfntfont_close): Don't unlink font if mmap is
not available.
2023-02-19 20:23:36 +08:00
Po Lu
47dbdb06dc Improve Android documentation
* INSTALL.android: Say where building Emacs is supported.
* doc/emacs/android.texi (Android Startup): Describe how to
connect via ADB.
2023-02-19 20:16:32 +08:00
Po Lu
0998ab3ade Report both sides of the region to the input method upon setup
* java/org/gnu/emacs/EmacsNative.java (getSelection): Return
array of ints.
* java/org/gnu/emacs/EmacsView.java (onCreateInputConnection):
Adjust accordingly.
* src/androidterm.c (struct android_get_selection_context): New
field `mark'.
(android_get_selection): Set the mark field as appropriate.
(getSelection): Adjust accordingly.
2023-02-19 19:56:51 +08:00
Po Lu
0aa19e993b Fix gamegrid.el with high resolution displays
* lisp/play/gamegrid.el (gamegrid-setup-default-font): Clamp
font size at eight.
2023-02-19 19:34:04 +08:00
Stefan Kangas
34f44ae07e Merge from origin/emacs-29
871cf33a45 ; * admin/make-tarball.txt: Minor copyedit.
4faebba2fe Fix invocation of File->Close from the menu bar
cd05fca5f7 ; Improve documentation of 'native-comp-enable-subr-tramp...
c61a30e160 Update thumbnail buffer's header more
4c49452cde (treesit-query-validate): Fix reusing the output buffer
d560dc5044 (rust-ts-mode--font-lock-settings): Highlight closure par...
c15bc91e1b * Fix `native-comp-enable-subr-trampolines' semantic
774051873d Fix documentation of 'just-one-space' and 'delete-horizon...
7337f07250 ; Remove NEWS entry about deleted variable.
fb5299ba09 ; Fix wording of last change.
9f508cef85 Fix 'display-buffer-use-least-recent-window'
5190ea6259 Fix point moving when calling python-shell-send-region
6c0d821017 (project-try-vc): Remove unused defvar/require
4f9862e435 ; Fix typo
a638c79bc5 Delete redundant question from Gnus FAQ
4a90d67eb6 Slightly improve hashcash documentation
6ea3c105ab Fix cursor motion when there's line-prefix and display st...
e985466556 Fix comment in treesit_record_change (bug#61369)
1e5cebc88b Spell out RPN abbreviation in Calc manual intro

# Conflicts:
#	etc/NEWS
#	lisp/window.el
2023-02-19 11:38:09 +01:00
Stefan Kangas
871cf33a45 ; * admin/make-tarball.txt: Minor copyedit. 2023-02-19 11:37:16 +01:00
Eli Zaretskii
4faebba2fe Fix invocation of File->Close from the menu bar
* lisp/simple.el (kill-buffer--possibly-save): Don't request
LONG-FORM from 'read-multiple-choice' if GUI dialog should be
used.
* lisp/emacs-lisp/rmc.el (read-multiple-choice): Doc fix.
(read-multiple-choice--short-answers): Don't append "?" to
CHOICES and don't display the prompt in the echo area if GUI
dialog is used.  Use 'use-dialog-box-p'.  (Bug#61553)
2023-02-19 11:29:32 +02:00
Eli Zaretskii
cd05fca5f7 ; Improve documentation of 'native-comp-enable-subr-trampolines'
* doc/lispref/compile.texi (Native-Compilation Variables):
Document the interpretation of non-absolute directory names that
are the value of 'native-comp-enable-subr-trampolines'.
2023-02-19 11:04:57 +02:00
Po Lu
efc46330aa Allow opening more files in emacsclient on Android
* java/org/gnu/emacs/EmacsOpenActivity.java (EmacsOpenActivity)
(checkReadableOrCopy): New function.
(onCreate): If the file specified is not readable from C, read
it into a temporary file and ask Emacs to open that.
2023-02-19 15:29:46 +08:00
Manuel Giraud
c61a30e160 Update thumbnail buffer's header more
* lisp/image/image-dired.el (image-dired-display-thumbs): Call
image-dired--update-header-line.  (Bug#61508)
2023-02-19 08:24:52 +02:00
Po Lu
c8f49c9276 Implement `fullscreen' on Android 4.0 and later
* doc/emacs/android.texi (Android Windowing): Document what new
frame parameters are now supported.
* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity): New
field `isFullscreen'.
(detachWindow, attachWindow): Sync fullscreen state.
(onWindowFocusChanged): Add more logging.
(onResume): Restore previous fullscreen state.
(syncFullscreen): New function.
* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
(setFullscreen): New function.
* src/android.c (struct android_emacs_window): Add new method.
(android_init_emacs_window): Look up new method.
(android_set_fullscreen): New function.
* src/androidgui.h:
* src/androidterm.c (android_fullscreen_hook): Implement
accordingly.
2023-02-19 13:17:43 +08:00
Po Lu
c6809eb927 Fix crashes in desktop-save-mode
* lisp/subr.el (overriding-text-conversion-style, y-or-n-p):
Disable text conversion when reading from minibuffer.
* src/androidfns.c (android_make_monitor_attribute_list): New
function.
(Fandroid_display_monitor_attributes_list): Call it to set
monitor_frames, which avoids a NULL pointer dereference.
Reported by Angelo Graziosi <angelo.g0@libero.it>.
2023-02-19 10:47:32 +08:00
Po Lu
2bcfa0e68e Merge remote-tracking branch 'origin/master' into feature/android 2023-02-19 10:17:02 +08:00
Dmitry Gutov
4c49452cde (treesit-query-validate): Fix reusing the output buffer
* lisp/treesit.el (treesit-query-validate): Fix the "Buffer is
read-only" error when an output buffer already exists.
2023-02-18 23:53:11 +02:00
Dmitry Gutov
d560dc5044 (rust-ts-mode--font-lock-settings): Highlight closure parameters
* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--font-lock-settings): Highlight closure parameters.
2023-02-18 23:53:11 +02:00
Andrea Corallo
c15bc91e1b * Fix `native-comp-enable-subr-trampolines' semantic
* lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename): Interpret
`native-comp-enable-subr-trampolines' relative to
`invocation-directory'.
2023-02-18 22:44:05 +01:00
Eli Zaretskii
774051873d Fix documentation of 'just-one-space' and 'delete-horizontal-space'
* lisp/simple.el (just-one-space, delete-horizontal-space):
Mention the effect of prefix argument.  (Bug#61609)
2023-02-18 20:03:33 +02:00
Stefan Monnier
750bc57cbb Don't rely on dynamic scoping to fix bug#59213
Rather than look up a dynamically scoped var to decide whether to trim
closures, use an ad-hoc marker on those closures which should not be trimmed.

* lisp/emacs-lisp/cconv.el (cconv-dont-trim-unused-variables): Delete var.
(cconv-make-interpreted-closure): Use a `:closure-dont-trim-context`
markers instead.

* lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Use
`:closure-dont-trim-context` rather than `cconv-dont-trim-unused-variables`.

* lisp/emacs-lisp/testcover.el (testcover-analyze-coverage): Remove
workaround for `cconv-dont-trim-unused-variables`.

* test/lisp/emacs-lisp/cconv-tests.el (cconv-safe-for-space): New test.
2023-02-18 12:56:24 -05:00
Eli Zaretskii
7337f07250 ; Remove NEWS entry about deleted variable. 2023-02-18 19:48:22 +02:00
Eli Zaretskii
fb5299ba09 ; Fix wording of last change. 2023-02-18 19:45:33 +02:00
Michael Albinus
2ac8d7e64a Improve Tramp's user and host name completion
* lisp/net/tramp.el (tramp-completion-handle-file-exists-p):
Improve user name completion.
(tramp-skeleton-file-exists-p): New defmacro, which also handles
host name completion.
(tramp-handle-file-exists-p):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-exists-p):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-exists-p):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-exists-p):
Use it.
2023-02-18 18:27:56 +01:00
martin rudalics
9f508cef85 Fix 'display-buffer-use-least-recent-window'
* src/window.c (Fwindow_use_time): Doc fix.
(Fwindow_bump_use_time): Bump use time of the seleceted window as
well.  Doc fix.

* lisp/window.el (display-buffer-avoid-small-windows): Remove.
All users changed.
(window--display-buffer): Bump window use time when requested.
(display-buffer--lru-window): New function.
(display-buffer-use-some-window): Use it.
(display-buffer-use-least-recent-window): Rewrite and enhance doc
string.

* doc/lispref/windows.texi (Selecting Windows)
(Buffer Display Action Functions, Buffer Display Action Alists)
(The Zen of Buffer Display): Improve and update documentation of
window selection and display facilities.
2023-02-18 19:24:59 +02:00
andrés ramírez
b3502b9228 Allow disabling viper faces in the minibuffer
* lisp/emulation/viper-cmd.el (viper-enable-minibuffer-faces): New
defcustom.
(viper-set-mode-vars-for): Use it to decide whether to use
distinct faces in the minibuffer.  (Bug#61432)

Copyright-paperwork-exempt: yes
2023-02-18 18:58:47 +02:00
kobarity
5190ea6259 Fix point moving when calling python-shell-send-region
* lisp/progmodes/python.el (python-shell-buffer-substring): Add
`save-excursion' to prevent the point from moving.
* test/lisp/progmodes/python-tests.el (python-tests-should-not-move):
New helper function to assert that point does not move while calling a
function.
(python-shell-buffer-substring-*): Use
`python-tests-should-not-move'. (Bug#61463)
2023-02-18 18:43:11 +02:00
Po Lu
4ab9fa7507 ; * lisp/loadup.el: Fix merge typos. 2023-02-18 23:17:07 +08:00
Po Lu
c045d5322c Merge remote-tracking branch 'origin/master' into feature/android 2023-02-18 23:13:51 +08:00
Po Lu
a61f9cb77c Update Android port
* doc/emacs/input.texi (On-Screen Keyboards): Document
`touch-screen-always-display'.
* doc/lispref/commands.texi (Misc Events): Improve documentation
of text conversion events.
* java/org/gnu/emacs/EmacsDialog.java (toAlertDialog, display1):
Reorder buttons to make more sense.
* lisp/elec-pair.el (electric-pair-analyze-conversion): New
function.
* lisp/simple.el (analyze-text-conversion): Improve integration
with electric pair modes.
* lisp/term.el (term-mode): Always display the onscreen
keyboard.
* lisp/touch-screen.el (touch-screen-display-keyboard)
(touch-screen-handle-point-up): Respect new options.
* src/textconv.c (really_set_composing_text): Stop widenining
unnecessarily.
(really_delete_surrounding_text): Really delete surrounding
text.  Give text conversion analyzers the buffer text.
(syms_of_textconv): Update doc string.
2023-02-18 23:09:30 +08:00
Omar Polo
6c0d821017 (project-try-vc): Remove unused defvar/require
* lisp/progmodes/project.el (project-try-vc):
Remove unused defvar/require (bug#61577).
2023-02-18 15:11:13 +02:00
Stefan Kangas
4f9862e435 ; Fix typo 2023-02-18 13:39:28 +01:00
Stefan Kangas
a638c79bc5 Delete redundant question from Gnus FAQ
* doc/misc/gnus-faq.texi (FAQ 1-2): Delete redundant question.
(FAQ 1-1, FAQ 1-3): Adjust accordingly.
2023-02-18 13:35:37 +01:00
Stefan Kangas
4a90d67eb6 Slightly improve hashcash documentation
* lisp/mail/hashcash.el: Improve Commentary.
(hashcash-program):
* lisp/gnus/message.el (message-generate-hashcash): Improve
docstring.
2023-02-18 13:02:13 +01:00
Stefan Kangas
97f24924df Remove redundant requires from package.el
* lisp/emacs-lisp/package.el (package-check-signature)
(package-untar-buffer): Simplify by removing redundant require for
autoloaded function.
2023-02-18 12:44:00 +01:00
Eli Zaretskii
6ea3c105ab Fix cursor motion when there's line-prefix and display string at BOL
* src/xdisp.c (move_it_in_display_line_to): Handle 'line-prefix' and
'wrap-prefix' when the screen line has a display string at its
beginning.  (Bug#61580)
2023-02-18 13:40:56 +02:00
Yuan Fu
e985466556
Fix comment in treesit_record_change (bug#61369)
Turns out the previous commit message and comment is not entirely
correct: the old behavior is in fact wrong, not just "correct but has
problems".

Here is why the old code is wrong:

|visible range|     -> markup for visible range

updated range       -> markup for updated range
-------------

First we have some text

|aaaaaa|

Now we insert something at the beginning, because we clip
new_end_offset to visible_end, out of eight b's inserted, only the
first six are known to tree-sitter.

|bbbbbbbbaaaa|aa  start: 0, old_end: 0, new_end: 6
 ------

In treesit_sync_visible_region, we sync up visible region, but the two
missing b's are not in the updated range.

|bbbbbbbbaaaaaa|  start: 12, old_end: 12, new_end: 14
             --

The old behavior not only is wrong, but also doesn't make much sense.

* src/treesit.c (treesit_record_change): Update comment.
2023-02-18 02:32:25 -08:00
Stefan Kangas
1e5cebc88b Spell out RPN abbreviation in Calc manual intro
* doc/misc/calc.texi (What is Calc, Demonstration of Calc)
(RPN Tutorial): Spell out "Reverse Polish notation" abbreviation.
2023-02-18 10:59:45 +01:00
Stefan Kangas
0be5f7ab63 Merge from origin/emacs-29
1769a58830 Fix some uses of 'use-dialog-box'
deef41a825 Fix hi-lock-tests when 'use-dialog-box' is non-nil
5093a53496 Fix regression due to change in face sort order by 'face-...
3e74763099 * lisp/files.el (file-equal-p): Work around Haiku stat bug.
13fd7667f9 ; * src/treesit.c: Improve sectioning.
a40b1745d4 (project-vc-backend-markers-alist): Add entry for vc-got
18e96ed7c8 project.el: Extract backend->marker association for a defvar
0a5615669a Don't completely clip into visible range in treesit_recor...
5b34fc0708 * lisp/treesit.el (treesit-node-at): Update docstring (bu...
1c7d762378 ; Minor copyedit of NEWS wrt *-ts-modes
09fad246de * lisp/calc/calc.el (calc-mode): Improve docstring.
8aad8d75aa ; Improve and update documentation of native compilation
d6e4f24372 Merge 'emacs-29' into 'feature/inhibit-native-comp-cleanup'
a555abc56d Fix order of faces in 'face-list'
b44a7ff85d Allow 'icon-title-format' to have the value t
f1f571e72a Add electric indent for preproc directives
83af806ab7 Rename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag'
5bc88b3b17 Add menu to news-mode
40f4bc4e0a ; Avoid installing VC package dependencies multiple times
1c9d81a2b4 Attempt to recognise if a VC package has no Elisp files
2550e8bb0b Fix mule-tests under en_US.UTF-8 locale
3279530993 Move block closer above declaration_list rule (bug#61531)
b18754bb17 Minor improvements in c-ts-mode and docs
3c6b726a7b Add super node as a keyword
1917c51fe6 ; Prevent ERC-induced false positive in JUnit report
b16965ef7e Delete perplexing paragraph from Gnus manual
43c62a4732 ; Fix typo
fdac69b45e ; Auto-commit of loaddefs files.
7678b7e46f Eglot: check server capability before sending didSave (bu...
a3a1ef7bd5 Fix rust-ts-mode type and module highlighting (Bug#61302)
477aa047ee rust-ts-mode: Highlight variable reassignments
5206a551c1 Improve backward compatibility of save-restriction
accd88d554 Don't indent template_string contents (bug#61503)
d97a383996 csharp-ts-mode: fontify compiler directives (bug#61512)
420d2cae84 Update to Transient v0.3.7-209-gdab1dfa
a3751b5d0c ; Raise an error if a VC package checkout is empty
6a32ba8b69 ; Fix the installation of dependencies for VC packages
4eac80fcc3 ; Prepare to update ERC version to 5.5
4f099a7217 ; Remove failing erc-reuse-buffers test
ce4a066ed1 * Generate trampolines in a temporary directory if no oth...
4bb27a5ca9 ; Minor docs copyedits
13bcff3da5 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
3d572ae0d5 Rename with/without-narrowing to with/without-restriction
d806b0e33c * lisp/repeat.el: Rename internal function and variable (...
1a64f326e0 * Fix previous change
95692f6754 Rename native-comp-deferred-compilation-deny-list
8d8464bd5a Rename native-comp-deferred-compilation into native-comp-...
5d0912f144 Rename comp-enable-subr-trampolines into native-comp-enab...
dd8b720ee7 ; * etc/NEWS: Fix typos.
909bd04cf5 ; * lisp/calendar/lunar.el: Add comments. (bug#61460)
10f2aedea9 ; * lisp/progmodes/c-ts-mode.el (c-ts-base-mode): delete ...
abfd00e5c0 * lisp/emacs-lisp/comp.el (native-comp-never-optimize-fun...
1795839bab Support `comp-enable-subr-trampolines' as string value
865758130a ; * admin/git-bisect-start: Update failing commits
b948d0d7ef Merge branch 'scratch/fix-locked-narrowing'
b6e2799aa1 * Some more `inhibit-native-compile' clean-up
dcb2379a46 Minor improvements to labeled narrowing
c0681cd347 Revert "Add new variable 'inhibit-native-compilation'"
3969a34fa1 Revert "Rename to inhibit-automatic-native-compilation"
4297039bd1 Save and restore the absence of narrowing locks
2956e54b1d Add an extensive test for labeled (locked) narrowing
79ce185ad1 Update the documentation about labeled (locked) narrowing
a6cd4553d4 Rename two long line optimizations variables
0d73e4aa26 Add specific symbols for narrowings
d8438e2bb4 Add 'without-narrowing' macro
97314447e6 Make 'narrowing-lock' and 'narrowing-unlock' internal
a4aa32bdff Fix 'save-restriction' for narrowing locks
2023-02-18 10:45:46 +01:00