* src/pgtkfns.c (pgtk_get_defaults_value, pgtk_set_defaults_value):
Factor out new function...
(pgtk_check_resource_key_length): ...to here. Avoid unnecessary work by
using strnlen.
* src/insdel.c (del_range_2): Update *_BYTE variables _after_
updating the corresponding character values. This follows what we
do everywhere else, and allows to put a watchpoint on, say, Z_BYTE
to check consistency between the character and byte counts. See
bug#72165 for one situation where it is useful.
* java/org/gnu/emacs/EmacsNoninteractive.java (main): Use the
old getPackageInfo calling convention if it exists rather than
on Android 2.3.3 and earlier.
* configure.ac: Go back to preferring -isystem to -I,
as headers like <gobject/gparam.h> still need it. This
reverts almost all of 2024-07-16T02:25:44!eggert@cs.ucla.edu,
except that the ‘nw="$nw -Wsystem-headers"’ line continues to
be removed as it is no longer needed due to recent Gnulib changes.
Problem reported by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2024-07/msg00756.html
* lisp/emacs-lisp/find-func.el (find-function--read-history-library):
New defvar.
(read-library-name): Use it in 'completing-read' calls.
(find-function--read-history-function,
find-function--read-history-variable, find-function--read-history-face):
New defvars.
(find-function-read): Use them in 'completing-read' calls.
The tailwindcss-language server issues patterns like this:
**/{tailwind,tailwind.config,tailwind.*.config,\
tailwind.config.*}.{js,cjs,ts,mjs}
Notive the nested "*" blob inside the the {} group.
Eglot used to reject them in 'workspace/didChangeWatchedFiles' requests,
responding with "Internal Error". This could confuse some servers. Now
I've done some changes to the state machine generation and it supports
them.
* lisp/progmodes/eglot.el (eglot--glob-parse): Relax parser.
(eglot--glob-fsm): New helper.
(eglot--glob-compile, eglot--glob-emit-{}): Use it.
* test/lisp/progmodes/eglot-tests.el (eglot-test-glob-test):
Uncomment some test cases.
Github-reference: https://github.com/joaotavora/eglot/issues/1403
* Makefile.in (install-eln), configure.ac (emacs_cv_find_delete):
* make-dist: Use ‘find ... -exec CMD {} +’ rather than ‘find
... -exec CMD {} \;’ so that if CMD fails, ‘find’ fails too.
* Makefile.in (install-eln): Port to ‘find’ implementations that
behave differently from GNU ‘find’ when given an argument
that contains ‘{}’ within a longer string. POSIX allows
this behavior.
* Makefile.in (BIN_DESTDIR, install-eln, uninstall):
* src/Makefile.in ($(pdmp)):
Be more consistent about quoting BIN_DESTDIR and ELN_DESTDIR,
avoiding double-quoting ''like this'' which does not work as
expected.
* configure.ac: Simplify configuration by using -I instead of
-isystem, as -isystem is no longer helpful for suppressing
diagnostics (and likely has not been helpful for years).
Do not suppress -Wsystem-headers, as Gnulib no longer enables it.
This does not change behavior; it merely refactors the code
for simplicity.
* src/timefns.c (enum timeform, struct form_time):
Remove. All uses removed.
(decode_time_components): Accept HZ instead of FORM.
This saves a switch. All uses changed.
(decode_lisp_time): Return union c_time instead of struct form_time.
All uses changed.
(lisp_time_cform): Remove. All uses changed to just use
decode_lisp_time.
(time_arith, Ftime_convert): Check (TICKS . HZ) form directly
using CONSP, instead of using the old struct form_time.
That's fast enough here.
* src/timefns.c (timespec_hz, trillion, ztrillion):
If !FASTER_TIMEFNS, do not optimize the calculations of
these variables. This gives better test coverage of the
slow-path code, when compiling with -DFASTER_TIMEFNS=0.
(NEED_ZTRILLION_INIT): Move up, to simplify #ifdefery.
Now defined or not defined, instead of being 1 or not defined,
since it is used only via #ifdef.
* src/print.c (print_bool_vector): Don’t assume SIZE fits
into ptrdiff_t, since it is an EMACS_INT. This
pacifies gcc -Wformat-overflow on i686 --with-wide-int.
* src/textconv.c (get_conversion_field): Set max value to
PTRDIFF_MAX, not MOST_POSITIVE_FIXNUM, since the variable is
ptrdiff_t, not EMACS_INT. Problem caught by gcc -Woverflow on a
32-bit platform with --with-wide-int.
* src/keyboard.c (timer_check_2): Refactor to make flow control
more obvious, to pacify -Wanalyzer-use-of-uninitialized-value with
gcc 14.1.1 20240607 (Red Hat 14.1.1-5) on i686.
The workaround for the Android 5.0 (API 21) strnlen bug
is now done in m4/strnlen.m4, taken from Gnulib, so
there is no need for Emacs to have its own workaround.
* configure.ac (ORIGINAL_AC_FUNC_STRNLEN, AC_FUNC_STRNLEN):
Remove.
a7b68c2564 Fix intermittent failure of dired-test-bug27243-02
fc25b4d837 * etc/TODO: Refer to Bug#72127 for Magit assignments.
17c62c1242 Rename treesitter test
68b7806c31 Support passing signals like 'SIGCODE' to 'tramp-signal-p...
510ca5e84b Merge branch 'emacs-30' of git.sv.gnu.org:/srv/git/emacs ...
fe28ba5d55 ; Replace quotes with @code{...} in texinfo files
ecc8516d9c ; Replace (non-)nil with (non-)@code{nil} in texinfo files
3407e27499 Don't save to history from 'eshell-command' when aborting
Previously, project-kill-buffers always called (project-current t). A
Lisp program could change what project project-kill-buffers operated
on by binding project-current-directory-override. However, in some
edge cases (for example, if the project was deleted between looking it
up and calling project-kill-buffers) this might fail to detect a
project, and so (project-current t) would prompt the user.
To avoid this, accept the project to kill buffers for as an argument.
* lisp/progmodes/project.el (project-kill-buffers): Take project as an
optional argument (bug#72019).
* test/lisp/dired-tests.el (dired-test-bug27243-02): Exclude free disk
space from dired listing in this test, in case it changes while it's
running and confuses the result. (Bug#72120)
POSIX specifies that "kill" should take signal names without the "SIG"
prefix.
* lisp/net/tramp.el (tramp-signal-process): Strip the "SIG" prefix when
present.