]> git.eshelyaron.com Git - emacs.git/log
emacs.git
19 months ago; Update from Gnulib
Po Lu [Mon, 15 May 2023 02:39:43 +0000 (10:39 +0800)]
; Update from Gnulib

19 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 15 May 2023 02:38:10 +0000 (10:38 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

19 months agoPrefer _WIDTH macros to sizeof in pdumper.c
Paul Eggert [Mon, 15 May 2023 01:51:24 +0000 (18:51 -0700)]
Prefer _WIDTH macros to sizeof in pdumper.c

This is a bit clearer, and should work better on hypothetical
platforms where integers have holes in their representation.
* src/pdumper.c: Since the code no longer uses CHAR_BIT,
don’t worry about whether it equals 8.
(DUMP_OFF_WIDTH): New macro.
(EMACS_RELOC_LENGTH_BITS, DUMP_RELOC_OFFSET_BITS): Use it.
(DUMP_BITSET_WORD_WIDTH): New macro.
(dump_bitsets_init, dump_bitset__bit_slot)
(dump_bitset_bit_set_p, dump_bitset__set_bit_value): Use it.

19 months agoPrefer PTRDIFF_WIDTH in sort.c
Paul Eggert [Mon, 15 May 2023 01:51:24 +0000 (18:51 -0700)]
Prefer PTRDIFF_WIDTH in sort.c

* src/sort.c (MAX_MERGE_PENDING):
Prefer PTRDIFF_WIDTH to rolling our own substitute.

19 months agoPrefer UINTMAX_WIDTH in print_object
Paul Eggert [Mon, 15 May 2023 01:51:24 +0000 (18:51 -0700)]
Prefer UINTMAX_WIDTH in print_object

* src/print.c (print_object):
Prefer UINTMAX_WIDTH to rolling our own substitute.

19 months agoHelp GCC compute modiff_incr
Paul Eggert [Mon, 15 May 2023 01:51:24 +0000 (18:51 -0700)]
Help GCC compute modiff_incr

* src/floatfns.c: Don’t include count-leading-zeros.h,
since we no longer use it directly.
(ecount_leading_zeros): Remove.
(Flogb): Use elogb instead of doing it by hand.
* src/lisp.h: Include count-leading-zeros.h.
(elogb): New macro.
(modiff_incr): Use it so that on typical platforms we
use a hardware instruction instead of a loop.

19 months agoWork after 2038 on 32-bit GNU/Linux
Paul Eggert [Mon, 15 May 2023 01:51:23 +0000 (18:51 -0700)]
Work after 2038 on 32-bit GNU/Linux

This adds support for 64-bit time_t on 32-bit GNU/Linux ARM and
x86, where time_t was historically 32-bit.  The resulting Emacs
should continue to work for timestamps after mid-January 2038.
* admin/merge-gnulib (GNULIB_MODULES): Add year2038.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

19 months agoPacify GCC 13 -Wnull-dereference in itree.c
Paul Eggert [Mon, 15 May 2023 01:51:23 +0000 (18:51 -0700)]
Pacify GCC 13 -Wnull-dereference in itree.c

* src/itree.c (itree_remove_fix): Simplify code and remove a
couple of eassume calls.  This works around GCC bug 109586.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109856

19 months agoPacify GCC 13 -Wanalyzer-out-of-bounds
Paul Eggert [Mon, 15 May 2023 01:51:23 +0000 (18:51 -0700)]
Pacify GCC 13 -Wanalyzer-out-of-bounds

* src/alloc.c (NEAR_STACK_TOP): Hoist from here ...
* src/thread.h: ... to here.
* src/print.c (print_object): Use NEAR_STACK_TOP instead of raw
buffer address.  This is more natural, and pacifies GCC 13.

19 months agoWork around GCC bug 109847 in buffer.c
Paul Eggert [Mon, 15 May 2023 01:51:23 +0000 (18:51 -0700)]
Work around GCC bug 109847 in buffer.c

* src/buffer.c: Ignore GCC 13+ -Wanalyzer-out-of-bounds.

19 months agoDo not use -Wanalyzer-fd-leak
Paul Eggert [Mon, 15 May 2023 01:51:23 +0000 (18:51 -0700)]
Do not use -Wanalyzer-fd-leak

* configure.ac: Append -Wno-analyzer-fd-leak to WARN_CFLAGS when
configuring with --enable-gcc-warnings, to work around
GCC bug 109847.

19 months agoWork around GCC bug 109579 in ccl.c
Paul Eggert [Mon, 15 May 2023 01:51:23 +0000 (18:51 -0700)]
Work around GCC bug 109579 in ccl.c

* src/ccl.c (POP_MAPPING_STACK):
Ignore -Wanalyzer-out-of-bounds.

19 months agoWork around GCC bug 109577
Paul Eggert [Mon, 15 May 2023 01:51:22 +0000 (18:51 -0700)]
Work around GCC bug 109577

* src/lisp.h (SAFE_ALLOCA_LISP_EXTRA):
Ignore -Wanalyzer-allocation-size, as it generates many
false alarms in GCC 13.

19 months agoPacify GCC 13 -fanalyzer in tty_menu_activate
Paul Eggert [Mon, 15 May 2023 01:51:22 +0000 (18:51 -0700)]
Pacify GCC 13 -fanalyzer in tty_menu_activate

* src/term.c (tty_menu_activate): Trivially reword comparison
to pacify gcc -fanalyzer with GCC 13.

19 months agoFix movemail fd leak
Paul Eggert [Mon, 15 May 2023 01:51:22 +0000 (18:51 -0700)]
Fix movemail fd leak

* lib-src/movemail.c (main) [!MAIL_USE_SYSTEM_LOCK]:
Fix file descriptor leak, found by GCC 13 -Wanalyzer-fd-leak.

19 months agoFix ebrowse -f buffer overflow
Paul Eggert [Mon, 15 May 2023 01:51:22 +0000 (18:51 -0700)]
Fix ebrowse -f buffer overflow

* lib-src/ebrowse.c (main): Fix buffer overflow when several -f
options are given.  Found by GCC 13 -Wanalyzer-allocation-size.

19 months agoAvoid duplicate configure-time codeset tests
Paul Eggert [Mon, 15 May 2023 01:51:22 +0000 (18:51 -0700)]
Avoid duplicate configure-time codeset tests

* admin/merge-gnulib: Copy m4/codeset.m4 too.  This is mostly for
documentation, as it’s now automatically copied by other modules.
* configure.ac (EMACS_PAPER_WIDTH): New macro.  This relies on
Gnulib, to avoid duplicate tests for HAVE_LANGINFO_CODESET.

19 months agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Mon, 15 May 2023 01:51:22 +0000 (18:51 -0700)]
Update from Gnulib by running admin/merge-gnulib

* lib/dirent-private.h, m4/codeset.m4, m4/locale-fr.m4, m4/musl.m4:
New files, from Gnulib.

