commit 8a94cee3b58a59eac6ca24c001769f0fe12bf020 (HEAD, refs/remotes/origin/master) Author: Eli Zaretskii Date: Sun Aug 25 08:48:23 2024 +0300 ; * src/treesit.c (Ftreesit_parse_string): Fix comment and punctuation. diff --git a/src/treesit.c b/src/treesit.c index 218cb7407a8..5aedca44489 100644 --- a/src/treesit.c +++ b/src/treesit.c @@ -1863,16 +1863,16 @@ positions. PARSER is the parser issuing the notification. */) return Qnil; } -// Why don't we use ts_parse_string? I tried, but it requires too much -// change throughout treesit.c: we either return a root node that has no -// associated parser, or one that has a parser but the parser doesn't -// have associated buffer. Both route requires us to add checks and -// branches everytime we use the parser of a node or the buffer of a -// parser. I tried route 1, and found that on top of needing to add a -// bunch of branches to handle the no-parser case, many functions -// requires a parser alongside the node (getting the tree, or language -// symbol, etc), and I would need to rewrite those as well. Overall -// it's just not worth it--this is just a convenience function. --yuan +/* Why don't we use ts_parse_string? I tried, but it requires too much + change throughout treesit.c: we either return a root node that has no + associated parser, or one that has a parser but the parser doesn't + have associated buffer. Both routes require us to add checks and + branches everywhere we use the parser of a node or the buffer of a + parser. I tried route 1, and found that on top of the need to add a + bunch of branches to handle the no-parser case, many functions + require a parser alongside the node (getting the tree, or language + symbol, etc), and I would need to rewrite those as well. Overall, + it's just not worth it--this is just a convenience function. --yuan */ DEFUN ("treesit-parse-string", Ftreesit_parse_string, Streesit_parse_string, 2, 2, 0, commit f322905f6a31deb8da7f3d40a87e5ea097df5a73 Author: Yuan Fu Date: Sat Aug 24 15:25:48 2024 -0700 Fix Ftreesit_parser_create * src/treesit.c (Ftreesit_parser_create): We recently changed something such that base buffer and indirect buffer appears to use separate parser-lists. Therefore, creating a parser in one of the buffer shouldn't reuse the parser in another buffer. diff --git a/src/treesit.c b/src/treesit.c index a41892b1cac..218cb7407a8 100644 --- a/src/treesit.c +++ b/src/treesit.c @@ -1467,7 +1467,8 @@ an indirect buffer. */) { struct Lisp_TS_Parser *parser = XTS_PARSER (XCAR (tail)); if (EQ (parser->tag, tag) - && EQ (parser->language_symbol, language)) + && EQ (parser->language_symbol, language) + && EQ (parser->buffer, buf_orig)) return XCAR (tail); } } commit ac98ff18f4debb935e07d3739fcc3378359d8d82 Author: Yuan Fu Date: Sat Aug 24 15:03:28 2024 -0700 Fix tree-sitter test for indirect parser list * test/src/treesit-tests.el (treesit-indirect-buffer): Now the base buffer shouldn't contain indirect buffer's parsers. diff --git a/test/src/treesit-tests.el b/test/src/treesit-tests.el index 30b15a3c0ce..5b951d35ba1 100644 --- a/test/src/treesit-tests.el +++ b/test/src/treesit-tests.el @@ -199,12 +199,14 @@ (with-current-buffer base (setq indirect (clone-indirect-buffer "*treesit test 1*" nil))) (with-current-buffer indirect - (setq parser (treesit-parser-create 'json))) - ;; 1. Parser created in the indirect buffer should be - ;; actually be created in the base buffer. + (setq parser (treesit-parser-create 'json)) + (should (equal (list parser) (treesit-parser-list)))) + ;; 1. Parser created in the indirect buffer should not appear + ;; in the base buffer. (with-current-buffer base - (should (equal (list parser) + (should (equal nil (treesit-parser-list))) + (treesit-parser-create 'json) (insert "[1,2,3]")) ;; Change in the base buffer should be reflected in the ;; indirect buffer. commit 4339e70a942770ce4e17d16a9708e4bdf5630514 Author: Yuan Fu Date: Sat Aug 24 14:54:57 2024 -0700 Make sure treesit-parse-string gc its temp buffer (bug#71012) * doc/lispref/parsing.texi (Using Parser): Add notice. * lisp/treesit.el (treesit-parse-string): Remove function. * src/treesit.c (make_treesit_parser): Init the new filed. (treesit_delete_parser): Collect the temp buffer. (Ftreesit_parse_string): New function. * src/treesit.h (Lisp_TS_Parser): New field. diff --git a/doc/lispref/parsing.texi b/doc/lispref/parsing.texi index ddf02d9283b..20b1085b46c 100644 --- a/doc/lispref/parsing.texi +++ b/doc/lispref/parsing.texi @@ -486,8 +486,10 @@ string. Unlike a buffer, parsing a string is a one-off operation, and there is no way to update the result. @defun treesit-parse-string string language -This function parses @var{string} using @var{language}, and returns -the root node of the generated syntax tree. +This function parses @var{string} using @var{language}, and returns the +root node of the generated syntax tree. @emph{Do not} use this function +in a loop: this is a convenience function intended for one-off use, and +it isn't optimized; for heavy workload, use a temporary buffer instead. @end defun @heading Be notified by changes to the parse tree diff --git a/lisp/treesit.el b/lisp/treesit.el index c91864725da..86dc4733d37 100644 --- a/lisp/treesit.el +++ b/lisp/treesit.el @@ -123,17 +123,6 @@ of max unsigned 32-bit value for byte offsets into buffer text." ;;; Parser API supplement -(defun treesit-parse-string (string language) - "Parse STRING using a parser for LANGUAGE. -Return the root node of the syntax tree." - ;; We can't use `with-temp-buffer' because it kills the buffer when - ;; returning from the form. - (let ((buf (generate-new-buffer " *treesit-parse-string*"))) - (with-current-buffer buf - (insert string) - (treesit-parser-root-node - (treesit-parser-create language))))) - (defvar-local treesit-language-at-point-function nil "A function that returns the language at point. This is used by `treesit-language-at', which is used by various diff --git a/src/treesit.c b/src/treesit.c index 27779692923..a41892b1cac 100644 --- a/src/treesit.c +++ b/src/treesit.c @@ -1181,6 +1181,7 @@ make_treesit_parser (Lisp_Object buffer, TSParser *parser, lisp_parser->visible_end = BUF_ZV_BYTE (XBUFFER (buffer)); lisp_parser->timestamp = 0; lisp_parser->deleted = false; + lisp_parser->need_to_gc_buffer = false; eassert (lisp_parser->visible_beg <= lisp_parser->visible_end); return make_lisp_ptr (lisp_parser, Lisp_Vectorlike); } @@ -1220,6 +1221,8 @@ make_treesit_query (Lisp_Object query, Lisp_Object language) void treesit_delete_parser (struct Lisp_TS_Parser *lisp_parser) { + if (lisp_parser->need_to_gc_buffer) + Fkill_buffer (lisp_parser->buffer); ts_tree_delete (lisp_parser->tree); ts_parser_delete (lisp_parser->parser); } @@ -1859,6 +1862,49 @@ positions. PARSER is the parser issuing the notification. */) return Qnil; } +// Why don't we use ts_parse_string? I tried, but it requires too much +// change throughout treesit.c: we either return a root node that has no +// associated parser, or one that has a parser but the parser doesn't +// have associated buffer. Both route requires us to add checks and +// branches everytime we use the parser of a node or the buffer of a +// parser. I tried route 1, and found that on top of needing to add a +// bunch of branches to handle the no-parser case, many functions +// requires a parser alongside the node (getting the tree, or language +// symbol, etc), and I would need to rewrite those as well. Overall +// it's just not worth it--this is just a convenience function. --yuan +DEFUN ("treesit-parse-string", + Ftreesit_parse_string, Streesit_parse_string, + 2, 2, 0, + doc: /* Parse STRING using a parser for LANGUAGE. + +Return the root node of the result parse tree. DO NOT use this function +in a loop: this function is intended for one-off use and isn't +optimized; for heavy workload, use a temporary buffer instead. */) + (Lisp_Object string, Lisp_Object language) +{ + CHECK_SYMBOL (language); + CHECK_STRING (string); + + Lisp_Object name_str = build_string (" *treesit-parse-string*"); + Lisp_Object buffer_name = Fgenerate_new_buffer_name (name_str, Qnil); + Lisp_Object buffer = Fget_buffer_create (buffer_name, Qnil); + + struct buffer *old_buffer = current_buffer; + set_buffer_internal (XBUFFER (buffer)); + insert1 (string); + set_buffer_internal (old_buffer); + + Lisp_Object parser = Ftreesit_parser_create (language, buffer, Qt, Qnil); + XTS_PARSER (parser)->need_to_gc_buffer = true; + + /* Make sure the temp buffer doesn't reference the parser, otherwise + the buffer and parser cross-reference each other and the parser is + never garbage-collected. */ + BVAR (XBUFFER (buffer), ts_parser_list) = Qnil; + + return Ftreesit_parser_root_node (parser); +} + /*** Node API */ @@ -4245,7 +4291,7 @@ applies to LANGUAGE-A will be redirected to LANGUAGE-B instead. */); defsubr (&Streesit_parser_tag); defsubr (&Streesit_parser_root_node); - /* defsubr (&Streesit_parse_string); */ + defsubr (&Streesit_parse_string); defsubr (&Streesit_parser_set_included_ranges); defsubr (&Streesit_parser_included_ranges); diff --git a/src/treesit.h b/src/treesit.h index 3da4cc155ea..cd84fa358c5 100644 --- a/src/treesit.h +++ b/src/treesit.h @@ -82,6 +82,10 @@ struct Lisp_TS_Parser /* If this field is true, parser functions raises treesit-parser-deleted signal. */ bool deleted; + /* If this field is true, deleting the parser should also delete the + associated buffer. This is for parsers created by + treesit-parse-string, which uses a hidden temp buffer. */ + bool need_to_gc_buffer; }; /* A wrapper around a tree-sitter node. */ commit 32afdcca8815331f1231fe9d8279ab9914197381 Author: Björn Bidar Date: Thu Aug 8 17:36:01 2024 +0300 Forward user to auth-source inside url-basic-auth * lisp/url/url-auth.el (url-basic-auth): Forward the user if provided by the url or found by 'auth-source' when searching for secrets. Supplying 'auth-source' with the user when matching secrets allows for more accurate retrieval and fixes instances where the user enters an url that already contains the user such as "user@host.de". (Bug#72526) diff --git a/lisp/url/url-auth.el b/lisp/url/url-auth.el index c73047da6b3..d7d7701b364 100644 --- a/lisp/url/url-auth.el +++ b/lisp/url/url-auth.el @@ -90,7 +90,7 @@ instead of the filename inheritance method." (read-string (url-auth-user-prompt href realm) (or user (user-real-login-name))))) pass (or - (url-do-auth-source-search server type :secret) + (url-do-auth-source-search server type :secret user) (and (url-interactive-p) (read-passwd "Password: " nil (or pass ""))))) (setq server (format "%s:%d" server port)) @@ -126,7 +126,7 @@ instead of the filename inheritance method." (read-string (url-auth-user-prompt href realm) (user-real-login-name)))) pass (or - (url-do-auth-source-search server type :secret) + (url-do-auth-source-search server type :secret user) (and (url-interactive-p) (read-passwd "Password: "))) server (format "%s:%d" server port) @@ -461,8 +461,8 @@ challenge such as nonce and opaque." "A list of the registered authorization schemes and various and sundry information associated with them.") -(defun url-do-auth-source-search (server type parameter) - (let* ((auth-info (auth-source-search :max 1 :host server :port type)) +(defun url-do-auth-source-search (server type parameter &optional user) + (let* ((auth-info (auth-source-search :max 1 :host server :port type :user user)) (auth-info (nth 0 auth-info)) (token (plist-get auth-info parameter)) (token (if (functionp token) (funcall token) token))) commit f41614ad5413b704c8451c46fe7bce3be37f3bd7 Author: Michael Albinus Date: Sat Aug 24 12:49:48 2024 +0200 ; * etc/NEWS: Fix typos. diff --git a/etc/NEWS b/etc/NEWS index eb0a34cf9c9..cc879ba4487 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -61,21 +61,20 @@ VALUE) ...))' where STYLE is a symbol naming a completion style. VARIABLE will be bound to VALUE (without evaluating it) while the style is executing. This allows multiple references to the same style with different values for completion-affecting variables like -'completion-pcm-leading-wildcard or 'completion-ignore-case'. This also +'completion-pcm-leading-wildcard' or 'completion-ignore-case'. This also applies for the styles configuration in 'completion-category-overrides' and 'completion-category-defaults'. - ** Windows +++ *** New hook 'window-deletable-functions'. This abnormal hook gives its client a way to save a window from getting deleted implicitly by functions like 'kill-buffer', 'bury-buffer' and -'quit-restore-window', +'quit-restore-window'. +++ -*** New option 'kill-buffer-quit-windows'. +*** New user option 'kill-buffer-quit-windows'. This option has 'kill-buffer' call 'quit-restore-window' to handle the further destiny of any window showing the buffer to be killed. @@ -92,7 +91,7 @@ The values 'killing' and 'burying' are like 'kill' and 'bury' but assume that the actual killing or burying of the buffer is done by the caller. +++ -*** New option 'quit-restore-window-no-switch'. +*** New user option 'quit-restore-window-no-switch'. With this option set, 'quit-restore-window' will delete its window more aggressively rather than switching to some other buffer in it. @@ -101,7 +100,7 @@ aggressively rather than switching to some other buffer in it. +++ *** New function 'frame-deletable-p'. Calling this function before 'delete-frame' is useful to avoid that the -latter throws an error when the argument frame cannot be deleted. +latter throws an error when the argument FRAME cannot be deleted. ** Tab Bars and Tab Lines @@ -263,17 +262,17 @@ back to real DocView buffer if it still exists. *** Connection method "kubernetes" supports now optional namespace. The host name for Kubernetes connections can be of kind [CONTAINER.]POD[%NAMESPACE], in order to specify the namespace to be -used. This overrides the setiing in 'tramp-kubernetes-namespace', if +used. This overrides the setting in 'tramp-kubernetes-namespace', if any. ** Diff --- -*** New command 'diff-kill-ring-save' +*** New command 'diff-kill-ring-save'. This command copies to the 'kill-ring' a region of text modified according to diffs in the current buffer, but without applying the diffs to the original text. If the selected range extends a hunk, the -commands attempts to look up and copy the text in-between the hunks. +command attempts to look up and copy the text in-between the hunks. * New Modes and Packages in Emacs 31.1 commit 16cb27d1d986d8b00ee1da2f7f51e8e6f254f173 Author: Michael Albinus Date: Sat Aug 24 12:49:32 2024 +0200 Optimize Tramp's copy-directory * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory): * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory): Don't check existence of DIRNAME, this is done in `tramp-skeleton-copy-directory' already. * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory): Apply `tramp-do-copy-or-rename-file-directly' if possible. diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index e4e14912579..313a350fe0c 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -2020,48 +2020,55 @@ ID-FORMAT valid values are `string' and `integer'." (t2 (tramp-tramp-file-p newname)) target) (with-parsed-tramp-file-name (if t1 dirname newname) nil - (unless (file-exists-p dirname) - (tramp-error v 'file-missing dirname)) - - (if (and copy-directory-create-symlink - (setq target (file-symlink-p dirname)) - (tramp-equal-remote dirname newname)) - (make-symbolic-link - target - (if (directory-name-p newname) - (concat newname (file-name-nondirectory dirname)) newname) - t) - - (if (and (not copy-contents) - (tramp-get-method-parameter v 'tramp-copy-recursive) - ;; When DIRNAME and NEWNAME are remote, they must - ;; have the same method. - (or (null t1) (null t2) - (string-equal - (tramp-file-name-method - (tramp-dissect-file-name dirname)) - (tramp-file-name-method - (tramp-dissect-file-name newname))))) - ;; scp or rsync DTRT. - (progn - (when (and (file-directory-p newname) - (not (directory-name-p newname))) - (tramp-error v 'file-already-exists newname)) - (setq dirname (directory-file-name (expand-file-name dirname)) - newname (directory-file-name (expand-file-name newname))) - (when (and (file-directory-p newname) - (not (string-equal (file-name-nondirectory dirname) - (file-name-nondirectory newname)))) - (setq newname - (expand-file-name - (file-name-nondirectory dirname) newname))) - (unless (file-directory-p (file-name-directory newname)) - (make-directory (file-name-directory newname) parents)) - (tramp-do-copy-or-rename-file-out-of-band - 'copy dirname newname 'ok-if-already-exists keep-date)) - - ;; We must do it file-wise. - (tramp-run-real-handler + (cond + ((and copy-directory-create-symlink + (setq target (file-symlink-p dirname)) + (tramp-equal-remote dirname newname)) + (make-symbolic-link + target + (if (directory-name-p newname) + (concat newname (file-name-nondirectory dirname)) newname) + t)) + + ;; Shortcut: if method, host, user are the same for both + ;; files, we invoke `cp' on the remote host directly. + ((and (not copy-contents) + (tramp-equal-remote dirname newname)) + (when (and (file-directory-p newname) + (not (directory-name-p newname))) + (tramp-error v 'file-already-exists newname)) + (setq dirname (directory-file-name (expand-file-name dirname)) + newname (directory-file-name (expand-file-name newname))) + (tramp-do-copy-or-rename-file-directly + 'copy dirname newname + 'ok-if-already-exists keep-date 'preserve-uid-gid)) + + ;; scp or rsync DTRT. + ((and (not copy-contents) + (tramp-get-method-parameter v 'tramp-copy-recursive) + ;; When DIRNAME and NEWNAME are remote, they must have + ;; the same method. + (or (null t1) (null t2) + (string-equal + (tramp-file-name-method (tramp-dissect-file-name dirname)) + (tramp-file-name-method (tramp-dissect-file-name newname))))) + (when (and (file-directory-p newname) + (not (directory-name-p newname))) + (tramp-error v 'file-already-exists newname)) + (setq dirname (directory-file-name (expand-file-name dirname)) + newname (directory-file-name (expand-file-name newname))) + (when (and (file-directory-p newname) + (not (string-equal (file-name-nondirectory dirname) + (file-name-nondirectory newname)))) + (setq newname + (expand-file-name (file-name-nondirectory dirname) newname))) + (unless (file-directory-p (file-name-directory newname)) + (make-directory (file-name-directory newname) parents)) + (tramp-do-copy-or-rename-file-out-of-band + 'copy dirname newname 'ok-if-already-exists keep-date)) + + ;; We must do it file-wise. + (t (tramp-run-real-handler #'copy-directory (list dirname newname keep-date parents copy-contents)))) diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index da62773ccc6..2699dc13043 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -428,9 +428,6 @@ arguments to pass to the OPERATION." (t2 (tramp-tramp-file-p newname)) target) (with-parsed-tramp-file-name (if t1 dirname newname) nil - (unless (file-exists-p dirname) - (tramp-error v 'file-missing dirname)) - (if (and copy-directory-create-symlink (setq target (file-symlink-p dirname)) (tramp-equal-remote dirname newname)) commit 1e528f38b50b402614fb33a8e83ffb0998148bc7 Merge: 1d8ff948d7c 4211d85eec0 Author: Eli Zaretskii Date: Sat Aug 24 06:04:51 2024 -0400 Merge from origin/emacs-30 4211d85eec0 Fix rare segfaults due to freed fontsets 44c26140b6e ; Fix infloop in checkdoc-next-docstring 25f53721668 Avoid putting a dead buffer in the minibuffer window (Bug... commit 1d8ff948d7c1e920cdf425aa88a26dbf27152965 Merge: a1bb92a13a6 cfcba7ddc41 Author: Eli Zaretskii Date: Sat Aug 24 06:04:51 2024 -0400 ; Merge from origin/emacs-30 The following commit was skipped: cfcba7ddc41 Eglot: bump version to 1.17.30 and update EGLOT-NEWS commit a1bb92a13a65d4017d00b048b874db1d3e36c755 Merge: 8dced50f5f9 7e9d05e6d9b Author: Eli Zaretskii Date: Sat Aug 24 06:04:51 2024 -0400 Merge from origin/emacs-30 7e9d05e6d9b ; * admin/authors.el (authors-aliases): Escape periods. commit 8dced50f5f947cbdb7cb14b4556e0e40d5ea3dcc Merge: 3109383f6bd 391e6f99fc8 Author: Eli Zaretskii Date: Sat Aug 24 06:04:50 2024 -0400 ; Merge from origin/emacs-30 The following commit was skipped: 391e6f99fc8 Update 'ldefs-boot.el' (don't merge) commit 3109383f6bd18f50007f104864940e1437234d0b Merge: 57bec35c8c3 8ccc165f95a Author: Eli Zaretskii Date: Sat Aug 24 06:04:50 2024 -0400 Merge from origin/emacs-30 8ccc165f95a * doc/man/emacsclient.1: Bump date. commit 57bec35c8c36c8563a310c55c002ed2468e38c84 Merge: fe5548f48c5 633cc24e4b1 Author: Eli Zaretskii Date: Sat Aug 24 06:04:50 2024 -0400 ; Merge from origin/emacs-30 The following commits were skipped: 633cc24e4b1 Bump Emacs version to 30.0.90 e18db9c6d2d Update Changelogs f9d229e925a Update AUTHORS commit fe5548f48c5405a29d0b94671aef29982b9c80ee Merge: 69ec333eab0 a0b65be8eb0 Author: Eli Zaretskii Date: Sat Aug 24 06:04:47 2024 -0400 Merge from origin/emacs-30 a0b65be8eb0 * admin/authors.el (authors-aliases, authors-ignored-file... 58088b36e8a * admin/authors.el: Pick-up version from emacs-29. 9d7151c0ffa Add missing :version tags in use-package 3f019167b85 Suppress shallow cloning on emba # Conflicts: # lisp/use-package/use-package-core.el # lisp/use-package/use-package-ensure.el commit 69ec333eab0b801949d33ef5ae505addc9061793 Author: Spencer Baugh Date: Wed Aug 21 11:59:42 2024 -0400 Allow customizing partial-completion to be more like substring The substring completion style completes "foo-bar" as "*foo-bar*". The partial-completion completion style completes "foo-bar" as "foo*bar*". Previously, it was not possible to get completion of "foo-bar" to act as "*foo*bar*", e.g. combining the partial-completion and substring styles. This would be especially useful for things like project-find-file. Now it is possible by customizing the completion-pcm-leading-wildcard variable to a non-nil value. Furthermore, it's convenient to be able to run regular (completion-pcm-leading-wildcard=t, non-substring) partial-completion before running completion-pcm-leading-wildcard=nil partial-completion, since the former provides more narrowly targeted completions. It's possible to do this by customizing completion-styles. Just add '(partial-completion ((completion-pcm-leading-wildcard t))) and '(partial-completion ((completion-pcm-leading-wildcard nil))) in that order. Then the completion machinery will first run partial-completion with completion-pcm-leading-wildcard=t, and if that returns no completions, run partial-completion with completion-pcm-leading-wildcard=nil. * lisp/minibuffer.el (completion--nth-completion): Allow an element of completion-styles to contain a list of bindings. (completion-styles): Document that. (completion-pcm-leading-wildcard): Add. (completion-pcm--string->pattern): Check completion-pcm-leading-wildcard. (bug#70217) diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi index 9d012cd6fbc..6b604412e88 100644 --- a/doc/emacs/mini.texi +++ b/doc/emacs/mini.texi @@ -543,8 +543,14 @@ falls back on the next style. @vindex completion-styles The list variable @code{completion-styles} specifies the completion -styles to use. Each list element is the name of a completion style (a -Lisp symbol). The available style symbols are stored in the variable +styles to use. Each list element is either the name of a completion +style (a Lisp symbol) or a list starting with the name of a completion +style followed by @code{let}-style list of bindings which will be in +effect for that completion style. Multiple elements of +@code{completion-styles} can name the same completion style with +different variable bindings. + +The available style symbols are stored in the variable @code{completion-styles-alist} (@pxref{Completion Variables,,, elisp, The Emacs Lisp Reference Manual}). The default completion styles are (in order): @@ -569,6 +575,12 @@ Furthermore, a @samp{*} in the minibuffer text is treated as a @dfn{wildcard}---it matches any string of characters at the corresponding position in the completion alternative. +@vindex completion-pcm-leading-wildcard +If @code{completion-pcm-leading-wildcard} is set to @code{t}, this style +always acts as if a @dfn{wildcard} is present at the start of the +minibuffer text, similar to the @code{substring} style. For example, +@samp{l-m} will complete to @samp{emacs-lisp-mode}. + @item emacs22 @cindex @code{emacs22}, completion style This completion style is similar to @code{basic}, except that it diff --git a/etc/NEWS b/etc/NEWS index f9ef15f9a40..eb0a34cf9c9 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -43,6 +43,28 @@ The 'find-function', 'find-library', 'find-face-definition', and 'find-variable' commands now allow retrieving previous input using the usual minibuffer history commands. Each command has a separate history. +** Minibuffer and Completions + ++++ +*** New user option 'completion-pcm-leading-wildcard'. +This option configures how the partial-completion style does completion. +It defaults to nil, which preserves the existing behavior. When it is set +to t, the partial-completion style behaves more like the substring +style, in that a string being completed can match against a candidate +anywhere in the candidate string. + ++++ +*** 'completion-styles' now can contain lists of bindings. +In addition to being a symbol naming a completion style, an element of +'completion-styles' can now be a list of the form '(STYLE ((VARIABLE +VALUE) ...))' where STYLE is a symbol naming a completion style. +VARIABLE will be bound to VALUE (without evaluating it) while the style +is executing. This allows multiple references to the same style with +different values for completion-affecting variables like +'completion-pcm-leading-wildcard or 'completion-ignore-case'. This also +applies for the styles configuration in 'completion-category-overrides' +and 'completion-category-defaults'. + ** Windows diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 3beb3c06a18..6fae62b3904 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -1141,7 +1141,15 @@ and DOC describes the way this style of completion works.") ;; and simply add "bar" to the end of the result. emacs22) "List of completion styles to use. -The available styles are listed in `completion-styles-alist'. +An element should be a symbol which is listed in +`completion-styles-alist'. + +An element can also be a list of the form +(STYLE ((VARIABLE VALUE) ...)) +STYLE must be a symbol listed in `completion-styles-alist', followed by +a `let'-style list of variable/value pairs. VARIABLE will be bound to +VALUE (without evaluating it) while the style is handling completion. +This allows repeating the same style with different configurations. Note that `completion-category-overrides' may override these styles for specific categories, such as files, buffers, etc." @@ -1284,11 +1292,18 @@ overrides the default specified in `completion-category-defaults'." (result-and-style (seq-some (lambda (style) - (let ((probe (funcall - (or (nth n (assq style completion-styles-alist)) - (error "Invalid completion style %s" style)) - string table pred point))) - (and probe (cons probe style)))) + (let (symbols values) + (when (consp style) + (dolist (binding (cadr style)) + (push (car binding) symbols) + (push (cadr binding) values)) + (setq style (car style))) + (cl-progv symbols values + (let ((probe (funcall + (or (nth n (assq style completion-styles-alist)) + (error "Invalid completion style %s" style)) + string table pred point))) + (and probe (cons probe style)))))) (completion--styles md))) (adjust-fn (get (cdr result-and-style) 'completion--adjust-metadata))) (when (and adjust-fn metadata) @@ -3868,6 +3883,21 @@ the commands start with a \"-\" or a SPC." (setq trivial nil))) trivial))) +(defcustom completion-pcm-leading-wildcard nil + "If non-nil, partial-completion completes as if there's a leading wildcard. + +If nil (the default), partial-completion requires a matching completion +alternative to have the same beginning as the first \"word\" in the +minibuffer text, where \"word\" is determined by +`completion-pcm-word-delimiters'. + +If non-nil, partial-completion allows any string of characters to occur +at the beginning of a completion alternative, as if a wildcard such as +\"*\" was present at the beginning of the minibuffer text. This makes +partial-completion behave more like the substring completion style." + :version "30.1" + :type 'boolean) + (defun completion-pcm--string->pattern (string &optional point) "Split STRING into a pattern. A pattern is a list where each element is either a string @@ -3918,7 +3948,11 @@ or a symbol, see `completion-pcm--merge-completions'." (when (> (length string) p0) (if pending (push pending pattern)) (push (substring string p0) pattern)) - (nreverse pattern)))) + (setq pattern (nreverse pattern)) + (when completion-pcm-leading-wildcard + (when (stringp (car pattern)) + (push 'prefix pattern))) + pattern))) (defun completion-pcm--optimize-pattern (p) ;; Remove empty strings in a separate phase since otherwise a "" commit 4211d85eec0858583bd9d35f8de9cd6e358d6c72 Author: Eli Zaretskii Date: Sat Aug 24 12:07:02 2024 +0300 Fix rare segfaults due to freed fontsets * src/xfaces.c (recompute_basic_faces): Force complete recalculation of all the faces. (Bug#72692) diff --git a/src/xfaces.c b/src/xfaces.c index 684b6ccfac7..34897817ffd 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -736,6 +736,11 @@ recompute_basic_faces (struct frame *f) clear_face_cache (false); if (!realize_basic_faces (f)) emacs_abort (); + /* Force complete face recalculation next time we use the display + code, because realize_basic_faces could free the fontset used + by non-ASCII faces corresponding to ASCII faces of the basic + faces, and attempt to use that fontset might segfault. */ + f->face_change = true; } } commit a7a22e7c22cef0948f84daa86c9929d7b0dd6d56 Author: Björn Bidar Date: Thu Aug 8 17:31:20 2024 +0300 Fix secret search with basic auth with a port in URL * lisp/url/url-auth.el (url-basic-auth): Fix retrieving of secrets when the URL contains a port. Amending the port to server breaks 'auth-source-search' matching for :host which is redundant as it already specified in :port. (Bug#72526) diff --git a/lisp/url/url-auth.el b/lisp/url/url-auth.el index 8f4df780a54..c73047da6b3 100644 --- a/lisp/url/url-auth.el +++ b/lisp/url/url-auth.el @@ -72,8 +72,7 @@ instead of the filename inheritance method." (pass (url-password href)) (enable-recursive-minibuffers t) ; for url-handler-mode (bug#10298) byserv retval data) - (setq server (format "%s:%d" server port) - file (cond + (setq file (cond (realm realm) ((string= "" file) "/") ((string-match "/$" file) file) @@ -94,6 +93,7 @@ instead of the filename inheritance method." (url-do-auth-source-search server type :secret) (and (url-interactive-p) (read-passwd "Password: " nil (or pass ""))))) + (setq server (format "%s:%d" server port)) (set url-basic-auth-storage (cons (list server (cons file @@ -129,6 +129,7 @@ instead of the filename inheritance method." (url-do-auth-source-search server type :secret) (and (url-interactive-p) (read-passwd "Password: "))) + server (format "%s:%d" server port) retval (base64-encode-string (format "%s:%s" user pass) t) byserv (assoc server (symbol-value url-basic-auth-storage))) (setcdr byserv commit 632cc76fb58a6d07ed55bbef650d0c6bc1edb475 Author: Gautier Ponsinet Date: Thu Aug 15 09:17:42 2024 +0200 Allow using pulse.el with a single color without pulsation * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Add the start color to the list of colors used for the pulsation effect, to allow its use when 'pulse-iterations' is 1. (Bug#72636) diff --git a/lisp/cedet/pulse.el b/lisp/cedet/pulse.el index d9f6a40865a..53256ba3a81 100644 --- a/lisp/cedet/pulse.el +++ b/lisp/cedet/pulse.el @@ -158,7 +158,7 @@ Optional argument FACE specifies the face to do the highlighting." (face-background 'pulse-highlight-face nil 'default))) (stop (color-name-to-rgb (face-background 'default))) (colors (mapcar (apply-partially 'apply 'color-rgb-to-hex) - (color-gradient start stop pulse-iterations)))) + (cons start (color-gradient start stop (1- pulse-iterations)))))) (setq pulse-momentary-timer (run-with-timer 0 pulse-delay #'pulse-tick colors commit c1181975ef958d40959e0a6af0c8d11ae2111ec0 Author: Eli Zaretskii Date: Sat Aug 24 11:02:01 2024 +0300 Fix 'next-line' in batch mode. * lisp/simple.el (line-move-finish): Don't use 'vertical-motion' in batch mode. Reported by john muhl . (Bug#72420) diff --git a/lisp/simple.el b/lisp/simple.el index 1d3be2b1eaf..2453a129d0a 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -8200,6 +8200,7 @@ If NOERROR, don't signal an error if we can't move that many lines." ;; Move to the desired column. (if (and line-move-visual + (not noninteractive) (not (or truncate-lines (truncated-partial-width-window-p)))) ;; Under line-move-visual, goal-column should be ;; interpreted in units of the frame's canonical character commit 44c26140b6e86f67f99d4ed9cc30e95f46708641 Author: Eshel Yaron Date: Fri Aug 23 17:15:32 2024 +0200 ; Fix infloop in checkdoc-next-docstring * lisp/emacs-lisp/checkdoc.el (checkdoc-next-docstring): Use 'beginning-of-defun-raw' instead of 'beginning-of-defun', as the latter always moves back to beginning of line and thus is not guaranteed to advance point when 'open-paren-in-column-0-is-defun-start' is non-nil. (Bug#72759) diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el index fd25b0f981f..21d40c56e74 100644 --- a/lisp/emacs-lisp/checkdoc.el +++ b/lisp/emacs-lisp/checkdoc.el @@ -986,7 +986,7 @@ buffer and save warnings in a separate buffer." Return nil if there are no more doc strings." (let (found) (while (and (not (setq found (checkdoc--next-docstring))) - (beginning-of-defun -1))) + (beginning-of-defun-raw -1))) found)) (defun checkdoc--next-docstring () commit 25f537216682eecedf3905c4e005f02be007ed9c Author: Martin Rudalics Date: Fri Aug 23 10:27:12 2024 +0200 Avoid putting a dead buffer in the minibuffer window (Bug#72487) * src/minibuf.c (minibuffer_unwind): Make sure that the buffer referenced by the first element of the list of previous buffers of the minibuffer window is live before assigning it to the minibuffer window (Bug#72487). * src/window.c (set_window_buffer): Assert that BUFFER is live. diff --git a/src/minibuf.c b/src/minibuf.c index 1dfee0a59c9..f16880011f7 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -63,7 +63,7 @@ Lisp_Object last_minibuf_string; static Lisp_Object minibuf_prompt; -/* The frame containinug the most recently opened Minibuffer. This is +/* The frame containing the most recently opened minibuffer. This is used only when `minibuffer-follows-selected-frame' is neither nil nor t. */ @@ -1248,27 +1248,36 @@ static void minibuffer_unwind (void) { struct frame *f; - struct window *w; - Lisp_Object window; - Lisp_Object entry; if (NILP (exp_MB_frame)) return; /* "Can't happen." */ f = XFRAME (exp_MB_frame); - window = f->minibuffer_window; - w = XWINDOW (window); if (FRAME_LIVE_P (f)) { - /* minibuf_window = sf->minibuffer_window; */ - if (!NILP (w->prev_buffers)) + Lisp_Object window = f->minibuffer_window; + + if (WINDOW_LIVE_P (window)) { - entry = Fcar (w->prev_buffers); - w->prev_buffers = Fcdr (w->prev_buffers); - set_window_buffer (window, Fcar (entry), 0, 0); - Fset_window_start (window, Fcar (Fcdr (entry)), Qnil); - Fset_window_point (window, Fcar (Fcdr (Fcdr (entry)))); + struct window *w = XWINDOW (window); + + /* minibuf_window = sf->minibuffer_window; */ + if (!NILP (w->prev_buffers)) + { + Lisp_Object entry = Fcar (w->prev_buffers); + + if (BUFFERP (Fcar (entry)) + && BUFFER_LIVE_P (XBUFFER (Fcar (entry)))) + { + wset_prev_buffers (w, Fcdr (w->prev_buffers)); + set_window_buffer (window, Fcar (entry), 0, 0); + Fset_window_start (window, Fcar (Fcdr (entry)), Qnil); + Fset_window_point (window, Fcar (Fcdr (Fcdr (entry)))); + } + else + set_window_buffer (window, nth_minibuffer (0), 0, 0); + } + else + set_window_buffer (window, nth_minibuffer (0), 0, 0); } - else - set_window_buffer (window, nth_minibuffer (0), 0, 0); } } diff --git a/src/window.c b/src/window.c index ff28bac5306..dba2d6a3523 100644 --- a/src/window.c +++ b/src/window.c @@ -4123,6 +4123,9 @@ set_window_buffer (Lisp_Object window, Lisp_Object buffer, specpdl_ref count = SPECPDL_INDEX (); bool samebuf = EQ (buffer, w->contents); + /* It's never OK to assign WINDOW a dead buffer. */ + eassert (BUFFER_LIVE_P (b)); + wset_buffer (w, buffer); if (EQ (window, selected_window)) commit cfcba7ddc41b84f108809bdd8d7201c181fd62ab Author: João Távora Date: Thu Aug 22 17:27:20 2024 +0100 Eglot: bump version to 1.17.30 and update EGLOT-NEWS This is a change specific to emacs-30. Don't merge to master. * lisp/progmodes/eglot.el (Version): Mark it 1.17.30. * etc/EGLOT-NEWS (1.17.30): Fill in section. diff --git a/etc/EGLOT-NEWS b/etc/EGLOT-NEWS index 0e3e4b7aff8..ff9a53bd242 100644 --- a/etc/EGLOT-NEWS +++ b/etc/EGLOT-NEWS @@ -18,7 +18,7 @@ to look up issue github#1234, go to https://github.com/joaotavora/eglot/issues/1234. -* Changes in upcoming Eglot +* * Changes in Eglot 1.17.30 (Eglot bundled with Emacs 30.1) ** Disable workDoneProgress if eglot-report-progress is nil @@ -26,6 +26,30 @@ Eglot will now try to not register $/progress messages from the server when the defcustom is set to nil. This requires a restart of the server for the change to take effect. +** LSP MarkedString interface is now supported (bug#71353) + +Some servers still use this deprecated interface for communicating +documentation snippets. + +** Fixes to completion logic (bug#68699, github#1339, github#1349) + +These affect mostly the "vanilla" frontend to completions (invoked with +C-M-i). + +** Experimental support for Eglot-only subprojects (github#1337) + +Useful for complex projects with subprojects needing different language +servers. See associated github issue +https://github.com/joaotavora/eglot/discussions/1337 for examples. + +** New servers have been added to 'eglot-server-programs'. + +- blueprint (bug#70015) +- BasedPyright (bug#69925) +- move-analyzer (bug#69796) +- millet +- nushell (bug#68823) + * Changes in Eglot 1.17 (25/1/2024) diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index 5845aff39b7..6fc8e60f90f 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -2,7 +2,7 @@ ;; Copyright (C) 2018-2024 Free Software Foundation, Inc. -;; Version: 1.17 +;; Version: 1.17.30 ;; Author: João Távora ;; Maintainer: João Távora ;; URL: https://github.com/joaotavora/eglot commit 7e9d05e6d9b7c01f42f84bdd730ab4f64ea7b483 Author: Eli Zaretskii Date: Thu Aug 22 14:09:11 2024 +0300 ; * admin/authors.el (authors-aliases): Escape periods. diff --git a/admin/authors.el b/admin/authors.el index 4cc0a384510..fc6bc2af2f7 100644 --- a/admin/authors.el +++ b/admin/authors.el @@ -55,7 +55,7 @@ files.") ("Andrew G Cohen" "Andrew Cohen") ("Anna M. Bigatti" "Anna Bigatti") ("Aurélien Aptel" "Aurelien Aptel") - ("Azeem Hasan" "Rahguzar" "rahguzar@zohomail.eu") + ("Azeem Hasan" "Rahguzar" "rahguzar@zohomail\\.eu") ("Barry A. Warsaw" "Barry A. Warsaw, Century Computing, Inc." "Barry A. Warsaw, ITB" "Barry Warsaw") ("Bastien Guerry" "Bastien .*bzg") @@ -66,10 +66,10 @@ files.") ("Bill Rozas" "Guillermo J. Rozas") ("Billy Zheng" "vil963@gmail\\.com") (nil "binjo\\.cn@gmail\\.com") - (nil "BlaCk_Void" "alstjr7375@daum.net") + (nil "BlaCk_Void" "alstjr7375@daum\\.net") (nil "bug-gnu-emacs@gnu\\.org") ; mistake ("Björn Torkelsson" "Bjorn Torkelsson") - (nil "brandon.irizarry@gmail.com") + (nil "brandon.irizarry@gmail\\.com") ("Brian Fox" "Brian J. Fox") ("Brian P Templeton" "BT Templeton") ("Brian Sniffen" "Brian T. Sniffen") @@ -80,7 +80,7 @@ files.") ("Clément Pit-Claudel" "Clément Pit--Claudel") (nil "Cristian" "crstml@libero\\.it") ("Le Trung Dan" "daanturo@gmail\\.com" "Daanturo") - (nil "D.K" "beerandhot@gmail.com") + (nil "D.K" "beerandhot@gmail\\.com") ("Daniel Freeman" "dannyfreeman") ("David Abrahams" "Dave Abrahams") ("David J. Biesack" "David Biesack") @@ -158,7 +158,7 @@ files.") ("Joseph M. Kelsey" "Joe Kelsey") ; FIXME ? ("Juan León Lahoz García" "Juan-Leon Lahoz Garcia") ("Jürgen Hötzel" "Juergen Hoetzel") - ("Justin Burkett" "justbur" "justin@burkett.cc") + ("Justin Burkett" "justbur" "justin@burkett\\.cc") (nil "k3tu0isui") (nil "kby@tilde\\.team") ("K. Shane Hartman" "Shane Hartman") @@ -201,7 +201,7 @@ files.") ("Michael Sperber" "Mike Sperber" "Michael Sperber \\[Mr. Preprocessor\\]") ("Michalis V" "^mvar") ("Miha Rihtaršič" "Miha Rihtarsic" "miha@kamnitnik\\.top" "miha") - (nil "mikpom" "mikpom@mikpom.ru") + (nil "mikpom" "mikpom@mikpom\\.ru") ("Mikio Nakajima" "Nakajima Mikio") (nil "montag451@laposte\\.net") ("Morgan Smith" "Morgan J\\. Smith") @@ -266,7 +266,7 @@ files.") (nil "ssnnoo") ("Steven L. Baur" "SL Baur" "Steven L Baur") ("Stewart M. Clamen" "Stewart Clamen") - (nil "StrawberryTea" "look@strawberrytea.xyz") + (nil "StrawberryTea" "look@strawberrytea\\.xyz") ("Stuart D. Herring" "Stuart Herring" "Davis Herring") ("T.V. Raman" "T\\. V\\. Raman") ("Taichi Kawabata" "KAWABATA,? Taichi") @@ -284,7 +284,7 @@ files.") ("Torbjörn Axelsson" "Torbjvrn Axelsson") ("Torbjörn Einarsson" "Torbj.*rn Einarsson") ("Toru Tomabechi" "Toru TOMABECHI") - ("Toshi Umehara" "niceume" "toshi@niceume.com") + ("Toshi Umehara" "niceume" "toshi@niceume\\.com") ("Tsugutomo Enami" "enami tsugutomo") ("Ulrich Müller" "Ulrich Mueller") (nil "vividsnow") commit 391e6f99fc8eed9cf2ede473b84be194aaab21c7 Author: Andrea Corallo Date: Tue Aug 20 22:48:16 2024 +0200 Update 'ldefs-boot.el' (don't merge) * lisp/ldefs-boot.el: Update. diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index ab791da3271..d4eb42472d8 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -738,7 +738,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `allout-mode'. +evaluate the variable `allout-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -760,7 +760,7 @@ for details on preparing Emacs for automatic allout activation. (push (purecopy '(allout-widgets 1 0)) package--builtin-versions) (autoload 'allout-widgets-setup "allout-widgets" "\ -Commission or decommission allout-widgets-mode along with allout-mode. +Commission or decommission `allout-widgets-mode' along with `allout-mode'. Meant to be used by customization of `allout-widgets-auto-activation'. @@ -811,7 +811,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `allout-widgets-mode'. +evaluate the variable `allout-widgets-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -1398,7 +1398,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `artist-mode'. +evaluate the variable `artist-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -1592,7 +1592,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `auto-revert-mode'. +evaluate the variable `auto-revert-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -1630,7 +1630,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `auto-revert-tail-mode'. +evaluate the variable `auto-revert-tail-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -2779,7 +2779,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `bug-reference-mode'. +evaluate the variable `bug-reference-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -2797,7 +2797,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `bug-reference-prog-mode'. +evaluate the variable `bug-reference-prog-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -4399,7 +4399,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `checkdoc-minor-mode'. +evaluate the variable `checkdoc-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -5208,11 +5208,13 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `compilation-shell-minor-mode'. +evaluate the variable `compilation-shell-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. +\\{compilation-shell-minor-mode-map} + (fn &optional ARG)" t) (autoload 'compilation-minor-mode "compile" "\ Toggle Compilation minor mode. @@ -5230,11 +5232,13 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `compilation-minor-mode'. +evaluate the variable `compilation-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. +\\{compilation-minor-mode-map} + (fn &optional ARG)" t) (autoload 'compilation-next-error-function "compile" "\ Advance to the next error message and visit the file where the error was. @@ -5331,7 +5335,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `completion-preview-mode'. +evaluate the variable `completion-preview-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -6006,7 +6010,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `cua-rectangle-mark-mode'. +evaluate the variable `cua-rectangle-mark-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -6033,7 +6037,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `cursor-intangible-mode'. +evaluate the variable `cursor-intangible-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -6057,7 +6061,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `cursor-sensor-mode'. +evaluate the variable `cursor-sensor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -6440,7 +6444,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `cwarn-mode'. +evaluate the variable `cwarn-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -6716,7 +6720,6 @@ Variables controlling indentation style and extra features: dcl-imenu-label-call Change the text that is used as sub-listing labels in imenu. -To run code after DCL mode has loaded, use `with-eval-after-load'. Turning on DCL mode calls the value of the variable `dcl-mode-hook' with no args, if that value is non-nil. @@ -7576,7 +7579,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `diff-minor-mode'. +evaluate the variable `diff-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -7744,7 +7747,7 @@ move to that file's line in the directory listing. If the current buffer isn't visiting a file, Dired `default-directory'. If in Dired already, pop up a level and goto old directory's line. -In case the proper Dired file line cannot be found, refresh the dired +In case the proper Dired file line cannot be found, refresh the Dired buffer and try again. When OTHER-WINDOW is non-nil, jump to Dired buffer in other window. @@ -7792,7 +7795,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `dirtrack-mode'. +evaluate the variable `dirtrack-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -7978,7 +7981,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `display-fill-column-indicator-mode'. +evaluate the variable `display-fill-column-indicator-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -8049,7 +8052,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `display-line-numbers-mode'. +evaluate the variable `display-line-numbers-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -8137,7 +8140,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `header-line-indent-mode'. +evaluate the variable `header-line-indent-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -8250,7 +8253,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `doc-view-minor-mode'. +evaluate the variable `doc-view-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -8321,7 +8324,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `double-mode'. +evaluate the variable `double-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -8809,7 +8812,7 @@ A second call of this function without changing point inserts the next match. A call with prefix PREFIX reads the symbol to insert from the minibuffer with completion. -(fn PREFIX)" '("P")) +(fn PREFIX)" t) (autoload 'ebrowse-tags-loop-continue "ebrowse" "\ Repeat last operation on files in tree. FIRST-TIME non-nil means this is not a repetition, but the first time. @@ -9341,6 +9344,79 @@ To change the default, set the variable `ediff-use-toolbar-p', which see." t) (register-definition-prefixes "semantic/edit" '("semantic-")) + +;;; Generated autoloads from editorconfig.el + +(push (purecopy '(editorconfig 0 11 0)) package--builtin-versions) +(defvar editorconfig-mode nil "\ +Non-nil if Editorconfig mode is enabled. +See the `editorconfig-mode' command +for a description of this minor mode. +Setting this variable directly does not take effect; +either customize it (see the info node `Easy Customization') +or call the function `editorconfig-mode'.") +(custom-autoload 'editorconfig-mode "editorconfig" nil) +(autoload 'editorconfig-mode "editorconfig" "\ +Toggle EditorConfig feature. + +This is a global minor mode. If called interactively, toggle the +`Editorconfig mode' mode. If the prefix argument is positive, enable +the mode, and if it is zero or negative, disable the mode. + +If called from Lisp, toggle the mode if ARG is `toggle'. Enable the +mode if ARG is nil, omitted, or is a positive number. Disable the mode +if ARG is a negative number. + +To check whether the minor mode is enabled in the current buffer, +evaluate `(default-value \\='editorconfig-mode)'. + +The mode's hook is called both when the mode is enabled and when it is +disabled. + +(fn &optional ARG)" t) +(register-definition-prefixes "editorconfig" '("editorconfig-")) + + +;;; Generated autoloads from editorconfig-conf-mode.el + +(autoload 'editorconfig-conf-mode "editorconfig-conf-mode" "\ +Major mode for editing .editorconfig files. + +(fn)" t) +(add-to-list 'auto-mode-alist '("\\.editorconfig\\'" . editorconfig-conf-mode)) +(register-definition-prefixes "editorconfig-conf-mode" '("editorconfig-conf-mode-")) + + +;;; Generated autoloads from editorconfig-core.el + +(register-definition-prefixes "editorconfig-core" '("editorconfig-core-")) + + +;;; Generated autoloads from editorconfig-core-handle.el + +(register-definition-prefixes "editorconfig-core-handle" '("editorconfig-core-handle")) + + +;;; Generated autoloads from editorconfig-fnmatch.el + +(register-definition-prefixes "editorconfig-fnmatch" '("editorconfig-fnmatch-")) + + +;;; Generated autoloads from editorconfig-tools.el + +(autoload 'editorconfig-apply "editorconfig-tools" "\ +Get and apply EditorConfig properties to current buffer. + +This function does not respect the values of `editorconfig-exclude-modes' and +`editorconfig-exclude-regexps' and always applies available properties. +Use `editorconfig-mode-apply' instead to make use of these variables." t) +(autoload 'editorconfig-find-current-editorconfig "editorconfig-tools" "\ +Find the closest .editorconfig file for current file." t) +(autoload 'editorconfig-display-current-properties "editorconfig-tools" "\ +Display EditorConfig properties extracted for current buffer." t) +(defalias 'describe-editorconfig-properties #'editorconfig-display-current-properties) +(register-definition-prefixes "editorconfig-tools" '("editorconfig-mode-apply")) + ;;; Generated autoloads from edmacro.el @@ -9659,7 +9735,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `electric-pair-mode'. +evaluate the variable `electric-pair-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -9688,7 +9764,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `elide-head-mode'. +evaluate the variable `elide-head-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -10073,7 +10149,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `enriched-mode'. +evaluate the variable `enriched-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -10306,7 +10382,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `epa-mail-mode'. +evaluate the variable `epa-mail-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -10421,7 +10497,7 @@ Look at CONFIG and try to expand GROUP. ;;; Generated autoloads from erc/erc.el -(push (purecopy '(erc 5 6)) package--builtin-versions) +(push (purecopy '(erc 5 6 0 30 1)) package--builtin-versions) (dolist (symbol '( erc-sasl erc-spelling ; 29 erc-imenu erc-nicks)) ; 30 (custom-add-load symbol symbol)) @@ -10471,7 +10547,7 @@ ERC assigns SERVER and FULL-NAME the associated keyword values and defers to `erc-compute-port', `erc-compute-user', and `erc-compute-nick' for those respective parameters. -(fn &key SERVER PORT NICK USER PASSWORD FULL-NAME ID)" '((let ((erc--display-context `((erc-interactive-display . erc) ,@erc--display-context))) (erc-select-read-args)))) +(fn &key SERVER PORT NICK USER PASSWORD FULL-NAME ID)" t) (defalias 'erc-select #'erc) (autoload 'erc-tls "erc" "\ Connect to an IRC server over a TLS-encrypted connection. @@ -10494,7 +10570,7 @@ See the alternative entry-point command `erc' as well as Info node `(erc) Connecting' for a fuller description of the various parameters, like ID. -(fn &key SERVER PORT NICK USER PASSWORD FULL-NAME CLIENT-CERTIFICATE ID)" '((let ((erc-default-port erc-default-port-tls) (erc--display-context `((erc-interactive-display . erc-tls) ,@erc--display-context))) (erc-select-read-args)))) +(fn &key SERVER PORT NICK USER PASSWORD FULL-NAME CLIENT-CERTIFICATE ID)" t) (autoload 'erc-handle-irc-url "erc" "\ Use ERC to IRC on HOST:PORT in CHANNEL. If ERC is already connected to HOST:PORT, simply /join CHANNEL. @@ -10726,14 +10802,16 @@ it has to be wrapped in `(eval (quote ...))'. If NAME is already defined as a test and Emacs is running in batch mode, an error is signaled. -(fn NAME () [DOCSTRING] [:expected-result RESULT-TYPE] [:tags \\='(TAG...)] BODY...)" nil 'macro) +(fn NAME () [DOCSTRING] [:expected-result RESULT-TYPE] [:tags \\='(TAG...)] BODY...)" nil t) +(function-put 'ert-deftest 'doc-string-elt 3) +(function-put 'ert-deftest 'lisp-indent-function 2) (autoload 'ert-run-tests-batch "ert" "\ Run the tests specified by SELECTOR, printing results to the terminal. -SELECTOR works as described in `ert-select-tests', except if -SELECTOR is nil, in which case all tests rather than none will be -run; this makes the command line \"emacs -batch -l my-tests.el -f -ert-run-tests-batch-and-exit\" useful. +SELECTOR selects which tests to run as described in `ert-select-tests' when +called with its second argument t, except if SELECTOR is nil, in which case +all tests rather than none will be run; this makes the command line + \"emacs -batch -l my-tests.el -f ert-run-tests-batch-and-exit\" useful. Returns the stats object. @@ -10750,7 +10828,9 @@ the tests). (autoload 'ert-run-tests-interactively "ert" "\ Run the tests specified by SELECTOR and display the results in a buffer. -SELECTOR works as described in `ert-select-tests'. +SELECTOR selects which tests to run as described in `ert-select-tests' +when called with its second argument t. Interactively, prompt for +SELECTOR; the default t means run all the defined tests. (fn SELECTOR)" t) (defalias 'ert #'ert-run-tests-interactively) @@ -12044,7 +12124,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `buffer-face-mode'. +evaluate the variable `buffer-face-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -13054,11 +13134,13 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `flymake-mode'. +evaluate the variable `flymake-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. +\\{flymake-mode-map} + (fn &optional ARG)" t) (autoload 'flymake-mode-on "flymake" "\ Turn Flymake mode on.") @@ -13131,7 +13213,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `flyspell-mode'. +evaluate the variable `flyspell-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -13208,7 +13290,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `follow-mode'. +evaluate the variable `follow-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -13306,7 +13388,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `footnote-mode'. +evaluate the variable `footnote-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -13947,7 +14029,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `glasses-mode'. +evaluate the variable `glasses-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -13978,7 +14060,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `glyphless-display-mode'. +evaluate the variable `glyphless-display-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -14105,8 +14187,8 @@ Read news as a child unplugged. (autoload 'gnus-agentize "gnus-agent" "\ Allow Gnus to be an offline newsreader. -The gnus-agentize function is now called internally by gnus when -gnus-agent is set. If you wish to avoid calling gnus-agentize, +The `gnus-agentize' function is now called internally by gnus when +`gnus-agent' is set. If you wish to avoid calling `gnus-agentize', customize `gnus-agent' to nil. This will modify the `gnus-setup-news-hook', and @@ -14470,7 +14552,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `gnus-mailing-list-mode'. +evaluate the variable `gnus-mailing-list-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -14869,7 +14951,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `goto-address-mode'. +evaluate the variable `goto-address-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -14911,7 +14993,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `goto-address-prog-mode'. +evaluate the variable `goto-address-prog-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -15778,7 +15860,7 @@ gives the window that lists the options.") (fn HELP-LINE HELP-TEXT HELPED-MAP BUFFER-NAME)") -(register-definition-prefixes "help-macro" '("make-help-screen")) +(register-definition-prefixes "help-macro" '("help-for-help-use-variable-pitch" "make-help-screen")) ;;; Generated autoloads from help-mode.el @@ -16050,8 +16132,8 @@ which can be called interactively, are: (See `font-lock-keywords'.) They may be edited and re-loaded with \\[hi-lock-find-patterns], any valid `font-lock-keywords' form is acceptable. When a file is loaded the patterns are read if `hi-lock-file-patterns-policy' is - `ask' and the user responds y to the prompt, or if - `hi-lock-file-patterns-policy' is bound to a function and that + `always', or if it's `ask' and the user responds y to the prompt, + or if `hi-lock-file-patterns-policy' is bound to a function and that function returns t. \\[hi-lock-find-patterns] @@ -16077,7 +16159,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `hi-lock-mode'. +evaluate the variable `hi-lock-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -16253,7 +16335,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `hide-ifdef-mode'. +evaluate the variable `hide-ifdef-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -16330,7 +16412,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `hs-minor-mode'. +evaluate the variable `hs-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -16375,7 +16457,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `highlight-changes-mode'. +evaluate the variable `highlight-changes-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -16403,7 +16485,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `highlight-changes-visible-mode'. +evaluate the variable `highlight-changes-visible-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -16541,7 +16623,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `hl-line-mode'. +evaluate the variable `hl-line-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -16693,7 +16775,6 @@ Major mode for editing Html, powered by tree-sitter. ;;; Generated autoloads from htmlfontify.el -(push (purecopy '(htmlfontify 0 21)) package--builtin-versions) (autoload 'htmlfontify-buffer "htmlfontify" "\ Create a new buffer, named for the current buffer + a .html extension, containing an inline CSS-stylesheet and formatted CSS-markup HTML @@ -16763,7 +16844,8 @@ inlined into the compiled format versions. This means that if you change its definition, you should explicitly call `ibuffer-recompile-formats'. -(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)" nil 'macro) +(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)" nil t) +(function-put 'define-ibuffer-column 'lisp-indent-function 'defun) (autoload 'define-ibuffer-sorter "ibuf-macs" "\ Define a method of sorting named NAME. DOCUMENTATION is the documentation of the function, which will be called @@ -16774,7 +16856,9 @@ For sorting, the forms in BODY will be evaluated with `a' bound to one buffer object, and `b' bound to another. BODY should return a non-nil value if and only if `a' is \"less than\" `b'. -(fn NAME DOCUMENTATION (&key DESCRIPTION) &rest BODY)" nil 'macro) +(fn NAME DOCUMENTATION (&key DESCRIPTION) &rest BODY)" nil t) +(function-put 'define-ibuffer-sorter 'lisp-indent-function 1) +(function-put 'define-ibuffer-sorter 'doc-string-elt 2) (autoload 'define-ibuffer-op "ibuf-macs" "\ Generate a function which operates on a buffer. OP becomes the name of the function; if it doesn't begin with @@ -16813,7 +16897,9 @@ BODY define the operation; they are forms to evaluate per each marked buffer. BODY is evaluated with `buf' bound to the buffer object. -(fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING BEFORE AFTER COMPLEX) &rest BODY)" nil 'macro) +(fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING BEFORE AFTER COMPLEX) &rest BODY)" nil t) +(function-put 'define-ibuffer-op 'lisp-indent-function 2) +(function-put 'define-ibuffer-op 'doc-string-elt 3) (autoload 'define-ibuffer-filter "ibuf-macs" "\ Define a filter named NAME. DOCUMENTATION is the documentation of the function. @@ -16828,7 +16914,9 @@ not a particular buffer should be displayed or not. The forms in BODY will be evaluated with BUF bound to the buffer object, and QUALIFIER bound to the current value of the filter. -(fn NAME DOCUMENTATION (&key READER DESCRIPTION) &rest BODY)" nil 'macro) +(fn NAME DOCUMENTATION (&key READER DESCRIPTION) &rest BODY)" nil t) +(function-put 'define-ibuffer-filter 'lisp-indent-function 2) +(function-put 'define-ibuffer-filter 'doc-string-elt 2) (register-definition-prefixes "ibuf-macs" '("ibuffer-")) @@ -17548,7 +17636,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `iimage-mode'. +evaluate the variable `iimage-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -17643,7 +17731,9 @@ IMAGE must be an image created with `create-image' or `defimage'. IMAGE is displayed by putting an overlay into the current buffer with a `before-string' STRING that has a `display' property whose value is the image. STRING defaults to \"x\" if it's nil or omitted. -The overlay created by this function has the `put-image' property set to t. +Upon success, this function returns the created overlay with its +`put-image' property set to t. + POS may be an integer or marker. AREA is where to display the image. AREA nil or omitted means display it in the text area, a value of `left-margin' means @@ -17707,7 +17797,7 @@ string containing the actual image data. If the property `:type TYPE' is omitted or nil, try to determine the image type from its first few bytes of image data. If that doesn't work, and the property `:file FILE' provide a file name, use its file extension as indication of the -image type. If `:type TYPE' is provided, it must match the actual type +image type. If `:type TYPE' is provided, it must match the actual type determined for FILE or DATA by `create-image'. The function returns the image specification for the first specification @@ -17938,7 +18028,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `image-dired-minor-mode'. +evaluate the variable `image-dired-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -18088,7 +18178,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `image-minor-mode'. +evaluate the variable `image-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -19013,7 +19103,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `ispell-minor-mode'. +evaluate the variable `ispell-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -20540,7 +20630,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `master-mode'. +evaluate the variable `master-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -20855,8 +20945,8 @@ the MH mail system. (fn &optional ARG)" t) (autoload 'mh-folder-mode "mh-folder" "\ -Major MH-E mode for \"editing\" an MH folder scan listing.\\ - +Major MH-E mode for \"editing\" an MH folder scan listing. +\\ You can show the message the cursor is pointing to, and step through the messages. Messages can be marked for deletion or refiling into another folder; these commands are executed all at once with a @@ -21951,11 +22041,20 @@ Run `traceroute-program' for TARGET. (fn TARGET)" t) (autoload 'ping "net-utils" "\ -Ping HOST. -If your system's ping continues until interrupted, you can try setting -`ping-program-options'. +Ping HOST using `ping-program'. -(fn HOST)" t) +The user option `ping-program-options' is passed as flags to +`ping-program'. With a \\[universal-argument] prefix arg, prompt the +user for the flags to pass. + +When called from Lisp, the optional argument FLAGS, if non-nil, is a +list of strings that will be passed as flags for the `ping-program'. If +FLAGS is nil, `ping-program-options' will be used. + +If your system's ping continues until interrupted, you can try using a +prefix argument or setting `ping-program-options'. + +(fn HOST &optional FLAGS)" t) (autoload 'nslookup-host "net-utils" "\ Look up the DNS information for HOST (name or IP address). Optional argument NAME-SERVER says which server to use for @@ -22944,7 +23043,7 @@ Coloring: ;;; Generated autoloads from org/org.el -(push (purecopy '(org 9 7 4)) package--builtin-versions) +(push (purecopy '(org 9 7 10)) package--builtin-versions) (autoload 'org-babel-do-load-languages "org" "\ Load the languages defined in `org-babel-load-languages'. @@ -23690,7 +23789,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `outline-minor-mode'. +evaluate the variable `outline-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -24206,6 +24305,12 @@ return a \"likely\" value even for somewhat malformed strings. The values returned are identical to those of `decode-time', but any unknown values other than DST are returned as nil, and an unknown DST value is returned as -1. +Note that, unlike `decode-time', this function does not interpret +the time string, and in particular the values of DST and TZ do not +affect the returned value of date and time, they only affect the +last two members of the returned value. This function simply +parses the textual representation of date and time into separate +numerical values, and doesn't care whether the time is local or UTC. See `decode-time' for the meaning of FORM. @@ -24216,7 +24321,8 @@ See `decode-time' for the meaning of FORM. ;;; Generated autoloads from progmodes/pascal.el (autoload 'pascal-mode "pascal" "\ -Major mode for editing Pascal code.\\ +Major mode for editing Pascal code. +\\ TAB indents for Pascal code. Delete converts tabs to spaces as it moves back. \\[completion-at-point] completes the word around current point with respect to position in code @@ -24250,7 +24356,7 @@ Variables controlling indentation/edit style: regardless of where in the line point is when the TAB command is used. `pascal-auto-endcomments' (default t) Non-nil means a comment { ... } is set after the ends which ends cases and - functions. The name of the function or case will be set between the braces. + functions. The name of the function or case will be set between the braces. `pascal-auto-lineup' (default t) List of contexts where auto lineup of :'s or ='s should be done. @@ -24926,7 +25032,7 @@ for PORT, HOSTNAME, DOCUMENT-ROOT and ROUTER-SCRIPT. (autoload 'run-php "php-ts-mode" "\ Run an PHP interpreter as a inferior process. -Arguments CMD an CONFIG, default to `php-ts-mode-php-executable' +Arguments CMD and CONFIG, default to `php-ts-mode-php-executable' and `php-ts-mode-php-config' respectively, control which PHP interpreter is run. Prompt for CMD if `php-ts-mode-php-executable' is nil. Optional CONFIG, if supplied, is the php.ini file to use. @@ -26906,11 +27012,13 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `rectangle-mark-mode'. +evaluate the variable `rectangle-mark-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. +\\{rectangle-mark-mode-map} + (fn &optional ARG)" t) (register-definition-prefixes "rect" '("apply-on-rectangle" "clear-rectangle-line" "delete-" "extract-rectangle-" "killed-rectangle" "ope" "rectangle-" "spaces-string" "string-rectangle-")) @@ -26946,7 +27054,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `refill-mode'. +evaluate the variable `refill-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -27008,7 +27116,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `reftex-mode'. +evaluate the variable `reftex-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -27330,7 +27438,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `reveal-mode'. +evaluate the variable `reveal-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -27913,7 +28021,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `rng-validate-mode'. +evaluate the variable `rng-validate-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -28039,7 +28147,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `rst-minor-mode'. +evaluate the variable `rst-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -28099,7 +28207,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `ruler-mode'. +evaluate the variable `ruler-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -28466,7 +28574,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `save-place-mode'. +evaluate the variable `save-place-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -28600,7 +28708,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `scroll-lock-mode'. +evaluate the variable `scroll-lock-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -28830,8 +28938,8 @@ This also saves the value of `send-mail-function' via Customize.") Major mode for editing mail to be sent. Like Text Mode but with these additional commands: -\\[mail-send] mail-send (send the message) -\\[mail-send-and-exit] mail-send-and-exit (send the message and exit) +\\[mail-send] `mail-send' (send the message) +\\[mail-send-and-exit] `mail-send-and-exit' (send the message and exit) Here are commands that move to a header field (and create it if there isn't): \\[mail-to] move to To: \\[mail-subject] move to Subj: @@ -28840,9 +28948,9 @@ Here are commands that move to a header field (and create it if there isn't): \\[mail-mail-reply-to] move to Mail-Reply-To: \\[mail-mail-followup-to] move to Mail-Followup-To: \\[mail-text] move to message text. -\\[mail-signature] mail-signature (insert `mail-signature-file' file). -\\[mail-yank-original] mail-yank-original (insert current message, in Rmail). -\\[mail-fill-yanked-message] mail-fill-yanked-message (fill what was yanked). +\\[mail-signature] `mail-signature' (insert `mail-signature-file' file). +\\[mail-yank-original] `mail-yank-original' (insert current message, in Rmail). +\\[mail-fill-yanked-message] `mail-fill-yanked-message' (fill what was yanked). \\[mail-insert-file] insert a text file into the message. \\[mail-add-attachment] attach to the message a file as binary attachment. Turning on Mail mode runs the normal hooks `text-mode-hook' and @@ -29680,7 +29788,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `smerge-mode'. +evaluate the variable `smerge-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -29795,7 +29903,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `so-long-minor-mode'. +evaluate the variable `so-long-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -30969,6 +31077,61 @@ removed. (fn STRING)") (function-put 'string-clean-whitespace 'important-return-value 't) +(autoload 'string-fill "subr-x" "\ +Try to word-wrap STRING so that it displays with lines no wider than WIDTH. +STRING is wrapped where there is whitespace in it. If there are +individual words in STRING that are wider than WIDTH, the result +will have lines that are wider than WIDTH. + +(fn STRING WIDTH)") +(function-put 'string-fill 'important-return-value 't) +(autoload 'string-limit "subr-x" "\ +Return a substring of STRING that is (up to) LENGTH characters long. +If STRING is shorter than or equal to LENGTH characters, return the +entire string unchanged. + +If STRING is longer than LENGTH characters, return a substring +consisting of the first LENGTH characters of STRING. If END is +non-nil, return the last LENGTH characters instead. + +If CODING-SYSTEM is non-nil, STRING will be encoded before +limiting, and LENGTH is interpreted as the number of bytes to +limit the string to. The result will be a unibyte string that is +shorter than LENGTH, but will not contain \"partial\" +characters (or glyphs), even if CODING-SYSTEM encodes characters +with several bytes per character. If the coding system specifies +prefix like the byte order mark (aka \"BOM\") or a shift-in sequence, +their bytes will be normally counted as part of LENGTH. This is +the case, for instance, with `utf-16'. If this isn't desired, use a +coding system that doesn't specify a BOM, like `utf-16le' or `utf-16be'. + +When shortening strings for display purposes, +`truncate-string-to-width' is almost always a better alternative +than this function. + +(fn STRING LENGTH &optional END CODING-SYSTEM)") +(function-put 'string-limit 'important-return-value 't) +(autoload 'string-pad "subr-x" "\ +Pad STRING to LENGTH using PADDING. +If PADDING is nil, the space character is used. If not nil, it +should be a character. + +If STRING is longer than the absolute value of LENGTH, no padding +is done. + +If START is nil (or not present), the padding is done to the end +of the string, and if non-nil, padding is done to the start of +the string. + +(fn STRING LENGTH &optional PADDING START)") +(function-put 'string-pad 'pure 't) +(function-put 'string-pad 'side-effect-free 't) +(autoload 'string-chop-newline "subr-x" "\ +Remove the final newline (if any) from STRING. + +(fn STRING)") +(function-put 'string-chop-newline 'pure 't) +(function-put 'string-chop-newline 'side-effect-free 't) (autoload 'named-let "subr-x" "\ Looping construct taken from Scheme. Like `let', bind variables in BINDINGS and then evaluate BODY, @@ -31007,7 +31170,7 @@ this defaults to the current buffer. Query the user for a process and return the process object. (fn PROMPT)") -(register-definition-prefixes "subr-x" '("emacs-etc--hide-local-variables" "hash-table-" "internal--thread-argument" "replace-region-contents" "string-" "thread-" "with-buffer-unmodified-if-unchanged")) +(register-definition-prefixes "subr-x" '("emacs-etc--hide-local-variables" "hash-table-" "internal--thread-argument" "replace-region-contents" "string-remove-" "thread-" "with-buffer-unmodified-if-unchanged")) ;;; Generated autoloads from progmodes/subword.el @@ -31043,7 +31206,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `subword-mode'. +evaluate the variable `subword-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -31092,7 +31255,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `superword-mode'. +evaluate the variable `superword-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -31218,7 +31381,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `tab-line-mode'. +evaluate the variable `tab-line-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -31301,7 +31464,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `table-fixed-width-mode'. +evaluate the variable `table-fixed-width-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -31336,8 +31499,8 @@ first cell. |-!- | | | +-----+-----+-----+ -Inside a table cell, there are special key bindings. \\ - +Inside a table cell, there are special key bindings. +\\ M-9 \\[table-widen-cell] (or \\[universal-argument] 9 \\[table-widen-cell]) widens the first cell by 9 character width, which results as @@ -31346,7 +31509,7 @@ width, which results as +--------------+-----+-----+ Type TAB \\[table-widen-cell] then type TAB M-2 M-7 \\[table-widen-cell] (or \\[universal-argument] 2 7 \\[table-widen-cell]). Typing -TAB moves the point forward by a cell. The result now looks like this: +TAB moves the point forward by a cell. The result now looks like this: +--------------+------+--------------------------------+ | | |-!- | @@ -32557,7 +32720,10 @@ where the mouse button is clicked to find the thing nearby. (fn EVENT THING &optional NO-PROPERTIES)") (autoload 'sexp-at-point "thingatpt" "\ -Return the sexp at point, or nil if none is found.") +Return the sexp at point, or nil if none is found. +This is for returning the Lisp object represented by text at point; +use (thing-at-point \\='sexp) instead if you rather want the balanced +expression at point regardless of Lisp syntax.") (autoload 'symbol-at-point "thingatpt" "\ Return the symbol at point, or nil if none is found.") (autoload 'number-at-point "thingatpt" "\ @@ -32722,7 +32888,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `tildify-mode'. +evaluate the variable `tildify-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -33571,13 +33737,13 @@ Add archive file name handler to `file-name-handler-alist'." (when (and tramp-ar ;;; Generated autoloads from net/trampver.el -(push (purecopy '(tramp 2 7 1 -1)) package--builtin-versions) +(push (purecopy '(tramp 2 7 1 30 1)) package--builtin-versions) (register-definition-prefixes "trampver" '("tramp-")) ;;; Generated autoloads from transient.el -(push (purecopy '(transient 0 6 0)) package--builtin-versions) +(push (purecopy '(transient 0 7 2 1)) package--builtin-versions) (autoload 'transient-insert-suffix "transient" "\ Insert a SUFFIX into PREFIX before LOC. PREFIX is a prefix command, a symbol. @@ -33628,7 +33794,7 @@ See info node `(transient)Modifying Existing Transients'. (fn PREFIX LOC)") (function-put 'transient-remove-suffix 'lisp-indent-function 'defun) -(register-definition-prefixes "transient" '("static-if" "transient")) +(register-definition-prefixes "transient" '("find-function-advised-original" "transient")) ;;; Generated autoloads from tree-widget.el @@ -34034,7 +34200,7 @@ URL-encoded before it's used. (autoload 'url-retrieve-synchronously "url" "\ Retrieve URL synchronously. Return the buffer containing the data, or nil if there are no data -associated with it (the case for dired, info, or mailto URLs that need +associated with it (the case for Dired, info, or mailto URLs that need no further processing). URL is either a string or a parsed URL. If SILENT is non-nil, don't do any messaging while retrieving. @@ -34624,7 +34790,7 @@ is \"www.fsf.co.uk\". ;;; Generated autoloads from use-package/use-package.el -(push (purecopy '(use-package 2 4 5)) package--builtin-versions) +(push (purecopy '(use-package 2 4 6)) package--builtin-versions) ;;; Generated autoloads from use-package/use-package-bind-key.el @@ -36594,7 +36760,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `view-mode'. +evaluate the variable `view-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -36689,7 +36855,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `visual-wrap-prefix-mode'. +evaluate the variable `visual-wrap-prefix-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -36920,6 +37086,183 @@ disabled. (fn &optional ARG)" t) (register-definition-prefixes "which-func" '("which-func")) + +;;; Generated autoloads from which-key.el + +(push (purecopy '(which-key 3 6 0)) package--builtin-versions) +(defvar which-key-mode nil "\ +Non-nil if Which-Key mode is enabled. +See the `which-key-mode' command +for a description of this minor mode. +Setting this variable directly does not take effect; +either customize it (see the info node `Easy Customization') +or call the function `which-key-mode'.") +(custom-autoload 'which-key-mode "which-key" nil) +(autoload 'which-key-mode "which-key" "\ +Toggle `which-key-mode'. + +`which-key' is a minor mode that displays the key bindings following +your currently entered incomplete command (a prefix) in a popup. + +For example, after enabling the minor mode, if you enter \\`C-x' and +wait for one second (by default), the minibuffer will expand with all +available key bindings that follow \\`C-x' (or as many as space allows +given your settings). + +This is a global minor mode. If called interactively, toggle the +`Which-Key mode' mode. If the prefix argument is positive, enable the +mode, and if it is zero or negative, disable the mode. + +If called from Lisp, toggle the mode if ARG is `toggle'. Enable the +mode if ARG is nil, omitted, or is a positive number. Disable the mode +if ARG is a negative number. + +To check whether the minor mode is enabled in the current buffer, +evaluate `(default-value \\='which-key-mode)'. + +The mode's hook is called both when the mode is enabled and when it is +disabled. + +(fn &optional ARG)" t) +(autoload 'which-key-setup-side-window-right "which-key" "\ +Set up side-window on right." t) +(autoload 'which-key-setup-side-window-right-bottom "which-key" "\ +Set up side-window on right if space allows. +Otherwise, use bottom." t) +(autoload 'which-key-setup-side-window-bottom "which-key" "\ +Set up side-window that opens on bottom." t) +(autoload 'which-key-setup-minibuffer "which-key" "\ +Set up minibuffer display. +Do not use this setup if you use the paging commands. Instead use +`which-key-setup-side-window-bottom', which is nearly identical +but more functional." t) +(autoload 'which-key-add-keymap-based-replacements "which-key" "\ +Replace the description of KEY using REPLACEMENT in KEYMAP. +KEY should take a format suitable for use in `kbd'. REPLACEMENT +should be a cons cell of the form (STRING . COMMAND) for each +REPLACEMENT, where STRING is the replacement string and COMMAND +is a symbol corresponding to the intended command to be +replaced. COMMAND can be nil if the binding corresponds to a key +prefix. An example is + +(which-key-add-keymap-based-replacements global-map + \"C-x w\" \\='(\"Save as\" . write-file)). + +For backwards compatibility, REPLACEMENT can also be a string, +but the above format is preferred, and the option to use a string +for REPLACEMENT will eventually be removed. + +(fn KEYMAP KEY REPLACEMENT &rest MORE)") +(function-put 'which-key-add-keymap-based-replacements 'lisp-indent-function 'defun) +(autoload 'which-key-add-key-based-replacements "which-key" "\ +Replace the description of KEY-SEQUENCE with REPLACEMENT. +KEY-SEQUENCE is a string suitable for use in `kbd'. +REPLACEMENT may either be a string, as in + +(which-key-add-key-based-replacements \"C-x 1\" \"maximize\") + +a cons of two strings as in + +(which-key-add-key-based-replacements \"C-x 8\" + \\='(\"unicode\" . \"Unicode keys\")) + +or a function that takes a (KEY . BINDING) cons and returns a +replacement. + +In the second case, the second string is used to provide a longer +name for the keys under a prefix. + +MORE allows you to specify additional KEY REPLACEMENT pairs. All +replacements are added to `which-key-replacement-alist'. + +(fn KEY-SEQUENCE REPLACEMENT &rest MORE)") +(autoload 'which-key-add-major-mode-key-based-replacements "which-key" "\ +Functions like `which-key-add-key-based-replacements'. +The difference is that MODE specifies the `major-mode' that must +be active for KEY-SEQUENCE and REPLACEMENT (MORE contains +addition KEY-SEQUENCE REPLACEMENT pairs) to apply. + +(fn MODE KEY-SEQUENCE REPLACEMENT &rest MORE)") +(function-put 'which-key-add-major-mode-key-based-replacements 'lisp-indent-function 'defun) +(autoload 'which-key-reload-key-sequence "which-key" "\ +Simulate entering the key sequence KEY-SEQ. +KEY-SEQ should be a list of events as produced by +`listify-key-sequence'. If nil, KEY-SEQ defaults to +`which-key--current-key-list'. Any prefix arguments that were +used are reapplied to the new key sequence. + +(fn &optional KEY-SEQ)") +(autoload 'which-key-show-standard-help "which-key" "\ +Call the command in `which-key--prefix-help-cmd-backup'. +Usually this is `describe-prefix-bindings'. + +(fn &optional _)" t) +(autoload 'which-key-show-next-page-no-cycle "which-key" "\ +Show next page of keys or `which-key-show-standard-help'." t) +(autoload 'which-key-show-previous-page-no-cycle "which-key" "\ +Show previous page of keys if one exists." t) +(autoload 'which-key-show-next-page-cycle "which-key" "\ +Show the next page of keys, cycling from end to beginning. + +(fn &optional _)" t) +(autoload 'which-key-show-previous-page-cycle "which-key" "\ +Show the previous page of keys, cycling from beginning to end. + +(fn &optional _)" t) +(autoload 'which-key-show-top-level "which-key" "\ +Show top-level bindings. + +(fn &optional _)" t) +(autoload 'which-key-show-major-mode "which-key" "\ +Show top-level bindings in the map of the current major mode. +This function will also detect evil bindings made using +`evil-define-key' in this map. These bindings will depend on the +current evil state. + +(fn &optional ALL)" t) +(autoload 'which-key-show-full-major-mode "which-key" "\ +Show all bindings in the map of the current major mode. +This function will also detect evil bindings made using +`evil-define-key' in this map. These bindings will depend on the +current evil state." t) +(autoload 'which-key-dump-bindings "which-key" "\ +Dump bindings from PREFIX into buffer named BUFFER-NAME. +PREFIX should be a string suitable for `kbd'. + +(fn PREFIX BUFFER-NAME)" t) +(autoload 'which-key-undo-key "which-key" "\ +Undo last keypress and force which-key update. + +(fn &optional _)" t) +(autoload 'which-key-C-h-dispatch "which-key" "\ +Dispatch \\`C-h' commands by looking up key in `which-key-C-h-map'. +This command is always accessible (from any prefix) if +`which-key-use-C-h-commands' is non nil." t) +(autoload 'which-key-show-keymap "which-key" "\ +Show the top-level bindings in KEYMAP using which-key. +KEYMAP is selected interactively from all available keymaps. + +If NO-PAGING is non-nil, which-key will not intercept subsequent +keypresses for the paging functionality. + +(fn KEYMAP &optional NO-PAGING)" t) +(autoload 'which-key-show-full-keymap "which-key" "\ +Show all bindings in KEYMAP using which-key. +KEYMAP is selected interactively from all available keymaps. + +(fn KEYMAP)" t) +(autoload 'which-key-show-minor-mode-keymap "which-key" "\ +Show the top-level bindings in KEYMAP using which-key. +KEYMAP is selected interactively by mode in +`minor-mode-map-alist'. + +(fn &optional ALL)" t) +(autoload 'which-key-show-full-minor-mode-keymap "which-key" "\ +Show all bindings in KEYMAP using which-key. +KEYMAP is selected interactively by mode in +`minor-mode-map-alist'." t) +(register-definition-prefixes "which-key" '("evil-state" "which-key-")) + ;;; Generated autoloads from whitespace.el @@ -36942,7 +37285,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `whitespace-mode'. +evaluate the variable `whitespace-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -36967,7 +37310,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `whitespace-newline-mode'. +evaluate the variable `whitespace-newline-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -37341,7 +37684,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `widget-minor-mode'. +evaluate the variable `widget-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -37586,7 +37929,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `window-tool-bar-mode'. +evaluate the variable `window-tool-bar-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -37694,7 +38037,7 @@ available on your system. (fn &optional TOPIC RE-CACHE)" t) (autoload 'woman-dired-find-file "woman" "\ -In dired, run the WoMan man-page browser on this file." t) +In Dired, run the WoMan man-page browser on this file." t) (autoload 'woman-find-file "woman" "\ Find, decode and browse a specific UN*X man-page source file FILE-NAME. Use existing buffer if possible; reformat only if prefix arg given. @@ -37728,7 +38071,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `word-wrap-whitespace-mode'. +evaluate the variable `word-wrap-whitespace-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -38081,9 +38424,9 @@ run a specific program. The program must be a member of (provide 'loaddefs) ;; Local Variables: -;; no-byte-compile: t ;; version-control: never ;; no-update-autoloads: t +;; no-byte-compile: t ;; no-native-compile: t ;; coding: utf-8-emacs-unix ;; End: commit 8ccc165f95aea3fd9c600fab22e2644a01ce822c Author: Andrea Corallo Date: Tue Aug 20 22:46:40 2024 +0200 * doc/man/emacsclient.1: Bump date. diff --git a/doc/man/emacsclient.1 b/doc/man/emacsclient.1 index f5c9918be85..0174b27e3e4 100644 --- a/doc/man/emacsclient.1 +++ b/doc/man/emacsclient.1 @@ -1,5 +1,5 @@ .\" See section COPYING for conditions for redistribution. -.TH EMACSCLIENT 1 "2024-06-13" "GNU Emacs" "GNU" +.TH EMACSCLIENT 1 "2024-08-20" "GNU Emacs" "GNU" .\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection .\" other params are allowed: see man(7), man(1) .SH NAME commit 633cc24e4b16feddb8ebd9b6bd96920395fee063 Author: Andrea Corallo Date: Sun Aug 18 12:22:38 2024 +0200 Bump Emacs version to 30.0.90 * nt/README.W32: Update version. * msdos/sed2v2.inp: Likewise. * configure.ac: Likewise. * README: Likewise. diff --git a/README b/README index 54da3587754..85be7027abb 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ Copyright (C) 2001-2024 Free Software Foundation, Inc. See the end of the file for license conditions. -This directory tree holds version 30.0.60 of GNU Emacs, the extensible, +This directory tree holds version 30.0.90 of GNU Emacs, the extensible, customizable, self-documenting real-time display editor. The file INSTALL in this directory says how to build and install GNU diff --git a/configure.ac b/configure.ac index d054104dd17..6e9d44e2ce8 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ dnl along with GNU Emacs. If not, see . AC_PREREQ([2.65]) dnl Note this is parsed by (at least) make-dist and lisp/cedet/ede/emacs.el. -AC_INIT([GNU Emacs], [30.0.60], [bug-gnu-emacs@gnu.org], [], +AC_INIT([GNU Emacs], [30.0.90], [bug-gnu-emacs@gnu.org], [], [https://www.gnu.org/software/emacs/]) if test "$XCONFIGURE" = "android"; then diff --git a/msdos/sed2v2.inp b/msdos/sed2v2.inp index 3c719e3f9ac..28c11724a5f 100644 --- a/msdos/sed2v2.inp +++ b/msdos/sed2v2.inp @@ -67,7 +67,7 @@ /^#undef PACKAGE_NAME/s/^.*$/#define PACKAGE_NAME ""/ /^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/ /^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/ -/^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION "30.0.60"/ +/^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION "30.0.90"/ /^#undef SYSTEM_TYPE/s/^.*$/#define SYSTEM_TYPE "ms-dos"/ /^#undef HAVE_DECL_GETENV/s/^.*$/#define HAVE_DECL_GETENV 1/ /^#undef SYS_SIGLIST_DECLARED/s/^.*$/#define SYS_SIGLIST_DECLARED 1/ diff --git a/nt/README.W32 b/nt/README.W32 index 5517d697d69..b64fb5feb9d 100644 --- a/nt/README.W32 +++ b/nt/README.W32 @@ -1,7 +1,7 @@ Copyright (C) 2001-2024 Free Software Foundation, Inc. See the end of the file for license conditions. - Emacs version 30.0.60 for MS-Windows + Emacs version 30.0.90 for MS-Windows This README file describes how to set up and run a precompiled distribution of the latest version of GNU Emacs for MS-Windows. You commit e18db9c6d2d83ed1ef7b0121ec357166fa7032bf Author: Andrea Corallo Date: Tue Aug 20 12:56:36 2024 +0200 Update Changelogs * ChangeLog.4: Re-generate. * ChangeLog.3: Fix some type and style. diff --git a/ChangeLog.3 b/ChangeLog.3 index 6efeb8f5dd5..47e99304941 100644 --- a/ChangeLog.3 +++ b/ChangeLog.3 @@ -46460,7 +46460,7 @@ * lisp/subr.el (ctl-x-map): Initialize inside the declaration. - * src/command.h (control_x_map): + * src/commands.h (control_x_map): * src/keymap.c (control_x_map): Delete variable. (syms_of_keymap): * src/keyboard.c (keys_of_keyboard): @@ -99202,11 +99202,12 @@ Improve ERC's matching of nicks and URLs (bug#38257) - * lisp/erc/erc-{button,match}.el (erc-{button,match}-syntax-table): + * lisp/erc/erc-button.el (erc-button-syntax-table): Omit (, ), and '; as they're not valid nick characters, per RFC 2812 section 2.3.1. This enables correct matching/highlighting of nicks when they're surrounded by parens, like (nick), and when adjacent to an apostrophe, like nick's. + * lisp/erc/erc-match.el (erc-match-syntax-table): Likewise. * lisp/erc/erc-button.el (erc-button-url-regexp): Use the regexp from browse-url-button-regexp, which among other things, seems to handle surrounding pair of parens better. @@ -149159,7 +149160,7 @@ 2018-09-26 Charles A. Roelli - * lisp/vc-bzr.el (log-view-current-tag-function): Remove unused defvar. + * lisp/vc/vc-bzr.el (log-view-current-tag-function): Remove unused defvar. 2018-09-26 Alan Mackenzie @@ -160419,7 +160420,7 @@ The split regexp is modified to match either `@` or `.` as domain separator to comply with RFC2919 IDs too. - * lisp/nnmail.el: Add new `list' split abbreviation matching common + * lisp/gnus/nnmail.el: Add new `list' split abbreviation matching common mailing-list headers. 2018-04-11 Lars Ingebrigtsen diff --git a/ChangeLog.4 b/ChangeLog.4 index 1cd5568e4db..e2c6c9f9f26 100644 --- a/ChangeLog.4 +++ b/ChangeLog.4 @@ -1,3 +1,78182 @@ +2024-08-20 Andrea Corallo + + Update AUTHORS + + * etc/AUTHORS: Re-generate. + * admin/authors.el (authors-fixed-entries): Add entry. + +2024-08-20 Andrea Corallo + + * admin/authors.el (authors-aliases, authors-ignored-files): Update. + + * admin/authors.el: Pick-up version from emacs-29. + +2024-08-20 Stefan Kangas + + Add missing :version tags in use-package + + * lisp/use-package/use-package-core.el (use-package-keywords) + (use-package-deferring-keywords, use-package-ignore-unknown-keywords) + (use-package-use-theme, use-package-verbose) + (use-package-check-before-init, use-package-always-defer) + (use-package-always-demand, use-package-defaults) + (use-package-merge-key-alist, use-package-hook-name-suffix) + (use-package-minimum-reported-time, use-package-inject-hooks) + (use-package-expand-minimally, use-package-form-regexp-eval) + (use-package-enable-imenu-support, use-package-compute-statistics): + * lisp/use-package/use-package-ensure.el (use-package-always-ensure) + (use-package-always-pin, use-package-ensure-function): Add missing + :version tags. + +2024-08-20 Michael Albinus + + Suppress shallow cloning on emba + + * test/infra/gitlab-ci.yml (variables): Set GIT_DEPTH to 0 in + order to avoid shallow cloning. + +2024-08-20 Po Lu + + Correct Android failure to open an old CJK font + + * src/sfnt.c (sfnt_read_cmap_format_2): Properly compute + subtable count, and append the empty table at position 0. + (sfnt_lookup_glyph_2): Update commentary. + +2024-08-20 Stefan Monnier + + * lisp/help-fns.el (help-definition-prefixes): Don't delete the hashtable + + Fixes bug#72511. + +2024-08-19 Kyle Meyer + + Update to Org 9.7.10 + +2024-08-18 Andrea Corallo + + Bump Emacs version to 30.0.90 + + * nt/README.W32: Update version. + * msdos/sed2v2.inp: Likewise. + * configure.ac: Likewise. + * README: Likewise. + +2024-08-18 Andrea Corallo + + Update AUTHORS + + * etc/AUTHORS: Re-generate. + * admin/authors.el (authors-fixed-entries): Add entry. + +2024-08-18 Andrea Corallo + + * admin/authors.el: Pick-up version from emacs-29. + +2024-08-18 Michael Albinus + + * test/infra/gitlab-ci.yml (.tree-sitter-template): Adapt changes. + +2024-08-18 Stefan Kangas + + Bump use-package version for Emacs 30.1 + + * lisp/use-package/use-package.el: Bump version to 2.4.6. + +2024-08-18 Andrea Corallo + + * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump. + +2024-08-17 Eli Zaretskii + + Avoid rare crashes due to clobbering of input events + + * src/keyboard.c (read_char): Declare C 'volatile', to prevent + clobbering it by setjmp/longjmp. Do not merge to master. + (Bug#71744) + +2024-08-17 Stefan Monnier + + Further fix of reading and writing profiler data + + * lisp/profiler.el (profiler-report-make-entry-part): Print + strings as-is. (Bug#72559) + +2024-08-17 Andrea Corallo + + * Makefile.in (PREFERRED_BRANCH): Update to emacs-30. + +2024-08-17 Po Lu + + Backport ed305c4b98cda5c6d479310e4ba350a17d901e75 to emacs-30 + + * src/xterm.c (x_construct_mouse_click): `||' → `|'. + Typo found by clang 18.1.6 -Wbool-operation. Do not + merge to master. + +2024-08-17 Eli Zaretskii + + Fix a typo in Eglot manual + + * doc/misc/eglot.texi (Eglot and Buffers): Fix typo. Patch by + david edmonds . (Bug#72634) + +2024-08-17 Stefan Monnier + + Fix dumping of Lisp profiles + + * lisp/profiler.el (profiler-fixup-entry): New function. + (profiler-fixup-backtrace): Use it. (Bug#72559) + +2024-08-17 Stefan Monnier + + Fix 'apropos-library' for 'define-symbol-props' + + * lisp/apropos.el (apropos-library): Sanitize data to avoid + signaling errors when 'define-symbol-props' is seen. (Bug#72616) + +2024-08-17 Eli Zaretskii + + Fix 'forward-comment' in 'toml-ts-mode' + + * lisp/textmodes/toml-ts-mode.el (toml-ts-mode--syntax-table): Fix + syntax of newline. Patch from Jostein Kjønigsen + . (Bug#72489) + +2024-08-17 Eli Zaretskii + + Document spell-checking of multiple languages + + * doc/emacs/fixit.texi (Spelling): Document spell-checking + multi-lingual text with Hunspell. + +2024-08-17 Peter Oliver + + Apply --display kluge for PGTK too + + * src/emacs.c (main): The --display option needs the same handling + with the PGTK backend as it does with the X11 backends. (Bug#72118) + +2024-08-15 Pip Cet + + * lisp/files.el (require-with-check): Improve error messages. + +2024-08-15 Eli Zaretskii + + Improve documentation of ERT + + * doc/misc/ert.texi (Running Tests Interactively) + (Test Selectors): + * lisp/emacs-lisp/ert.el (ert-select-tests) + (ert-run-tests-interactively, ert-run-tests-batch): Improve and + clarify the documentation of the main ERT functions. + +2024-08-15 Visuwesh + + Disambiguate minor-mode variable in its function docstring + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring) + (easy-mmode--mode-docstring): Add "the variable" before the + GETTER if it is a symbol to properly link to minor-mode variable + in the *Help* buffer in the common case. (bug#72405) + +2024-08-14 Arash Esbati + + Fix project-dired keybinding in manual + + * doc/emacs/maintaining.texi (Project File Commands): Fix the + keybinding for `project-dired'. (Bug#72581) + +2024-08-14 Eli Zaretskii + + Improve documentation of time-parsing functions + + * doc/lispref/os.texi (Time Parsing): + * lisp/calendar/iso8601.el (iso8601-parse): + * lisp/calendar/parse-time.el (parse-time-string): Document that + these functions don't care about the distinction between local + time and UTC. (Bug#72570) + +2024-08-13 Dmitry Gutov + + (project-find-regexp): Fix the temporary value of DEFAULT-DIRECTORY + + * lisp/progmodes/project.el (project-find-regexp): Make sure the + assigned value of DEFAULT-DIRECTORY ends with a slash. + read-directory-name returns the name without it in certain cases. + +2024-08-13 Michael Albinus + + Tag test in typescript-ts-mode-tests.el as unstable + + * test/lisp/progmodes/typescript-ts-mode-tests.el + (typescript-ts-mode-test-indentation): Tag it as :unstable on emba. + +2024-08-12 Gerd Möllmann + + macOS: Wrong frame rectangle after wake (bug#71912) + + * src/nsterm.m ([EmacsView windowDidBecomeKey]): + Call adjustEmacsFrameRect. + +2024-08-11 Pip Cet + + Fix format 2 cmap handling in sfnt.c + + This code is untested as no font with a format 2 cmap could be found. + + * src/sfnt.c (sfnt_lookup_glyph_2): Fix typos. Assume single-byte + encodings use character codes 0, 1, ..., 255 rather than 0, 256, ..., + 65280. + +2024-08-11 Pip Cet + + Fix coordinate transformations in sfnt.c + + Backport. + + * src/sfnt.c (sfnt_transform_coordinates): + (sfnt_transform_f26dot6): Fix calculation of transformed coordinates in + the very rare case of arbitrary transformation matrices. + +2024-08-10 Kazuhiro Ito + + * lisp/epg.el (epg--start): Don't convert EOL on encoding (bug#72542). + +2024-08-09 Thomas Fitzsimmons + + Add PROBLEMS entry for bug#72517 + + * etc/PROBLEMS (X runtime problems): Document ssh -X session + hang-on-exit after deletion of remote emacsclient -c frame. + (bug#72517) + + (cherry picked from commit 9f03300c5c626bf6f8f839be4943cc20db89c24d) + +2024-08-09 Gerd Möllmann + + NS: Fix scroll-bar setting code (bug#72331) + + * src/nsterm.m (ns_set_vertical_scroll_bar): Use + WINDOW_SCROLL_AREA_WIDTH instead of NS_SCROLL_BAR_WIDTH. + (ns_set_horizontal_scroll_bar): Use WINDOW_SCROLL_AREA_HEIGHT + instead of NS_SCROLL_BAR_HEIGHT. Clear area differently if vertical + scroll bars are present. + * src/nsterm.h (NS_SCROLL_BAR_WIDTH, NS_SCROLL_BAR_HEIGHT): Remove. + +2024-08-09 Po Lu + + Register for more Intents actions on Android + + * java/AndroidManifest.xml.in : Register + for SEND Intents with mailto URIs. + + * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Use + Intent constants rather than string literals. + +2024-08-08 Paul W. Rankin + + * lisp/help-macro.el: Add 'help-for-help-use-variable-pitch' option. + + This makes 'variable-pitch-mode' optional, by default ON (to + preserve previous behavior), in Help buffers. (Bug#72521) + +2024-08-08 Ulrich Müller + + Remove manual entry for string-to-int + + * doc/lispref/strings.texi (String Conversion): Remove mention of + 'string-to-int' which was dropped in Emacs 26. (Bug#72520) + +2024-08-07 Spencer Baugh + + Support minibuffer-visible-completions in completing-read-multiple + + All that's required is to add minibuffer-visible-completions-map on + top of the completing-read-multiple map; this is the same thing that + minibuffer-visible-completions does in completing-read-default. + + * lisp/emacs-lisp/crm.el (completing-read-multiple): Add + minibuffer-visible-completions-map (bug#69189) + +2024-08-07 Juri Linkov + + * lisp/imenu.el (imenu-flatten): Fix doc about annotation/group limitations. + +2024-08-07 Randy Taylor + + Fix cmake-ts-mode number fontification (Bug#72228) + + * lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode--constants): + Remove "1" and "0". + (cmake-ts-mode--font-lock-settings): Match negative numbers. + +2024-08-07 Po Lu + + Prevent accesses to /content files without a GUI connection + + * src/androidvfs.c (android_content_name): Hide all + subdirectories when `android_init_gui' is not set. + +2024-08-06 Michael Albinus + + * lisp/net/tramp-integration.el (shortdoc): Use `tramp--with-startup'. + +2024-08-06 Eli Zaretskii + + Avoid crashes in very large buffers with long lines + + * src/xdisp.c (get_large_narrowing_begv, get_large_narrowing_zv) + (get_medium_narrowing_begv, get_medium_narrowing_zv): Use + 'ptrdiff_t' instead of 'int', to prevent integer overflow in + large buffers. (Bug#72497) + +2024-08-06 Ulrich Müller + + Update description of string comparison functions + + * doc/lispref/strings.texi (Text Comparison): Swap descriptions of + 'string-equal' (the function) and 'string=' (its alias). Same for + 'string-lessp' and 'string<'. Document 'string>'. (Bug#72486) + * doc/lispref/sequences.texi (Sequence Functions): Update cross + reference to 'string-lessp'. + +2024-08-05 Michael Albinus + + Add sanity check when adding Tramp functions to shortdoc + + * lisp/net/tramp-integration.el (shortdoc): Check, that Tramp + isn't disabled. + +2024-08-05 Damien Cassou + + js-ts-mode: Make jsdoc's "description" block a comment (bug#72461) + + * lisp/progmodes/js.el (js-ts-mode): Add "description" to + `c-ts-common--comment-regexp'. + +2024-08-05 Po Lu + + Also condition cjk-misc font-spec on Android + + * lisp/international/fontset.el (setup-default-fontset) + : Don't search for matching scripts elsewhere than on + Android. + +2024-08-04 Eli Zaretskii + + Fix ':defer nil' in 'use-package' + + * lisp/use-package/use-package-core.el + (use-package-normalize-keywords): Use 'plist-get' instead of + 'plist-member'. (Bug#72414) + +2024-08-04 Manuel Giraud + + Document unsupported color Emoji on OpenBSD + + Bug#72268 + + * etc/PROBLEMS (Runtime problems related to font handling): + Document unsupported color Emoji on OpenBSD. + +2024-08-04 Stephen Berman + + Fix regressions in Customize caused by 'widget-unselected' face + + * lisp/wid-edit.el (widget-checklist-add-item): Don't call + 'widget-specify-selected'. (Bug#72404) (Bug#72156) + +2024-08-04 David Ponce + + Avoid inserting extra space in SVG data + + * lisp/svg.el (svg-print): Remove useless extra space from + the XML representation of child node. (Bug#72198) + +2024-08-04 Damien Cassou + + Fix c-ts-common filling function (bug#71760) + + * lisp/progmodes/c-ts-common.el (c-ts-common--fill-block-comment): If + masking hasn't been done, don't unmask. + +2024-08-03 Mattias Engdegård + + Fix missing type checks before specbind + + This fixes bugs that crashed Emacs when the Lisp interpreter was fed + bad code. + + * src/eval.c (FletX, Flet, internal_lisp_condition_case) + (funcall_lambda): Hoist symbol-with-pos elimination and type checks to a + dominating position for efficiency. This also plugs at least two typing + holes. (Mea culpa.) + * test/src/eval-tests.el (eval-bad-specbind): New regression test. + +2024-08-03 Po Lu + + Revert "Remove redundant byte-swapping boundary" + + This reverts commit daefd6771a4879bb8e71ea67f69522700155df01. + + * src/sfnt.c (sfnt_read_OS_2_table): Restore realignment after + s_family_class, as it occupies byte 32, not 34. Reported by Pip + Cet . + +2024-08-03 Po Lu + + Fix various typos reported by Pip Cet + + * src/ftfont.c (get_adstyle_property): + + * src/sfntfont.c (sfntfont_list_1): Correct typos. Reported by + Pip Cet . + +2024-08-03 Gerd Möllmann + + NS: Fix placement of candidate window (bug#72422) + + * src/nsterm.m ([EmacsView firstRectForCharacterRange:actualRange:]): + Call method of NSTextInput. + +2024-08-01 Eli Zaretskii + + Avoid aborts when buffer is modified during its redisplay + + * src/xdisp.c (redisplay_window): Restore point from saved byte + position only if the buffer was not changed meanwhile. + (Bug#72165) + +2024-08-01 Yuan Fu + + Fix c++-ts-mode indentation for templace (bug#72263) + + * lisp/progmodes/c-ts-mode.el: + (c-ts-mode--indent-styles): Add rule for template. + * test/lisp/progmodes/c-ts-mode-resources/indent.erts: Add test. + +2024-08-01 Po Lu + + Better resolve bug#72188 + + * lisp/international/fontset.el (setup-default-fontset) : + Don't search for fonts matching the `han' script elsewhere than + on Android, which restores the status quo existing in Emacs 29. + (bug#72188) + +2024-07-31 Gerd Möllmann + + MacOS: Let EmacsView implement NSTextInputClient + + * src/nsterm.h (@interface EmacsView): Implement NSTextInputClient protocol. + * src/nsterm.m: Implement required NSTextInputClient methods, forwarding + to existing NSTextInput methods. + +2024-07-30 Gerd Möllmann + + NS: Set frame position when entering/exiting fullscreen (bug#71912) + + * src/nsterm.h ([EmacsView adjustEmacsRectRect]): Declare. + * src/nsterm.m ([EmacsView windowDidEnterFullScreen]): New method. + ([EmacsView windowDidEnterFullScreen]): Call it. + ([EmacsView windowDidExitFullScreen]): Call it. + +2024-07-29 Juri Linkov + + * lisp/tab-bar.el (tab-bar-move-tab-to-group): Fix for a new group's tab. + + Move tab with a new group to the end of the tab bar (bug#72352) + Suggested by Ship Mints + +2024-07-29 Po Lu + + Fix sporadic crashes and `select' failures in dumped images + + * src/process.c (init_process_emacs) [HAVE_UNEXEC]: Clear + dumped values of child_signal_read_fd and child_signal_write_fd. + +2024-07-29 Po Lu + + Correct display of Doc View documents after tab switching + + * lisp/doc-view.el (doc-view-new-window-function): Prevent + creation of duplicate overlays for the same window after a + window configuration change occasions a call to i-m-r-winprops. + +2024-07-27 Jim Porter + + Use 'kill-process' as a fallback when a pipe gets broken in Eshell + + This is better than 'delete-process' since it will ensure that any + stderr pipe-processes get stopped as well (bug#72117). + + * lisp/eshell/esh-proc.el (eshell-insertion-filter): Use 'kill-process' + instead of 'delete-process'. + +2024-07-27 Kyle Meyer + + Update to Org 9.7.9 + +2024-07-26 Philip Kaludercic + + Fix edge-case with 'which-key-dont-use-unicode' setter + + * lisp/which-key.el (which-key-dont-use-unicode): Check if the + user options have a 'standard-value' before proceeding to + reevaluate. This avoids accidentally setting the symbol value + to nil, before the user option has been declared, overriding the + actual non-nil, default values. (Bug#72077) + +2024-07-26 Gerd Möllmann + + NS: prevent makeKeyWindow warnings (bug#69525) + + * src/nsterm.m (ns_raise_frame): Don't makeKeyWindow if frame has + no_accept_focus set. + +2024-07-26 Po Lu + + Add PROBLEMS entry for bug#72303 + + * etc/PROBLEMS (Runtime problems specific to PGTK build): + Document that text mode sessions cannot be started without + `-nw'. (bug#72303) + +2024-07-26 Eli Zaretskii + + Improve documentation of '--init-directory' command-line option. + + * doc/emacs/custom.texi (Find Init): + * doc/emacs/cmdargs.texi (Initial Options): More accurate and + detailed description of what '--init-directory' does and how it + affects the Emacs session. Add index entries and cross-references + as needed. (Bug#72294) + +2024-07-25 Andrea Corallo + + Fix bug in server.el introduced by 0d7d835902df + + 0d7d835902df renamed 'server--process-filter' into + 'server--process-filter-1' but updated the corresponding + 'cl-return-from' tag to 'server--process-filter'. + + * lisp/server.el (server--process-filter-1): Fix 'cl-return-from' tag. + +2024-07-25 Stefan Monnier + + lisp/minibuffer.el (completion--sifn-requote): Fix bug#72176 + +2024-07-25 Stefan Kangas + + * admin/notes/spelling: Update note. + +2024-07-25 Konstantin Kharlamov + + Don't produce invalid XML with multi-line commenting style + + Both XML and HTML forbid double hyphens inside comments. However, + nxml-mode was using a `!--' as a comment padding if `comment-style' + was set to any of the styles that supposed to add padding. This infix + was auto-derived due to `comment-continue' being nil. To fix that set + `comment-continue' explicitly. It's unclear what padding should be + used, but from looking at other editors it seems they don't typically + add padding in XML, so let's be simple for now and just set + `comment-continue' to empty string. + + * lisp/nxml/nxml-mode.el (nxml-mode): Make 'comment-continue' a + buffer-local variable set to the empty string. (Bug#71772) + +2024-07-25 Stefan Kangas + + Standardize possessive apostrophe usage in manuals, docs, and comments + + See the note in admin/notes/documentation. + Ref: https://lists.gnu.org/r/emacs-devel/2012-02/msg00649.html + +2024-07-24 Stefan Kangas + + Don't refer to obsolete finder group "wp" + + * lisp/textmodes/rst.el: Don't refer to obsolete finder group "wp". + +2024-07-24 Andrea Corallo + + Fix some function type declaration + + * lisp/window.el (get-lru-window, get-largest-window): Fix + function type declaration. + * lisp/subr.el (error): Likewise. + +2024-07-24 Po Lu + + * src/image.c (gui_put_x_image): Avoid memory leak. + +2024-07-24 Po Lu + + Adapt last change to non-NS systems + + * src/image.c (xpm_load_image): Also check whether mask_img is + NULL. + +2024-07-24 Po Lu + + Fix NULL pointer dereferences in xpm_load_image + + * src/image.c (x_destroy_x_image): Correct test condition. + (xpm_load_image): Do not release image data if it is still to be + created. + +2024-07-24 Po Lu + + Fix bug#72255 + + * src/image.c (struct image_type): Minor grammatical + corrections. + (image_destroy_x_image): [HAVE_NS]: Do not release + Emacs_Pix_Containers, which are identical to Emacs_Pixmaps and + consequently always released with the `struct image'. + (bug#72255) + +2024-07-23 Stefan Kangas + + Delete redundant "a.k.a." in use-package.texi + + * doc/misc/use-package.texi (Getting Started): Delete redundant + acronym "a.k.a.". (Bug#66350) + +2024-07-23 Stefan Kangas + + Document (use-package 'emacs) declarations + + * doc/misc/use-package.texi (The @code{emacs} package): New + node. (Bug#66350) + +2024-07-23 Robert Pluim + + Improve 'emacs-news-view-mode' menus and bindings + + * lisp/textmodes/emacs-news-mode.el (emacs-news-mode-map): Move + non-editing commands from here... + (emacs-news-common-map): ... to here. + (emacs-news-view-mode): Remove hard-coded 'special-mode' bindings. + (emacs-news-view-mode-map): Inherit from 'special-mode-map' and + 'emacs-news-common-map' here instead. + (emacs-news-mode--menu-common-1): New defconst for menu items common to + 'news-mode' and 'news-view-mode'. + (emacs-news-mode--menu-common-2): Second new defconst for common items. + (emacs-news-mode-menu): Use them. + (emacs-news-view-mode-menu): New menu, which omits the buffer editing + commands. + + This builds on the fix for Bug#72080. + +2024-07-23 Gerd Möllmann + + Fix disappearing bar cursor on Hebrew text (bug#72230) + + * src/nsterm.m (ns_draw_window_cursor): Compute the correct bar cursor + rectangle for R2L before setting the clipping. + +2024-07-22 Manuel Giraud + + Fix DocView with DVI files + + * lisp/doc-view.el (doc-view-pdf/ps->png): Use + `doc-view-pdf->png-converter-function' for DVI files, too, since they + are converted to PDF earlier. + +2024-07-22 Alan Mackenzie + + FIx spurious fontification of variable in Java Mode + + This fixes bug#72126. + + * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove + tentative type identifier from c-record-type-identifiers should + it turn out not to be a type. + +2024-07-22 Stefan Kangas + + Correctly typeset nil and t in texinfo + + * doc/emacs/package.texi (Fetching Package Sources): + * doc/lispref/display.texi (Image Descriptors): + * doc/lispref/windows.texi (Buffer Display Action Alists): + * doc/misc/gnus-faq.texi (FAQ 5-4): Correctly typeset nil and t. + +2024-07-22 Michael Albinus + + Fix Tramp IPv6 handling in tests + + * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): + * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Improve message. + + * lisp/net/tramp-integration.el (shortdoc): Add further examples of + `file-remote-p'. + + * lisp/net/tramp.el (tramp-handle-file-remote-p): Extend docstring. + + * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect) + (tramp-test02-file-name-dissect-simplified) + (tramp-test02-file-name-dissect-separate): Extend tests. + (tramp-test06-directory-file-name) + (tramp-test26-file-name-completion) + (tramp-test26-interactive-file-name-completion): Better handling + of IPv6 hosts. + +2024-07-22 Kyle Meyer + + Update to Org 9.7.8-5-gfdf0e0 + +2024-07-22 Yuan Fu + + Fix Ftreesit_parser_create + + * src/treesit.c (Ftreesit_parser_create): Use the buffer given by the + caller rather than the current buffer. + +2024-07-22 Yuan Fu + + Fix segfault when deleting tree-sitter query (bug#72238) + + * src/treesit.c (treesit_delete_query): Only delete query and cursor + when they are non-NULL. + +2024-07-21 Stefan Kangas + + Improve treesit-node-child-by-field-name docstring + + * src/treesit.c (Ftreesit_node_child_by_field_name): Improve docstring. + +2024-07-21 Stefan Kangas + + Minor copyedits in tree-sitter starting guide + + * admin/notes/tree-sitter/starter-guide: Minor copyedits. + Reflow some paragraphs. + +2024-07-21 Stefan Kangas + + Update tag for prebuilt tree-sitter grammars + + * admin/notes/tree-sitter/starter-guide: Update tag for prebuilt + tree-sitter grammars to point to 2.4. + +2024-07-21 Stefan Kangas + + Fix punctuation and doc style in treesit.c + + * src/treesit.c (Ftreesit_parser_included_ranges) + (Ftreesit_query_capture, treesit_traverse_sibling_helper) + (treesit_traverse_match_predicate): Fix punctiation and documentation + style in comments and docstrings. + +2024-07-21 Manuel Giraud + + Fix DocView with PostScript files + + * lisp/doc-view.el (doc-view-set-up-single-converter): Produce PNG + from PS in a file with ".png" extension. (Bug#72193) + +2024-07-20 Liu Hui + + Fix bibtex validation for non-file buffers + + * lisp/textmodes/bibtex.el (bibtex-validate): Use buffer name + to show errors in non-file buffers. (Bug#71946) + +2024-07-20 Eli Zaretskii + + Fix Imenu in 'emacs-news-view-mode' + + * lisp/textmodes/emacs-news-mode.el (emacs-news-view-mode): Make + it derived from emacs-news-mode. Add useful key bindings. + (Bug#72080) + +2024-07-20 Eli Zaretskii + + Avoid errors in 'icomplete-vertical-mode' + + * lisp/minibuffer.el (completion--hilit-from-re): Avoid signaling + an error if STRING does not match REGEXP. Fix doc string and + indentation. (Bug#72176) + +2024-07-20 Stefan Kangas + + Document GNU ELPA copyright in tips.texi + + * doc/lispref/tips.texi (Library Headers): Document that GNU ELPA + packages should have their copyright assigned to the FSF. + +2024-07-20 Stefan Kangas + + Improve register-use-preview docstring + + * lisp/register.el (register-use-preview): Improve docstring. + +2024-07-20 Stefan Kangas + + Miscellaneous checkdoc fixes + + * lisp/ansi-color.el (ansi-color--ensure-context): + * lisp/doc-view.el (doc-view-svg-face): + * lisp/external-completion.el (external-completion-table): + * lisp/ffap.el (ffap-ro-mode-hook, ffap-gnus-hook): + * lisp/find-file.el: + * lisp/flow-ctrl.el (flow-control-c-s-replacement) + (flow-control-c-q-replacement): + * lisp/forms.el (forms-multi-line): + * lisp/help.el (search-forward-help-for-help): + * lisp/hi-lock.el (hi-lock-use-overlays): + * lisp/image.el (find-image): + * lisp/isearch.el (isearch-forward, isearch-forward-regexp) + (isearch-lazy-count-format): + * lisp/jsonrpc.el (jsonrpc--continue, initialize-instance): + * lisp/mouse-copy.el (mouse-kill-preserving-secondary): + * lisp/pixel-scroll.el (pixel-bob-at-top-p) + (pixel-scroll-down-and-set-window-vscroll): + * lisp/printing.el (pr-gv-command, pr-gs-command) + (pr-gs-switches): + * lisp/register.el (register-use-preview): + * lisp/repeat.el (repeat-check-key): + * lisp/saveplace.el (save-place-abbreviate-file-names): + * lisp/select.el (gui--clipboard-selection-unchanged-p): + * lisp/ses.el (ses-header-row): + * lisp/simple.el (transpose-sexps-default-function) + (normal-erase-is-backspace, normal-erase-is-backspace-mode): + * lisp/sqlite-mode.el (sqlite-mode): + * lisp/tempo.el (tempo-insert-region): + * lisp/term.el (term-mode-map, term-mode, term-char-mode): + Checkdoc fixes. + +2024-07-19 Stefan Monnier + + * lisp/progmodes/peg.el (peg-syntax-classes): Typo (bug#72131) + +2024-07-19 Jonas Bernoulli + + * lisp/transient.el (static-if): Remove duplicated definition. + + (Bug#72182) + + This should have been removed when the standalone version was merged + into Emacs. + +2024-07-19 Michael Albinus + + Adapt file-remote-p doc + + * doc/lispref/files.texi (Magic File Names): Adapt file-remote-p. + + * lisp/files.el (file-remote-p): Adapt docstring. + +2024-07-18 Stefan Kangas + + * etc/TODO: Delete item about merging Magit. + + Change requested by Jonas Bernoulli . + +2024-07-18 Stefan Kangas + + * doc/man/emacs.1.in: Add "No warranty" notice. + +2024-07-18 Stefan Kangas + + Improve emacs man page description of --user flag + + * doc/man/emacs.1.in: Improve --user flag description. + (Bug#72169) + +2024-07-18 Stefan Kangas + + Checkdoc fixes in allout-widgets.el + + * lisp/allout-widgets.el (allout-widgets-setup) + (allout-widgets-tally-string, allout-widgets-mode-inhibit): + (allout-widgets-hook-error-handler): Checkdoc fixes. + +2024-07-18 Stefan Kangas + + Checkdoc fixes in subr.el + + * lisp/subr.el (ctl-x-4-map, ctl-x-map) + (touch-screen-events-received): Checkdoc fixes. + +2024-07-18 Stefan Kangas + + Checkdoc fixes in touch-screen.el + + * lisp/touch-screen.el (touch-screen-handle-touch): Checkdoc fixes. + +2024-07-18 Stefan Kangas + + Checkdoc fixes in treesit.el + + * lisp/treesit.el (treesit-add-font-lock-rules) + (treesit--font-lock-mark-ranges-to-fontify): Checkdoc fixes. + +2024-07-18 Stefan Kangas + + Avoid overflow in pgtk_is_numeric_char + + * src/pgtkfns.c (parse_resource_key): Avoid overflow by making array + larger, if a key is RESOURCE_KEY_MAX_LEN long. Do not merge to master, + since it's fixed in a different way there. + +2024-07-18 Po Lu + + Port better to Android 3.0 + + * 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. + +2024-07-17 Michael Albinus + + New Tramp tests + + * test/lisp/net/tramp-tests.el + (tramp-test41-special-characters-direct-async) + (tramp-test42-utf8-direct-async): New tests. + +2024-07-17 Michael Albinus + + Update Tramp manual + + * doc/misc/tramp.texi (Remote processes): Add another reason why a + direct asynchronous process could fail. + +2024-07-17 Robert Pluim + + Fix 'toggle-window-dedicated' documentation + + * doc/emacs/windows.texi (Displaying Buffers): Fix the cross reference + to the elisp manual. Add missing 'toggle-window-dedicated'. + * doc/lispref/windows.texi (Dedicated Windows): Mention + 'toggle-window-dedicated'. + +2024-07-16 Stefan Kangas + + Checkdoc fixes in transient.el + + * lisp/transient.el (transient-format-description): Checkdoc fixes. + +2024-07-15 Peter Oliver + + Fix intermittent failure of dired-test-bug27243-02 + + * 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) + +2024-07-15 Stefan Kangas + + * etc/TODO: Refer to Bug#72127 for Magit assignments. + +2024-07-15 Michael Albinus + + Rename treesitter test + + * test/lisp/align-tests.el (align-ts-lua): Rename test in order to + fit to treesitter tests on EMBA. + +2024-07-15 Michael Albinus + + Adapt tressitter tests on EMBA + + * test/infra/Makefile.in (TREE-SITTER-FILES): Simplify. + + * test/infra/test-jobs.yml: Regenerate. + +2024-07-15 Jim Porter + + Support passing signals like 'SIGCODE' to 'tramp-signal-process' + + 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. + +2024-07-15 Jim Porter + + Don't save to history from 'eshell-command' when aborting + + * lisp/eshell/eshell.el (eshell-add-input-to-history) + (eshell--save-history): Declare. + (eshell-command-mode-exit): New function... + (eshell-command-mode): ... use it. + + * lisp/eshell/em-hist.el (eshell-hist-initialize): Don't handle + minibuffer logic here. Always read history file (this ensures that + 'eshell-command' can see the history, too). + (eshell-add-command-to-history): Remove. + +2024-07-14 Kyle Meyer + + Update to Org 9.7.7-2-gf308d3 + +2024-07-14 Eli Zaretskii + + Fix decoding 'display' properties with SVG images in Enriched mode + + * lisp/textmodes/enriched.el (enriched-next-annotation): Reject + matches of 'enriched-annotation-regexp' inside strings. Reported + by Christopher Howard in + https://lists.gnu.org/archive/html/help-gnu-emacs/2024-06/msg00178.html. + +2024-07-14 Pip Cet + + * configure.ac (D8): Fix typo. + +2024-07-14 Po Lu + + Do not set LD_LIBRARY_PATH during Android initialization + + * doc/emacs/android.texi (Android Environment): Adjust + documentation to match. + + * java/org/gnu/emacs/EmacsNoninteractive.java (main1): New + function. Remove initialization of EmacsNative hither. + (main): Acquire an ApplicationInfo or LoadedApk, as the case may + be on the host system, derive a ClassLoader from the result, and + load and call `main1' from within this class loader. + + * src/android-emacs.c (main): + + * src/android.c (setEmacsParams): Do not override + LD_LIBRARY_PATH or set EMACS_LD_LIBRARY_PATH. This enables + Emacs to execute subprocesses in certain "fortified" Android + systems, amongst other things. + +2024-07-13 Eli Zaretskii + + * test/lisp/wdired-tests.el (wdired-test-bug34915): Fix for MS-Windows. + +2024-07-13 Peter Oliver + + Fix 'wdired-test-unfinished-edit-01' + + * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01): + Don't modify the random directory name if, by chance, it happens + to contain the substring "foo" anywhere but immediately after the + slash. (Bug#72073) + +2024-07-13 Vincenzo Pupillo + + Fontify destructor in c++-ts-mode + + * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): + Add a rule for destructors. (Bug#71872) + +2024-07-12 F. Jason Park + + Fix invalid defcustom type for erc-buffers option + + * lisp/erc/erc.el (erc-ensure-target-buffer-on-privmsg): Change + invalid inner `choice' to a `const' for the third-state `status' + variant, which is new in ERC 5.6 and Emacs 30. Thanks to Mattias + Engdegård for catching this. + +2024-07-12 Eli Zaretskii + + Fix infloop in 'shell-resync-dirs' + + * lisp/shell.el (shell-eval-command): Fix detection of newline + after last output line. (Bug#71896) + (shell-resync-dirs): Make sure the inner loop never infloops. + Suggested by Troy Hinckley . + +2024-07-12 Po Lu + + Render more Android functions safe to execute in a batch session + + * src/androidfns.c (Fx_display_mm_width, Fx_display_mm_height) + (Fandroid_display_monitor_attributes_list) + (Fandroid_external_storage_available_p) + (Fandroid_request_storage_access): Verify that a display + connection or service object is available. + + * src/androidselect.c (Fandroid_get_clipboard) + (Fandroid_browse_url_internal, Fandroid_get_clipboard_targets) + (Fandroid_get_clipboard_data, Fandroid_notifications_notify): + Moderate tone of error messages. + +2024-07-12 Po Lu + + Document means of executing Emacs from unrelated Android applications + + * doc/emacs/android.texi (Android Environment): Document + significance, effect and purpose of EMACS_CLASS_PATH and + EMACS_LD_LIBRARY_PATH, and the utility of `pm path + org.gnu.emacs'. + +2024-07-12 Jim Porter + + Don't emit a prompt in Eshell when a background command is killed + + * lisp/eshell/esh-cmd.el (eshell-resume-command): Check for + background-ness before resetting the prompt. + + * test/lisp/eshell/esh-cmd-tests.el + (esh-cmd-test/background/simple-command): Make the regexp a bit + stricter. + (esh-cmd-test/background/kill): New test. + +2024-07-11 Daniel Martín + + Fix reference from buffer-stale-function docstring + + * lisp/files.el (buffer-stale-function): Fix reference to a + non-existent Info node in doc string. (Bug#72049) + +2024-07-11 Po Lu + + Take precautions against ill-formed content URIs + + * java/org/gnu/emacs/EmacsService.java (openContentUri) + (checkContentUri): Verify that URIs derived from user-provided + file names can be parsed before attempting to open them. + +2024-07-11 Dmitry Gutov + + etags-regen-mode: Handle TAGS buffer being killed + + * lisp/progmodes/etags-regen.el (etags-regen--visit-table): + Use kill-buffer-hook to ensure a refresh if the TAGS buffer is + killed manually (bug#71727). + (etags-regen--tags-cleanup): + Bind the hook var to nil to avoid an infloop. + +2024-07-10 Robert Pluim + + Improve 'put-image' documentation + + * doc/lispref/display.texi (Showing Images): Mention that it returns the + created overlay. + * lisp/image.el (put-image): And here. + +2024-07-10 Robert Pluim + + Improve 'set-fontset-font' documentation + + * doc/emacs/mule.texi (Modifying Fontsets): Add an 'emoji' example. + +2024-07-10 Michael Albinus + + Adapt Tramp's "run0" method + + * doc/misc/tramp.texi (Inline methods): + * etc/NEWS: Adapt "run0" entry. + + * lisp/net/tramp-sh.el (tramp-enable-run0-method): Adapt "run0" + arguments. + +2024-07-10 Andrea Corallo + + * test/src/sqlite-tests.el (sqlite-execute-batch): Declare to wave warning. + +2024-07-10 Stefan Kangas + + Capitalize "Dired" and "Lisp" in docstrings + + * lisp/desktop.el (desktop-no-desktop-file-hook): + * lisp/dired-x.el (dired-mark-sexp): + * lisp/dired.el (dired-make-directory-clickable) + (dired-map-over-marks, dired-file-name-at-point) + (dired-save-positions, dired-buffers-for-dir) + (dired-buffers-for-dir-or-subdir, dired-fun-in-all-buffers) + (dired-remove-entry, dired-delete-entry, dired-jump): + * lisp/files.el (save-buffer): + * lisp/find-dired.el (find-ls-option): + * lisp/hilit-chg.el: + * lisp/locate.el (locate-mode): + * lisp/msb.el (msb-dired-item-handler, msb-sort-by-directory): + * lisp/printing.el (pr-ps-printer-alist, pr-ps-utility-alist): + * lisp/uniquify.el (uniquify-trailing-separator-p): + * lisp/wdired.el (wdired, wdired-change-to-dired-mode, wdired-exit): + * lisp/woman.el (woman-dired-define-keys, woman-dired-find-file): + Capitalize "Dired" and "Lisp" in docstrings. Found with checkdoc. + +2024-07-09 Jim Porter + + Document Eshell entry points + + * doc/misc/eshell.texi (Entry Points): New chapter. + (Scripts): Move under Entry Points. Expand documentation. + +2024-07-09 Po Lu + + Fix bug#71929 + + * src/image.c (free_image_cache): Unconditionally release image + cache, as this function is only called with its existence + already established. + + * src/xfaces.c (free_frame_faces): Clear FRAME_IMAGE_CACHE (f). + (bug#71929) + +2024-07-09 Po Lu + + Fix bug#70697 with respect to fringe bitmaps + + * src/pgtkterm.c (pgtk_draw_fringe_bitmap): Always call + `fill_background_by_face' for clearing backgrounds of fringe + bitmaps. (bug#70697) + +2024-07-09 Po Lu + + Fix byte-compiler warning in calc.el + + * lisp/calc/calc.el + (calc-embedded-open-close-new-formula-alist): Remove previously + introduced quotation marks, as they bring the width of the doc + string past 80. + +2024-07-08 Stefan Monnier + + editorconfig-core-handle.el: Fix regressions in fnmatch handling + + * lisp/editorconfig-core-handle.el + (editorconfig-core-handle-get-properties-hash): Fix computation of + relative file name. + (editorconfig-core-handle--fnmatch-p): Handle the case when `pattern` + doesn't have a `/` but does match the `/` character. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `url/*.el` + + * lisp/url/url-util.el (url-query-key-value-allowed-chars): + * lisp/url/url.el (url-retrieve-synchronously): Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `term/*.el` + + * lisp/term/android-win.el (android-clear-preedit-text): + * lisp/term/pgtk-win.el (featurep): + * lisp/term/x-win.el (x-clear-preedit-text): Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `mh-e/*.el` + + * lisp/mh-e/mh-e.el (mh-tool-bar): + * lisp/mh-e/mh-folder.el (mh-folder-mode): + * lisp/mh-e/mh-search.el (mh-pick-menu, mh-search-mode): + * lisp/mh-e/mh-show.el (mh-show-mode): Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `calc/*.el` + + * lisp/calc/calc.el (calc-embedded-open-close-new-formula-alist): + Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `textmodes/*.el` + + * lisp/textmodes/ispell.el (ispell-command-loop): + * lisp/textmodes/mhtml-mode.el (mhtml--construct-submode): + * lisp/textmodes/page-ext.el (pages-set-delimiter): + * lisp/textmodes/refbib.el (r2b-get-field, r2b-put-field): + * lisp/textmodes/refer.el (refer-cache-bib-files): + * lisp/textmodes/reftex-index.el (reftex-index-phrase-selection-or-word): + (reftex-index-phrases-mode): + * lisp/textmodes/table.el (table-insert, table--fill-region-strictly): + Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `gnus/*.el` + + * lisp/gnus/gnus-agent.el (gnus-agent-enable-expiration) + (gnus-agent-with-refreshed-group, gnus-agentize) + (gnus-agent-fetch-headers, gnus-agent-update-files-total-fetched-for) + (gnus-agent-update-view-total-fetched-for): + * lisp/gnus/gnus-art.el (gnus-article-address-banner-alist) + (gnus-default-article-saver, gnus-mime-view-part-as-charset) + (gnus-block-private-groups, gnus-article-edit-mode): + * lisp/gnus/gnus-dired.el (gnus-dired-mode, gnus-dired-attach) + (gnus-dired-find-file-mailcap, gnus-dired-print): + * lisp/gnus/gnus-msg.el (gnus-summary-attach-article): + * lisp/gnus/gnus-score.el (gnus-home-score-file): + * lisp/gnus/gnus-search.el (gnus-search-ignored-newsgroups) + (gnus-search-mu-switches, gnus-search-mu-remove-prefix) + (gnus-search-thread): + * lisp/gnus/gnus-sieve.el (gnus-sieve-string-list): + * lisp/gnus/message.el (message-beginning-of-line): + * lisp/gnus/mm-url.el: + * lisp/gnus/mm-view.el (mm-w3m-setup, mm-setup-w3m): + * lisp/gnus/mml-sec.el (mml-signencrypt-style): + * lisp/gnus/nndiary.el: + * lisp/gnus/nnimap.el (nnimap-server-port, nnimap-use-namespaces) + (nnimap-expunge): + * lisp/gnus/nnmail.el (nnmail-incoming-coding-system): + (nnmail-ignore-broken-references): + * lisp/gnus/nnmairix.el (nnmairix-default-group): + * lisp/gnus/nntp.el (nntp-report): + * lisp/gnus/nnvirtual.el (nnvirtual-update-read-and-marked): + (nnvirtual-partition-sequence): + * lisp/gnus/spam-stat.el (spam-stat-process-directory-age) + (spam-stat-last-saved-at, spam-stat-save): + * lisp/gnus/spam.el (spam-enter-ham-BBDB, spam-check-BBDB): + Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `eshell/*.el` + + * lisp/eshell/em-elecslash.el: + * lisp/eshell/em-extpipe.el: + * lisp/eshell/em-pred.el (eshell-get-delimited-modifier-argument): + * lisp/eshell/esh-cmd.el (eshell--unmark-deferrable) + (eshell-named-command-hook): + * lisp/eshell/esh-module.el (eshell-module--feature-name): + * lisp/eshell/esh-util.el (eshell-find-delimiter): Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `emulation/*.el` + + * lisp/emulation/cua-base.el: + * lisp/emulation/viper-mous.el (viper-parse-mouse-key): + * lisp/emulation/viper.el (viper-major-mode-modifier-list): + Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `erc/*.el` + + * lisp/erc/erc-backend.el (erc-server-parameters): + * lisp/erc/erc-button.el (erc-button--display-error-with-buttons): + * lisp/erc/erc-dcc.el (erc-dcc-member): + * lisp/erc/erc-fill.el (erc-fill-wrap-refill-buffer): + * lisp/erc/erc-speedbar.el (erc-speedbar--last-ran): + * lisp/erc/erc-stamp.el (erc-stamp--current-time): + * lisp/erc/erc-track.el (erc-make-mode-line-buffer-name): + * lisp/erc/erc.el (erc-interactive-display, erc-modules, erc-cmd-CLEAR) + (erc-update-current-channel-member, erc--format-user-modes) + (erc-check-text-conversion): Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `vc/*.el` + + * lisp/vc/ediff-init.el (ediff-start-narrowed) + (ediff-buffer-values-orig-A, ediff-buffer-values-orig-B) + (ediff-buffer-values-orig-C, ediff-buffer-values-orig-Ancestor): + * lisp/vc/ediff-mult.el: + * lisp/vc/ediff-ptch.el (ediff-get-patch-buffer): + * lisp/vc/emerge.el (emerge-before-flag, emerge-after-flag): + * lisp/vc/vc-dav.el (vc-dav-checkin): + * lisp/vc/vc-git.el (vc-git-command): + * lisp/vc/vc-hg.el (vc-hg-command): + * lisp/vc/vc-src.el (vc-src-command): + * lisp/vc/vc-svn.el (vc-svn-command): + * lisp/vc/vc.el (vc-checkin): Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `emacs-lisp/*.el` + + * lisp/emacs-lisp/bytecomp.el (byte-compile-free-vars-warn) + (byte-compile-out): + * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): + * lisp/emacs-lisp/find-func.el (find-ert-deftest-regexp): + * lisp/emacs-lisp/macroexp.el (byte-compile-form-stack): + Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `mail/*.el` + + * lisp/mail/feedmail.el (feedmail-mail-send-hook-splitter) + (feedmail-queue-runner-message-sender): + * lisp/mail/mail-extr.el (mail-extr-nuke-outside-range): + * lisp/mail/rmail.el (rmail-automatic-folder-directives) + (rmail-summary-displayed): + * lisp/mail/rmailmm.el (rmail-mime-searching): + * lisp/mail/sendmail.el (mail-mode): + * lisp/mail/supercite.el (sc-mail-last-header-nuked-p): Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Checkdoc fixes in `net/*.el` + + * lisp/net/ange-ftp.el: + * lisp/net/dictionary.el (dictionary-tool-bar-map): + * lisp/net/eudc.el (eudc-translate-query) + (eudc-translate-attribute-list) + (eudc-format-inline-expansion-result, eudc-bookmark-server): + * lisp/net/eww.el (eww-check-text-conversion): + * lisp/net/rcirc.el (rcirc-server-name): + * lisp/net/tramp-adb.el (tramp-adb-handle-get-remote-uid): + * lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p): + * lisp/net/tramp-crypt.el (tramp-crypt-command-completion-p): + * lisp/net/tramp-message.el (tramp-debug-buffer-command-completion-p): + * lisp/net/tramp-sh.el (tramp-use-connection-share): + * lisp/net/tramp.el (tramp-command-completion-p): Checkdoc fixes. + +2024-07-08 Stefan Kangas + + Improve `use-package-vc-valid-keywords` docstring format + + * lisp/use-package/use-package-core.el + (use-package-vc-valid-keywords): Improve docstring format. + +2024-07-08 Stefan Kangas + + Revert "Fix link to major mode variable in docstring" + + This reverts commit 73c1252bb6b7cc61d9f992818568d3c57de4ff67. + + This will sometimes say + "the variable `(default-value 'global-auto-revert-mode)'". + Problem reported by Eshel Yaron . + +2024-07-08 Stefan Kangas + + * etc/TODO: Add item to convert documentation to 'setopt'. + +2024-07-08 Stefan Kangas + + Prefer 'setopt' in browse-url docs + + * lisp/net/browse-url.el: + (browse-url-filename-alist): Doc fix; prefer 'setopt'. + +2024-07-08 Po Lu + + Correct conditions for iconification on Android + + * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity) + : Rename to . + (attachWindow): Adjust to match. + (onPause): Delete function. + (onStop): Deem frames iconified after calls to onStop instead. + +2024-07-08 Jim Porter + + Fix execution of MS-Windows app execution aliases in Eshell + + * lisp/eshell/esh-ext.el (eshell-script-interpreter): Check for 0-size + files (bug#71655). + +2024-07-07 Eval EXEC (tiny change) + + Improve 'tab-line-tabs-fixed-window-buffers' sorting performance + + * lisp/tab-line.el (tab-line-tabs-fixed-window-buffers): Enhance + 'tab-line-tabs-fixed-window-buffers' performance by optimizing buffer + sorting mechanism. Replace inefficient 'seq-position' calls with a hash + table to cache buffer positions, significantly improving speed when + handling large buffer lists (bug#71958). + +2024-07-07 Michael Albinus + + Adapt Tramp version (don't merge) + + * doc/misc/trampver.texi: + * lisp/net/trampver.el (tramp-version): Adapt Tramp versions. + +2024-07-07 Michael Albinus + + Fix Tramp parser + + * lisp/net/tramp.el (tramp-host-with-port-regexp): Declare. + (tramp-set-syntax): Set also `tramp-host-with-port-regexp'. + (tramp-build-host-with-port-regexp): New defun. + (tramp-host-with-port-regexp): Make it a defvar. (Bug#71972) + + * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax) + (tramp-test01-file-name-syntax-simplified) + (tramp-test01-file-name-syntax-separate): Adapt tests. + +2024-07-07 Stefan Kangas + + Checkdoc fixes in progmodes + + * lisp/progmodes/cperl-mode.el (cperl-file-style) + (cperl-continued-brace-offset, cperl-tips-faces): + * lisp/progmodes/eglot.el (eglot-confirm-server-edits, eglot) + (eglot-list-connections-mode, eglot--outstanding-inlay-hints-region) + (eglot--outstanding-inlay-regions-timer): + * lisp/progmodes/etags.el (etags-goto-tag-location) + (etags--xref-apropos-additional): + * lisp/progmodes/flymake.el (flymake-autoresize-margins): + * lisp/progmodes/gdb-mi.el (gdb-mouse-until, gdb-mouse-jump): + * lisp/progmodes/hideif.el (hif-parse-macro-arglist): + * lisp/progmodes/idlw-help.el (idlwave-html-help-location): + * lisp/progmodes/idlwave.el (idlwave-reserved-word-upcase): + * lisp/progmodes/java-ts-mode.el (java-ts-mode--string-highlight-helper): + * lisp/progmodes/js.el (js--chained-expression-p): + * lisp/progmodes/pascal.el (pascal-mode, pascal-comment-area): + * lisp/progmodes/python.el (python--treesit-fontify-union-types): + * lisp/progmodes/ruby-mode.el (ruby-align-chained-calls) + (ruby-block-indent, ruby-rubocop-use-bundler): + * lisp/progmodes/rust-ts-mode.el + (rust-ts-mode--prettify-symbols-compose-p): + * lisp/progmodes/verilog-mode.el (verilog-cache-has-lisp) + (verilog-auto-insert-lisp, verilog-highlight-region): + * lisp/progmodes/xref.el (xref--get-history): Various checkdoc fixes. + +2024-07-07 Stefan Kangas + + Checkdoc fixes in Org Mode + + * lisp/org/ob-core.el: + * lisp/org/ob-exp.el: + * lisp/org/ob-lob.el: + * lisp/org/ob-plantuml.el (org-babel-execute:plantuml): + * lisp/org/ob-python.el (org-babel-python--command) + (org-babel-python-initiate-session-by-key) + (org-babel-python-initiate-session): + * lisp/org/ob-scheme.el (org-babel-scheme-make-session-name): + * lisp/org/ob-tangle.el (org-babel-find-file-noselect-refresh) + (org-babel-interpret-file-mode): + * lisp/org/ob.el: + * lisp/org/org-agenda.el (org-agenda-mouse-1-follows-link) + (org-agenda-start-with-archives-mode) + (org-agenda-previous-line): + * lisp/org/org-clock.el (org-clock-save, org-clock-load): + * lisp/org/org-element-ast.el (org-element-type-p): + * lisp/org/org-faces.el (org-cycle-level-faces): + * lisp/org/org-fold-core.el (org-fold-core--isearch-overlays): + * lisp/org/org-fold.el (org-fold--extend-changed-region): + * lisp/org/org-goto.el: + * lisp/org/org-habit.el (org-habit-show-all-today): + * lisp/org/org-inlinetask.el (org-inlinetask-in-task-p): + * lisp/org/org-macs.el (org-current-text-column): + * lisp/org/org-mobile.el (org-mobile-check-setup): + * lisp/org/org-mouse.el (org-mouse-bolp): + * lisp/org/org-refile.el (org-refile): + * lisp/org/org-src.el (org-src-do-key-sequence-at-code-block): + * lisp/org/org-table.el (orgtbl-after-send-table-hook) + (orgtbl-self-insert-command, orgtbl-to-orgtbl): + * lisp/org/org.el (org-read-date-popup-calendar, org-finish-function) + (org-occur-parameters, org-self-insert-command, org-ctrl-c-ctrl-c-hook) + (org-ctrl-c-ctrl-c-final-hook, org-submit-bug-report) + (org--single-lines-list-is-paragraph): + * lisp/org/ox-icalendar.el (org-icalendar--vtodo): + * lisp/org/ox-latex.el (org-latex-generate-engraved-preamble): + (org-latex-src--engrave-code): + * lisp/org/ox-publish.el (org-publish-project-alist): + * lisp/org/ox.el (org-export-data): Various checkdoc fixes. + +2024-07-07 Stefan Kangas + + Clarify `checkdoc-max-keyref-before-warn` docstring + + * lisp/emacs-lisp/checkdoc.el (checkdoc-max-keyref-before-warn): Clarify + and reflow docstring. Fix warning about overly long docstring. + +2024-07-07 Juri Linkov + + * lisp/files.el (insert-directory): Quote switches in wildcard case. + + Use shell-quote-wildcard-pattern on the switches string split by + split-string-and-unquote. This helps to quote such switches as + "--block-size='1" (bug#71935). + +2024-07-07 Juri Linkov + + Fix uses of 'dired-omit-mode' (bug#71905) + + * lisp/dired.el (dired-jump): Disable dired-omit-mode with -1. + + * lisp/files.el (recover-session): Disable dired-omit-mode + explicitly afterwards instead of modifying dired-mode-hook + that fails when it contains a lambda. + +2024-07-07 Po Lu + + * src/androidvfs.c (android_saf_check_nonnull): Fix typo. + +2024-07-07 Po Lu + + Correct JNI string error checking and miscellaneous corrections + + * src/android-emacs.c (main): Do not attempt to load the + bootstrap class path, which is redundant on all Android releases. + + * src/android.c (initEmacs, android_browse_url): Do not assume + exceptions will be raised if GetStringUTFChars fails. Decode + Android JNI strings as Qandroid_jni. + + * src/androidvfs.c (android_saf_check_nonnull): New function. + (android_saf_new_mkdir): Likewise. + +2024-07-07 Stefan Kangas + + Correctly highlight SYMTAB in `awk-mode` + + * lisp/progmodes/cc-awk.el (awk-font-lock-keywords): Fix typo for + "SYMTAB" (see Info node '(gawk) Auto-set'). + +2024-07-06 JD Smith <93749+jdtsmith@users.noreply.github.com> + + Fix formatting of tables with thead/tfoot but no tbody + + Correctly handle formatting of tables containing thead and/or tfoot, but + without any tbody, to prevent including thead/tfoot content twice within + the table's derived body. + * lisp/net/shr.el (shr--fix-tbody): Omit 'thead' and 'tfoot' from + implicit body. (Bug#71685) + * test/lisp/net/shr-resources/table.html: + * test/lisp/net/shr-resources/table.txt: New tests for table rendering. + +2024-07-06 Stefan Monnier + + (buf_bytepos_to_charpos): Fix mixup introduced in commit b300052fb4ef + + Backport of commit 1b595b4598e7 since it turns out this "minor typo" + had disastrous consequences in pathological cases and explains + some of the problems seen in bug#71644 and bug#63040. + + * src/marker.c (buf_bytepos_to_charpos): Don't compare byte-positions + with char-positions. + +2024-07-06 Stefan Kangas + + package-buffer-info: Move 'require' earlier + + * lisp/emacs-lisp/package.el (package-buffer-info): + Move 'require' earlier, before it is needed. + +2024-07-06 Vincenzo Pupillo + + Fix treesit range rule for jsdoc + + The parser for jsdoc is local, so it is necessary for the range + rule to take this into account. + * lisp/progmodes/js.el (js-ts-mode): Add ':local' keyword. + (js-ts-language-at-point): Remove 'js-ts-language-at-point'. + (Bug#71776) + +2024-07-06 Eli Zaretskii + + Fix documentation of 'balance-windows' + + * lisp/window.el (balance-windows): Doc fix. + + * doc/emacs/windows.texi (Change Window): Make the description of + 'balance-windows' more accurate. (Bug#71915) + +2024-07-06 Daniel Semyonov + + nnatom: Ensure some parsed values are one line + + * lisp/gnus/nnatom.el (nnatom--dom-line): New function. + (nnatom--read-title, nnatom--read-description) + (nnatom--read-article-or-group-authors, nnatom--read-subject) + (nnatom--read-id, nnatom--read-publish, nnatom--read-update) + (nnatom--read-links): Read text using `nnatom--dom-line'. + (Bug#71889) + +2024-07-06 Daniel Semyonov + + nnfeed: (Mostly) fix group descriptions + + * lisp/gnus/nnfeed.el (nnfeed--group-description): New function. + (nnfeed-request-group-description, nnfeed-request-list-newsgroups): + Use `nnfeed--group-description' and always return t if group data + is found. (Bug#71888) + +2024-07-06 João Távora + + Eglot: support deprecated MarkedString (bug#71353) + + * lisp/progmodes/eglot.el: Make a markdown code block if + MarkedString passed. + +2024-07-06 Eli Zaretskii + + Fix returning to original TTY frame after 'rmail-reply' + + * lisp/mail/rmail.el (rmail-start-mail): Record the frame from + which an Rmail command, such as 'rmail-mail' or 'rmail-reply', was + invoked. + (rmail--find-orig-rmail-frame): New function. + (rmail-mail-return): Use 'rmail--find-orig-rmail-frame' to find + the original frame, and make it the top frame on its TTY terminal. + (Bug#69738) + +2024-07-05 Eli Zaretskii + + Improve warnings from native compiler + + * src/comp.c (syms_of_comp) : Rename from 'comp'. + + * src/lread.c (maybe_swap_for_eln): + * lisp/emacs-lisp/comp.el (comp--fwprop): + * lisp/emacs-lisp/comp-run.el + (comp--accept-and-process-async-output, native--compile-async): + Adjust to the new symbol. + +2024-07-05 Stefan Kangas + + Document adding package dependency on Emacs version + + * doc/lispref/package.texi (Simple Packages, Multi-file Packages): + Document how to make a package depend on a specific version of Emacs. + +2024-07-05 Eli Zaretskii + + Fix file-name detection in Dired under -F + + * lisp/files.el (insert-directory-clean): Support all the symbols + appended to file names by the -F/--classify option of 'ls'. See + https://lists.gnu.org/archive/html/emacs-devel/2024-07/msg00366.html + for the details. + +2024-07-04 Stefan Monnier + + (edebug--called-interactively-skip): Fix bug#71934 + + * lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): + Adjust to new interpreted functions. + +2024-07-03 Eli Zaretskii + + Fix MS-Windows build with native-compilation + + * src/w32.c (globals_of_w32): Move re-initialization of + Vlibrary_cache from here... + * src/emacs.c (main): ...to here, as it must be after load_pdump. + (Bug#71916) + +2024-07-03 Andrea Corallo + + Tag dbus-test05-register-signal-with-nils as unstable + + * test/lisp/net/dbus-tests.el (dbus-test05-register-signal-with-nils): + Tag it as unstable. + +2024-07-03 Yuan Fu + + Fix treesit test (bug#71907) + + * test/src/treesit-tests.el (treesit-node-check): Re-parse buffer before + checking for node outdated-ness. + +2024-07-03 Stefan Kangas + + Focus more on MS-Windows than MS-DOS in FAQ + + * doc/misc/efaq.texi (Editing Windows files): Rename section from + "Editing MS-DOS files", and update the text to focus on Windows. + * doc/misc/efaq.texi (Colors on a TTY) + (Emacs does not display 8-bit characters): Mention MS-Windows before + MS-DOS. + +2024-07-03 Stefan Kangas + + Autoload some string functions + + These functions are documented in both `(elisp) Creating Strings' and + 'M-x shortdoc RET string RET', so users will expect them to be available + without having to require 'subr-x'. + + * lisp/emacs-lisp/subr-x.el (string-fill, string-limit, string-pad) + (string-chop-newline): Autoload. + +2024-07-02 Michael Albinus + + * etc/NEWS: Fix typos. + +2024-07-01 Alan Mackenzie + + Remove a reference to a non-existant variable from a doc-string + + * lisp/progmodes/cc-langs.el (c-opt-extra-label-key): Remove + reference to c-nonlabel-decl-prefix-re from the doc string. + +2024-07-01 Po Lu + + * java/res/mipmap-v26/emacs_icon.xml: Define monospace icon. + +2024-07-01 Stefan Kangas + + Improve `sentence-end-double-space` docstring + + * lisp/textmodes/paragraphs.el (sentence-end-double-space): + Improve and expand docstring. + +2024-07-01 Stefan Kangas + + Backport file backup FAQ item to Emacs <28 + + * doc/misc/efaq.texi (Not writing files to the current directory): + Backport recommendation to Emacs 27 or older. + Problem reported by David Hedlund . + +2024-06-30 Eli Zaretskii + + More updates of documentation for Emacs 30 + + * etc/NEWS: Improve wording and move/mark entries. + + * doc/lispref/positions.texi (List Motion): Document + 'forward-sentence-function'. + * doc/lispref/functions.texi (What Is a Function): Document + 'primitive-function-p' and 'cl-functionp'. + * doc/emacs/misc.texi (Saving Emacs Sessions): Improve wording and + indexing. + * doc/lispref/tips.texi (Documentation Tips): Adapt to the new + value of 'emacs-lisp-docstring-fill-column'. + * doc/emacs/fixit.texi (Spelling): Document + 'flyspell-check-changes'. + +2024-06-30 Mattias Engdegård + + Revert "; * etc/NEWS: Move items to "Incompatible Lisp Changes"." + + This reverts commit 000ef8876ae9e2098cf98e1b1c468c09be3acd43. + Most of the moved items weren't actually incompatible changes. + +2024-06-30 Po Lu + + Improve Android "adaptive icon" + + * java/res/drawable/emacs_background.xml: + + * java/res/drawable/emacs_foreground.xml: Transform borders and + gradient colors to better align with the original. + +2024-06-30 Eli Zaretskii + + Fix documentation for Emacs 30 + + * etc/NEWS: Mark entries and improve wording. + + * doc/emacs/dired.texi (Operating on Files): Document + 'dired-do-open'. Fix indexing. + * doc/emacs/files.texi (Diff Mode): Document 'diff-apply-buffer'. + Fix indexing. + * doc/emacs/maintaining.texi (Project File Commands) + (Project Buffer Commands): Document 'project-any-command'. + * doc/emacs/building.texi (Other GDB Buffers): Document the user + option 'gdb-display-io-buffer'. + (Grep Searching): Document 'grep-use-headings'. + * doc/emacs/text.texi (Outline Visibility): Document Outline + commands that hide/show by heading regexp. + * doc/emacs/killing.texi (Kill Options): Document + 'kill-ring-deindent-mode'. + * doc/emacs/basic.texi (Continuation Lines): Improve wording. + +2024-06-30 Robert Church + + Add D-Bus test + + * test/lisp/net/dbus-tests.el (dbus-test05-register-signal-with-nils): + New test. (Bug#69926) + +2024-06-30 Po Lu + + Merge remote-tracking branch 'savannah/scratch/windows-98' into emacs-30 + + * configure.ac (W32_LIBS): Don't link with -lusp10 on non-Cygwin + systems. + + * src/emacs.c (main): Call globals_of_w32 before the startup + directory is initialized. + + * src/w32.c (maybe_load_unicows_dll): Call + load_unicows_dll_for_w32fns. + + * src/w32.h: Update prototypes. + + * src/w32fns.c (Fx_create_frame, w32_create_tip_frame): Do not + register the Uniscribe font driver when unavailable. + (pfnSHFileOperationW): New function pointer. + (Fsystem_move_file_to_trash): Load UNICOWS.DLL if not yet + loaded. Call SHFileOperationW through said function pointer. + (pfnShellExecuteExW): New function pointer. + (Fw32_shell_execute) [!CYGWIN]: Load UNICOWS.DLL if not yet + loaded. Call ShellExecuteExW through said function pointer. + (pfnShell_NotifyIconW): New function pointer. + (add_tray_notification, delete_tray_notification): Call + Shell_NotifyIconW through said function pointer. + (Fw32_notification_notify): Load UNICOWS.DLL. + (Fw32_notification_close): Return if Shell_NotifyIconW is + unavailable, as when UNICOWS.DLL has yet to be loaded. + (load_unicows_dll_for_w32fns): New function. + + * src/w32notify.c (pfnReadDirectoryChangesW): New function + pointer. + (watch_completion, remove_watch, Fw32notify_add_watch) + (Fw32notify_rm_watch, Fw32notify_valid_p): Call + ReadDirectoryChangesW through said function pointer, and assert + its presence. + (globals_of_w32notify): Load ReadDirectoryChangesW from + KERNEL32.DLL. + + * src/w32uniscribe.c (pfnScriptItemize, pfnScriptShape) + (pfnScriptPlace, pfnScriptGetGlyphABCWidth, pfnScriptFreeCache) + (pfnScriptGetCMap): New function pointers. + (uniscribe_close, uniscribe_shape, uniscribe_encode_char) + (uniscribe_check_otf_1): Call Uniscribe functions through the + same. + (syms_of_w32uniscribe_for_pdumper): Load Uniscribe library and + required functions from the same, and if unavailable, return + while leaving uniscribe_available intact. On Cygwin, simply + assign USP10.DLL functions to the said new function pointers. + +2024-06-30 Po Lu + + Inaccuracy in efaq.texi + + Mac OS separately. + +2024-06-30 Yuan Fu + + Fix treesit crash (bug#71681) + + To reproduce the problem: + + 0. emacs -Q + 1. eval: (add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode)) + 2. C-x v L + 3. in the *vc-change-log* buffer move point to the commit 20af58d3a13 + 4. type D + 5. crash caused by diff-font-lock-syntax fontification that uses treesit + + Emacs: 6f2036243f2 (2024-06-23, latest master) + Tree-sitter: 3da7deed (2024-06-08, version 0.22.6) + + The immediate cause of the crash is that tree-sitter accessed a node's + tree, but the tree is already deleted. Commenting out the + ts_tree_delete line in treesit_ensure_parsed can "fix" the crash. + + What happended, I think, is this: + + 1. Buffer modified, parser->need_reparse set to true, + parser->timestamp incremented. + 2. A node is created from the parser, this node has the old tree but + the new timestamp (bad!). + 3. Parser re-parses (treesit_ensure_parsed), new tree created, old + tree deleted. + 4. Ftreesit_query_capture accessed the old node, and the old tree, + crash. + + We shouldn't bump the parser timestamp when we set + parser->need_reparse to true; instead, we should bump the timestamp + when we actually reparsed and created a new tree. + + * src/treesit.c (treesit_record_change): Don't bump parser timestamp. + (treesit_sync_visible_region): Don't bump parser timestamp. + (Ftreesit_parser_set_included_ranges): Don't bump parser timestamp. + (treesit_ensure_parsed): Bump parser timestamp. + (Ftreesit_query_capture): Add node check. + +2024-06-29 Stefan Kangas + + Delete redundant mention of `with-eval-after-load' + + * lisp/progmodes/dcl-mode.el (dcl-mode): Delete redundant mention of + `with-eval-after-load'. + +2024-06-29 Michael Albinus + + * doc/misc/efaq.texi (New in Emacs 30): Fix typos. + +2024-06-29 Stefan Kangas + + Document security fixes in FAQ + + * doc/misc/efaq.texi (New in Emacs 29): Recommend using Emacs 29.4. + * doc/misc/efaq.texi (Security risks with Emacs): New item with a + recommendation to upgrade Emacs for improved security. + +2024-06-29 Stefan Kangas + + Add "New in Emacs 30" to FAQ + + * doc/misc/efaq.texi (New in Emacs 30): New section. + +2024-06-29 Kazuhiro Ito + + Fix non-ASCII filename operatiion on EasyPG (bug#71500) + + * lisp/epg.el (epg--start): Don't encode command-line arguments for + gpg2 program in raw-text. + +2024-06-29 Stefan Kangas + + Silence warning with global minor mode :predicate + + * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Silence byte-compiler warning when :predicate is used. + +2024-06-29 George Huebner (tiny change) + + Fix: make 'xwidget-webkit-scroll-backward' scroll backwards + + * lisp/xwidget.el (xwidget-webkit-scroll-backward): Move + hyphen out of %-formatter, changing semantics from a padding + specifier to a negative sign. (Bug#71792) + +2024-06-29 Vincenzo Pupillo + + Add jsdoc support to php-ts-mode in