]> git.eshelyaron.com Git - emacs.git/log
emacs.git
22 months agoUpdate Android port
Po Lu [Mon, 20 Feb 2023 14:14:29 +0000 (22:14 +0800)]
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.

22 months agoFix crash inside font-list-family
Po Lu [Mon, 20 Feb 2023 03:56:13 +0000 (11:56 +0800)]
Fix crash inside font-list-family

* src/androidfont.c (androidfont_list_family): Don't
unconditionally initialize the Android font driver.

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

22 months agoImprove SFNT driver lookup efficiency
Po Lu [Mon, 20 Feb 2023 03:38:59 +0000 (11:38 +0800)]
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.

22 months agoImprove reliability of Java code rebuilds
Po Lu [Mon, 20 Feb 2023 02:50:04 +0000 (10:50 +0800)]
Improve reliability of Java code rebuilds

* java/Makefile.in ($(CLASS_FILES)): Depend on the Java
compiler's internal dependency tracking.

22 months agoHelp Elisp xref recognize defclass parent classes
Eric Abrahamsen [Mon, 20 Feb 2023 01:01:41 +0000 (03:01 +0200)]
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.

22 months agoTramp cleanup
Michael Albinus [Sun, 19 Feb 2023 17:35:46 +0000 (18:35 +0100)]
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.

22 months agoimenu: Make the test for a single category of map (e.g. "Class") rigorous
Alan Mackenzie [Sun, 19 Feb 2023 16:09:32 +0000 (16:09 +0000)]
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.

22 months agoMatch font registry after font is opened
Po Lu [Sun, 19 Feb 2023 15:33:19 +0000 (23:33 +0800)]
Match font registry after font is opened