19 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 15 May 2023 01:10:49 +0000 (09:10 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

19 months ago* lisp/net/net-utils.el (finger): Fix botched logic.
Mattias Engdegård [Sun, 14 May 2023 15:41:14 +0000 (17:41 +0200)]
* lisp/net/net-utils.el (finger): Fix botched logic.

19 months ago* lisp/w32-fns.el (w32--os-description): Fix minor logic error
Mattias Engdegård [Sun, 14 May 2023 09:17:15 +0000 (11:17 +0200)]
* lisp/w32-fns.el (w32--os-description): Fix minor logic error

19 months ago* lisp/net/tramp-gvfs.el (initialize): Ignore D-Bus errors.
Michael Albinus [Sun, 14 May 2023 11:16:36 +0000 (13:16 +0200)]
* lisp/net/tramp-gvfs.el (initialize): Ignore D-Bus errors.

19 months agoImplement document moving on Android
Po Lu [Sun, 14 May 2023 03:12:54 +0000 (11:12 +0800)]
Implement document moving on Android

* java/org/gnu/emacs/EmacsDocumentsProvider.java
(notifyChangeByName): New function.
(queryDocument1): Set FLAG_SUPPORTS_MOVE where necessary.
(moveDocument): Implement new function.

19 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 14 May 2023 00:30:51 +0000 (08:30 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

20 months agoFix regexp bugs
Mattias Engdegård [Sat, 13 May 2023 15:03:20 +0000 (17:03 +0200)]
Fix regexp bugs

* lisp/progmodes/idlwave.el (idlwave-make-tags):
* lisp/obsolete/mantemp.el (mantemp-insert-cxx-syntax):
Repair obviously over-escaped control characters.

20 months agoMake some module toggles more resilient in ERC
F. Jason Park [Mon, 8 May 2023 02:43:57 +0000 (19:43 -0700)]
Make some module toggles more resilient in ERC

* lisp/erc/erc-goodies.el (erc-scrolltobottom-mode,
erc-scrolltobottom-enable, erc-move-to-prompt-mode,
erc-move-to-prompt-enable): Guard setup procedure behind
`erc--updating-modules-p'.
* lisp/erc/erc-imenu.el (erc-imenu-mode, erc-imenu-enable,
erc-imenu-disable): Don't run setup when `erc--updating-modules-p' is
non-nil.  Also, don't restrict teardown to buffers of the same
process.
* lisp/erc/erc-match.el (erc-match-mode, erc-match-enable): Run
major-mode hook member immediately outside of `erc-update-modules' in
`erc-open'.
* lisp/erc/erc-spelling.el (erc-spelling-mode, erc-spelling-enable):
Only conditionally run setup immediately.
* lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable,
erc-stamp-disable): Run setup hook immediately.  Don't forget to
kill local vars in all ERC buffers during teardown.
* lisp/erc/erc.el (erc--updating-modules-p): New variable that global
modules can use to provide their `erc-mode-hook'-deferred code on
demand while shielding it from running during early ERC buffer
initialization.
(erc-open): Make `erc--updating-modules-p' non-nil while activating
global modules.  (Bug#60936)

20 months agoOptionally add spacing between ERC messages
F. Jason Park [Sun, 7 May 2023 14:28:56 +0000 (07:28 -0700)]
Optionally add spacing between ERC messages

* etc/ERC-NEWS: Mention option `erc-fill-line-spacing'.
* lisp/erc/erc-fill.el (erc-fill-line-spacing,
erc-fill-spaced-commands): Add options to allow for extra spacing
between messages.
(erc-fill--function): Internal var allowing modules to override user
option `erc-fill-function'.
(erc-fill): Add extra line-spacing on certain types of messages.
Prefer `erc-fill--function', when set, over `erc-fill-function'.
(erc-fill--make-module-dependency-msg,
erc-fill--wrap-ensure-dependencies): Rename former to latter and make
more useful.
(erc-fill-wrap-mode, erc-fill-wrap-enable, erc-fill-wrap-disable):
Refactor.
(erc-fill--wrap-fix): Remove unused function.
(erc-fill-wrap-nudge): Remove reference to nonexistent function in doc
string.
* test/lisp/erc/erc-fill-tests.el: (erc-fill-tests--graphic-dir): New
variable.
(erc-fill-tests--compare): Look in `erc-fill-tests--graphic-dir' for
graphical snapshots ignored by Git.
(erc-fill-line-spacing): New test.
* test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: New
file.  (Bug#60936)

20 months agoAdd helper for restoring local session vars in ERC
F. Jason Park [Mon, 8 May 2023 02:43:57 +0000 (19:43 -0700)]
Add helper for restoring local session vars in ERC

* lisp/erc/erc-common.el (erc--input-split): Suppress warning for
obsolete variable `erc-send-this' in init form.
* lisp/erc/erc-goodies.el (erc--keep-place-indicator-setup): Use macro
`erc--restore-initialize-priors' to preserve last session's indicator
position, if any.
(erc-keep-place-indicator-mode, erc-keep-place-indicator-enable): Use
convenience function to show missing-dependency notice.
* lisp/erc/erc-sasl.el (erc-sasl-auth-source-password-as-host): Merge
redundant `when' forms for clarity.
(erc-sasl--init): Remove unused function.
(erc-sasl-mode, erc-sasl-enable): Use helper to restore
`erc-sasl--options', essentially inlining the body of the now defunct
`erc-sasl--init'.
* lisp/erc/erc.el (erc--restore-initialize-priors): New macro to help
local modules and mode hooks prefer existing state over initializing
anew.
(erc--warn-once-before-connect): Add helper function to display
an "error notice" just after module setup.
(erc-accidental-paste-threshold-seconds) Improve doc string.
* test/lisp/erc/erc-goodies-tests.el
(erc-controls-highlight--examples, erc-controls-highlight--inverse,
erc-controls-highlight--motd, erc-keep-place-indicator-mode): Remove
feature check.  For the latter, also start fake process and shadow
`erc-connect-pre-hook'.
* test/lisp/erc/erc-tests.el (erc--restore-initialize-priors): New
test.  Also see test/lisp/erc/erc-scenarios-base-local-modules.el for
a more realistic exercising of this functionality.  (Bug#60936)

20 months ago; * lisp/vc/ediff-diff.el (ediff-auto-refine): Fix last change.
Eli Zaretskii [Sat, 13 May 2023 14:00:47 +0000 (17:00 +0300)]
; * lisp/vc/ediff-diff.el (ediff-auto-refine): Fix last change.

20 months agoAlways default ediff-auto-refine to 'on
Peter Oliver [Mon, 8 May 2023 10:24:53 +0000 (11:24 +0100)]
Always default ediff-auto-refine to 'on

* lisp/vc/ediff-diff.el (ediff-auto-refine): always default
to 'on.  (Bug#63318)

Copyright-paperwork-exempt: yes

20 months agoDon't mutate constants in tests
Mattias Engdegård [Sat, 13 May 2023 11:36:50 +0000 (13:36 +0200)]
Don't mutate constants in tests

* test/lisp/emacs-lisp/cl-macs-tests.el
(cl-macs-test--symbol-macrolet):
* test/lisp/emacs-lisp/cl-print-tests.el
(cl-print-tests-ellipsis-circular):
* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
(eieio-test-persist-interior-lists):
* test/lisp/textmodes/reftex-tests.el (reftex-all-used-citation-keys):
* test/src/xdisp-tests.el (xdisp-tests--minibuffer-resizing):
* test/src/fns-tests.el (test-vector-delete):
Mutate created objects, not constants.

* test/lisp/emacs-lisp/subr-x-tests.el
(subr-x-test-add-display-text-property): Mutate a created string, and
compare using `equal-including-properties` without which the test was
rather meaningless.

* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test16-directory-files): Don't mutate.

20 months agoUse `mutate-constant` as warning identifier
Mattias Engdegård [Sat, 13 May 2023 11:49:07 +0000 (13:49 +0200)]
Use `mutate-constant` as warning identifier

* etc/NEWS:
* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
* lisp/emacs-lisp/bytecomp.el (byte-compile-warnings)
(byte-compile-form):
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test--with-suppressed-warnings):
Use the new warning name `mutate-constant` instead of using the
somewhat overloaded `suspicious`.

20 months agoEglot: support window/showRequest (bug#62116)
Felicián Németh [Fri, 12 May 2023 00:50:05 +0000 (01:50 +0100)]
Eglot: support window/showRequest (bug#62116)

Co-authored-by: João Távora
* lisp/progmodes/eglot.el (eglot-client-capabilities): Advertise
window/showDocument.
(eglot-handle-request window/showDocument): New handler.

20 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 13 May 2023 10:36:25 +0000 (06:36 -0400)]
Merge from origin/emacs-29

7acae22f42f Fix auto-filling in Texinfo mode
4bda9627349 ; * admin/git-bisect-start: Update failing commits
dcf8c011028 Merge branch 'scratch/long-lines-cleanup' into 'emacs-29'
1e3a66df459 Add an assertion in, and a commentary for, 'get_nearby_bo...
f0f08eeb05c Fix the return type of 'labeled_restrictions_get_bound'
acf4763417e Fix mouse highlight with some fonts in Cairo builds
32b42b333ca ; * etc/NEWS: Fix wording in last change.
09d6070e56e ; Improve and update documentation of built-in package up...
ba2c76fa2bc Ensure that package menu respects 'package-install-upgrad...
6fa9332e7cd Ensure that EXTRA-DATA are always written when generating...
60d5a015d1f Update to Transient v0.4.0
b8bcd42cabc Revert "Don't have nntp-report signal an error"
ef1f4068f6f ; * lisp/wid-edit.el (widget-specify-insert): Fix debug s...
09bf4768360 Make c-emacs-features use the proper binding of parse-sex...
c9e2a5ec26c ; * lisp/obsolete/autoload.el (make-directory-autoloads):...
346f4ac3bf5 ; Fix example in ELisp manual
91fff05ae35 ; Fix wording in Emacs manual
2438fa2e6cc ; Fix minor documentation issue ion replace.el
93005cd9dc2 with-display-message: Workaround for bug#63253
6924c81a6d2 ; Don't use literal non-ASCII characters in Texinfo
f1675df3d0c Fido-mode: never shadow 'external' completion style
56d2949d44c ; * lisp/leim/quail/persian.el: Fix a typo in last commit.
d94ea9efca6 Avoid crashes in --without-all build trying to scale non-...
387ddc0ccc1 Improve instructions for dealing with Emacs crashes
e6b4784a37f Improved transliterations + improved bidi insertion suppo...
c1363a04bb2 Fix crash when creating a child frame in NS (bug#63107)
7d6855c9ab6 Fix outgoing mime type regression (Bug#62815)
e920dd2b6f9 define-minor-mode: sanitize mode function messages
910a7b30dfd Fix beginning/end-of-defun with tree-sitter
e205f68717e Fix indent for enums in csharp-mode
dfde902f3b9 ; Expand 'package-vc-install' documentation
71337843036 Teach c-ts-mode about the 'restrict' keyword
15e06260ae8 * lisp/x-dnd.el (x-dnd-after-move-frame): Skip dead frame...
a081b6625bd ; Updated Elispref-Manual: `nil' cannot be defun'ed
97b818a4fb9 Fix doc strings of 'mark-sexp' and 'mark-word'
6f910ad9322 ; * etc/EGLOT-NEWS: Fix misspellings.
9b775ddc057 ; * etc/EGLOT-NEWS: Fix wording of last change.
79a886ba368 (package-upgrade): Don't remove the package from 'package...
c0ab4e9ca93 Eglot: re-rename eglot-upgrade to eglot-upgrade-eglot
b4e90070f96 Fix arguments of xml.c functions as displayed in Help buf...
b1bda8228e5 More fixes for NetBSD/vax
a2d4cd06f45 Improve VHDL mode highlighting
2f3a514b6db Clarify documentation wrt floating point division by zero...
94e984e6700 Make loaddefs-generate slightly more tolerant
aba41d2c4bb ; Minor doc cleanups in go-ts-mode.el
b42ccb2e5c1 ; Minor grammar fix in treesit manual.
ab44c8a6f9d Fix order of rcirc-connect arguments
8eb6e33691d Fix rcirc messages printing in the wrong place
2901a3443c7 Prevent unnecessary modifications of 'package-vc-selected...
eaad302bd6f Rename eglot-update to eglot-upgrade
eaf25b9c6ae go-ts-mode: Use iota query only if supported (Bug#63086)
cc090294d77 (rng-complete-tag): Add the (ignored) argument to the :co...
21ec6c1d5cc Update to Transient v0.3.7-219-g3ded15b
8d5aa8df4ad Fix inserting selection data into Mozilla programs
57562c3fd0a Recognize defstruct slot names in various eieio functions
b93eb68cc30 Use 'calendar-buffer' instead of fixed string
e338a8ac41d Handle point not at EOB in minibuffer-choose-completion
fceaf230b06 Note that Emacs pauses when handling sentinel errors
46392c1623b Fix vertical-motion when tab-line is displayed in a window
0e52beeacea Update to Org 9.6.5-3-g2993f4
dd21003878d Prevent generating empty autoload files
2bcf11d0efe * lisp/org/org-macs.el (org--inhibit-version-check): Fix ...
ca43435816b Fix redisplay of mode line after its format changes from nil
610a7657e0a Fix c-ts-mode--emacs-c-range-query
7f94558b775 Improve documentation of warnings
5a3f0e2c558 ; Doc fix in c-ts-mode.el
21361d05635 Fix FOR_EACH_TAIL fontification (bug#62951)
d0df3404fde ; * etc/EGLOT-NEWS:  chsharp-le -> csharp-ls
c229e83c3ce ; * etc/EGLOT-NEWS (https): Elglot -> Eglot.
b4f2f499783 Fix documentation of libxml-parse-* functions
5dd784961d1 ; * src/treesit.c (syms_of_treesit): Fix error messages.
ddfa0d8da9a ; Remove some leftover text
212e30f6789 ; Fix byte-compilation warnings in c-ts-mode.el
1f2214dabd0 Skip over whitespace in annotation-top-cont check (bug#63...
7e136c51f6f Update zh-CN tutorial translation
d3ca0b3aa2e ; * lisp/progmodes/c-ts-mode.el: Fix comments and doc str...
c6f15c24862 ; Fix last change.
b9e06330f75 ; * etc/NEWS: Followup to bug#62720.
b33d25f5967 ; Minor improvements in doc strings of package-upgrade co...
c3a61870b94 Fix eglot.texi
a40f1816237 Fix two crashes upon startup
44ebd9cbd56 Eglot: explain how to update Eglot in manual (bug#62720)
941ef044f2e Eglot: fix edge case when deleting inlay hint overlays
a365984d9e1 package-upgrade[-all]: Expand docstrings to note the curr...
f965f35b33b Rename all functions called package-*-update-* to package...
31b58161bb5 Fix FOR_EACH_TAIL in c-ts-mode (bug#62951)
0cf6e0998ba * Makefile.in (distclean): Remove the 'native-lisp' direc...
933705d61e5 Improve greek-ibycus4 input method
c46e93b1f50 Explain ERC 5.5 regressions in new version 5.5.0.29.1
af43f0a2954 * doc/misc/erc.texi: Elaborate on upgrading via ELPA.
10948948c12 Improve outline-default-state docstring
b5ace2eed80 Document problems with /bin/sh on Solaris 10
7b2ad8f199e ; Add missing <<inserted by help-with-tutorial>> line to ...
524e161a536 Followup to addition of TUTORIAL.fa
76f50df1539 Add Farsi/Persian translation of the tutorial
8eacfaea6d8 Add Mongolian language environments
fe8efbb8f75 Document the 'end-session' event on MS-Windows
d80f959bede Update to Org 9.6.4-9-g8eb209
98c6cfcbe4a Don't support versioned grammar libraries on MS-Windows
8f71c1546df Accept versioned tree-sitter language grammar files
99add09d5e1 tab-bar-new-tab: inhibit side-window checks
087e8181947 * etc/NEWS: Fix outline level.  (Bug#63042)
d7f38558c4c ; Improve font selection for Traditional Mongolian
965c5e0231c Fix rendering of Traditional Mongolian script
9a0f10b5f88 Fix line-number-at-pos when POSITION is out of narrowing
4e0f4292aaf ; * etc/tutorials/TUTORIAL: Fix punctuation.
dec2ac0c657 Fix exiting Emacs after saving a tutorial
44145bf07e2 Add indentation style setting for c-ts-mode in .dir-local...
e7db6c59cc6 ; * .dir-locals.el (c-ts-mode): Add settings.
d041f01b02f ; Minor fix in Emacs Lisp Intro manual
3899acbb336 ; * src/fringe.c: Fix description of large circle.  (Bug#...
2b10e1827d3 sql: add missing postgresql types
9ac12592781 Fix display of menu-bar bindings of commands in *Help* bu...
ecdd3a9efac Improve Completion Example section in the Emacs manual
626e1ac62b2 Improve 'message-server-alist' docstring
327986936c3 Add index entry for fallback modes
1c4783c3300 ; * etc/NEWS: Copyedits and grammar fixes.
3d6f7553319 xref-search-program-alist: Fix searching larger file list...
1b8b2cf61bd Fix typo and inaccuracy in the ELisp Reference manual
df17682ebf1 ; Support 'dart-ts-mode' in Eglot
e0dc60e0780 ; Fix typos in gdb-mi.el
60560cc7adf Fix description of lexical environment's internals
1456adf4248 ; Eglot: fix a typo in a customization type
2f59595f5f4 ; * etc/NEWS: Grammar fixes.
596b780ab71 Update to Org 9.6.4-2-g0f6ae7
a0b04a22479 Documentation copyedits for 'package-install-upgrade-buil...
580d8278c5f Allow upgrading built-in packages with 'package-install'
329304c23fa ; * src/term.c (init_tty): Fix last change.  (Bug#62877)
200dbf7d302 Minor changes in c-ts-mode.el's support of DEFUNs
9686b015a0d Fix strike-through attribute support on TTY frames
39035fbfc5f Avoid crashes in 'describe-keymap' due to shadowing
b7023da6627 Make image-map bindings available on image links
d9e96c029bb * CONTRIBUTE: Fix a typo
3f71a2a0cf6 ; * lisp/progmodes/c-ts-mode.el (treesit-node-next-siblin...
adf9c956c28 Add to Eglot support for additional language-servers.
b3603b84bd9 Partial support for DEFUN in c-ts-mode (bug#62825)
14e809ddff1 Fix style and unwinding code in treesit.c
759cdf1e510 Catch signals produced by PRED in tree-sitter search func...
864a4dc2363 Fix compilation of w32.c with old MinGW system headers
a22eb9ae0f9 ruby-add-log-current-method: Reduce the use of 'nreverse'
17d803d0a75 Fix detection of WebP images by their signature
43290391ce2 ; Eglot: make version parseable by version-to-list
6e6e8b5c974 Add more documentation for the keys of `package-vc-select...
7972b76c2c7 ; vc-checkout: Wrap var lookup in 'bound-and-true-p'
e9fef1d70ff vc-checkout: Try to use the vc-dir's backend first
372e024accd ; Fix wallpaper-tests on XFCE
7055fd8e43e Improve documentation related to 'ispell-complete-word'
61fd017abde * configure.ac: Add -lbsd on Haiku.
05971c4d9a4 Add menu to 'c-ts-mode' and 'c++-ts-mode'
954e2d96a92 Update manual about `sort`
c62afb10cf0 Fix wallpaper-tests on MS-Windows
f2d212c6966 Fix a couple of eglot-tests
338b3718b6c Fix visiting RPM files
b4afee03193 Fix ff-quiet-mode doc
2445100d7d6 ; Improve documentation of 'match-buffers'
d4d0da96f0b ; Update make-tarball.txt for Emacs 29.
9b0bf694da4 ; Fix ldefs-boot.el.
0cb86a348c7 ; Update ChangeLog.4.
5e039d5a6e9 * lisp/ldefs-boot.el: Regenerate.
671abd0cc40 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
4bc678ec9f4 Bump Emacs version to 29.0.90
db8f207e52f Fix some cases of incomplete code's indentation [c/c++-ts...
589959fb09d project-search: Pipe the list of files through 'file-regu...
2b91567bf61 Update ChangeLog and AUTHORS for Emacs 29
d6af1f14982 ; doc/lispref/windows.texi: Fix @pxref paren.
57490fff6ec ; Backport: Eglot: fix misplaced parenthesis in last comm...
2a62273f3bf Backport: Eglot: no more tests based on Pylsp (bug#62694)
5ef7ff05736 ; Start a new ChangeLog.4 file.
11126c6d30a Fix 'C-h k' for "Paste from Kill Menu" in context menus
74ddfe811f9 ; * doc/misc/calc.texi (Rewrites Tutorial): Fix a typo (b...
08cda286c3f Improve the documentation of the XDS support
14d1c00e806 Allow reindentation of images inserted by 'mm-inline-image'
b63a9eda01c Fix "C-h k" and "C-h c" with Paste from Kill Menu
b36c21e27dc Change cursor color on NS port when it matches the face b...
96714c106b7 Improve documentation of image-related commands
6a2863ca016 Fix handling of sliced images
5be79fd05a5 ; * etc/NEWS: Announce 'cyrillic-mongolian' IM.
ca1a0fda98a ; Fix last change.
ce63462dbda Add cyrillic-mongolian input method
58801792706 ; Minor addition to the Emacs FAQ
88847dee125 Jsonrpc: don't bind inhibit-read-only to t so early
cb8c87a423a Allow active region when IM is used
305246d9726 Add emoji-zoom-reset
470d269ec1f Make emoji-zoom-{increase,decrease} set text properties c...
63d4a86f8d1 Fix transforming sliced images
5e1953a8f85 ; * etc/NEWS: Minor copyedits of entry for 'keymap-*' fun...
6b9f9df9454 ; Improve documentation of 'declare-function'
81d1f46d0fe ; Avoid compiler warning in eglot.el.
38cdfcb2128 ; Fix description of new 'keymap-*' functions
257090b8728 Adapt EMBA scripts.
90c07d3fdd2 Another terminology fix in ELisp reference manual
a832bc7090c Correct terminology in Elisp Reference Manual
db308233cb3 Comment out GNUSTEP jobs on EMBA (again)
8c1b1022439 ; * lisp/image.el (put-image): Doc fix.
eda88c63adf ; * doc/emacs/trouble.texi (Checklist): Minor grammar fix.
728bc09cf3c Fix regexp string escaping mistake in vhdl-mode.el (bug#6...
479626dbac9 Update to Org 9.6.3-2-gf2949d
5a1c9aace70 ; Add a bit more docstring to tsx-ts-mode (bug#62429)
86cf9fd932c Eglot: don't watch directories that don't exist
82d0b6c64ea ; * lisp/subr.el (use-dialog-box-p): Fix last change.
3619663f982 Preserve peer information for web page in eww-readable
cb8d6ab648f * lisp/subr.el (use-dialog-box-p): Fix conditions for GUI...
fb2c4409207 ; * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Add some n...
c0b9530862c Another final fix to last changes
0cc8d6826ad Three final fixes to last changes
89e337c3fc9 ; Make sure 'eshell-command' tests don't prompt the user
097c5ee8f55 Two further fixes to last changes
b39c3cd1125 ; * etc/NEWS: Fix typos.
dce08cf05cc Improve and fix last changes
89ac5ba11c7 Fix ModelSim error regexp in vhdl-mode
24ed9c7ae78 ; * doc/emacs/trouble.texi (Checklist): Minor copyedits (...
d1d39a0f09c Document enhancements in handling of echo-area messages
46209b2453b ; Fix last change
21a4ee209c1 Fix new Eshell tests on MS-Windows
e2ebf3995d0 ; Auto-commit of loaddefs files.
6419d78fa6f Fix using background commands in 'eshell-command'
3bdbb66efb9 ; CONTRIBUTE: Minor stylistic changes.
d0eb12e8d3c Fix typo in section 14.1 of Emacs Manual
b2fbec37f39 ; * etc/EGLOT-NEWS: Clarify scope of topmost section
131ec049db0 Eglot: unbreak eglot-extend-to-xref on w32
0622e1f29f6 Eglot: ensure server shutdown turns off eglot-inlay-hints...
59f66ea3027 ; * lisp/emacs-lisp/package-vc.el: Remove completed item ...
d23dc3dd7e3 ; * lisp/emacs-lisp/package-vc.el (package-vc): Fix manua...
4508a024e81 ; Clarify documentation of 'cursor' text property
d2e82817a3f Add two typescript-ts-mode faces (bug#62429)
10918fc9d24 Fix scrolling window when point moves up
9b32bc134c4 Improve documentation of 'defcustom's :set keyword
ab4273056e0 Comp fix calls to redefined primtives with op-bytecode (b...
c98929c7e18 ; Fix last change
a14c3f62a67 ; Fix last change
09fece5722f Fix duplicate defcustom in eww.el
2093e010dc1 Fix cursor motion in character-only terminals
e45bd10a3d9 Fix indentation regression in 'C-h l'
46fd10a7600 * doc/misc/tramp.texi (Remote shell setup): Clarify use o...
974e4f33333 Make get_medium_narrowing_begv/zv static
afc2c6c13cb Improve accuracy of cursor motion commands in long lines
7e26a5c774e Remove labeled restrictions before calling Fwiden
85ed1c9ca6b Code cleanup for long line optimizations

# Conflicts:
# etc/NEWS

20 months agoByte-compiler warning about mutation of constant values
Mattias Engdegård [Thu, 11 May 2023 17:24:51 +0000 (19:24 +0200)]
Byte-compiler warning about mutation of constant values

When we can easily detect mutation of constants (quoted lists, strings
and vectors), warn.  For example,

  (setcdr '(1 . 2) 3)
  (nreverse [1 2 3])
  (put-text-property 0 3 'face 'highlight "moo")

Such code can result in surprising behaviour and problems that
are difficult to debug.

* lisp/emacs-lisp/bytecomp.el (byte-compile-form, mutating-fns):
Add the warning and a list of functions to warn about.
* etc/NEWS: Announce.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test--with-suppressed-warnings): Add test cases.

20 months agoFix auto-filling in Texinfo mode
Eli Zaretskii [Sat, 13 May 2023 08:28:38 +0000 (11:28 +0300)]
Fix auto-filling in Texinfo mode

This fixes auto-filling in Texinfo buffers.  It was broken by the
fix to bug#49558, which made M-q fill over-long @noindent lines by
refraining from customizing 'paragraph-separate' in Texinfo mode.
The underlying problem here is that 'auto-fill-mode' doesn't call
mode-specific filling functions, but does its job by itself, and
depends on 'forward-paragraph' to find the beginning of the
paragraph as appropriate for calculation of 'fill-prefix', and a
different value of 'paragraph-separate' broke that.  As a side
effect, the change below also changes paragraph-movement commands
in Texinfo back to how they behaved prior to that bugfix, but I
don't see why the paragraph-movement behavior introduced by that
fix made more sense.  Try to move through a series of
@-directives, like a paragraph preceded by several @cindex
entries, and you will see the inconsistencies.  In any case, the
adverse effects of that fix on auto-filling is unacceptable.

* lisp/textmodes/texinfo.el (fill-paragraph-separate): New
variable.
(texinfo-mode): Set 'fill-paragraph-separate' to the default value
of 'paragraph-separate'.  Customize 'paragraph-separate' to the
Texinfo-specific value, as it was before commit dde591571abf.
(texinfo--fill-paragraph): Bind 'paragraph-separate' to the value
of 'fill-paragraph-separate', to keep 'M-q' happy.

20 months agoFix detection of tab bar windows on PGTK
Po Lu [Sat, 13 May 2023 02:27:57 +0000 (10:27 +0800)]
Fix detection of tab bar windows on PGTK

* src/dispnew.c (adjust_frame_glyphs_for_window_redisplay):
Adjust commentary.
* src/pgtkfns.c (pgtk_set_doc_edited): Remove unused function.
* src/pgtkterm.c (pgtk_clear_under_internal_border): Clean up X
related code.
* src/pgtkterm.h: Update prototypes.
* src/window.h: Define WIDNOW_TAB_BAR_P on PGTK.  (bug#63472)

20 months agoFix opaque region specification on no-toolkit builds
Po Lu [Sat, 13 May 2023 02:07:22 +0000 (10:07 +0800)]
Fix opaque region specification on no-toolkit builds

* src/xterm.c (handle_one_xevent): Always specify opaque region
on no-toolkit builds upon a configure event for any's window.

20 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 13 May 2023 00:53:57 +0000 (08:53 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

20 months ago; * admin/git-bisect-start: Update failing commits
Gregory Heytings [Fri, 12 May 2023 23:31:25 +0000 (23:31 +0000)]
; * admin/git-bisect-start: Update failing commits

20 months agoMerge branch 'scratch/long-lines-cleanup' into 'emacs-29'
Gregory Heytings [Fri, 12 May 2023 22:13:44 +0000 (00:13 +0200)]
Merge branch 'scratch/long-lines-cleanup' into 'emacs-29'

20 months agoAdd an assertion in, and a commentary for, 'get_nearby_bol_pos'
Gregory Heytings [Fri, 12 May 2023 21:56:31 +0000 (21:56 +0000)]
Add an assertion in, and a commentary for, 'get_nearby_bol_pos'

* src/xdisp.c:
(get_nearby_bol_pos): Document the function, and add an assertion
on its return value.

20 months agoFix the return type of 'labeled_restrictions_get_bound'
Gregory Heytings [Fri, 12 May 2023 21:56:28 +0000 (21:56 +0000)]
Fix the return type of 'labeled_restrictions_get_bound'

* src/editfns.c:
(labeled_restrictions_get_bound): Return a Lisp_Object instead of
a pointer to a struct Lisp_Marker.
(unwind_reset_outermost_restriction, reset_outermost_restrictions)
(Fwiden, Fnarrow_to_region): Adapt to the new return type.

20 months agoFix mouse highlight with some fonts in Cairo builds
Eli Zaretskii [Fri, 12 May 2023 19:19:35 +0000 (22:19 +0300)]
Fix mouse highlight with some fonts in Cairo builds

* src/ftcrfont.c (ftcrfont_draw): Don't set the
'background_filled_p' flag of the glyph string.  (Bug#63271)

20 months ago; * etc/NEWS: Fix wording in last change.
Eli Zaretskii [Fri, 12 May 2023 14:41:39 +0000 (17:41 +0300)]
; * etc/NEWS: Fix wording in last change.

20 months ago; Improve and update documentation of built-in package upgrades
Eli Zaretskii [Fri, 12 May 2023 12:33:06 +0000 (15:33 +0300)]
; Improve and update documentation of built-in package upgrades

* doc/emacs/package.texi (Package Statuses, Package Menu)
(Package Installation):
* etc/NEWS: Document the options and caveats of upgrading built-in
packages.

20 months agoFix files-tests broken by a recent change
Eli Zaretskii [Fri, 12 May 2023 11:07:36 +0000 (14:07 +0300)]
Fix files-tests broken by a recent change

* test/lisp/files-tests.el
(files-tests-safe-local-variable-directories): Fix this test:
since we are now using 'file-equal-p' the directory used as a safe
one should actually exist.  (Bug#61901)

20 months agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Fri, 12 May 2023 11:07:29 +0000 (14:07 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

20 months agoHandle case-insensitivity for safe-local-variable-directories.
Antero Mejr [Thu, 11 May 2023 19:22:49 +0000 (19:22 +0000)]
Handle case-insensitivity for safe-local-variable-directories.

* lisp/emacs-lisp/files.el (hack-local-variables-filter): Use
'file-equal-p' when checking 'safe-local-variable-directories'.
* doc/lispref/variables.texi (File Local Variables): Remove sentences
in 'safe-local-variable-directories' description about case-sensitivity
and trailing slash behaviors.
* doc/emacs/custom.texi (Safe File Variables): Remove sentence about
'safe-local-variable-directories' trailing slash behavior.
(Bug#61901)

20 months agoAdd trailing space to PROMPT in yes-or-no-p
Michael Albinus [Fri, 12 May 2023 10:45:32 +0000 (12:45 +0200)]
Add trailing space to PROMPT in yes-or-no-p

* doc/lispref/minibuf.texi (Yes-or-No Queries): Describe PROMPT
massage for y-or-n-p and yes-or-no-p.

* lisp/subr.el (y-or-n-p): Adapt docstring.

* src/fns.c (Fyes_or_no_p): Add trailing space to PROMPT if
needed.  (Bug#63399)

20 months agoCC Mode: Fontify function names after long stretches of macros.
Alan Mackenzie [Fri, 12 May 2023 10:33:15 +0000 (10:33 +0000)]
CC Mode: Fontify function names after long stretches of macros.

This fixes bug#63322.

* lisp/progmodes/cc-engine.el (c-find-decl-spots): When a
search back over syntactic whitespace hits its limit, set
cfd-match-pos and cfd-continue-pos to cfd-start-pos.

* lisp/progmodes/cc-mode.el (c-fl-decl-start): Remove an
unneeded (and harmful) condition on (point)'s position in the
main loop.

20 months agosoap-client.el: Bump version to 3.2.3
Thomas Fitzsimmons [Fri, 12 May 2023 09:10:50 +0000 (05:10 -0400)]
soap-client.el: Bump version to 3.2.3

* lisp/net/soap-client.el: Bump version to 3.2.3.

20 months agoEnsure that package menu respects 'package-install-upgrade-built-in'
Philip Kaludercic [Wed, 10 May 2023 06:58:34 +0000 (08:58 +0200)]
Ensure that package menu respects 'package-install-upgrade-built-in'

* lisp/emacs-lisp/package.el (package-menu--find-upgrades): Check if
built-in packages can be upgraded if
'package-install-upgrade-built-in' is non-nil.

20 months agoEnsure that EXTRA-DATA are always written when generating autoloads
Philip Kaludercic [Sun, 7 May 2023 19:37:01 +0000 (21:37 +0200)]
Ensure that EXTRA-DATA are always written when generating autoloads

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Handle
edge-case where no autoloads are found.  (Bug#63260)

20 months agoDon't set background_filled_p
Po Lu [Fri, 12 May 2023 03:19:11 +0000 (03:19 +0000)]
Don't set background_filled_p

* src/haikufont.c (haikufont_draw): Don't set
`background_filled_p' when filling the background.

20 months agoSimplify soap-decode-data-time use of encode-time
Paul Eggert [Fri, 12 May 2023 02:48:18 +0000 (19:48 -0700)]
Simplify soap-decode-data-time use of encode-time

* lisp/net/soap-client.el (soap-decode-date-time):
Call encode-time directly instead of via ‘apply’.
No need for the two nil args.

20 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Fri, 12 May 2023 02:43:52 +0000 (10:43 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

20 months agosoap-client.el: Bump version to 3.2.2
Thomas Fitzsimmons [Thu, 11 May 2023 21:28:30 +0000 (17:28 -0400)]
soap-client.el: Bump version to 3.2.2

* lisp/net/soap-client.el: Bump version to 3.2.2.

20 months agosoap-client.el: Revert dd0727e1ec1f, add compatibility comment
Thomas Fitzsimmons [Thu, 11 May 2023 10:01:32 +0000 (06:01 -0400)]
soap-client.el: Revert dd0727e1ec1f, add compatibility comment

* lisp/net/soap-client.el (soap-decode-date-time): Call
encode-time using apply, for GNU ELPA backward compatibility.
Remove some tabs.
(soap-type-is-array?): Reword docstring to accommodate checkdoc.

20 months ago; * lisp/files.el (Safe File Variables): Remove redundant text.
Eli Zaretskii [Thu, 11 May 2023 16:06:18 +0000 (19:06 +0300)]
; * lisp/files.el (Safe File Variables): Remove redundant text.

20 months agoUpdate to Transient v0.4.0
Jonas Bernoulli [Thu, 11 May 2023 15:47:30 +0000 (17:47 +0200)]
Update to Transient v0.4.0

Or strictly speaking v0.4.0-1-g428576a4.)

20 months ago; Fix last change
Eli Zaretskii [Thu, 11 May 2023 13:52:50 +0000 (16:52 +0300)]
; Fix last change

* lisp/files.el (safe-local-variable-directories):
* doc/lispref/variables.texi (File Local Variables):
* doc/emacs/custom.texi (Safe File Variables): Fix wording of
documentation in last change.  (Bug#61901)

20 months agoAdd safe-local-variable-directories variable.
Antero Mejr [Tue, 9 May 2023 20:51:14 +0000 (20:51 +0000)]
Add safe-local-variable-directories variable.

This variable can be set to automatically load risky dir-local
variables from a list of trusted directories.

* lisp/emacs-lisp/files.el (safe-local-variable-directories,
hack-local-variables-filter, hack-local-variables-confirm): New
variable and associated logic.
* test/lisp/files-tests.el
(files-tests-safe-local-variable-directories): Add tests for same.
* doc/emacs/custom.texi (Safe File Variables): Add documentation for
same.
* doc/lispref/variables.texi (File Local Variables): Add documentation
for same.
* etc/NEWS (Lisp Changes in Emacs 30.1): Add news entry for
same.  (Bug#61901)

20 months ago; Fix byte-compilation warnings in --without-x build
Eli Zaretskii [Thu, 11 May 2023 13:25:46 +0000 (16:25 +0300)]
; Fix byte-compilation warnings in --without-x build

* lisp/x-dnd.el (mwheel):
* lisp/term/haiku-win.el (mwheel): Require.
* lisp/progmodes/prog-mode.el (treesit-node-at):
* lisp/dynamic-setting.el (reconsider-frame-font): Declare.
(Bug#63415)

20 months agoRevert "Don't have nntp-report signal an error"
Eli Zaretskii [Thu, 11 May 2023 09:59:46 +0000 (12:59 +0300)]
Revert "Don't have nntp-report signal an error"

This reverts commit 032969e8c65ba1ccda8466f6c61f20e0c7293ebf.
The commit is being reverted because it caused bug#62845.

20 months ago; * lisp/wid-edit.el (widget-specify-insert): Fix debug spec. (Bug#63437)
Eli Zaretskii [Thu, 11 May 2023 09:54:34 +0000 (12:54 +0300)]
; * lisp/wid-edit.el (widget-specify-insert): Fix debug spec.  (Bug#63437)

20 months agoMore descriptive character escape syntax error messages (bug#63436)
Mattias Engdegård [Thu, 11 May 2023 09:49:06 +0000 (11:49 +0200)]
More descriptive character escape syntax error messages (bug#63436)

* src/lread.c (invalid_escape_syntax_error): Remove.
(read_char_escape): Make certain messages more specific
than just "Invalid escape character syntax" to help finding
and understanding the error.

20 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Thu, 11 May 2023 00:58:57 +0000 (08:58 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

20 months agoMerge branch 'emacs-29'
Stefan Monnier [Wed, 10 May 2023 15:18:43 +0000 (11:18 -0400)]
Merge branch 'emacs-29'

20 months agoMake c-emacs-features use the proper binding of parse-sexp-lookup-properties
Alan Mackenzie [Fri, 14 Apr 2023 10:33:03 +0000 (10:33 +0000)]
Make c-emacs-features use the proper binding of parse-sexp-lookup-properties

This is relevant for bug #58558, although it does not fix it.  Due to a wrong
ordering of with-current-buffer and a let form, the function overwrote the
global value of parse-sexp-lookup-properties and two other variables.

* lisp/progmodes/cc-defs.el (c-emacs-features): Change the nesting of
with-current-buffer and let so that the let bindings get used.

20 months ago; * lisp/obsolete/autoload.el (make-directory-autoloads): Doc fix.
Eli Zaretskii [Wed, 10 May 2023 13:51:17 +0000 (16:51 +0300)]
; * lisp/obsolete/autoload.el (make-directory-autoloads): Doc fix.

20 months ago; Fix example in ELisp manual
Eli Zaretskii [Wed, 10 May 2023 13:47:14 +0000 (16:47 +0300)]
; Fix example in ELisp manual

* doc/lispref/minibuf.texi (Yes-or-No Queries): Fix example.
(Bug#63399)

20 months ago; Fix wording in Emacs manual
Eli Zaretskii [Wed, 10 May 2023 13:36:14 +0000 (16:36 +0300)]
; Fix wording in Emacs manual

* doc/emacs/search.texi (Replacement and Lax Matches): Fix
wording.  (Bug#63398)

20 months ago; Fix minor documentation issue ion replace.el
Eli Zaretskii [Wed, 10 May 2023 13:01:28 +0000 (16:01 +0300)]
; Fix minor documentation issue ion replace.el

* lisp/replace.el (query-replace, query-replace-regexp): Doc fix.
(Bug#63397)

20 months agoClean up files created by arc-mode-tests
Mattias Engdegård [Wed, 10 May 2023 12:36:32 +0000 (14:36 +0200)]
Clean up files created by arc-mode-tests

* test/lisp/arc-mode-tests.el (arc-mode-test-zip-ensure-ext):
Remove created files at the end of the test.

20 months agowith-display-message: Workaround for bug#63253
Stefan Monnier [Wed, 10 May 2023 02:30:52 +0000 (22:30 -0400)]
with-display-message: Workaround for bug#63253

Running arbitrary ELisp code from an atimer is still dangerous,
at least because the regexp engine is not-reentrant, so let's patch up
the case we bumped into.  There are probably many other such holes :-(

* src/alloc.c (garbage_collection_inhibited): Make it non-static.

* src/xdisp.c (garbage_collection_inhibited): Declare it.
(set_message, clear_message): Use it as a proxy for "we're in
a dangerous context like within `probably_quit`".

20 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Wed, 10 May 2023 00:51:27 +0000 (08:51 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

20 months agotramp-ssh-controlmaster-options shouldn't return nil
Benson Chu [Tue, 9 May 2023 15:05:32 +0000 (17:05 +0200)]
tramp-ssh-controlmaster-options shouldn't return nil

* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
Should never return nil, but empty string.

Copyright-paperwork-exempt: yes

20 months ago; * test/src/treesit-tests.el: declare functions to silence warnings
Mattias Engdegård [Tue, 9 May 2023 11:37:26 +0000 (13:37 +0200)]
; * test/src/treesit-tests.el: declare functions to silence warnings

20 months ago; * lisp/treesit.el (treesit-node-top-level): cleaner and faster
Mattias Engdegård [Tue, 9 May 2023 11:28:20 +0000 (13:28 +0200)]
; * lisp/treesit.el (treesit-node-top-level): cleaner and faster

20 months agoSpeed up skip-chars-{forward|reverse} with char classes
Mattias Engdegård [Mon, 8 May 2023 16:38:33 +0000 (18:38 +0200)]
Speed up skip-chars-{forward|reverse} with char classes

* src/regex-emacs.h (re_wctype_t): Add RECC_NUM_CLASSES.
* src/syntax.c (skip_chars, in_classes): Use an array on the stack
instead of a Lisp list for storing character classes.
Don't check all classes if there is a match in one.
Remove useless handle_iso_classes argument.

20 months agoEglot: Replace eglot-execute-command with new eglot-execute
João Távora [Tue, 9 May 2023 09:34:52 +0000 (10:34 +0100)]
Eglot: Replace eglot-execute-command with new eglot-execute

Hopefully helps with https://github.com/joaotavora/eglot/discussions/1070 and
https://github.com/emacs-sideline/sideline/issues/5

* lisp/progmodes/eglot.el (eglot-execute-command): Obsolete.
(eglot-execute): New generic.
(eglot--read-execute-code-action): Use eglot-execute.

20 months ago; Don't use literal non-ASCII characters in Texinfo
Eli Zaretskii [Tue, 9 May 2023 09:06:32 +0000 (12:06 +0300)]
; Don't use literal non-ASCII characters in Texinfo

* doc/emacs/mule.texi (Input Methods): Don't use non-ASCII
characters in Texinfo sources, where Texinfo provides an ASCII command
to insert it.

20 months agoFido-mode: never shadow 'external' completion style
João Távora [Fri, 5 May 2023 18:44:11 +0000 (19:44 +0100)]
Fido-mode: never shadow 'external' completion style

As explained in the manual (20.7.2 Fast minibuffer selection)
'fido-mode' and 'fido-vertical-mode' give priority the "flex"
completion style.

In fact, bug#62015 was recently fixed in commit because that priority
was not taking place correctly and some completions were missed.

However, an exception must be made for the 'external' completion
style.

That style, made available by the lisp/external-completion.el library,
is specifically designed to work with backends that provide only a
partial view of all completions.  If we allow 'flex' to step in front
of 'external' it could mean that 'flex' matches something and
'external' isn't triggered as it probably should.

To reproduce have the rust-mode ELPA package and the rust-analyzer LSP
server handy.  Then:

  emacs -Q -f package-initialize main.rs

Where main.rs is this content:

  fn foo1()    {} fn foo2()    {} fn foo3() {}
  fn foobar1() {} fn foobar2() {} fn foobar3() {}

The rust-analyzer server can be quickly configured to return only 3
workspace symbols max, so evaluate:

  (setq-default eglot-workspace-configuration
                '(:rust-analyzer
                    (:workspace (:symbol (:search (:limit 3))))))

Now start M-x eglot and M-x fido-vertical-mode and type C-u M-. to
find an arbitrary symbol in this one-file project.

Type 'f'.  You will see the three foo's are listed, correctly.

Now type '3'.   You will only see "foo3".

But that's wrong because "foobar3" was available, if only the server
had been asked for it.  This commit fixes the situation and no
completions are lost.

As an unfortunate side-effect of this commit, the fontification of
completions-common-part on the matches is lost, but that is not worse
than missing out on completions and there are better ways to recover
the fontification anyway (in external-completion.el).

See also:
https://github.com/joaotavora/eglot/discussions/1219#discussioncomment-5818336

* lisp/icomplete.el (icomplete--fido-ccd): Do not touch entries
with 'external in them.

Do not merge to master.
Backport:

(cherry picked from commit 0e8d8a72284f6b3aaa1bbce73d41c7d84bbc4d3c)

20 months ago; * lisp/leim/quail/persian.el: Fix a typo in last commit.
Eli Zaretskii [Tue, 9 May 2023 05:34:43 +0000 (08:34 +0300)]
; * lisp/leim/quail/persian.el: Fix a typo in last commit.

20 months agoAvoid crashes in --without-all build trying to scale non-ASCII char
Eli Zaretskii [Tue, 9 May 2023 05:20:57 +0000 (08:20 +0300)]
Avoid crashes in --without-all build trying to scale non-ASCII char

* src/fontset.c (face_for_char): Display a non-ASCII character as
glyphless if the ASCII face has no fontset.  (Bug#63283)

20 months agoImprove instructions for dealing with Emacs crashes
Eli Zaretskii [Tue, 9 May 2023 04:52:04 +0000 (07:52 +0300)]
Improve instructions for dealing with Emacs crashes

* doc/emacs/trouble.texi (Crashing): Show the variant of the
'addr2line' command for MS-Windows.

20 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Tue, 9 May 2023 01:10:52 +0000 (09:10 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

20 months agoFix treesit-node-top-level (bug#63374)
Yuan Fu [Mon, 8 May 2023 19:58:19 +0000 (12:58 -0700)]
Fix treesit-node-top-level (bug#63374)

* lisp/treesit.el (treesit-node-top-level): Fix the use of
rx-to-string.

20 months agoImproved transliterations + improved bidi insertion support for Farsi
Mohsen Banan [Sun, 7 May 2023 17:11:55 +0000 (10:11 -0700)]
Improved transliterations + improved bidi insertion support for Farsi

* lisp/leim/quail/persian.el ("farsi-transliterate-banan"):
Improve and add transliterations.  (Bug#63361)

20 months agoExtend secrets.el by lock/unlock item
Philipp Uhl [Mon, 8 May 2023 11:33:42 +0000 (13:33 +0200)]
Extend secrets.el by lock/unlock item

* lisp/net/secrets.el (secrets-lock-item, secrets-unlock-item):
New defuns.
(secrets-get-secret): Use `secrets-unlock-item'.  (Bug#62952)

20 months agoFix crash when creating a child frame in NS (bug#63107)
Alan Third [Thu, 27 Apr 2023 19:08:23 +0000 (20:08 +0100)]
Fix crash when creating a child frame in NS (bug#63107)

* src/nsterm.m ([EmacsView initFrameFromEmacs:]): Have a second go at
creating the toolbar.
([EmacsWindow createToolbar:]): If there is already a toolbar or the
EmacsView's layer is not an EmacsLayer, then do nothing.

(cherry picked from commit 3adc1e7f37901235bda83ea65a90644b7b0a8dbf)

20 months agoUpdate Android port
Po Lu [Mon, 8 May 2023 00:34:27 +0000 (08:34 +0800)]
Update Android port

* java/Makefile.in (install_temp/assets/version): Fix generation
in out of tree builds.

20 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 8 May 2023 00:31:59 +0000 (08:31 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

20 months agoFix outgoing mime type regression (Bug#62815)
Andrew G Cohen [Sun, 30 Apr 2023 01:55:42 +0000 (09:55 +0800)]
Fix outgoing mime type regression (Bug#62815)

* lisp/net/mailcap.el (mailcap-mime-extensions,
mailcap-parse-mimetype-file, mailcap-mime-types): Don't regexp-quote
mimetypes in a context where they should be strings.
(mailcap--regexp-quote-type): Remove.

(cherry picked from commit 605414d018da47f99dec5019142f584b6eb174c8)

20 months agoFix crash when creating a child frame in NS (bug#63107)
Alan Third [Thu, 27 Apr 2023 19:08:23 +0000 (20:08 +0100)]
Fix crash when creating a child frame in NS (bug#63107)

* src/nsterm.m ([EmacsView initFrameFromEmacs:]): Have a second go at
creating the toolbar.
([EmacsWindow createToolbar:]): If there is already a toolbar or the
EmacsView's layer is not an EmacsLayer, then do nothing.

20 months agodefine-minor-mode: sanitize mode function messages
Nicholas Vollmer [Sun, 7 May 2023 04:06:18 +0000 (00:06 -0400)]
define-minor-mode: sanitize mode function messages

* emacs-lisp/easy-mmode.el (define-minor-mode): Ensure mode's
pretty name is not interprted as a message formatting string,
e.g., if the mode name contains a '%'.  (Bug#63343)

20 months agoFix beginning/end-of-defun with tree-sitter
Eli Zaretskii [Sun, 7 May 2023 06:13:10 +0000 (09:13 +0300)]
Fix beginning/end-of-defun with tree-sitter

* lisp/treesit.el (treesit-beginning-of-defun)
(treesit-end-of-defun): Push mark, as other beginning/end-of-defun
functions do.

20 months agoUpdate Android port
Po Lu [Sun, 7 May 2023 03:09:56 +0000 (11:09 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsInputConnection.java
(requestCursorUpdates):
* java/org/gnu/emacs/EmacsNative.java (requestCursorUpdates):
* java/org/gnu/emacs/EmacsService.java (updateCursorAnchorInfo):
New functions.
* src/android.c (struct android_emacs_service)
(android_init_emacs_service): Add new method.
(android_update_cursor_anchor_info): New function.
* src/androidfns.c (android_set_preeditarea): New function.
* src/androidgui.h (enum android_ime_operation): New operation
`REQUEST_CURSOR_UPDATES'.
(struct android_ime_event): Document new meaning of `length'.
* src/androidterm.c (android_request_cursor_updates): New
function.
(android_handle_ime_event): Handle new operations.
(handle_one_android_event, android_draw_window_cursor): Update
the preedit area if needed, like on X.
(requestCursorUpdates): New function.
* src/androidterm.h (struct android_output): New field
`need_cursor_updates'.

20 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 7 May 2023 00:33:48 +0000 (08:33 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android