]> git.eshelyaron.com Git - emacs.git/log
emacs.git
19 months agoImprove check for ANSI control escape sequences in Tramp
Michael Albinus [Tue, 23 May 2023 13:32:20 +0000 (15:32 +0200)]
Improve check for ANSI control escape sequences in Tramp

* lisp/net/tramp-sh.el (tramp-barf-if-no-shell-prompt):
Remove `ansi-color-control-seq-regexp'.

* lisp/net/tramp.el (tramp-terminal-type): Fix docstring.
(tramp-process-one-action): Delete ANSI control escape sequences
in buffer.  (Bug#63539)

19 months agoStop adding the package directory to the load path
Robert Pluim [Tue, 23 May 2023 13:01:11 +0000 (15:01 +0200)]
Stop adding the package directory to the load path

The generated autoloads files for packages have been updating the
load-path for the last decade.

* lisp/emacs-lisp/package.el (package-activate-1): Don't update
load-path with package directory.

19 months agoUse faster option for running vc-hg status (Bug#63470)
Spencer Baugh [Fri, 12 May 2023 19:28:06 +0000 (15:28 -0400)]
Use faster option for running vc-hg status (Bug#63470)

In modern Mercurial, removing the "re:" "-I" "." options provides a
10x-20x speedup because it allows the Rust implementation of "hg
status" to be used.

* lisp/vc/vc-hg.el (vc-hg--program-version): Add.
(vc-hg-dir-status-files): Use --config commands.status.relative=1 to
make paths relative when available.

19 months agoFix syntax bugs involving escaped newlines in comments
Alan Mackenzie [Mon, 22 May 2023 16:09:07 +0000 (16:09 +0000)]
Fix syntax bugs involving escaped newlines in comments

This fixes bug#63535

* src/syntax.c (forw_comment): take the initial syntax from the
argument PREV_SYNTAX rather than checking the buffer position
for a backslash.  Update the state at each character scanned.
(scan_sexps_forward): When the end position is escaped after a
call to forw_comment, return this status to the caller.

19 months agoAttempt to speed up filenotify-tests
Mattias Engdegård [Mon, 22 May 2023 14:27:00 +0000 (16:27 +0200)]
Attempt to speed up filenotify-tests

* test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
Run with a lower `auto-revert-interval` (1 s) and adjust the
a timeout value.  This should lower the time for this particular
test from 25 to below 10 s.

19 months agoSupport existing sshfs and rclone mount points in Tramp
Michael Albinus [Mon, 22 May 2023 14:08:23 +0000 (16:08 +0200)]
Support existing sshfs and rclone mount points in Tramp

* lisp/net/tramp-fuse.el (tramp-fuse-mount-point, tramp-fuse-mounted-p):
Support existing mount points.

19 months agoMark failing filenotify test as :unstable
Michael Albinus [Mon, 22 May 2023 10:56:45 +0000 (12:56 +0200)]
Mark failing filenotify test as :unstable

* test/lisp/filenotify-tests.el (file-notify-test04-autorevert-remote):
Tag as :unstable.

19 months agoPlug various leaks and fix input method initialization
Po Lu [Mon, 22 May 2023 03:52:33 +0000 (11:52 +0800)]
Plug various leaks and fix input method initialization

* src/image.c (free_bitmap_record): Free bm->name correctly even
if the display connection has been closed.
* src/xfns.c (x_window): Use dpyinfo-specific `use_xim' flag.
* src/xterm.c (use_xim): Remove global variable.
(xim_destroy_callback): Free `xim_styles' if present, and set it
to NULL to be on the safe side.
(xim_open_dpy): Consult dpyinfo->use_xim instead.  Don't leak
`xim_styles' if an IM was previously opened.
(xim_initialize): Use dpyinfo-specific `use_xim' flag.
(xim_close_dpy): Check if `dpyinfo->xim_callback_data' is set
before unregistering the instantiation callback.
(x_term_init): Determine whether or not to use XIM for each
display opened, instead of using the resources of the last
display opened to toggle a global flag.
(x_delete_terminal): Always call `image_destroy_all_bitmaps' and
`xim_close_dpy'.  Free storage used to hold bitmap records.
* src/xterm.h (struct x_display_info): New field `use_xim'.

19 months agoFix custom type of erc-autojoin-channels-alist
F. Jason Park [Fri, 19 May 2023 06:47:27 +0000 (23:47 -0700)]
Fix custom type of erc-autojoin-channels-alist

* lisp/erc/erc-join.el (erc-autojoin-channels-alist): In ERC 5.4, the
type of this option changed to accept symbols signifying IRC network
names.  However, the option's definition was not updated to reflect
that.  See commit 9bb8d90cddf "Allow irc network symbols in
erc-autojoin-channels-alist".

19 months ago; Silence byte compiler in erc-netsplit-JOIN
F. Jason Park [Fri, 19 May 2023 06:47:27 +0000 (23:47 -0700)]
; Silence byte compiler in erc-netsplit-JOIN

* etc/ERC-NEWS: Partially revert edit from c9f1ad2a870 "Revive option
erc-query-on-unjoined-chan-privmsg".
* lisp/erc/erc-netsplit.el (erc-netsplit-JOIN): Silence byte compiler
warning re ignored return value from `delete' when removing nicks.
Could probably suppress rather than reconstitute since the CAR of an
`erc-netsplit-list' entry originates from the trailing "reason" param
of the instigating "QUIT" command and should look something like
"irc.example.org chat.example.org", which cannot be confused for a
nickname.
* test/lisp/erc/resources/erc-scenarios-common.el: Fix wording in
Commentary.

19 months agoNew Rmail commands for reading mailing-lists
Eli Zaretskii [Sun, 21 May 2023 10:57:14 +0000 (13:57 +0300)]
New Rmail commands for reading mailing-lists

* lisp/mail/rmail.el (rmail--mailing-list-message): New internal
function.
(rmail-mailing-list-help, rmail-mailing-list-post)
(rmail-mailing-list-unsubscribe, rmail-mailing-list-archive): New
commands.
(rmail-mode-map): Add menu items for the new commands.

* etc/NEWS: Announce the new Rmail commands.

19 months agoDeclare more mutating functions
Mattias Engdegård [Sat, 20 May 2023 18:34:55 +0000 (20:34 +0200)]
Declare more mutating functions

* lisp/emacs-lisp/bytecomp.el (mutating-fns):
Add assoc-delete-all, assq-delete-all and rassq-delete-all.
* lisp/emacs-lisp/shortdoc.el (alist, list):
Don't mutate constants in examples illustrating use of
assoc-delete-all, assq-delete-all and rassq-delete-all.

19 months agoDeclare more functions as having important-return-value
Mattias Engdegård [Sat, 20 May 2023 16:24:53 +0000 (18:24 +0200)]
Declare more functions as having important-return-value

* lisp/subr.el (assoc-delete-all, assq-delete-all, rassq-delete-all)
(alist-get): Declare as important-return-value.
* lisp/emacs-lisp/bytecomp.el (important-return-value-fns):
Add `assoc-string`.

19 months agoMinor optimisation of string-trim-left and string-trim-right
Mattias Engdegård [Sat, 20 May 2023 10:06:46 +0000 (12:06 +0200)]
Minor optimisation of string-trim-left and string-trim-right

* lisp/subr.el (string-trim-left, string-trim-right):
Use a constant string when no REGEXP argument is given.

19 months agoFix async invocations in Dired with 'fish' shell
Eli Zaretskii [Sat, 20 May 2023 14:26:52 +0000 (17:26 +0300)]
Fix async invocations in Dired with 'fish' shell

* lisp/dired-aux.el (dired-shell-stuff-it): Separate '&' and ';'
by blanks, for the sake of shells such as 'fish'.  Suggested by
Lycomedes 1814 <lycomedes1814@yandex.com>.

19 months agoImprove handling of ANSI control sequences in Tramp
Michael Albinus [Sat, 20 May 2023 10:13:09 +0000 (12:13 +0200)]
Improve handling of ANSI control sequences in Tramp

* lisp/net/tramp-compat.el (ansi-color): Require.

* lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp)
(tramp-device-escape-sequence-regexp): Delete.
(tramp-sh-handle-insert-directory, tramp-barf-if-no-shell-prompt)
(tramp-wait-for-output): Use `ansi-color-control-seq-regexp'.