* src/fontset.c (fontset_find_font): Work around TrueType
performance problem.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 19 Feb 2023 14:41:42 +0000 (22:41 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months ago* cross/Makefile.in (src/libemacs.so): Depend on libgnu.a.
Po Lu [Sun, 19 Feb 2023 13:57:17 +0000 (21:57 +0800)]
* cross/Makefile.in (src/libemacs.so): Depend on libgnu.a.

22 months agoMore fixes to parallel Make
Po Lu [Sun, 19 Feb 2023 13:52:21 +0000 (21:52 +0800)]
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.

22 months agoMore parallel build fixes
Po Lu [Sun, 19 Feb 2023 13:25:37 +0000 (21:25 +0800)]
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.

22 months agoFix parallel compilation of Android port
Po Lu [Sun, 19 Feb 2023 12:45:32 +0000 (20:45 +0800)]
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.

22 months agoFix sfntfont.c build without mmap
Po Lu [Sun, 19 Feb 2023 12:23:36 +0000 (20:23 +0800)]
Fix sfntfont.c build without mmap

* src/sfntfont.c (sfntfont_close): Don't unlink font if mmap is
not available.

22 months agoImprove Android documentation
Po Lu [Sun, 19 Feb 2023 12:16:32 +0000 (20:16 +0800)]
Improve Android documentation

* INSTALL.android: Say where building Emacs is supported.
* doc/emacs/android.texi (Android Startup): Describe how to
connect via ADB.

22 months agoReport both sides of the region to the input method upon setup
Po Lu [Sun, 19 Feb 2023 11:56:51 +0000 (19:56 +0800)]
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.

22 months agoFix gamegrid.el with high resolution displays
Po Lu [Sun, 19 Feb 2023 11:34:04 +0000 (19:34 +0800)]
Fix gamegrid.el with high resolution displays

* lisp/play/gamegrid.el (gamegrid-setup-default-font): Clamp
font size at eight.

22 months agoMerge from origin/emacs-29
Stefan Kangas [Sun, 19 Feb 2023 10:38:09 +0000 (11:38 +0100)]
Merge from origin/emacs-29

871cf33a450 ; * admin/make-tarball.txt: Minor copyedit.
4faebba2fed Fix invocation of File->Close from the menu bar
cd05fca5f78 ; Improve documentation of 'native-comp-enable-subr-tramp...
c61a30e1601 Update thumbnail buffer's header more
4c49452cdef (treesit-query-validate): Fix reusing the output buffer
d560dc5044a (rust-ts-mode--font-lock-settings): Highlight closure par...
c15bc91e1bf * Fix `native-comp-enable-subr-trampolines' semantic
774051873d5 Fix documentation of 'just-one-space' and 'delete-horizon...
7337f072500 ; Remove NEWS entry about deleted variable.
fb5299ba099 ; Fix wording of last change.
9f508cef85d Fix 'display-buffer-use-least-recent-window'
5190ea6259a Fix point moving when calling python-shell-send-region
6c0d8210175 (project-try-vc): Remove unused defvar/require
4f9862e4356 ; Fix typo
a638c79bc5c Delete redundant question from Gnus FAQ
4a90d67eb68 Slightly improve hashcash documentation
6ea3c105ab1 Fix cursor motion when there's line-prefix and display st...
e985466556c Fix comment in treesit_record_change (bug#61369)
1e5cebc88bb Spell out RPN abbreviation in Calc manual intro

# Conflicts:
# etc/NEWS
# lisp/window.el

22 months ago; * admin/make-tarball.txt: Minor copyedit.
Stefan Kangas [Sun, 19 Feb 2023 10:35:31 +0000 (11:35 +0100)]
; * admin/make-tarball.txt: Minor copyedit.

22 months agoFix invocation of File->Close from the menu bar
Eli Zaretskii [Sun, 19 Feb 2023 09:29:32 +0000 (11:29 +0200)]
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)

22 months ago; Improve documentation of 'native-comp-enable-subr-trampolines'
Eli Zaretskii [Sun, 19 Feb 2023 09:04:57 +0000 (11:04 +0200)]
; 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'.

22 months agoAllow opening more files in emacsclient on Android
Po Lu [Sun, 19 Feb 2023 07:29:46 +0000 (15:29 +0800)]
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.

22 months agoUpdate thumbnail buffer's header more
Manuel Giraud [Tue, 14 Feb 2023 14:08:17 +0000 (15:08 +0100)]
Update thumbnail buffer's header more

* lisp/image/image-dired.el (image-dired-display-thumbs): Call
image-dired--update-header-line.  (Bug#61508)

22 months agoImplement `fullscreen' on Android 4.0 and later
Po Lu [Sun, 19 Feb 2023 05:17:43 +0000 (13:17 +0800)]
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.

22 months agoFix crashes in desktop-save-mode
Po Lu [Sun, 19 Feb 2023 02:47:32 +0000 (10:47 +0800)]
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>.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 19 Feb 2023 02:17:02 +0000 (10:17 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months ago(treesit-query-validate): Fix reusing the output buffer
Dmitry Gutov [Sat, 18 Feb 2023 21:52:47 +0000 (23:52 +0200)]
(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.

22 months ago(rust-ts-mode--font-lock-settings): Highlight closure parameters
Dmitry Gutov [Sat, 18 Feb 2023 21:51:17 +0000 (23:51 +0200)]
(rust-ts-mode--font-lock-settings): Highlight closure parameters

* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--font-lock-settings): Highlight closure parameters.

22 months ago* Fix `native-comp-enable-subr-trampolines' semantic
Andrea Corallo [Sat, 18 Feb 2023 21:44:05 +0000 (22:44 +0100)]
* 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'.

22 months agoFix documentation of 'just-one-space' and 'delete-horizontal-space'
Eli Zaretskii [Sat, 18 Feb 2023 18:03:33 +0000 (20:03 +0200)]
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)

22 months agoDon't rely on dynamic scoping to fix bug#59213
Stefan Monnier [Sat, 18 Feb 2023 17:56:24 +0000 (12:56 -0500)]
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.

22 months ago; Remove NEWS entry about deleted variable.
Eli Zaretskii [Sat, 18 Feb 2023 17:48:22 +0000 (19:48 +0200)]
; Remove NEWS entry about deleted variable.

22 months ago; Fix wording of last change.
Eli Zaretskii [Sat, 18 Feb 2023 17:45:33 +0000 (19:45 +0200)]
; Fix wording of last change.

22 months agoImprove Tramp's user and host name completion
Michael Albinus [Sat, 18 Feb 2023 17:27:56 +0000 (18:27 +0100)]
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.

22 months agoFix 'display-buffer-use-least-recent-window'
martin rudalics [Sun, 12 Feb 2023 09:33:11 +0000 (10:33 +0100)]
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.

22 months agoAllow disabling viper faces in the minibuffer
andrés ramírez [Mon, 13 Feb 2023 15:02:52 +0000 (15:02 +0000)]
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

22 months agoFix point moving when calling python-shell-send-region
kobarity [Mon, 13 Feb 2023 15:30:15 +0000 (00:30 +0900)]
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)

22 months ago; * lisp/loadup.el: Fix merge typos.
Po Lu [Sat, 18 Feb 2023 15:17:07 +0000 (23:17 +0800)]
; * lisp/loadup.el: Fix merge typos.

22 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 18 Feb 2023 15:13:51 +0000 (23:13 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

22 months agoUpdate Android port
Po Lu [Sat, 18 Feb 2023 15:09:30 +0000 (23:09 +0800)]
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.

22 months ago(project-try-vc): Remove unused defvar/require
Omar Polo [Sat, 18 Feb 2023 13:10:57 +0000 (15:10 +0200)]
(project-try-vc): Remove unused defvar/require

* lisp/progmodes/project.el (project-try-vc):
Remove unused defvar/require (bug#61577).

22 months ago; Fix typo
Stefan Kangas [Sat, 18 Feb 2023 12:39:14 +0000 (13:39 +0100)]
; Fix typo

22 months agoDelete redundant question from Gnus FAQ
Stefan Kangas [Sat, 18 Feb 2023 12:35:37 +0000 (13:35 +0100)]
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.

22 months agoSlightly improve hashcash documentation
Stefan Kangas [Sat, 18 Feb 2023 12:00:04 +0000 (13:00 +0100)]
Slightly improve hashcash documentation

* lisp/mail/hashcash.el: Improve Commentary.
(hashcash-program):
* lisp/gnus/message.el (message-generate-hashcash): Improve
docstring.

22 months agoRemove redundant requires from package.el
Stefan Kangas [Sat, 18 Feb 2023 11:39:17 +0000 (12:39 +0100)]
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.

22 months agoFix cursor motion when there's line-prefix and display string at BOL
Eli Zaretskii [Sat, 18 Feb 2023 11:40:56 +0000 (13:40 +0200)]
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)

22 months agoFix comment in treesit_record_change (bug#61369)
Yuan Fu [Sat, 18 Feb 2023 10:20:12 +0000 (02:20 -0800)]
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.

22 months agoSpell out RPN abbreviation in Calc manual intro
Stefan Kangas [Sat, 18 Feb 2023 09:57:27 +0000 (10:57 +0100)]
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.

22 months agoMerge from origin/emacs-29
Stefan Kangas [Sat, 18 Feb 2023 09:45:46 +0000 (10:45 +0100)]
Merge from origin/emacs-29

1769a588300 Fix some uses of 'use-dialog-box'
deef41a8259 Fix hi-lock-tests when 'use-dialog-box' is non-nil
5093a534960 Fix regression due to change in face sort order by 'face-...
3e747630999 * lisp/files.el (file-equal-p): Work around Haiku stat bug.
13fd7667f9c ; * src/treesit.c: Improve sectioning.
a40b1745d4a (project-vc-backend-markers-alist): Add entry for vc-got
18e96ed7c8a project.el: Extract backend->marker association for a defvar
0a5615669a4 Don't completely clip into visible range in treesit_recor...
5b34fc07085 * lisp/treesit.el (treesit-node-at): Update docstring (bu...
1c7d7623781 ; Minor copyedit of NEWS wrt *-ts-modes
09fad246de8 * lisp/calc/calc.el (calc-mode): Improve docstring.
8aad8d75aa9 ; Improve and update documentation of native compilation
d6e4f243720 Merge 'emacs-29' into 'feature/inhibit-native-comp-cleanup'
a555abc56d5 Fix order of faces in 'face-list'
b44a7ff85dc Allow 'icon-title-format' to have the value t
f1f571e72ae Add electric indent for preproc directives
83af806ab7c Rename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag'
5bc88b3b175 Add menu to news-mode
40f4bc4e0aa ; Avoid installing VC package dependencies multiple times
1c9d81a2b42 Attempt to recognise if a VC package has no Elisp files
2550e8bb0b0 Fix mule-tests under en_US.UTF-8 locale
32795309939 Move block closer above declaration_list rule (bug#61531)
b18754bb179 Minor improvements in c-ts-mode and docs
3c6b726a7b4 Add super node as a keyword
1917c51fe68 ; Prevent ERC-induced false positive in JUnit report
b16965ef7e6 Delete perplexing paragraph from Gnus manual
43c62a4732d ; Fix typo
fdac69b45e6 ; Auto-commit of loaddefs files.
7678b7e46f2 Eglot: check server capability before sending didSave (bu...
a3a1ef7bd5e Fix rust-ts-mode type and module highlighting (Bug#61302)
477aa047ee7 rust-ts-mode: Highlight variable reassignments
5206a551c16 Improve backward compatibility of save-restriction
accd88d5545 Don't indent template_string contents (bug#61503)
d97a3839967 csharp-ts-mode: fontify compiler directives (bug#61512)
420d2cae846 Update to Transient v0.3.7-209-gdab1dfa
a3751b5d0c1 ; Raise an error if a VC package checkout is empty
6a32ba8b69c ; Fix the installation of dependencies for VC packages
4eac80fcc39 ; Prepare to update ERC version to 5.5
4f099a72173 ; Remove failing erc-reuse-buffers test
ce4a066ed1e * Generate trampolines in a temporary directory if no oth...
4bb27a5ca93 ; Minor docs copyedits
13bcff3da5c Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
3d572ae0d50 Rename with/without-narrowing to with/without-restriction
d806b0e33cf * lisp/repeat.el: Rename internal function and variable (...
1a64f326e0a * Fix previous change
95692f6754c Rename native-comp-deferred-compilation-deny-list
8d8464bd5a9 Rename native-comp-deferred-compilation into native-comp-...
5d0912f1445 Rename comp-enable-subr-trampolines into native-comp-enab...
dd8b720ee74 ; * etc/NEWS: Fix typos.
909bd04cf5f ; * lisp/calendar/lunar.el: Add comments. (bug#61460)
10f2aedea9a ; * lisp/progmodes/c-ts-mode.el (c-ts-base-mode): delete ...
abfd00e5c02 * lisp/emacs-lisp/comp.el (native-comp-never-optimize-fun...
1795839babc Support `comp-enable-subr-trampolines' as string value
865758130a1 ; * admin/git-bisect-start: Update failing commits
b948d0d7efe Merge branch 'scratch/fix-locked-narrowing'
b6e2799aa1c * Some more `inhibit-native-compile' clean-up
dcb2379a463 Minor improvements to labeled narrowing
c0681cd3477 Revert "Add new variable 'inhibit-native-compilation'"
3969a34fa1b Revert "Rename to inhibit-automatic-native-compilation"
4297039bd13 Save and restore the absence of narrowing locks
2956e54b1dd Add an extensive test for labeled (locked) narrowing
79ce185ad13 Update the documentation about labeled (locked) narrowing
a6cd4553d48 Rename two long line optimizations variables
0d73e4aa261 Add specific symbols for narrowings
d8438e2bb44 Add 'without-narrowing' macro
97314447e60 Make 'narrowing-lock' and 'narrowing-unlock' internal
a4aa32bdfff Fix 'save-restriction' for narrowing locks

22 months agoFix some uses of 'use-dialog-box'
Eli Zaretskii [Sat, 18 Feb 2023 08:58:00 +0000 (10:58 +0200)]
Fix some uses of 'use-dialog-box'

* lisp/frame.el (display-mouse-p): Fix return value on MS-Windows
in batch invocations.
* lisp/hi-lock.el (hi-lock-unface-buffer): Don't consider
'last-nonmenu-event' being nil as a mouse event, for the purpose
of using dialog boxes.

22 months agoFix hi-lock-tests when 'use-dialog-box' is non-nil
Eli Zaretskii [Sat, 18 Feb 2023 08:45:12 +0000 (10:45 +0200)]
Fix hi-lock-tests when 'use-dialog-box' is non-nil

* test/lisp/hi-lock-tests.el (hi-lock-case-fold)
(hi-lock-unhighlight): Bind 'use-dialog-box' to nil.

22 months agoFix regression due to change in face sort order by 'face-list'
Eli Zaretskii [Sat, 18 Feb 2023 07:37:34 +0000 (09:37 +0200)]
Fix regression due to change in face sort order by 'face-list'

* lisp/faces.el (x-create-frame-with-faces): Undo reversing of
the face list, which is no longer necessary, since 'face-list's
sorting order has been reversed recently.  (Bug#61521)

22 months agoRename 'display-time-time-and-date-indicator' to 'display-time-date-and-time' (bug...
Protesilaos Stavrou [Sat, 18 Feb 2023 07:36:18 +0000 (09:36 +0200)]
Rename 'display-time-time-and-date-indicator' to 'display-time-date-and-time' (bug#61567)

* etc/NEWS:
* lisp/time.el (display-time-time-and-date-indicator)
(display-time-date-and-time, display-time-string-forms): Update symbol.

22 months agoNotify input methods when editing fails
Po Lu [Sat, 18 Feb 2023 06:48:08 +0000 (14:48 +0800)]
Notify input methods when editing fails

* INSTALL.android: Clarify build instructions.
* src/textconv.c (struct complete_edit_check_context): New
structure.
(complete_edit_check): New function.
(handle_pending_conversion_events_1): If the window is known,
then ensure that any editing failures are reported to the input
method.

22 months ago* configure.ac: Fix typo.
Po Lu [Sat, 18 Feb 2023 05:05:03 +0000 (13:05 +0800)]
* configure.ac: Fix typo.

22 months agoUpdate Android port
Po Lu [Sat, 18 Feb 2023 03:50:44 +0000 (11:50 +0800)]
Update Android port

* configure.ac: Check for madvise.
* lisp/international/fontset.el (script-representative-chars):
Improve detection of CJK fonts.
* src/pdumper.c (dump_discard_mem): Use madvise if possible.
* src/sfnt.c (sfnt_map_glyf_table, sfnt_unmap_glyf_table): New
functions.
* src/sfnt.h (struct sfnt_glyf_table): New field.
* src/sfntfont.c (struct sfnt_font_info, sfntfont_open)
(sfntfont_close, sfntfont_detect_sigbus): Allow mmapping fonts
if possible.
* src/sfntfont.h: Update prototypes.
* src/sysdep.c (handle_sigbus, init_sigbus, init_signals):
Initialize SIGBUS correctly.

22 months ago* lisp/files.el (file-equal-p): Work around Haiku stat bug.
Po Lu [Sat, 18 Feb 2023 03:03:07 +0000 (11:03 +0800)]
* lisp/files.el (file-equal-p): Work around Haiku stat bug.

22 months ago; * src/treesit.c: Improve sectioning.
Po Lu [Sat, 11 Feb 2023 01:26:11 +0000 (09:26 +0800)]
; * src/treesit.c: Improve sectioning.

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

22 months ago(project-vc-backend-markers-alist): Add entry for vc-got
Dmitry Gutov [Fri, 17 Feb 2023 22:54:02 +0000 (00:54 +0200)]
(project-vc-backend-markers-alist): Add entry for vc-got

* lisp/progmodes/project.el (project-vc-backend-markers-alist):
Add entry for vc-got (bug#61577).  Bump the version.

22 months agoproject.el: Extract backend->marker association for a defvar
Dmitry Gutov [Fri, 17 Feb 2023 22:50:29 +0000 (00:50 +0200)]
project.el: Extract backend->marker association for a defvar

* lisp/progmodes/project.el (project-vc-backend-markers-alist):
Extract from 'project-try-vc'.
(project-try-vc): Update accordingly (bug#61577).

22 months agoDon't completely clip into visible range in treesit_record_change
Yuan Fu [Fri, 17 Feb 2023 22:21:49 +0000 (14:21 -0800)]
Don't completely clip into visible range in treesit_record_change

(Bug#61369)

From
    min (visible_end, max (visible_beg, new_end_byte)) - visible_beg
to
    max (visible_beg, new_end_byte) - visible_beg

* src/treesit.c (treesit_record_change): We don't clip the new end
into the visible range anymore.  If you think of it, when inserting in
a narrowed region, the visible region is always extended to
accommodate more text, rather than pushing text at the end to keep the
size of the visible region.

22 months agoUse more recent public_suffix_list.dat where possible
Stefan Kangas [Fri, 17 Feb 2023 21:50:13 +0000 (22:50 +0100)]
Use more recent public_suffix_list.dat where possible

* lisp/url/url-domsuf.el (url-domsuf--public-suffix-file): New
function to look for a more recent version of public_suffix_list.dat
on the system than the one that is shipped with Emacs.
(url-domsuf-parse-file): Use above new function.
* test/lisp/url/url-domsuf-tests.el
(url-domsuf--public-suffix-file): New test.

22 months ago; Adjust limit for eclipse in calendar; rename a function
Ulrich Müller [Thu, 16 Feb 2023 19:09:22 +0000 (20:09 +0100)]
; Adjust limit for eclipse in calendar; rename a function

* lisp/calendar/lunar.el (lunar-check-for-eclipse): Renamed from
'eclipse-check'; thanks to Michael Heerdegen for the suggestion.
Add missing documentation string.  Slightly adjust the upper limit
for the distance from the node.  (bug#61460)
* test/lisp/calendar/lunar-tests.el
(lunar-test-check-for-eclipse): Update accordingly.

22 months agoMake the byte compiler give correct warning positions in eval-and-compile
Alan Mackenzie [Fri, 17 Feb 2023 17:31:17 +0000 (17:31 +0000)]
Make the byte compiler give correct warning positions in eval-and-compile

This fixes bug #61579.

* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-environment): Remove a
spurious `byte-run-strip-symbol-position' from the core form of the
eval-and-compile element.

22 months agoUse substitute-command-keys more in Calc help
Stefan Kangas [Fri, 17 Feb 2023 16:49:53 +0000 (17:49 +0100)]
Use substitute-command-keys more in Calc help

* lisp/calc/calc-ext.el (calc-do-prefix-help):
* lisp/calc/calc-help.el (calc-help-prefix, calc-help-for-help)
(calc-h-prefix-help, calc-inverse-prefix-help)
(calc-hyperbolic-prefix-help, calc-inv-hyp-prefix-help)
(calc-f-prefix-help, calc-s-prefix-help, calc-r-prefix-help)
(calc-j-prefix-help, calc-a-prefix-help, calc-b-prefix-help)
(calc-c-prefix-help, calc-d-prefix-help, calc-g-prefix-help)
(calc-k-prefix-help, calc-m-prefix-help, calc-t-prefix-help)
(calc-u-prefix-help, calc-l-prefix-help, calc-v-prefix-help):
* lisp/calc/calc-misc.el (calc-dispatch-help, calc-help):
* lisp/calc/calc.el (calc-do-dispatch): Use substitute-command keys.

22 months ago; Fix previous change
Robert Pluim [Fri, 17 Feb 2023 15:19:43 +0000 (16:19 +0100)]
; Fix previous change

22 months ago* lisp/treesit.el (treesit-node-at): Update docstring (bug#61529).
Dmitry Gutov [Fri, 17 Feb 2023 15:06:53 +0000 (17:06 +0200)]
* lisp/treesit.el (treesit-node-at): Update docstring (bug#61529).

22 months ago; Minor copyedit of NEWS wrt *-ts-modes
Eli Zaretskii [Fri, 17 Feb 2023 14:57:09 +0000 (16:57 +0200)]
; Minor copyedit of NEWS wrt *-ts-modes

* etc/NEWS: Add desktop.el caveat for when restarting after trying
the *-ts-modes.  Suggested by Alan Mackenzie <acm@muc.de>.

22 months ago* lisp/calc/calc.el (calc-mode): Improve docstring.
Stefan Kangas [Fri, 17 Feb 2023 14:23:19 +0000 (15:23 +0100)]
* lisp/calc/calc.el (calc-mode): Improve docstring.

22 months ago; Improve and update documentation of native compilation
Eli Zaretskii [Fri, 17 Feb 2023 14:15:51 +0000 (16:15 +0200)]
; Improve and update documentation of native compilation

* src/comp.c (syms_of_comp) <native-comp-enable-subr-trampolines>
<native-comp-eln-load-path>: Doc fixes.

* lisp/emacs-lisp/comp.el (native-comp-never-optimize-functions):
Doc fix.

* doc/lispref/compile.texi (Native-Compilation Variables):
Document 'native-comp-jit-compilation' and
'native-comp-enable-subr-trampolines'.

22 months agoMove side-effect-free and pure declarations to function definitions
Mattias Engdegård [Fri, 17 Feb 2023 13:38:50 +0000 (14:38 +0100)]
Move side-effect-free and pure declarations to function definitions

Some Lisp functions still had their `side-effect-free` and `pure`
properties declared in byte-opt.el; do it at their definition instead.
The lists in byte-opt.el now only contain functions implemented in C
and function aliases.

* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns)
(side-effect-and-error-free-fns, pure-fns):
Remove functions whose properties are now declared elsewhere
and some obsolete entries.
* lisp/custom.el (custom-variable-p):
* lisp/emacs-lisp/lisp.el (buffer-end):
* lisp/emacs-lisp/regexp-opt.el (regexp-opt):
* lisp/env.el (getenv):
* lisp/simple.el (count-lines, mark, string-empty-p, lax-plist-get):
* lisp/subr.el (ignore, always, zerop, fixnump, bignump, lsh, last)
(eventp, mouse-movement-p, log10, memory-limit, string-greaterp)
(interactive-p):
* lisp/window.el (get-lru-window, get-largest-window, (window-edges)
(window-body-edges, window-pixel-edges, window-body-pixel-edges)
(window-absolute-pixel-edges, window-absolute-body-pixel-edges)
(one-window-p):
Declare functions `side-effect-free` and/or `pure` as appropriate.

22 months agoWork around race condition bug in Android 13's input manager
Po Lu [Fri, 17 Feb 2023 13:31:43 +0000 (21:31 +0800)]
Work around race condition bug in Android 13's input manager

* src/androidterm.c (android_get_selection): Use ephemeral last
point.
* src/textconv.c (report_selected_window_change): Set
w->ephemeral_last_point to the window's point now.

22 months agoUpdate emacsbug and version.el for the Android port
Po Lu [Fri, 17 Feb 2023 13:09:00 +0000 (21:09 +0800)]
Update emacsbug and version.el for the Android port

* java/Makefile.in (install_temp/assets/version): New generated
file.
* lisp/loadup.el: Set emacs versions appropriately prior to
dumping on Android.
* lisp/mail/emacsbug.el (emacs-build-description): Insert
Android build fingerprint.
* lisp/version.el (emacs-repository-version-android)
(emacs-repository-get-version, emacs-repository-get-branch):
Implement for Android.
* src/androidterm.c (android_set_build_fingerprint): New
function.
(syms_of_androidterm): New variable `android-build-fingerprint'.

22 months ago* src/android.c (android_exception_check): Fix typo.
Po Lu [Fri, 17 Feb 2023 11:16:00 +0000 (19:16 +0800)]
* src/android.c (android_exception_check): Fix typo.

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

22 months agoImprove logging of Java exceptions
Po Lu [Fri, 17 Feb 2023 11:08:55 +0000 (19:08 +0800)]
Improve logging of Java exceptions

* src/android.c (android_exception_check): Print more detailed
information.

22 months agoFix crash on old versions of Android
Po Lu [Fri, 17 Feb 2023 11:02:23 +0000 (19:02 +0800)]
Fix crash on old versions of Android

* java/org/gnu/emacs/EmacsService.java (nameKeysym): Implement
stub on Android 3.0 and earlier.

22 months agoMerge 'emacs-29' into 'feature/inhibit-native-comp-cleanup'
Andrea Corallo [Fri, 17 Feb 2023 10:14:38 +0000 (11:14 +0100)]
Merge 'emacs-29' into 'feature/inhibit-native-comp-cleanup'

22 months agoDefine 'display-time-time-and-date-indicator' face
Protesilaos Stavrou [Thu, 16 Feb 2023 09:05:53 +0000 (11:05 +0200)]
Define 'display-time-time-and-date-indicator' face

* etc/NEWS: Announce the new face for the 'display-time-format'.
* lisp/time.el (display-time-time-and-date-indicator): Define new face.
(display-time-string-forms): Use the new face. (Bug#61567)

22 months agoAdd handling of the C11 _Generic construct to C Mode
Alan Mackenzie [Fri, 17 Feb 2023 09:14:10 +0000 (09:14 +0000)]
Add handling of the C11 _Generic construct to C Mode

This fixes bug #61481.

* lisp/progmodes/cc-engine.el (c-guess-basic-syntax): Add a new CASE 6 for
_Generic.

* lisp/progmodes/cc-fonts.el (c-fontify-types-and-refs): Use `let*' rather
than `let'.
(c-get-fontification-context): Add the new result `generic', and add handling
to determine it.
(c-font-lock-declarations): Call c-font-lock-c11-generic-clause when needed.
(c-font-lock-c11-generic-clause): New function.

* lisp/progmodes/cc-langs.el (c-generic-kwds, c-generic-key): New lang
constants/variable.

22 months agoFix order of faces in 'face-list'
Eli Zaretskii [Fri, 17 Feb 2023 08:27:39 +0000 (10:27 +0200)]
Fix order of faces in 'face-list'

* lisp/faces.el (frame-face-alist, face-list): Sort faces in
decreasing order of face IDs.  Patch by Brennan Vincent
<brennan@umanwizard.com>.  (Bug#61521)

Copyright-paperwork-exempt: yes

22 months agoFix build and running on Android 2.2
Po Lu [Fri, 17 Feb 2023 08:27:00 +0000 (16:27 +0800)]
Fix build and running on Android 2.2

* INSTALL.android: Document that Android 2.2 is now supported,
with caveats.
* configure.ac (ANDROID_MIN_SDK, ANDROID_SDK_18_OR_EARLIER)
(SYSTEM_TYPE, ANDROID_STUBIFY, SIZEOF_LONG): Correctly detect
things missing on Android 2.2.
* java/Makefile.in (ANDROID_JAR, JARSIGNER_FLAGS):
* java/debug.sh (jdb, gdbserver, line):
* java/org/gnu/emacs/EmacsApplication.java (findDumpFile):
* java/org/gnu/emacs/EmacsService.java (onCreate):
* java/org/gnu/emacs/EmacsThread.java (EmacsThread, run): Run
parameter initialization on main thread.
* src/android-asset.h (struct android_asset_manager)
(struct android_asset, AAssetManager_fromJava, AAssetManager_open)
(AAsset_close, android_asset_create_stream)
(android_asset_read_internal, AAsset_openFileDescriptor)
(AAsset_getLength, AAsset_getBuffer, AAsset_read): New file.
* src/android.c (android_user_full_name, android_hack_asset_fd)
(android_check_compressed_file): Implement for Android 2.2.
* src/process.c (Fprocess_send_eof): Don't call tcdrain if
unavailable.
* src/sfntfont-android.c (system_font_directories): Fix compiler
warning.
* src/sfntfont.c (sfntfont_read_cmap): Correctly test rc of
emacs_open.
* src/textconv.c (handle_pending_conversion_events_1): Mark
buffer UNINIT.

22 months agoAllow 'icon-title-format' to have the value t
Eli Zaretskii [Fri, 17 Feb 2023 07:40:32 +0000 (09:40 +0200)]
Allow 'icon-title-format' to have the value t

* src/xdisp.c (gui_consider_frame_title, syms_of_xdisp): If the
value of 'icon-title-format' is t, use 'frame-title-format'
instead.  (Bug#61496)

* etc/NEWS:
* doc/lispref/frames.texi (Frame Titles): Document the new
handling of the value t.
(Basic Parameters): Fix the documentation of the 'title' and
'name' frame parameters.

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

f1f571e72ae Add electric indent for preproc directives
83af806ab7c Rename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag'
5bc88b3b175 Add menu to news-mode
40f4bc4e0aa ; Avoid installing VC package dependencies multiple times
1c9d81a2b42 Attempt to recognise if a VC package has no Elisp files

22 months agoAdd electric indent for preproc directives
Theodor Thornhill [Wed, 15 Feb 2023 20:05:37 +0000 (21:05 +0100)]
Add electric indent for preproc directives

It looks like there are few if no other cases where we get this
particular error in the AST than with insertion of '#'.

Consider:

```
int
main()
{
  |
}
```

If we only add '#' the AST yields (ERROR (ERROR)), which we can
exploit to hook onto electric indent.  The end result should be the
hashtag anchored to column 0.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): New rule.
(c-ts-base-mode): Add # to electric-indent-chars.

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

22 months agoUpdate Android port
Po Lu [Thu, 16 Feb 2023 15:57:01 +0000 (23:57 +0800)]
Update Android port

* doc/emacs/android.texi (Android Fonts):
* doc/emacs/input.texi (On-Screen Keyboards):
* doc/lispref/commands.texi (Misc Events): Update documentation.
* java/org/gnu/emacs/EmacsInputConnection.java (setSelection):
New function.
* java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView)
(reconfigureFrontBuffer): Make bitmap references weak
references.
* java/org/gnu/emacs/EmacsView.java (handleDirtyBitmap): Don't
clear surfaceView bitmap.
* lisp/comint.el (comint-mode):
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Improve detection of CJK fonts.
* lisp/isearch.el (set-text-conversion-style): New variable.
(isearch-mode, isearch-done): Save and restore the text
conversion style.
* lisp/minibuffer.el (minibuffer-mode): Set an appropriate text
conversion style.
* lisp/simple.el (analyze-text-conversion): Run
post-self-insert-hook properly.
* lisp/subr.el (read-char-from-minibuffer): Disable text
conversion when reading character.
* src/androidterm.c (show_back_buffer): Don't check that F is
not garbaged.
(android_update_selection, android_reset_conversion): Use the
ephemeral last point and handle text conversion being disabled.
* src/buffer.c (syms_of_buffer): Convert old style DEFVAR.
* src/keyboard.c (kbd_buffer_get_event): Handle text conversion
first.
* src/lisp.h: Update prototypes.
* src/lread.c (read_filtered_event): Temporarily disable text
conversion.
* src/sfnt.c (sfnt_decompose_glyph_1, sfnt_decompose_glyph_2):
New functions.
(sfnt_decompose_glyph, sfnt_decompose_instructed_outline):
Refactor contour decomposition to those two functions.
(main): Update tests.
* src/sfntfont-android.c (system_font_directories): Add empty
field.
(Fandroid_enumerate_fonts, init_sfntfont_android): Enumerate
fonts in a user fonts directory.
* src/sfntfont.c (struct sfnt_font_desc): New field
`num_glyphs'.
(sfnt_enum_font_1): Set num_glyphs and avoid duplicate fonts.
(sfntfont_glyph_valid): New function.
(sfntfont_lookup_char, sfntfont_list_1): Make sure glyphs found
are valid.

* src/textconv.c (sync_overlay, really_commit_text)
(really_set_composing_text, really_set_composing_region)
(really_delete_surrounding_text, really_set_point_and_mark)
(handle_pending_conversion_events_1)
(handle_pending_conversion_events, conversion_disabled_p)
(disable_text_conversion, resume_text_conversion)
(Fset_text_conversion_style, syms_of_textconv): Update to
respect new options.
* src/textconv.h:
* src/window.h (GCALIGNED_STRUCT): New field
`ephemeral_last_point'.
* src/xdisp.c (mark_window_display_accurate_1): Set it.

22 months agoRename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag'
Robert Pluim [Thu, 16 Feb 2023 12:04:53 +0000 (13:04 +0100)]
Rename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag'

* lisp/textmodes/emacs-news-mode.el (emacs-news-cycle-tag): Renamed
from 'emacs-news-toggle-tag'.
(emacs-news-mode-map, emacs-news-mode-menu): Use new name.
* test/lisp/textmodes/emacs-news-mode-resources/cycle-tag.erts:
Renamed from "toggle-tag.erts".
* test/lisp/textmodes/emacs-news-mode-tests.el (emacs-news-cycle-tag):
Rename test from 'emacs-news-toggle-tag', and call
'emacs-news-cycle-tag' with new resource file name.

22 months agoAdd menu to news-mode
Robert Pluim [Thu, 16 Feb 2023 09:40:40 +0000 (10:40 +0100)]
Add menu to news-mode

* lisp/textmodes/emacs-news-mode.el (emacs-news-mode-map): Add binding
for 'emacs-news-delete-temporary-markers'.
(emacs-news-mode-menu): Add menu for common actions.

22 months ago; Avoid installing VC package dependencies multiple times
Philip Kaludercic [Thu, 16 Feb 2023 10:38:51 +0000 (11:38 +0100)]
; Avoid installing VC package dependencies multiple times

* lisp/emacs-lisp/package-vc.el (package-vc-install-dependencies):
Check if two package names are eq, instead checking the structural
equality of package-desc objects.

22 months agoAttempt to recognise if a VC package has no Elisp files
Philip Kaludercic [Thu, 16 Feb 2023 10:11:23 +0000 (11:11 +0100)]
Attempt to recognise if a VC package has no Elisp files

* lisp/emacs-lisp/package-vc.el (package-vc-non-code-file-names): Add
new variable used to avoid false-positives.
(package-vc--unpack): Recursively search for .el files excluding the
ones listed in 'package-vc-non-code-file-names', offering to abort the
installation if none are found.

22 months agoFix test errors when run with fancy charset (bug#61534)
Mattias Engdegård [Thu, 16 Feb 2023 09:03:30 +0000 (10:03 +0100)]
Fix test errors when run with fancy charset (bug#61534)

* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--unescaped-char-literals, test-suppression):
Bind `text-quoting-style` to `grave` around tests to force
generation of ASCII quotes.
* test/src/lread-tests.el (lread-tests--unescaped-char-literals):
Subject the reference string to the same text styling as that
under scrutiny.

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

2550e8bb0b0 Fix mule-tests under en_US.UTF-8 locale
32795309939 Move block closer above declaration_list rule (bug#61531)
b18754bb179 Minor improvements in c-ts-mode and docs
3c6b726a7b4 Add super node as a keyword
1917c51fe68 ; Prevent ERC-induced false positive in JUnit report
b16965ef7e6 Delete perplexing paragraph from Gnus manual
43c62a4732d ; Fix typo

23 months agoAllow unloading Eshell
Jim Porter [Mon, 13 Feb 2023 07:25:59 +0000 (23:25 -0800)]
Allow unloading Eshell

* lisp/eshell/em-extpipe.el (eshell-extpipe):
* lisp/eshell/esh-opt.el (eshell-opt): New groups.  Eshell uses these
to identify modules to unload.

* lisp/eshell/em-hist.el (eshell-hist-unload-hook):
* lisp/eshell/em-ls.el (eshell-ls-unload-hook):
* lisp/eshell/em-smart.el (eshell-smart-unload-hook):
* lisp/eshell/eshell.el (eshell-unload-hook): Make obsolete and move
to...

* lisp/eshell/em-smart.el (em-smart-unload-function):
* lisp/eshell/em-hist.el (em-hist-unload-function):
* lisp/eshell/em-ls.el (em-ls-unload-function):
* lisp/eshell/eshell.el (eshell-unload-function): ... these.

* lisp/eshell/esh-mode.el (eshell-mode-unload-hook):
* lisp/eshell/esh-module.el (eshell-module-unload-hook): Make
obsolete.

* lisp/eshell/em-ls (eshell-ls-enable-in-dired,
eshell-ls-disable-in-dired): New functions...
(eshell-ls-use-in-dired): ... use them.

* lisp/eshell/esh-module.el (eshell-module--feature-name,
eshell-unload-modules): New functions.
(eshell-unload-extension-modules): Use 'eshell-unload-modules'.

* lisp/eshell/eshell.el (eshell-unload-all-modules): Remove.

* test/lisp/eshell/eshell-tests-unload.el: New file.

* doc/misc/eshell.texi (Bugs and ideas): Remove item about unloading
Eshell not working.

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

23 months ago; Don't require 'eshell' in other Eshell files
Jim Porter [Mon, 13 Feb 2023 07:25:40 +0000 (23:25 -0800)]
; Don't require 'eshell' in other Eshell files

This isn't necessary and just makes unloading Eshell harder.

* lisp/eshell/em-banner.el:
* lisp/eshell/em-basic.el:
* lisp/eshell/em-cmpl.el:
* lisp/eshell/em-glob.el:
* lisp/eshell/em-prompt.el:
* lisp/eshell/em-rebind.el:
* lisp/eshell/em-smart.el:
* lisp/eshell/em-term.el:
* lisp/eshell/em-tramp.el:
* lisp/eshell/em-xtra.el:
Stop requiring 'eshell', and instead require specific subcomponents.

* lisp/eshell/em-hist.el: Stop requiring 'eshell' and 'em-pred'
(extension modules shouldn't require each other so they can be
independent).
(eshell-hist-parse-modifier): Ensure this can only be called when
'em-pred' is in use, and declare the relevant function.

* lisp/eshell/eshell.el (eshell-non-interactive-p): Move from here...
* lisp/eshell/esh-mode.el (eshell-non-interactive-p): ... to here.

23 months agoFix mule-tests under en_US.UTF-8 locale
Eli Zaretskii [Wed, 15 Feb 2023 19:00:54 +0000 (21:00 +0200)]
Fix mule-tests under en_US.UTF-8 locale

* test/lisp/international/mule-tests.el (sgml-html-meta-utf-8):
Accept also utf-8-unix/dos/whatever.  (Bug#61534)

* lisp/international/mule.el
(sgml-html-meta-auto-coding-function): Fix comparison when
buffer-file-coding-system is of type 'charset'.

23 months agoMove block closer above declaration_list rule (bug#61531)
Theodor Thornhill [Wed, 15 Feb 2023 18:21:50 +0000 (19:21 +0100)]
Move block closer above declaration_list rule (bug#61531)

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Move rule
above the previous rule.

23 months agoMinor improvements in c-ts-mode and docs
Eli Zaretskii [Wed, 15 Feb 2023 18:01:40 +0000 (20:01 +0200)]
Minor improvements in c-ts-mode and docs

* lisp/progmodes/c-ts-mode.el (c-ts-base-mode-map): Add a binding
for comment-region.

* doc/emacs/programs.texi (C Indent): Mention "C-u TAB".