* lisp/net/tramp.el (tramp-shell-prompt-pattern): Remove escape
characters.
(tramp-process-one-action, tramp-convert-file-attributes):
Use `ansi-color-control-seq-regexp'.  (Bug#63539)

* test/lisp/net/tramp-tests.el (tramp-display-escape-sequence-regexp):
Dont't declare.
(tramp-test28-process-file, tramp-test32-shell-command):
Use `ansi-color-control-seq-regexp'.
(tramp-test45-asynchronous-requests): Adapt test.

19 months agoUse `delq` return value (bug#61730)
Mattias Engdegård [Thu, 18 May 2023 15:33:15 +0000 (17:33 +0200)]
Use `delq` return value (bug#61730)

* lisp/calc/calc-graph.el (calc-graph-compute-2d):
* lisp/calendar/appt.el (appt-activate):
* lisp/progmodes/cc-styles.el (c-make-styles-buffer-local):
Make use of what `delq` returns, to stave off possible mistakes or at
least make clear that there isn't any.

19 months agoImproved copy-tree documentation and test (bug#63509)
Mattias Engdegård [Fri, 19 May 2023 10:32:28 +0000 (12:32 +0200)]
Improved copy-tree documentation and test (bug#63509)

* etc/NEWS: Move entry since it's an incompatible change.
* lisp/emacs-lisp/shortdoc.el (vector): Make the example relevant.
* lisp/subr.el (copy-tree): Rename second argument,
since 'vector-like' is a term with a specific meaning in Emacs
but not the one intended here.
* doc/lispref/lists.texi (Building Lists): Rename second argument,
and make it clear that the input must be acyclic.
* doc/lispref/records.texi (Record Functions):
Be more precise: `copy-sequence` is used to copy records,
`copy-tree` copies trees made of records etc.
* test/lisp/subr-tests.el (subr--copy-tree): Extend and strengthen the
test considerably, using the print-circle trick to detect structure
sharing precisely.

19 months agoImplement treesit-forward-sexp correctly (bug#63487)
Yuan Fu [Fri, 19 May 2023 07:15:21 +0000 (00:15 -0700)]
Implement treesit-forward-sexp correctly (bug#63487)

* lisp/treesit.el (treesit-forward-sexp): Signal scan-error when we
can't move across sexps further.

19 months agoMinor fixes of last change
Eli Zaretskii [Fri, 19 May 2023 06:05:45 +0000 (09:05 +0300)]
Minor fixes of last change

* etc/NEWS:
* doc/lispref/records.texi (Record Functions): Improve wording.
(Bug#63509)

19 months agoMake 'copy-tree' work with records
Joseph Turner [Mon, 15 May 2023 04:02:15 +0000 (21:02 -0700)]
Make 'copy-tree' work with records

* doc/lispref/lists.texi (Building Cons Cells and Lists): Document
new behavior of 'copy-tree'.
* doc/lispref/records.texi (Record Functions): Cross-reference to
lists.texi.
* etc/NEWS: Mention change.  (Bug#63509)
* lisp/emacs-lisp/shortdoc.el: Add 'copy-tree' example to vector
group.
* lisp/subr.el (copy-tree): Recurse into records as well as
vectors when optional second argument is non-nil. Rename second
argument from VECP to VECTOR-LIKE-P.
* test/lisp/subr-tests.el: Test new behavior.

19 months agoTry declaring `delq` and `delete` important-return-value (bug#61730)
Mattias Engdegård [Thu, 18 May 2023 15:22:41 +0000 (17:22 +0200)]
Try declaring `delq` and `delete` important-return-value (bug#61730)

* lisp/emacs-lisp/bytecomp.el (important-return-value-fns):
Add (uncomment) `delq` and `delete`.

19 months agoSimplify python.el completion-predicate
Basil L. Contovounesios [Wed, 17 May 2023 12:53:09 +0000 (13:53 +0100)]
Simplify python.el completion-predicate

* lisp/progmodes/python.el:
(python-skeleton-define): Use command-modes as a shorthand for
completion-predicate (bug#63552).
(python--completion-predicate, python-shell--completion-predicate):
Remove accordingly; no longer used.
(python-define-auxiliary-skeleton): Prefer function-put over put.

19 months agoMerge from origin/emacs-29
Eli Zaretskii [Thu, 18 May 2023 11:49:49 +0000 (07:49 -0400)]
Merge from origin/emacs-29

f8d9e40d2c1 Attempt to fix redisplay problems on macOS
4daa6f70497 ; * lisp/simple.el (async-shell-command): Add commentary ...
dc1a437d460 Clarify misleading comment in isearch.el
af3b0dc53ff Improve documentation of package-menu commands
d879847cd4d Fix M-x completion-predicate under python-ts-mode
1e57b2b4c79 * Account for `byte-compile-warnings' during native compi...
b5bfd808c6b Avoid duplicate VC packages in 'package-selected-packages'
c18f9f155f6 * lisp/tab-bar.el (tab-bar-new-tab-to): Set 'window-side'...
33485fe8f74 ; Better warning message when loading tree-sitter fails
95a724abaac Update to Org 9.6.6
c665ca79ff4 ; * admin/make-tarball.txt: Minor copyedits.
3aef46e466f Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
229af8e4b31 ; * lisp/progmodes/csharp-mode.el (csharp-ts-mode--defun-...

19 months ago; Merge from origin/emacs-29
Eli Zaretskii [Thu, 18 May 2023 11:49:49 +0000 (07:49 -0400)]
; Merge from origin/emacs-29

The following commits were skipped:

88ca37b8589 ; Regenerate files for emacs-29.0.91
4627ede36b1 ; * lisp/ldefs-boot.el: Regenerate for emacs-29.0.91.
c90d47619e6 Bump Emacs version for next pretest

19 months agoMerge from origin/emacs-29
Eli Zaretskii [Thu, 18 May 2023 11:49:49 +0000 (07:49 -0400)]
Merge from origin/emacs-29

229af8e4b31 ; * lisp/progmodes/csharp-mode.el (csharp-ts-mode--defun-...
ce7d18cbc07 ; Minor fixes in ELisp manual
5c8864fab4f ; * lisp/simple.el (async-shell-command): Doc fix.  (Bug#...
b96dc472bcb Ignore current-prefix-arg in async-shell-command
1e6a7594361 Fix building of VC package manuals with relative includes
61659f36c88 Another fix for VHDL mode highlighting

19 months agoAttempt to fix redisplay problems on macOS
Aaron Jensen [Thu, 18 May 2023 11:20:18 +0000 (14:20 +0300)]
Attempt to fix redisplay problems on macOS

* src/nsterm.m (ns_scroll_run): Attempt to fix redisplay
artifacts.  (Bug#63187)

19 months ago; * lisp/simple.el (async-shell-command): Add commentary about 3rd arg.
Eli Zaretskii [Thu, 18 May 2023 11:03:10 +0000 (14:03 +0300)]
; * lisp/simple.el (async-shell-command): Add commentary about 3rd arg.

19 months agoClarify misleading comment in isearch.el
Jens Schmidt [Tue, 16 May 2023 21:31:19 +0000 (23:31 +0200)]
Clarify misleading comment in isearch.el

Clarify a misleading comment in isearch.el as to whether frame events
should exit an isearch or not (Bug#62032, Bug#41338 for background
information).
* lisp/isearch.el (isearch-mode-map): Replace the misleading comment.
(Bug#62032)

Copyright-paperwork-exempt: yes

19 months ago* lisp/erc/erc-fill.el (erc-fill-spaced-commands): Fix typing errors
Mattias Engdegård [Thu, 18 May 2023 07:49:53 +0000 (09:49 +0200)]
* lisp/erc/erc-fill.el (erc-fill-spaced-commands): Fix typing errors

The type (set integer symbol) matches a list of at most one integer
and one symbol, not multiple distinct symbols.

19 months agoImprove documentation of package-menu commands
Eli Zaretskii [Thu, 18 May 2023 06:41:59 +0000 (09:41 +0300)]
Improve documentation of package-menu commands

* doc/emacs/package.texi (Package Menu): Document that some
package-menu filters accept lists of values interactively.

* lisp/emacs-lisp/package.el (package-menu-execute)
(package-menu-hide-package, package-menu-describe-package)
(package-menu-mark-delete, package-menu-mark-install)
(package-menu-mark-unmark, package-menu-backup-unmark)
(package-menu-quick-help, package-menu-get-status)
(package-menu--find-upgrades, package-menu-mark-upgrades)
(package-menu-filter-by-archive)
(package-menu-filter-by-description)
(package-menu-filter-by-keyword)
(package-menu-filter-by-name-or-description)
(package-menu-filter-by-name, package-menu-filter-by-status)
(package-menu-filter-by-version, package-menu-filter-marked)
(package-menu-describe-package): Doc fixes.

19 months ago; * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Doc fix.
F. Jason Park [Wed, 17 May 2023 12:27:13 +0000 (05:27 -0700)]
; * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Doc fix.

19 months agoPrefer C23 ckd_* to Gnulib *_WRAPV macros
Paul Eggert [Wed, 17 May 2023 22:36:54 +0000 (15:36 -0700)]
Prefer C23 ckd_* to Gnulib *_WRAPV macros

C23 has added ckd_add etc. macros with functionality equivalent to
the older Gnulib INT_ADD_WRAPV macros, so switch to the
more-standard names.
* admin/merge-gnulib (GNULIB_MODULES): Add stdckdint.
This merely makes the dependency explicit, as we were already
using this Gnulib module indirectly.
* lib-src/etags.c, src/lisp.h: Include stdckdint.h.
* lib-src/etags.c (xnmalloc, xnrealloc):
* src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string)
(mark_memory):
* src/bignum.c (emacs_mpz_pow_ui):
* src/buffer.c (record_overlay_string, overlay_strings):
* src/bytecode.c (exec_byte_code):
* src/casefiddle.c (do_casify_multibyte_string):
* src/ccl.c (ccl_driver, Fccl_execute_on_string):
* src/character.c (char_width, c_string_width)
(lisp_string_width, count_size_as_multibyte)
(string_escape_byte8):
* src/cmds.c (internal_self_insert):
* src/coding.c (coding_alloc_by_realloc, produce_chars):
* src/data.c (arith_driver):
* src/dispnew.c (realloc_glyph_pool, init_display_interactive):
* src/doprnt.c (parse_format_integer):
* src/editfns.c (Freplace_buffer_contents, str2num)
(styled_format):
* src/emacs-module.c (module_global_reference_p)
(module_make_global_ref, module_funcall):
* src/eval.c (max_ensure_room):
* src/fileio.c (blocks_to_bytes):
* src/fns.c (Ffillarray):
* src/font.c (font_intern_prop):
* src/frame.c (check_frame_pixels):
* src/gnutls.c (gnutls_hex_string, gnutls_symmetric_aead):
* src/gtkutil.c (get_utf8_string):
* src/haikuterm.c (haiku_term_init):
* src/image.c (xbm_scan, image_to_emacs_colors)
(image_detect_edges, png_load_body):
* src/keyboard.c (Frecursion_depth):
* src/keymap.c (Flookup_key, Fkey_description):
* src/lisp.h (modiff_incr, SAFE_ALLOCA_LISP_EXTRA):
* src/lread.c (read_bool_vector):
* src/pgtkterm.c (pgtk_term_init):
* src/regex-emacs.c (regex_compile):
* src/term.c (encode_terminal_code):
* src/termcap.c (tputs):
* src/textconv.c (textconv_query):
* src/timefns.c (timespec_ticks, lisp_time_hz_ticks)
(Fdecode_time, check_tm_member):
* src/tparam.c (tparam1):
* src/w32term.c (w32_initialize_display_info):
* src/xdisp.c (fill_column_indicator_column, decode_mode_spec):
* src/xselect.c (selection_data_size, x_property_data_to_lisp):
* src/xsmfns.c (smc_save_yourself_CB):
* src/xterm.c (xm_setup_dnd_targets, x_sync_get_monotonic_time)
(x_sync_current_monotonic_time, x_sync_note_frame_times)
(x_display_set_last_user_time, x_term_init):
Prefer the C23 stdckdint macros to their
Gnulib intprops.h counterparts, since C23 is standard.

19 months agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Wed, 17 May 2023 22:07:38 +0000 (15:07 -0700)]
Update from Gnulib by running admin/merge-gnulib

19 months agoPort modiff changes to GCC 4.8.5
Paul Eggert [Wed, 17 May 2023 17:53:26 +0000 (10:53 -0700)]
Port modiff changes to GCC 4.8.5

Problem reported by Spencer Baugh.
* src/lisp.h (elogb): Now simply a function on unsigned long long int.
This avoids problems porting to GCC 4.8.5 20150623 (Red Hat 4.8.5-44).
There may be a minor runtime cost on 32-bit platforms but it’s
not worth worrying about.

19 months agoFix M-x completion-predicate under python-ts-mode
Basil L. Contovounesios [Wed, 17 May 2023 12:48:09 +0000 (13:48 +0100)]
Fix M-x completion-predicate under python-ts-mode

* lisp/progmodes/python.el (python--completion-predicate)
(python-shell--completion-predicate): Filter M-x completion based on
python-base-mode instead of python-mode.  This allows for
python-ts-mode as well (bug#63552).

19 months ago* Fix missing `comp-files-queue' update (bug#63415).
Andrea Corallo [Wed, 17 May 2023 13:28:46 +0000 (15:28 +0200)]
* Fix missing `comp-files-queue' update (bug#63415).

* lisp/emacs-lisp/comp.el (native--compile-async): Update
`comp-files-queue' for real.

19 months ago* Account for `byte-compile-warnings' during native compilation (bug#63302).
Andrea Corallo [Wed, 10 May 2023 11:50:51 +0000 (13:50 +0200)]
* Account for `byte-compile-warnings' during native compilation (bug#63302).

* lisp/emacs-lisp/comp.el (comp-final, comp-run-async-workers):
Forward `byte-compile-warnings' to child processes.

19 months ago; * ChangeLog.4: Fix gitmerge snafu.
Eli Zaretskii [Wed, 17 May 2023 11:23:53 +0000 (14:23 +0300)]
; * ChangeLog.4: Fix gitmerge snafu.

19 months agoEUDC: Fix eudc-ldap-no-wildcard-attributes docstring
Thomas Fitzsimmons [Wed, 17 May 2023 10:59:52 +0000 (06:59 -0400)]
EUDC: Fix eudc-ldap-no-wildcard-attributes docstring

* lisp/net/eudc-vars.el (eudc-ldap-no-wildcard-attributes): Fix
docstring.  (Bug#62721)

19 months agoMark proced-refine-with-update-test :unstable (bug#63550)
Mattias Engdegård [Wed, 17 May 2023 09:31:04 +0000 (11:31 +0200)]
Mark proced-refine-with-update-test :unstable (bug#63550)

* test/lisp/proced-tests.el (proced-refine-with-update-test):
This test seems racy and often fails randomly in parallel
`make check`.

19 months agoEliminate some mutation of program constants
Mattias Engdegård [Wed, 17 May 2023 08:56:44 +0000 (10:56 +0200)]
Eliminate some mutation of program constants

* lisp/foldout.el:
* lisp/gnus/mml2015.el (mml2015-epg-key-image-to-string):
* lisp/international/ja-dic-cnv.el (skkdic-set-postfix)
(skkdic-set-prefix):
* lisp/international/quail.el (quail-insert-kbd-layout):
* lisp/mail/rmail.el (rmail-set-attribute-1):
* lisp/net/tramp.el (tramp-handle-memory-info):
* lisp/org/org-macs.el (org-replace-escapes):
Work on newly created objects, or use non-destructive operations.

19 months ago; Add missing markup to new documentation
Philip Kaludercic [Tue, 16 May 2023 19:28:56 +0000 (21:28 +0200)]
; Add missing markup to new documentation

* doc/emacs/package.texi (Fetching Package Sources): Mark code as
code.

19 months agoAdd :vc keyword to use-package for VC package support
Tony Zorman [Thu, 29 Dec 2022 10:05:04 +0000 (11:05 +0100)]
Add :vc keyword to use-package for VC package support

* lisp/use-package/use-package-core.el (use-package-keywords): Add :vc.
(use-package-handler/:load-path): Insert 'load-path' into 'state'.
(use-package-vc-install): Install the package with package-vc.el.
(use-package-handler/:vc): Handler for the :vc keyword.
(use-package-normalize--vc-arg): Normalization for more complex
arguments to 'use-package-normalize/:vc', in order to make them
compatible with the specification of 'package-vc-selected-packages'.
(use-package-normalize/:vc): Normalizer for the :vc keyword.
(use-package): Document :vc.
* lisp/use-package/use-package-ensure.el (use-package-handler/:ensure):
Do not ensure a package when :vc is used in the declaration.
* test/lisp/use-package/use-package-tests.el (use-package-test/:vc-1):
(use-package-test/:vc-2):
(use-package-test/:vc-3):
(use-package-test/:vc-4):
(use-package-test/:vc-5):
(use-package-test-normalize/:vc):
Add tests for :vc.
* etc/NEWS: Mention change.  (Bug#60418)

19 months agoSupport side-effects while building VC packages
Joseph Turner [Sat, 13 May 2023 17:05:04 +0000 (10:05 -0700)]
Support side-effects while building VC packages

* doc/emacs/package.texi (Specifying Package Sources): Document new
specification attributes.
* lisp/emacs-lisp/package-vc.el (package-vc-allow-side-effects): Add
new user option.
(package-vc--make): Add handler for processing :make and
:shell-command.
(package-vc--unpack-1): Check 'package-vc-allow-side-effects' and
invoke 'package-vc--make'.
* etc/NEWS: Mention change.  (Bug#63336)

19 months agoAvoid duplicate VC packages in 'package-selected-packages'
Philip Kaludercic [Sun, 14 May 2023 19:22:59 +0000 (21:22 +0200)]
Avoid duplicate VC packages in 'package-selected-packages'

* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Check if
'package-selected-packages' already contains the package name.
(bug#63338)

19 months agoEglot: rework eglot-handle-request (bug#62116)
João Távora [Tue, 16 May 2023 18:23:33 +0000 (19:23 +0100)]
Eglot: rework eglot-handle-request (bug#62116)

Address comments in the bug tracker regarding widening, and
prematurely reporting success to the server before knowing if the file
can indeed be shown.

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62116#70
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62116#79

* lisp/progmodes/eglot.el (eglot-handle-request): Rework.

19 months ago* lisp/windmove.el (windmove-swap-states-in-direction): Don't swap minibuffer.
Juri Linkov [Tue, 16 May 2023 17:32:34 +0000 (20:32 +0300)]
* lisp/windmove.el (windmove-swap-states-in-direction): Don't swap minibuffer.

Guard against swapping the minibuffer when the minibuffer is in the selected
window (bug#62427).  The function was already protected when the minibuffer
is in other-window.

19 months agoTweak tramp-test45-asynchronous-requests
Michael Albinus [Tue, 16 May 2023 15:19:20 +0000 (17:19 +0200)]
Tweak tramp-test45-asynchronous-requests

* test/lisp/net/tramp-tests.el (tramp-use-connection-share): Declare.
(tramp--test-putty-p): New defun.
(tramp-test45-asynchronous-requests): Tweak test.

19 months agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Tue, 16 May 2023 05:09:04 +0000 (22:09 -0700)]
Update from Gnulib by running admin/merge-gnulib

19 months agoEUDC: Document disabling default LDAP wildcard expansion
Thomas Fitzsimmons [Mon, 15 May 2023 21:53:45 +0000 (17:53 -0400)]
EUDC: Document disabling default LDAP wildcard expansion

* lisp/net/eudc-vars.el (eudc-ldap-no-wildcard-attributes): Cover
`eudc-query-form' and `eudc-expand-inline' behavior in the
customization docstring.  (Bug#62721)

19 months ago* lisp/tab-bar.el (tab-bar-new-tab-to): Set 'window-side' to nil (bug#62427).
Juri Linkov [Mon, 15 May 2023 17:32:04 +0000 (20:32 +0300)]
* lisp/tab-bar.el (tab-bar-new-tab-to): Set 'window-side' to nil (bug#62427).

This is still needed for the case when tab-bar-new-tab-choice is 'window'.

19 months ago; Better warning message when loading tree-sitter fails
Eli Zaretskii [Mon, 15 May 2023 15:39:49 +0000 (18:39 +0300)]
; Better warning message when loading tree-sitter fails

* lisp/treesit.el (treesit-ready-p): Improve diagnostics on
MS-Windows when the tree-sitter library cannot be loaded at run
time.

19 months agoFix some minor Tramp problems
Michael Albinus [Mon, 15 May 2023 14:25:23 +0000 (16:25 +0200)]
Fix some minor Tramp problems

* lisp/net/tramp-crypt.el (tramp-crypt-handle-file-exists-p): New defun.
(tramp-crypt-file-name-handler-alist): Add it.

* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file): Flush proper file
properties.

* test/lisp/net/tramp-archive-tests.el (tramp-archive--test-emacs28-p):
New defun.
(tramp-archive-test48-auto-load): Extend test.

19 months agoFix 'locale-info' on MS-Windows
Eli Zaretskii [Mon, 15 May 2023 12:21:43 +0000 (15:21 +0300)]
Fix 'locale-info' on MS-Windows

* nt/mingw-cfg.site (am_cv_langinfo_codeset): Rename from
'emacs_cv_langinfo_codeset', to follow configure.ac.

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 agoUpdate to Org 9.6.6
Kyle Meyer [Mon, 15 May 2023 01:04:37 +0000 (21:04 -0400)]
Update to Org 9.6.6

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; * admin/make-tarball.txt: Minor copyedits.
Eli Zaretskii [Sun, 14 May 2023 13:11:44 +0000 (16:11 +0300)]
; * admin/make-tarball.txt: Minor copyedits.

19 months agoMerge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29 emacs-29.0.91
Eli Zaretskii [Sun, 14 May 2023 12:02:15 +0000 (08:02 -0400)]
Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29

19 months ago; Regenerate files for emacs-29.0.91
Eli Zaretskii [Sun, 14 May 2023 11:58:30 +0000 (07:58 -0400)]
; Regenerate files for emacs-29.0.91

* ChangeLog.4:
* etc/AUTHORS: Regenerate.

19 months ago; * lisp/ldefs-boot.el: Regenerate for emacs-29.0.91.
Eli Zaretskii [Sun, 14 May 2023 11:57:52 +0000 (07:57 -0400)]
; * lisp/ldefs-boot.el: Regenerate for emacs-29.0.91.

19 months agoBump Emacs version for next pretest
Eli Zaretskii [Sun, 14 May 2023 11:32:21 +0000 (07:32 -0400)]
Bump Emacs version for next pretest

* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp: Bump Emacs version to 29.0.91.

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/progmodes/csharp-mode.el (csharp-ts-mode--defun-name): typo
Mattias Engdegård [Sun, 14 May 2023 09:33:04 +0000 (11:33 +0200)]
; * lisp/progmodes/csharp-mode.el (csharp-ts-mode--defun-name): typo

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 ago; Minor fixes in ELisp manual
Eli Zaretskii [Sun, 14 May 2023 07:26:03 +0000 (10:26 +0300)]
; Minor fixes in ELisp manual

* doc/lispref/functions.texi (Declare Form): Improve indexing.
(Obsolete Functions): Add cross-reference.
`

19 months ago; * lisp/simple.el (async-shell-command): Doc fix. (Bug#63432)
Eli Zaretskii [Sun, 14 May 2023 07:13:39 +0000 (10:13 +0300)]
; * lisp/simple.el (async-shell-command): Doc fix.  (Bug#63432)

19 months agoIgnore current-prefix-arg in async-shell-command
Gabriel do Nascimento Ribeiro [Sat, 13 May 2023 23:31:24 +0000 (20:31 -0300)]
Ignore current-prefix-arg in async-shell-command

* lisp/simple.el (async-shell-command): Ignore current-prefix-arg and
always pass nil to second argument of `shell-command'.  (Bug#63432)

19 months agoFix building of VC package manuals with relative includes
Joseph Turner [Sat, 6 May 2023 21:49:43 +0000 (14:49 -0700)]
Fix building of VC package manuals with relative includes

* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
Invoke makeinfo with -I to ensure the package directory is always
consulted for @include statements.  (Bug#63337)

19 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.

19 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)

19 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)

19 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)

19 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.

19 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

19 months agoAnother fix for VHDL mode highlighting
Cyril Arnould [Wed, 10 May 2023 07:26:52 +0000 (07:26 +0000)]
Another fix for VHDL mode highlighting

* lisp/progmodes/vhdl-mode.el (vhdl-version): Bump to 3.38.5.
(vhdl-compiler-alist): Fix the regexps and the doc string.

Copyright-paperwork-exempt: yes

19 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.

19 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`.

19 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.

19 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

19 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.

19 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.

19 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)

19 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.