commit 4ffd16b8e5e4635246155fdb23967707bcb70949 (HEAD, refs/remotes/origin/master) Author: Po Lu Date: Sun Dec 31 11:34:28 2023 +0800 Prevent overlapping sections of glyphs from being misaligned * src/xdisp.c (gui_fix_overlapping_area): Offset all glyphs by ROW->x. diff --git a/src/xdisp.c b/src/xdisp.c index 2a979c5cb9e..7023c26c1b4 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -33565,13 +33565,18 @@ notice_overwritten_cursor (struct window *w, enum glyph_row_area area, void gui_fix_overlapping_area (struct window *w, struct glyph_row *row, - enum glyph_row_area area, int overlaps) + enum glyph_row_area area, int overlaps) { int i, x; block_input (); - x = 0; + /* row->x might be smaller than zero when produced from an iterator + under horizontal scrolling. Offset all measurements by this + basic value, lest hscrolled text with overlaps be displayed with + its overlapping portions misaligned. */ + x = row->x; + for (i = 0; i < row->used[area];) { if (row->glyphs[area][i].overlaps_vertically_p) commit 2bbd50a03d61bb38a9b72ba86bcd46106cfeedfe Author: Po Lu Date: Sun Dec 31 11:21:34 2023 +0800 ; * src/buffer.c (Ffind_buffer): Fix coding style in recent change. diff --git a/src/buffer.c b/src/buffer.c index 5b4c4ea390e..6b7d4e0e91c 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -541,7 +541,7 @@ DEFUN ("find-buffer", Ffind_buffer, Sfind_buffer, 2, 2, 0, FOR_EACH_LIVE_BUFFER (tail, buf) { - if (!NILP (Fequal (value, Fbuffer_local_value(variable, buf)))) + if (!NILP (Fequal (value, Fbuffer_local_value (variable, buf)))) return buf; } return Qnil; commit a058d61615d7c234631612f84c7b879845fdb7f7 Author: Bill Wohler Date: Sat Dec 30 17:30:34 2023 -0800 Delete unused macros (SF#494) * lisp/mh-e/mh-acros.el (mh-do-in-gnu-emacs, mh-do-in-xemacs, mh-funcall-if-exists, defun-mh, defmacro-mh, mh-make-local-hook, mh-mark-active-p): Delete unused macros. diff --git a/lisp/mh-e/mh-acros.el b/lisp/mh-e/mh-acros.el index 3981bb7f709..3f43f58f0f8 100644 --- a/lisp/mh-e/mh-acros.el +++ b/lisp/mh-e/mh-acros.el @@ -42,81 +42,8 @@ -;;; Compatibility - -;;;###mh-autoload -(defmacro mh-do-in-gnu-emacs (&rest body) - "Execute BODY if in GNU Emacs." - (declare (obsolete progn "29.1") (debug t) (indent defun)) - (unless (featurep 'xemacs) `(progn ,@body))) - -;;;###mh-autoload -(defmacro mh-do-in-xemacs (&rest body) - "Execute BODY if in XEmacs." - (declare (obsolete ignore "29.1") (debug t) (indent defun)) - (when (featurep 'xemacs) `(progn ,@body))) - -;;;###mh-autoload -(defmacro mh-funcall-if-exists (function &rest args) - "Call FUNCTION with ARGS as parameters if it exists." - (declare (obsolete "use `(when (fboundp 'foo) (foo))' instead." "29.1") - (debug (symbolp body))) - ;; FIXME: Not clear when this should be used. If the function happens - ;; not to exist at compile-time (e.g. because the corresponding package - ;; wasn't loaded), then it won't ever be used :-( - (when (fboundp function) - `(when (fboundp ',function) - (funcall ',function ,@args)))) - -;;;###mh-autoload -(defmacro defun-mh (name function arg-list &rest body) - "Create function NAME. -If FUNCTION exists, then NAME becomes an alias for FUNCTION. -Otherwise, create function NAME with ARG-LIST and BODY." - (declare (obsolete defun "29.1") - (indent defun) (doc-string 4) - (debug (&define name symbolp sexp def-body))) - `(defalias ',name - (if (fboundp ',function) - ',function - (lambda ,arg-list ,@body)))) - -;;;###mh-autoload -(defmacro defmacro-mh (name macro arg-list &rest body) - "Create macro NAME. -If MACRO exists, then NAME becomes an alias for MACRO. -Otherwise, create macro NAME with ARG-LIST and BODY." - (declare (obsolete defmacro "29.1") - (indent defun) (doc-string 4) - (debug (&define name symbolp sexp def-body))) - (let ((defined-p (fboundp macro))) - (if defined-p - `(defalias ',name ',macro) - `(defmacro ,name ,arg-list ,@body)))) - - ;;; Miscellaneous -;;;###mh-autoload -(defmacro mh-make-local-hook (hook) - "Make HOOK local if needed. -XEmacs and versions of GNU Emacs before 21.1 require -`make-local-hook' to be called." - (declare (obsolete nil "29.1")) - (when (and (fboundp 'make-local-hook) - (not (get 'make-local-hook 'byte-obsolete-info))) - `(make-local-hook ,hook))) - -;;;###mh-autoload -(defmacro mh-mark-active-p (check-transient-mark-mode-flag) - "If CHECK-TRANSIENT-MARK-MODE-FLAG is non-nil then check if -variable `transient-mark-mode' is active." - (declare (obsolete nil "29.1")) - (cond ((not check-transient-mark-mode-flag) - 'mark-active) - (t - '(and transient-mark-mode mark-active)))) - ;;;###mh-autoload (defmacro with-mh-folder-updating (save-modification-flag &rest body) "Format is (with-mh-folder-updating (SAVE-MODIFICATION-FLAG) &body BODY). commit 82f6367ee241d2d99ed9ca126b458381ee2cf620 Author: Stefan Kangas Date: Sat Dec 30 23:24:16 2023 +0100 ; * src/alloc.c (garbage_collect): Fix typo. diff --git a/src/alloc.c b/src/alloc.c index cda8ba1ad46..86a4a50a5ac 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -6605,7 +6605,7 @@ garbage_collect (void) /* Everything is now marked, except for the data in font caches, undo lists, and finalizers. The first two are compacted by - removing an items which aren't reachable otherwise. */ + removing any items which aren't reachable otherwise. */ compact_font_caches (); commit 1d278dc786c01cd3799a29156e3e1f8dda965318 Author: Harald Jörg Date: Sat Dec 30 21:50:22 2023 +0100 ; cperl-mode.el: Improve discoverability of cperl-file-styles * lisp/progmodes/cperl-mode.el (cperl-indentation-details): Mention the option `cperl-file-style' in the docstring. (cperl-file-style): Describe the available styles, and move the option to the group `cperl-indentatino-details'. diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index d9d907b1846..c22897d0270 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el @@ -104,7 +104,10 @@ cperl :version "20.3") (defgroup cperl-indentation-details nil - "Indentation." + "Indentation. +The option `cperl-file-style' (which see) can be used to set +several indentation options in one go, following popular +indentation styles." :prefix "cperl-" :group 'cperl) @@ -157,6 +160,26 @@ cperl-extra-newline-before-brace-multiline :type 'boolean :group 'cperl-autoinsert-details) +(defcustom cperl-file-style nil + "Indentation style to use in cperl-mode. +\"PBP\" is the style recommended in the Book \"Perl Best +Practices\" by Damian Conway. \"CPerl\" is the traditional style +of cperl-mode, and \"PerlStyle\" follows the Perl documentation +in perlstyle. The other styles have been developed for other +programming languages, mostly C." + :type '(choice (const "PBP") + (const "CPerl") + (const "PerlStyle") + (const "GNU") + (const "C++") + (const "K&R") + (const "BSD") + (const "Whitesmith") + (const :tag "Default" nil)) + :group 'cperl-indentation-details + :version "29.1") +;;;###autoload(put 'cperl-file-style 'safe-local-variable 'stringp) + (defcustom cperl-indent-level 2 "Indentation of CPerl statements with respect to containing block." :type 'integer @@ -537,20 +560,6 @@ cperl-syntaxify-for-menu :type 'boolean :group 'cperl-speed) -(defcustom cperl-file-style nil - "Indentation style to use in cperl-mode." - :type '(choice (const "CPerl") - (const "PBP") - (const "PerlStyle") - (const "GNU") - (const "C++") - (const "K&R") - (const "BSD") - (const "Whitesmith") - (const :tag "Default" nil)) - :version "29.1") -;;;###autoload(put 'cperl-file-style 'safe-local-variable 'stringp) - (defcustom cperl-fontify-trailer 'perl-code "How to fontify text after an \"__END__\" or \"__DATA__\" token. commit fc8a20f79274a2e533722f636cb538d7f8fb5427 Author: Stefan Kangas Date: Sat Dec 30 21:06:14 2023 +0100 Slightly clarify "Start Emacs maximized" in FAQ * doc/misc/efaq.texi (Start Emacs maximized): Clarify why the early init file is used. diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 70f434d4b99..1718650def4 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -3127,8 +3127,10 @@ Start Emacs maximized @end lisp Note that while some customizations of @code{default-frame-alist} -could have undesirable effects when modified in @file{early-init.el}, -it is okay to do it in this particular case. +could have undesirable effects when modified in the early init file, +it is okay to do it in this particular case. Adding it to the normal +init file will also work, but leads to a visible resizing of the +window that some find distracting. @node Emacs in a Linux console @section How can I alleviate the limitations of the Linux console? commit 518e6795c0a3a5f5901056130ddb18143aa3a985 Author: Sean Whitton Date: Sat Dec 30 19:40:00 2023 +0000 ; * doc/emacs/buffers.texi (Icomplete): Use "Icomplete mode" diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index 1859785bc81..ce455208295 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi @@ -728,7 +728,7 @@ Icomplete @findex icomplete-mode @cindex Icomplete mode - Icomplete provides a convenient way to quickly select an + Icomplete mode provides a convenient way to quickly select an element among the possible completions in a minibuffer. When enabled, typing in the minibuffer continuously displays a list of possible completions that match the string you have typed. @@ -750,20 +750,20 @@ Icomplete icomplete-mode}, or customize the variable @code{icomplete-mode} to @code{t} (@pxref{Easy Customization}). - You can also additionally enable Icomplete for @kbd{C-M-i} (the + You can also additionally enable Icomplete mode for @kbd{C-M-i} (the command @code{completion-at-point}) by customizing the variable @code{icomplete-in-buffer} to @code{t}. For in-buffer completion, the -@code{completion-auto-help} variable controls when Icomplete's display -of possible completions appears. The default value of @code{t} means -that the display of possible completions appears when you first type -@kbd{C-M-i}. - - By default, when you press @kbd{C-M-i}, both Icomplete's in-buffer -display of possible completions and the @file{*Completions*} buffer -appear. If you are using @code{icomplete-in-buffer}, then you may -wish to suppress this apperance of the @file{*Completions*} buffer. -To do that, add the following to your initialization file (@pxref{Init -File}): +@code{completion-auto-help} variable controls when Icomplete mode's +display of possible completions appears. The default value of +@code{t} means that the display of possible completions appears when +you first type @kbd{C-M-i}. + + By default, when you press @kbd{C-M-i}, both Icomplete mode's +in-buffer display of possible completions and the @file{*Completions*} +buffer appear. If you are using @code{icomplete-in-buffer}, then you +may wish to suppress this apperance of the @file{*Completions*} +buffer. To do that, add the following to your initialization file +(@pxref{Init File}): @example (advice-add 'completion-at-point :after #'minibuffer-hide-completions) commit 32cfc60d2a2baa7f60bd4190ab83580bc667c753 Author: Stefan Kangas Date: Sat Dec 30 18:59:56 2023 +0100 ; Clean up some Keyword headers diff --git a/lisp/textmodes/tildify.el b/lisp/textmodes/tildify.el index 0e9aafda305..5d1d28089d6 100644 --- a/lisp/textmodes/tildify.el +++ b/lisp/textmodes/tildify.el @@ -5,7 +5,7 @@ ;; Author: Milan Zamazal ;; Michal Nazarewicz ;; Version: 4.6.1 -;; Keywords: text, TeX, SGML, text +;; Keywords: text, TeX, SGML ;; This file is part of GNU Emacs. diff --git a/test/lisp/textmodes/fill-tests.el b/test/lisp/textmodes/fill-tests.el index f83f48be951..4ad31481054 100644 --- a/test/lisp/textmodes/fill-tests.el +++ b/test/lisp/textmodes/fill-tests.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2017-2023 Free Software Foundation, Inc. ;; Author: Marcin Borkowski -;; Keywords: text, text +;; Keywords: text ;; This file is part of GNU Emacs. diff --git a/test/lisp/textmodes/tildify-tests.el b/test/lisp/textmodes/tildify-tests.el index 5b9e1f59974..695dac008e9 100644 --- a/test/lisp/textmodes/tildify-tests.el +++ b/test/lisp/textmodes/tildify-tests.el @@ -4,7 +4,7 @@ ;; Author: Michal Nazarewicz ;; Version: 4.5 -;; Keywords: text, TeX, SGML, text +;; Keywords: text, TeX, SGML ;; This file is part of GNU Emacs. diff --git a/test/lisp/url/url-expand-tests.el b/test/lisp/url/url-expand-tests.el index 651bd690811..392e949465c 100644 --- a/test/lisp/url/url-expand-tests.el +++ b/test/lisp/url/url-expand-tests.el @@ -3,7 +3,6 @@ ;; Copyright (C) 2012-2023 Free Software Foundation, Inc. ;; Author: Alain Schneble -;; Version: 1.0 ;; This file is part of GNU Emacs. diff --git a/test/lisp/url/url-parse-tests.el b/test/lisp/url/url-parse-tests.el index cf75738d00a..eb6df17daeb 100644 --- a/test/lisp/url/url-parse-tests.el +++ b/test/lisp/url/url-parse-tests.el @@ -3,7 +3,6 @@ ;; Copyright (C) 2012-2023 Free Software Foundation, Inc. ;; Author: Alain Schneble -;; Version: 1.0 ;; This file is part of GNU Emacs. commit 479e64b5ad7f87b291a52ebb0227cf37a4defe50 Author: Stefan Kangas Date: Sat Dec 30 18:10:25 2023 +0100 Document `wp` defgroup as obsolete instead of deprecated This opens up for its removal at some point in the future. It has been deprecated for the better part of a decade by now. * lisp/cus-edit.el (wp): Document group "wp" as obsolete. * lisp/finder.el (finder-known-keywords): Document keyword "wp" as obsolete. diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 6442ffeac24..be9fed5e2f9 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -177,7 +177,7 @@ files (defgroup wp nil "Support for editing text files. -Use group `text' for this instead. This group is deprecated." +Use group `text' for this instead. This group is obsolete." :group 'emacs) (defgroup text nil diff --git a/lisp/finder.el b/lisp/finder.el index 717ee51a33b..4babfc09261 100644 --- a/lisp/finder.el +++ b/lisp/finder.el @@ -72,7 +72,7 @@ finder-known-keywords (tools . "programming tools") (unix . "UNIX feature interfaces and emulators") (vc . "version control") - (wp . "use keyword `text' instead; this keyword is deprecated")) + (wp . "use keyword `text' instead; this keyword is obsolete")) "Association list of the standard \"Keywords:\" headers. Each element has the form (KEYWORD . DESCRIPTION).") commit 0f3be9596fb3cf2f5e8f10fe2b3ef59546de98bb Author: Stefan Kangas Date: Sat Dec 30 18:01:48 2023 +0100 ; Prefer finder keyword "text" to deprecated keyword "wp" diff --git a/lisp/allout.el b/lisp/allout.el index d3203800168..3c3a60fea2f 100644 --- a/lisp/allout.el +++ b/lisp/allout.el @@ -5,7 +5,7 @@ ;; Author: Ken Manheimer ;; Created: Dec 1991 -- first release to usenet ;; Version: 2.3 -;; Keywords: outlines, wp, languages, PGP, GnuPG +;; Keywords: outlines, text, languages, PGP, GnuPG ;; Website: https://myriadicity.net/software-and-systems/craft/emacs-allout ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/nxml-enc.el b/lisp/nxml/nxml-enc.el index 1fd7abef974..8eb16ed49e9 100644 --- a/lisp/nxml/nxml-enc.el +++ b/lisp/nxml/nxml-enc.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML +;; Keywords: text, hypermedia, languages, XML ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/nxml-maint.el b/lisp/nxml/nxml-maint.el index 24eb711eb99..619575bb9a2 100644 --- a/lisp/nxml/nxml-maint.el +++ b/lisp/nxml/nxml-maint.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML +;; Keywords: text, hypermedia, languages, XML ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/nxml-mode.el b/lisp/nxml/nxml-mode.el index bc32598003e..38e62a25cc4 100644 --- a/lisp/nxml/nxml-mode.el +++ b/lisp/nxml/nxml-mode.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003-2004, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML +;; Keywords: text, hypermedia, languages, XML ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/nxml-ns.el b/lisp/nxml/nxml-ns.el index 2781ea87938..521aa71fa83 100644 --- a/lisp/nxml/nxml-ns.el +++ b/lisp/nxml/nxml-ns.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML +;; Keywords: text, hypermedia, languages, XML ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/nxml-outln.el b/lisp/nxml/nxml-outln.el index 5f1eec75ef9..dbcc25a080b 100644 --- a/lisp/nxml/nxml-outln.el +++ b/lisp/nxml/nxml-outln.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2004, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML +;; Keywords: text, hypermedia, languages, XML ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/nxml-parse.el b/lisp/nxml/nxml-parse.el index f2440065deb..50bf85a6be6 100644 --- a/lisp/nxml/nxml-parse.el +++ b/lisp/nxml/nxml-parse.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML +;; Keywords: text, hypermedia, languages, XML ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/nxml-rap.el b/lisp/nxml/nxml-rap.el index 8e11707b9b7..6b6fc4078c9 100644 --- a/lisp/nxml/nxml-rap.el +++ b/lisp/nxml/nxml-rap.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003-2004, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML +;; Keywords: text, hypermedia, languages, XML ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/nxml-util.el b/lisp/nxml/nxml-util.el index e9d04126400..ad175a527e6 100644 --- a/lisp/nxml/nxml-util.el +++ b/lisp/nxml/nxml-util.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML +;; Keywords: text, hypermedia, languages, XML ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/rng-cmpct.el b/lisp/nxml/rng-cmpct.el index 98aad8bd4dd..e1a6bd92349 100644 --- a/lisp/nxml/rng-cmpct.el +++ b/lisp/nxml/rng-cmpct.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML, RelaxNG +;; Keywords: text, hypermedia, languages, XML, RelaxNG ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/rng-dt.el b/lisp/nxml/rng-dt.el index 577157687a3..c088a967cfe 100644 --- a/lisp/nxml/rng-dt.el +++ b/lisp/nxml/rng-dt.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML, RelaxNG +;; Keywords: text, hypermedia, languages, XML, RelaxNG ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/rng-loc.el b/lisp/nxml/rng-loc.el index 82e8494a49f..79638ce4170 100644 --- a/lisp/nxml/rng-loc.el +++ b/lisp/nxml/rng-loc.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML, RelaxNG +;; Keywords: text, hypermedia, languages, XML, RelaxNG ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/rng-maint.el b/lisp/nxml/rng-maint.el index 42feb221e81..ec0e43edf60 100644 --- a/lisp/nxml/rng-maint.el +++ b/lisp/nxml/rng-maint.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML, RelaxNG +;; Keywords: text, hypermedia, languages, XML, RelaxNG ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/rng-match.el b/lisp/nxml/rng-match.el index 51c197cd6c6..03552fe7b7a 100644 --- a/lisp/nxml/rng-match.el +++ b/lisp/nxml/rng-match.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML, RelaxNG +;; Keywords: text, hypermedia, languages, XML, RelaxNG ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/rng-nxml.el b/lisp/nxml/rng-nxml.el index fd1f4fb904e..ef8746a6598 100644 --- a/lisp/nxml/rng-nxml.el +++ b/lisp/nxml/rng-nxml.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML, RelaxNG +;; Keywords: text, hypermedia, languages, XML, RelaxNG ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/rng-parse.el b/lisp/nxml/rng-parse.el index 1728de7aadd..cf233fd9608 100644 --- a/lisp/nxml/rng-parse.el +++ b/lisp/nxml/rng-parse.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML, RelaxNG +;; Keywords: text, hypermedia, languages, XML, RelaxNG ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/rng-pttrn.el b/lisp/nxml/rng-pttrn.el index f37ace7f734..98174420b41 100644 --- a/lisp/nxml/rng-pttrn.el +++ b/lisp/nxml/rng-pttrn.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML, RelaxNG +;; Keywords: text, hypermedia, languages, XML, RelaxNG ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/rng-uri.el b/lisp/nxml/rng-uri.el index 4cfa212990d..62082c3f8b1 100644 --- a/lisp/nxml/rng-uri.el +++ b/lisp/nxml/rng-uri.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML +;; Keywords: text, hypermedia, languages, XML ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/rng-util.el b/lisp/nxml/rng-util.el index 4f49885fc45..81a2ec0b5ec 100644 --- a/lisp/nxml/rng-util.el +++ b/lisp/nxml/rng-util.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML, RelaxNG +;; Keywords: text, hypermedia, languages, XML, RelaxNG ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/rng-valid.el b/lisp/nxml/rng-valid.el index 898fe204fd4..a2cfdec276c 100644 --- a/lisp/nxml/rng-valid.el +++ b/lisp/nxml/rng-valid.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML, RelaxNG +;; Keywords: text, hypermedia, languages, XML, RelaxNG ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/rng-xsd.el b/lisp/nxml/rng-xsd.el index cd963534402..2580ba9ee7d 100644 --- a/lisp/nxml/rng-xsd.el +++ b/lisp/nxml/rng-xsd.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML, RelaxNG +;; Keywords: text, hypermedia, languages, XML, RelaxNG ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/xmltok.el b/lisp/nxml/xmltok.el index 78fa91b5cdc..c616cf22d03 100644 --- a/lisp/nxml/xmltok.el +++ b/lisp/nxml/xmltok.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML +;; Keywords: text, hypermedia, languages, XML ;; This file is part of GNU Emacs. diff --git a/lisp/nxml/xsd-regexp.el b/lisp/nxml/xsd-regexp.el index 3c33c4c0170..774cda2f540 100644 --- a/lisp/nxml/xsd-regexp.el +++ b/lisp/nxml/xsd-regexp.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: wp, hypermedia, languages, XML, regexp +;; Keywords: text, hypermedia, languages, XML, regexp ;; This file is part of GNU Emacs. diff --git a/lisp/obsolete/longlines.el b/lisp/obsolete/longlines.el index 0f9f73d044b..268f57c0005 100644 --- a/lisp/obsolete/longlines.el +++ b/lisp/obsolete/longlines.el @@ -7,7 +7,7 @@ ;; Chong Yidong ;; Maintainer: emacs-devel@gnu.org ;; Obsolete-since: 24.4 -;; Keywords: convenience, wp +;; Keywords: convenience, text ;; This file is part of GNU Emacs. diff --git a/lisp/obsolete/ps-def.el b/lisp/obsolete/ps-def.el index 222f5622b7f..88a972d47e0 100644 --- a/lisp/obsolete/ps-def.el +++ b/lisp/obsolete/ps-def.el @@ -4,7 +4,7 @@ ;; Author: Vinicius Jose Latorre ;; Kenichi Handa (multi-byte characters) -;; Keywords: wp, print, PostScript +;; Keywords: text, print, PostScript ;; URL: https://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre ;; Package: ps-print ;; Obsolete-since: 29.1 diff --git a/lisp/org/ol-bbdb.el b/lisp/org/ol-bbdb.el index 47bd9d98cb5..bc298abf363 100644 --- a/lisp/org/ol-bbdb.el +++ b/lisp/org/ol-bbdb.el @@ -4,7 +4,7 @@ ;; Authors: Carsten Dominik ;; Thomas Baumann -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/ol-bibtex.el b/lisp/org/ol-bibtex.el index a16a4b39277..828ea49d17a 100644 --- a/lisp/org/ol-bibtex.el +++ b/lisp/org/ol-bibtex.el @@ -5,7 +5,7 @@ ;; Authors: Bastien Guerry ;; Carsten Dominik ;; Eric Schulte -;; Keywords: org, wp, capture +;; Keywords: org, text, capture ;; ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/ol-docview.el b/lisp/org/ol-docview.el index a9cd9b9950f..926f59cdd1c 100644 --- a/lisp/org/ol-docview.el +++ b/lisp/org/ol-docview.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Jan Böcker -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/ol-gnus.el b/lisp/org/ol-gnus.el index 7c07ce0454d..0a7fe90b498 100644 --- a/lisp/org/ol-gnus.el +++ b/lisp/org/ol-gnus.el @@ -4,7 +4,7 @@ ;; Author: Carsten Dominik ;; Tassilo Horn -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/ol-info.el b/lisp/org/ol-info.el index 350ccf5cc57..cd5258735da 100644 --- a/lisp/org/ol-info.el +++ b/lisp/org/ol-info.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/ol-man.el b/lisp/org/ol-man.el index 40fdc8f9237..567fede04c2 100644 --- a/lisp/org/ol-man.el +++ b/lisp/org/ol-man.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2020-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Maintainer: Bastien Guerry -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/ol-mhe.el b/lisp/org/ol-mhe.el index 403b5a25483..0ca98174ae7 100644 --- a/lisp/org/ol-mhe.el +++ b/lisp/org/ol-mhe.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Thomas Baumann -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/ol-rmail.el b/lisp/org/ol-rmail.el index 2877798281d..df97c50ba10 100644 --- a/lisp/org/ol-rmail.el +++ b/lisp/org/ol-rmail.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/ol-w3m.el b/lisp/org/ol-w3m.el index 6fb01a60d59..2ef55b85541 100644 --- a/lisp/org/ol-w3m.el +++ b/lisp/org/ol-w3m.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2008-2023 Free Software Foundation, Inc. ;; Author: Andy Stewart -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/ol.el b/lisp/org/ol.el index cbc02a985c1..5e3dcc987b3 100644 --- a/lisp/org/ol.el +++ b/lisp/org/ol.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2018-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el index 670116304e6..6b7669f67e1 100644 --- a/lisp/org/org-agenda.el +++ b/lisp/org/org-agenda.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-archive.el b/lisp/org/org-archive.el index e74c59a51d9..831140c5052 100644 --- a/lisp/org/org-archive.el +++ b/lisp/org/org-archive.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-capture.el b/lisp/org/org-capture.el index 41872ff87ef..3db9c035577 100644 --- a/lisp/org/org-capture.el +++ b/lisp/org/org-capture.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el index 6ab313e1218..14368e49c9b 100644 --- a/lisp/org/org-clock.el +++ b/lisp/org/org-clock.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-colview.el b/lisp/org/org-colview.el index 475416ecf74..5d83437d34c 100644 --- a/lisp/org/org-colview.el +++ b/lisp/org/org-colview.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-compat.el b/lisp/org/org-compat.el index db5e9283bf5..686a72b7972 100644 --- a/lisp/org/org-compat.el +++ b/lisp/org/org-compat.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-ctags.el b/lisp/org/org-ctags.el index 990214f4117..957dd86b28b 100644 --- a/lisp/org/org-ctags.el +++ b/lisp/org/org-ctags.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2007-2023 Free Software Foundation, Inc. ;; Author: Paul Sexton -;; Keywords: org, wp +;; Keywords: org, text ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-datetree.el b/lisp/org/org-datetree.el index 035ef047a9d..3874aef03b8 100644 --- a/lisp/org/org-datetree.el +++ b/lisp/org/org-datetree.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-duration.el b/lisp/org/org-duration.el index 2919efd4c77..cc2ed7e84ac 100644 --- a/lisp/org/org-duration.el +++ b/lisp/org/org-duration.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2017-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-element.el b/lisp/org/org-element.el index 34eb27b6465..48fedfe9edf 100644 --- a/lisp/org/org-element.el +++ b/lisp/org/org-element.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2012-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-entities.el b/lisp/org/org-entities.el index 61083022b82..a84142f5d40 100644 --- a/lisp/org/org-entities.el +++ b/lisp/org/org-entities.el @@ -4,7 +4,7 @@ ;; Author: Carsten Dominik , ;; Ulf Stegemann -;; Keywords: outlines, calendar, wp +;; Keywords: outlines, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-faces.el b/lisp/org/org-faces.el index bb0958033fe..e97188420b2 100644 --- a/lisp/org/org-faces.el +++ b/lisp/org/org-faces.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-feed.el b/lisp/org/org-feed.el index f0b294b4a59..c4712747bdb 100644 --- a/lisp/org/org-feed.el +++ b/lisp/org/org-feed.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-footnote.el b/lisp/org/org-footnote.el index 6bdd0b32fed..72b43f2c630 100644 --- a/lisp/org/org-footnote.el +++ b/lisp/org/org-footnote.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-goto.el b/lisp/org/org-goto.el index 00bf5d46aaa..7d3f814c2e8 100644 --- a/lisp/org/org-goto.el +++ b/lisp/org/org-goto.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2012-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-habit.el b/lisp/org/org-habit.el index fb6a48b5f55..e38cdf2a695 100644 --- a/lisp/org/org-habit.el +++ b/lisp/org/org-habit.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: John Wiegley -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-id.el b/lisp/org/org-id.el index 490e4ddee5b..bcdf1132b09 100644 --- a/lisp/org/org-id.el +++ b/lisp/org/org-id.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2008-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-indent.el b/lisp/org/org-indent.el index fe52338788c..977594bf016 100644 --- a/lisp/org/org-indent.el +++ b/lisp/org/org-indent.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-inlinetask.el b/lisp/org/org-inlinetask.el index cb7fdf88bde..b83691f1d36 100644 --- a/lisp/org/org-inlinetask.el +++ b/lisp/org/org-inlinetask.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-lint.el b/lisp/org/org-lint.el index 0e2967b6cb6..7a716eb5c09 100644 --- a/lisp/org/org-lint.el +++ b/lisp/org/org-lint.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2015-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el index 1fc99d0708a..694e3484506 100644 --- a/lisp/org/org-list.el +++ b/lisp/org/org-list.el @@ -4,7 +4,7 @@ ;; ;; Author: Carsten Dominik ;; Bastien Guerry -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-macro.el b/lisp/org/org-macro.el index 481e431c2f9..7b0725e73df 100644 --- a/lisp/org/org-macro.el +++ b/lisp/org/org-macro.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2013-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-macs.el b/lisp/org/org-macs.el index 6ed901b7397..39d40efcac6 100644 --- a/lisp/org/org-macs.el +++ b/lisp/org/org-macs.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-mobile.el b/lisp/org/org-mobile.el index 01395a4b616..cec9188445e 100644 --- a/lisp/org/org-mobile.el +++ b/lisp/org/org-mobile.el @@ -2,7 +2,7 @@ ;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-num.el b/lisp/org/org-num.el index 807fa66223b..290ac1624d7 100644 --- a/lisp/org/org-num.el +++ b/lisp/org/org-num.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2018-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-pcomplete.el b/lisp/org/org-pcomplete.el index 0567052c089..ecbe3594ed2 100644 --- a/lisp/org/org-pcomplete.el +++ b/lisp/org/org-pcomplete.el @@ -4,7 +4,7 @@ ;; ;; Author: Carsten Dominik ;; John Wiegley -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-protocol.el b/lisp/org/org-protocol.el index 2b07a377e2a..9e72bda863c 100644 --- a/lisp/org/org-protocol.el +++ b/lisp/org/org-protocol.el @@ -7,7 +7,7 @@ ;; Sebastian Rose ;; Ross Patterson ;; Maintainer: Sebastian Rose -;; Keywords: org, emacsclient, wp +;; Keywords: org, emacsclient, text ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/org-refile.el b/lisp/org/org-refile.el index 5a41c022fee..ecbf44a6274 100644 --- a/lisp/org/org-refile.el +++ b/lisp/org/org-refile.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-src.el b/lisp/org/org-src.el index 941399e15a5..1c1efdc1d7b 100644 --- a/lisp/org/org-src.el +++ b/lisp/org/org-src.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Bastien Guerry ;; Dan Davison -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el index d6b7086cddd..f2392a53863 100644 --- a/lisp/org/org-table.el +++ b/lisp/org/org-table.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-tempo.el b/lisp/org/org-tempo.el index 81ec8fdccfe..b81beec2eff 100644 --- a/lisp/org/org-tempo.el +++ b/lisp/org/org-tempo.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2017-2023 Free Software Foundation, Inc. ;; ;; Author: Rasmus Pank Roulund -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org-timer.el b/lisp/org/org-timer.el index 919630e696f..1cc7789c868 100644 --- a/lisp/org/org-timer.el +++ b/lisp/org/org-timer.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2008-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; ;; This file is part of GNU Emacs. diff --git a/lisp/org/org.el b/lisp/org/org.el index d1f63762e50..b63df8f59ea 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el @@ -5,7 +5,7 @@ ;; ;; Author: Carsten Dominik ;; Maintainer: Bastien Guerry -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; Package-Requires: ((emacs "26.1")) diff --git a/lisp/org/ox-ascii.el b/lisp/org/ox-ascii.el index 692dd216d61..881a95e3788 100644 --- a/lisp/org/ox-ascii.el +++ b/lisp/org/ox-ascii.el @@ -4,7 +4,7 @@ ;; Author: Nicolas Goaziou ;; Maintainer: Nicolas Goaziou -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/ox-beamer.el b/lisp/org/ox-beamer.el index 10a2c803a00..33ab6f30239 100644 --- a/lisp/org/ox-beamer.el +++ b/lisp/org/ox-beamer.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Nicolas Goaziou ;; Maintainer: Nicolas Goaziou -;; Keywords: org, wp, tex +;; Keywords: org, text, tex ;; This file is part of GNU Emacs. diff --git a/lisp/org/ox-html.el b/lisp/org/ox-html.el index cfad311207a..08db79dc877 100644 --- a/lisp/org/ox-html.el +++ b/lisp/org/ox-html.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Jambunathan K ;; Maintainer: TEC -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/ox-icalendar.el b/lisp/org/ox-icalendar.el index 81a77a77056..f38aedd2936 100644 --- a/lisp/org/ox-icalendar.el +++ b/lisp/org/ox-icalendar.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Nicolas Goaziou ;; Maintainer: Nicolas Goaziou -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; This file is part of GNU Emacs. diff --git a/lisp/org/ox-koma-letter.el b/lisp/org/ox-koma-letter.el index 33eb0597b08..04a930bd369 100644 --- a/lisp/org/ox-koma-letter.el +++ b/lisp/org/ox-koma-letter.el @@ -7,7 +7,7 @@ ;; Viktor Rosenfeld ;; Rasmus Pank Roulund ;; Maintainer: Marco Wahl -;; Keywords: org, wp, tex +;; Keywords: org, text, tex ;; This file is part of GNU Emacs. diff --git a/lisp/org/ox-latex.el b/lisp/org/ox-latex.el index 768bf402b70..520a51f856c 100644 --- a/lisp/org/ox-latex.el +++ b/lisp/org/ox-latex.el @@ -4,7 +4,7 @@ ;; Author: Nicolas Goaziou ;; Maintainer: Daniel Fleischer -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/ox-man.el b/lisp/org/ox-man.el index bb716f7b9f2..77dc609b061 100644 --- a/lisp/org/ox-man.el +++ b/lisp/org/ox-man.el @@ -4,7 +4,7 @@ ;; Author: Nicolas Goaziou ;; Luis R Anaya -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/ox-md.el b/lisp/org/ox-md.el index 5be0ca22e07..d0ddaabbbe4 100644 --- a/lisp/org/ox-md.el +++ b/lisp/org/ox-md.el @@ -4,7 +4,7 @@ ;; Author: Nicolas Goaziou ;; Maintainer: Nicolas Goaziou -;; Keywords: org, wp, markdown +;; Keywords: org, text, markdown ;; This file is part of GNU Emacs. diff --git a/lisp/org/ox-odt.el b/lisp/org/ox-odt.el index dd96ed8e064..f5ddedc2ba7 100644 --- a/lisp/org/ox-odt.el +++ b/lisp/org/ox-odt.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Jambunathan K -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; URL: https://orgmode.org ;; This file is part of GNU Emacs. diff --git a/lisp/org/ox-org.el b/lisp/org/ox-org.el index ed72cf4f2ba..5734510b37b 100644 --- a/lisp/org/ox-org.el +++ b/lisp/org/ox-org.el @@ -4,7 +4,7 @@ ;; Author: Nicolas Goaziou ;; Maintainer: Nicolas Goaziou -;; Keywords: org, wp +;; Keywords: org, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/ox-publish.el b/lisp/org/ox-publish.el index cff34f05882..2a06214d75b 100644 --- a/lisp/org/ox-publish.el +++ b/lisp/org/ox-publish.el @@ -3,7 +3,7 @@ ;; Author: David O'Toole ;; Maintainer: Nicolas Goaziou -;; Keywords: hypermedia, outlines, wp +;; Keywords: hypermedia, outlines, text ;; This file is part of GNU Emacs. ;; diff --git a/lisp/org/ox-texinfo.el b/lisp/org/ox-texinfo.el index 5befcac1c39..6616bfd024b 100644 --- a/lisp/org/ox-texinfo.el +++ b/lisp/org/ox-texinfo.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2012-2023 Free Software Foundation, Inc. ;; Author: Jonathan Leech-Pepin ;; Maintainer: Nicolas Goaziou -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/org/ox.el b/lisp/org/ox.el index e9cc0ed8fc7..5327cc0d41c 100644 --- a/lisp/org/ox.el +++ b/lisp/org/ox.el @@ -4,7 +4,7 @@ ;; Author: Nicolas Goaziou ;; Maintainer: Nicolas Goaziou -;; Keywords: outlines, hypermedia, calendar, wp +;; Keywords: outlines, hypermedia, calendar, text ;; This file is part of GNU Emacs. diff --git a/lisp/play/handwrite.el b/lisp/play/handwrite.el index 735874e8da6..22a6758066f 100644 --- a/lisp/play/handwrite.el +++ b/lisp/play/handwrite.el @@ -5,7 +5,7 @@ ;; Author: Danny Roozendaal (was: ) ;; Maintainer: emacs-devel@gnu.org ;; Created: October 21 1996 -;; Keywords: wp, print, postscript, cursive writing +;; Keywords: text, print, postscript, cursive writing ;; This file is part of GNU Emacs. diff --git a/lisp/printing.el b/lisp/printing.el index cb43f7e40dc..a91c82a5522 100644 --- a/lisp/printing.el +++ b/lisp/printing.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2000-2023 Free Software Foundation, Inc. ;; Author: Vinicius Jose Latorre -;; Keywords: wp, print, PostScript +;; Keywords: text, print, PostScript ;; Old-Version: 6.9.3 ;; URL: https://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre diff --git a/lisp/progmodes/cl-font-lock.el b/lisp/progmodes/cl-font-lock.el index 5febf7ff15f..972542cbaf5 100644 --- a/lisp/progmodes/cl-font-lock.el +++ b/lisp/progmodes/cl-font-lock.el @@ -6,7 +6,7 @@ ;; Created: 2019-06-16 ;; Old-Version: 0.3.0 ;; Package-Requires: ((emacs "24.5")) -;; Keywords: lisp wp files convenience +;; Keywords: lisp text files convenience ;; URL: https://github.com/cl-font-lock/cl-font-lock ;; This file is part of GNU Emacs diff --git a/lisp/progmodes/ebnf-abn.el b/lisp/progmodes/ebnf-abn.el index d05128b88ad..2618ad2b67a 100644 --- a/lisp/progmodes/ebnf-abn.el +++ b/lisp/progmodes/ebnf-abn.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2001-2023 Free Software Foundation, Inc. ;; Author: Vinicius Jose Latorre -;; Keywords: wp, ebnf, PostScript +;; Keywords: text, ebnf, PostScript ;; Old-Version: 1.2 ;; Package: ebnf2ps diff --git a/lisp/progmodes/ebnf-bnf.el b/lisp/progmodes/ebnf-bnf.el index d746efbe690..0cc93bc7123 100644 --- a/lisp/progmodes/ebnf-bnf.el +++ b/lisp/progmodes/ebnf-bnf.el @@ -3,7 +3,7 @@ ;; Copyright (C) 1999-2023 Free Software Foundation, Inc. ;; Author: Vinicius Jose Latorre -;; Keywords: wp, ebnf, PostScript +;; Keywords: text, ebnf, PostScript ;; Old-Version: 1.10 ;; Package: ebnf2ps diff --git a/lisp/progmodes/ebnf-dtd.el b/lisp/progmodes/ebnf-dtd.el index 3a2add32d77..b495dacea40 100644 --- a/lisp/progmodes/ebnf-dtd.el +++ b/lisp/progmodes/ebnf-dtd.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2001-2023 Free Software Foundation, Inc. ;; Author: Vinicius Jose Latorre -;; Keywords: wp, ebnf, PostScript +;; Keywords: text, ebnf, PostScript ;; Old-Version: 1.1 ;; Package: ebnf2ps diff --git a/lisp/progmodes/ebnf-ebx.el b/lisp/progmodes/ebnf-ebx.el index 29a50005494..08d422da651 100644 --- a/lisp/progmodes/ebnf-ebx.el +++ b/lisp/progmodes/ebnf-ebx.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2001-2023 Free Software Foundation, Inc. ;; Author: Vinicius Jose Latorre -;; Keywords: wp, ebnf, PostScript +;; Keywords: text, ebnf, PostScript ;; Old-Version: 1.2 ;; Package: ebnf2ps diff --git a/lisp/progmodes/ebnf-iso.el b/lisp/progmodes/ebnf-iso.el index c4d11c97fff..2e015b71aba 100644 --- a/lisp/progmodes/ebnf-iso.el +++ b/lisp/progmodes/ebnf-iso.el @@ -3,7 +3,7 @@ ;; Copyright (C) 1999-2023 Free Software Foundation, Inc. ;; Author: Vinicius Jose Latorre -;; Keywords: wp, ebnf, PostScript +;; Keywords: text, ebnf, PostScript ;; Old-Version: 1.9 ;; Package: ebnf2ps diff --git a/lisp/progmodes/ebnf-otz.el b/lisp/progmodes/ebnf-otz.el index 4155dc0d2cd..a4e15c497f1 100644 --- a/lisp/progmodes/ebnf-otz.el +++ b/lisp/progmodes/ebnf-otz.el @@ -3,7 +3,7 @@ ;; Copyright (C) 1999-2023 Free Software Foundation, Inc. ;; Author: Vinicius Jose Latorre -;; Keywords: wp, ebnf, PostScript +;; Keywords: text, ebnf, PostScript ;; Old-Version: 1.0 ;; Package: ebnf2ps diff --git a/lisp/progmodes/ebnf-yac.el b/lisp/progmodes/ebnf-yac.el index aaec71daa73..3d2db7e5171 100644 --- a/lisp/progmodes/ebnf-yac.el +++ b/lisp/progmodes/ebnf-yac.el @@ -3,7 +3,7 @@ ;; Copyright (C) 1999-2023 Free Software Foundation, Inc. ;; Author: Vinicius Jose Latorre -;; Keywords: wp, ebnf, PostScript +;; Keywords: text, ebnf, PostScript ;; Old-Version: 1.4 ;; Package: ebnf2ps diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el index 819f39cb4e5..5573e42b6e7 100644 --- a/lisp/progmodes/ebnf2ps.el +++ b/lisp/progmodes/ebnf2ps.el @@ -3,7 +3,7 @@ ;; Copyright (C) 1999-2023 Free Software Foundation, Inc. ;; Author: Vinicius Jose Latorre -;; Keywords: wp, ebnf, PostScript +;; Keywords: text, ebnf, PostScript ;; Old-Version: 4.4 ;; URL: https://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre diff --git a/lisp/ps-bdf.el b/lisp/ps-bdf.el index bdc28f927ab..0aeb1bed329 100644 --- a/lisp/ps-bdf.el +++ b/lisp/ps-bdf.el @@ -11,7 +11,7 @@ ;; Author: Kenichi Handa ;; (according to ack.texi) -;; Keywords: wp, BDF, font, PostScript +;; Keywords: text, BDF, font, PostScript ;; Package: ps-print ;; This file is part of GNU Emacs. diff --git a/lisp/ps-mule.el b/lisp/ps-mule.el index a4784954627..6a48b6b203b 100644 --- a/lisp/ps-mule.el +++ b/lisp/ps-mule.el @@ -4,7 +4,7 @@ ;; Author: Vinicius Jose Latorre ;; Kenichi Handa (multi-byte characters) -;; Keywords: wp, print, PostScript, multibyte, mule +;; Keywords: text, print, PostScript, multibyte, mule ;; Package: ps-print ;; This file is part of GNU Emacs. diff --git a/lisp/ps-print.el b/lisp/ps-print.el index aa3037f5273..bda483080b9 100644 --- a/lisp/ps-print.el +++ b/lisp/ps-print.el @@ -7,7 +7,7 @@ ;; Vinicius Jose Latorre ;; Kenichi Handa (multi-byte characters) ;; Maintainer: Vinicius Jose Latorre -;; Keywords: wp, print, PostScript +;; Keywords: text, print, PostScript ;; Old-Version: 7.3.5 ;; URL: https://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre diff --git a/lisp/ps-samp.el b/lisp/ps-samp.el index d66d1939801..f4420c497ab 100644 --- a/lisp/ps-samp.el +++ b/lisp/ps-samp.el @@ -7,7 +7,7 @@ ;; Vinicius Jose Latorre ;; Kenichi Handa (multi-byte characters) ;; Maintainer: Vinicius Jose Latorre -;; Keywords: wp, print, PostScript +;; Keywords: text, print, PostScript ;; URL: https://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre ;; Package: ps-print diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el index 004b844a3e7..e977f3a5299 100644 --- a/lisp/textmodes/enriched.el +++ b/lisp/textmodes/enriched.el @@ -3,7 +3,7 @@ ;; Copyright (C) 1994-1996, 2001-2023 Free Software Foundation, Inc. ;; Author: Boris Goldowsky -;; Keywords: wp, faces +;; Keywords: text, faces ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index 4d6c73bfdd6..a75c77cc193 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el @@ -4,7 +4,7 @@ ;; Software Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org -;; Keywords: wp +;; Keywords: text ;; Package: emacs ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/mhtml-mode.el b/lisp/textmodes/mhtml-mode.el index ebb55ec279c..fc7b8c90d83 100644 --- a/lisp/textmodes/mhtml-mode.el +++ b/lisp/textmodes/mhtml-mode.el @@ -2,7 +2,7 @@ ;; Copyright (C) 2017-2023 Free Software Foundation, Inc. -;; Keywords: wp, hypermedia, comm, languages +;; Keywords: text, hypermedia, comm, languages ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el index 7374fa63bec..5b07fbef9eb 100644 --- a/lisp/textmodes/nroff-mode.el +++ b/lisp/textmodes/nroff-mode.el @@ -3,7 +3,7 @@ ;; Copyright (C) 1985-2023 Free Software Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org -;; Keywords: wp +;; Keywords: text ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/page-ext.el b/lisp/textmodes/page-ext.el index 446112bce27..34b673f7ad3 100644 --- a/lisp/textmodes/page-ext.el +++ b/lisp/textmodes/page-ext.el @@ -4,7 +4,7 @@ ;; Author: Robert J. Chassell ;; (according to ack.texi) -;; Keywords: wp data +;; Keywords: text data ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/page.el b/lisp/textmodes/page.el index 86a2762b0ee..589901456a5 100644 --- a/lisp/textmodes/page.el +++ b/lisp/textmodes/page.el @@ -3,7 +3,7 @@ ;; Copyright (C) 1985, 2001-2023 Free Software Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org -;; Keywords: wp convenience +;; Keywords: text convenience ;; Package: emacs ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el index fd28bfe8016..0160f69c3a4 100644 --- a/lisp/textmodes/paragraphs.el +++ b/lisp/textmodes/paragraphs.el @@ -4,7 +4,7 @@ ;; Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org -;; Keywords: wp +;; Keywords: text ;; Package: emacs ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el index f98c3963b6f..be5b669bb30 100644 --- a/lisp/textmodes/picture.el +++ b/lisp/textmodes/picture.el @@ -4,7 +4,7 @@ ;; Author: K. Shane Hartman ;; Maintainer: emacs-devel@gnu.org -;; Keywords: convenience wp +;; Keywords: convenience text ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/refill.el b/lisp/textmodes/refill.el index bd8e7cd7435..5893f969fe1 100644 --- a/lisp/textmodes/refill.el +++ b/lisp/textmodes/refill.el @@ -4,7 +4,7 @@ ;; Author: Dave Love ;; Maintainer: Miles Bader -;; Keywords: wp +;; Keywords: text ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index 5c53716c3ac..9316c29d4cc 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el @@ -7,7 +7,7 @@ ;; Maintainer: emacs-devel@gnu.org ;; Adapted-By: ESR, Daniel Pfeiffer , ;; F.Potorti@cnuce.cnr.it -;; Keywords: wp, hypermedia, comm, languages +;; Keywords: text, hypermedia, comm, languages ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el index 50c3f461bcc..b4138610715 100644 --- a/lisp/textmodes/table.el +++ b/lisp/textmodes/table.el @@ -2,7 +2,7 @@ ;; Copyright (C) 2000-2023 Free Software Foundation, Inc. -;; Keywords: wp, convenience +;; Keywords: text, convenience ;; Author: Takaaki Ota ;; Created: Sat Jul 08 2000 13:28:45 (PST) diff --git a/lisp/textmodes/text-mode.el b/lisp/textmodes/text-mode.el index 7f38a1c463d..c612d3f76fd 100644 --- a/lisp/textmodes/text-mode.el +++ b/lisp/textmodes/text-mode.el @@ -4,7 +4,7 @@ ;; Inc. ;; Maintainer: emacs-devel@gnu.org -;; Keywords: wp +;; Keywords: text ;; Package: emacs ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/tildify.el b/lisp/textmodes/tildify.el index 18ba83e86e8..0e9aafda305 100644 --- a/lisp/textmodes/tildify.el +++ b/lisp/textmodes/tildify.el @@ -5,7 +5,7 @@ ;; Author: Milan Zamazal ;; Michal Nazarewicz ;; Version: 4.6.1 -;; Keywords: text, TeX, SGML, wp +;; Keywords: text, TeX, SGML, text ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/two-column.el b/lisp/textmodes/two-column.el index 23dcc7e5945..d88470d7496 100644 --- a/lisp/textmodes/two-column.el +++ b/lisp/textmodes/two-column.el @@ -4,7 +4,7 @@ ;; Author: Daniel Pfeiffer ;; Adapted-By: ESR, Daniel Pfeiffer -;; Keywords: wp +;; Keywords: text ;; This file is part of GNU Emacs. diff --git a/lisp/textmodes/underline.el b/lisp/textmodes/underline.el index b22652b6824..dd7ddd784c6 100644 --- a/lisp/textmodes/underline.el +++ b/lisp/textmodes/underline.el @@ -3,7 +3,7 @@ ;; Copyright (C) 1985, 2001-2023 Free Software Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org -;; Keywords: wp +;; Keywords: text ;; This file is part of GNU Emacs. diff --git a/lisp/whitespace.el b/lisp/whitespace.el index f4095c99089..f01f3685cfa 100644 --- a/lisp/whitespace.el +++ b/lisp/whitespace.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2000-2023 Free Software Foundation, Inc. ;; Author: Vinicius Jose Latorre -;; Keywords: data, wp +;; Keywords: data, text ;; Version: 13.2.2 ;; URL: https://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre diff --git a/test/lisp/textmodes/fill-tests.el b/test/lisp/textmodes/fill-tests.el index ef822ba805b..f83f48be951 100644 --- a/test/lisp/textmodes/fill-tests.el +++ b/test/lisp/textmodes/fill-tests.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2017-2023 Free Software Foundation, Inc. ;; Author: Marcin Borkowski -;; Keywords: text, wp +;; Keywords: text, text ;; This file is part of GNU Emacs. diff --git a/test/lisp/textmodes/tildify-tests.el b/test/lisp/textmodes/tildify-tests.el index 962aeb4747c..5b9e1f59974 100644 --- a/test/lisp/textmodes/tildify-tests.el +++ b/test/lisp/textmodes/tildify-tests.el @@ -4,7 +4,7 @@ ;; Author: Michal Nazarewicz ;; Version: 4.5 -;; Keywords: text, TeX, SGML, wp +;; Keywords: text, TeX, SGML, text ;; This file is part of GNU Emacs. commit 03fdb21bcfdc27401066bb7375d07ad0259219fa Author: Stefan Kangas Date: Sat Dec 30 17:56:39 2023 +0100 Add `text` to `finder-known-keywords` `finder-known-keywords` is "supposed to correspond to top-level customization groups". However, the customize group "wp" is now deprecated in favor of "text". * lisp/finder.el (finder-known-keywords): Add new "text" keyword. Deprecate the "wp" keyword. diff --git a/lisp/finder.el b/lisp/finder.el index 4e3a3566ce9..717ee51a33b 100644 --- a/lisp/finder.el +++ b/lisp/finder.el @@ -68,10 +68,11 @@ finder-known-keywords (processes . "processes, subshells, and compilation") (terminals . "text terminals (ttys)") (tex . "the TeX document formatter") + (text . "editing text files") (tools . "programming tools") (unix . "UNIX feature interfaces and emulators") (vc . "version control") - (wp . "word processing")) + (wp . "use keyword `text' instead; this keyword is deprecated")) "Association list of the standard \"Keywords:\" headers. Each element has the form (KEYWORD . DESCRIPTION).") commit e438215f69fcd9e536981f90b2ff30f72c4a757e Author: João Távora Date: Sat Dec 30 06:10:31 2023 -0600 ; Jsonrpc: fix spurious unintended change * lisp/jsonrpc.el (jsonrpc--log-event): Fix spurious unintended change. diff --git a/lisp/jsonrpc.el b/lisp/jsonrpc.el index 9023f1b1ebf..d96576722b2 100644 --- a/lisp/jsonrpc.el +++ b/lisp/jsonrpc.el @@ -1003,9 +1003,9 @@ jsonrpc--log-event (or method "") (if id (format "[%s]" id) ""))))) (msg - (cond (nil(eq format 'full) + (cond ((eq format 'full) (format "%s%s\n" preamble (or json log-text))) - (nil(eq format 'short) + ((eq format 'short) (format "%s%s\n" preamble (or log-text ""))) (t (format "%s%s" preamble commit 66656bf5f86c7623072a08fa3f29ba9c879d3f6d Author: Alan Third Date: Mon Oct 9 22:21:05 2023 +0100 Simplify Objective C autorelease pool handling * src/emacs.c: Remove ns_pool. (main): Replace ns_pool stuff with call to ns_init_pool. (Fkill_emacs): The pools are drained automatically when the application exits, so it's probably not worth draining the pool here. (decode_env_path): No longer required as this is handled by `outerpool' defined in nsterm.m. * src/nsterm.h: * src/nsterm.m (ns_init_pool): New function. diff --git a/src/emacs.c b/src/emacs.c index 6101ed4004c..0489363082b 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -401,11 +401,6 @@ #define MAIN_PROGRAM /* True if handling a fatal error already. */ bool fatal_error_in_progress; -#ifdef HAVE_NS -/* NS autorelease pool, for memory management. */ -static void *ns_pool; -#endif - #if !HAVE_SETLOCALE static char * setlocale (int cat, char const *locale) @@ -1424,6 +1419,11 @@ main (int argc, char **argv) w32_init_main_thread (); #endif +#ifdef HAVE_NS + /* Initialize the Obj C autorelease pool. */ + ns_init_pool (); +#endif + #ifdef HAVE_PDUMPER if (attempt_load_pdump) initial_emacs_executable = load_pdump (argc, argv, dump_file); @@ -1643,7 +1643,6 @@ main (int argc, char **argv) if (! (lc_all && strcmp (lc_all, "C") == 0)) { #ifdef HAVE_NS - ns_pool = ns_alloc_autorelease_pool (); ns_init_locale (); #endif setlocale (LC_ALL, ""); @@ -2993,10 +2992,6 @@ DEFUN ("kill-emacs", Fkill_emacs, Skill_emacs, 0, 2, "P", shut_down_emacs (0, (STRINGP (arg) && !feof (stdin)) ? arg : Qnil); -#ifdef HAVE_NS - ns_release_autorelease_pool (ns_pool); -#endif - /* If we have an auto-save list file, kill it because we are exiting Emacs deliberately (not crashing). Do it after shut_down_emacs, which does an auto-save. */ @@ -3331,9 +3326,6 @@ decode_env_path (const char *evarname, const char *defalt, bool empty) { const char *path, *p; Lisp_Object lpath, element, tem; -#ifdef NS_SELF_CONTAINED - void *autorelease = NULL; -#endif /* Default is to use "." for empty path elements. But if argument EMPTY is true, use nil instead. */ Lisp_Object empty_element = empty ? Qnil : build_string ("."); @@ -3361,8 +3353,6 @@ decode_env_path (const char *evarname, const char *defalt, bool empty) if (!path) { #ifdef NS_SELF_CONTAINED - /* ns_relocate needs a valid autorelease pool around it. */ - autorelease = ns_alloc_autorelease_pool (); path = ns_relocate (defalt); #else path = defalt; @@ -3466,10 +3456,6 @@ decode_env_path (const char *evarname, const char *defalt, bool empty) break; } -#ifdef NS_SELF_CONTAINED - if (autorelease) - ns_release_autorelease_pool (autorelease); -#endif return Fnreverse (lpath); } diff --git a/src/nsterm.h b/src/nsterm.h index cb162039ad8..324c23532de 100644 --- a/src/nsterm.h +++ b/src/nsterm.h @@ -1180,6 +1180,7 @@ ns_defined_color (struct frame *f, extern void *ns_alloc_autorelease_pool (void); extern void ns_release_autorelease_pool (void *); extern const char *ns_get_defaults_value (const char *key); +extern void ns_init_pool (void); extern void ns_init_locale (void); /* in nsmenu */ diff --git a/src/nsterm.m b/src/nsterm.m index dc4aef55113..dbb54632add 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -549,6 +549,15 @@ - (unsigned long)unsignedLong } +void +ns_init_pool (void) +/* Initialize the 'outerpool' autorelease pool. This should be called + from main before any Objective C code is run. */ +{ + outerpool = [[NSAutoreleasePool alloc] init]; +} + + void ns_init_locale (void) /* macOS doesn't set any environment variables for the locale when run commit f3dec3439fd5aee885a76622f384f6c7ca67d128 Author: Alan Third Date: Sun Oct 8 23:11:46 2023 +0100 Get NS screen resolution from system * src/nsterm.m (ns_initialize_display_info): Query the screen deviceDescription for the resolution instead of hard-coding it. diff --git a/src/nsterm.m b/src/nsterm.m index 2f736980ea6..dc4aef55113 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -5256,8 +5256,11 @@ static Lisp_Object ns_string_to_lispmod (const char *s) NSScreen *screen = [NSScreen mainScreen]; NSWindowDepth depth = [screen depth]; - dpyinfo->resx = 72.27; /* used 75.0, but this makes pt == pixel, expected */ - dpyinfo->resy = 72.27; + NSDictionary *dict = [screen deviceDescription]; + NSSize res = [[dict objectForKey:@"NSDeviceResolution"] sizeValue]; + dpyinfo->resx = res.width; + dpyinfo->resy = res.height; + dpyinfo->color_p = ![NSDeviceWhiteColorSpace isEqualToString: NSColorSpaceFromDepth (depth)] && ![NSCalibratedWhiteColorSpace isEqualToString: commit 536674138d53e81f9e1d8bd7f3f7e744cc04fae2 Author: Alan Third Date: Sat Dec 30 11:15:17 2023 +0000 ; Improve documentation of SVG image loading * src/image.c (svg_load_image): Add comments explaining the process. diff --git a/src/image.c b/src/image.c index 651ec0b34e5..a26c1ba7d45 100644 --- a/src/image.c +++ b/src/image.c @@ -11804,7 +11804,17 @@ svg_css_length_to_pixels (RsvgLength length, double dpi, int font_size) Use librsvg to do most of the image processing. - Return true when successful. */ + Return true when successful. + + The basic process, which is used for all versions of librsvg, is to + load the SVG and parse it, then extract the image dimensions. We + then use those image dimensions to calculate the final size and + wrap the SVG data inside another SVG we build on the fly. This + wrapper does the necessary resizing and setting of foreground and + background colors and is then parsed and rasterized. + + It should also be noted that setting up the SVG prior to 2.32 was + done differently, but the overall process is the same. */ static bool svg_load_image (struct frame *f, struct image *img, char *contents, ptrdiff_t size, char *filename) @@ -11858,7 +11868,13 @@ svg_load_image (struct frame *f, struct image *img, char *contents, Lisp_Object lcss = image_spec_value (img->spec, QCcss, NULL); if (!STRINGP (lcss)) { - /* Generate the CSS for the SVG image. */ + /* Generate the CSS for the SVG image. + + We use this to set the font (font-family in CSS lingo) and + the font size. We can extend this to handle any CSS values + SVG supports, however it's only available in librsvg 2.48 and + above so some things we could set here are handled in the + wrapper below. */ /* FIXME: The below calculations leave enough space for a font size up to 9999, if it overflows we just throw an error but should probably increase the buffer size. */ @@ -11904,7 +11920,23 @@ svg_load_image (struct frame *f, struct image *img, char *contents, if (err) goto rsvg_error; #endif - /* Get the image dimensions. */ + /* Get the image dimensions. + + There are a couple of approaches used here, depending on the + contents of the SVG, and which version of librsvg we're using. + With librsvg versions prior to 2.46 we ask librsvg for the size + of the image, however this may include pats of the image that are + outside of the viewbox. + + librsvg 2.46 allows us to request the image's "intrinsic + dimensions", which are the sizes given in the SVG in CSS units. + So, for example, if the image defines it's width as "10mm", we + are given a struct that we need to translate into pixel values + ourself (see svg_css_length_to_pixels). + + 2.52 introduces a function that will give us the pixel sizes + directly, assuming we provide the correct screen DPI values. + */ #if LIBRSVG_CHECK_VERSION (2, 46, 0) gdouble gviewbox_width = 0, gviewbox_height = 0; gboolean has_viewbox = FALSE; @@ -12096,6 +12128,8 @@ svg_load_image (struct frame *f, struct image *img, char *contents, FRAME_DISPLAY_INFO (f)->resy); #if LIBRSVG_CHECK_VERSION (2, 48, 0) + /* Set the CSS for the wrapped SVG. See the comment above the + previous use of 'css'. */ rsvg_handle_set_stylesheet (rsvg_handle, (guint8 *)css, strlen (css), NULL); #endif #else commit 1b0a1e5d224831c09ac655af5bd75b47827ae98d Author: Alan Third Date: Sun Oct 8 23:14:24 2023 +0100 Remove redundant pdmp file copy (bug#66022) * nextstep/Makefile.in (${ns_applibexecdir}/Emacs.pdmp): The pdmp file is not required in the app bundle for a non-self-contained install. diff --git a/nextstep/Makefile.in b/nextstep/Makefile.in index 89318a1efa8..62bd8cdeace 100644 --- a/nextstep/Makefile.in +++ b/nextstep/Makefile.in @@ -46,11 +46,7 @@ ns_check_file = .PHONY: all -ifeq ($(DUMPING),pdumper) -ns_pdmp_target = ${ns_applibexecdir}/Emacs.pdmp -endif - -all: ${ns_appdir} ${ns_appbindir}/Emacs ${ns_pdmp_target} +all: ${ns_appdir} ${ns_appbindir}/Emacs ${ns_check_file}: ${ns_appdir} @@ -71,12 +67,6 @@ ${ns_appbindir}/Emacs: ${MKDIR_P} ${ns_appbindir} cp -f ../src/emacs${EXEEXT} $@ -${ns_applibexecdir}/Emacs.pdmp: ${ns_appdir} ${ns_check_file} ../src/emacs${EXEEXT}.pdmp - ${MKDIR_P} ${ns_applibexecdir} -ifeq (${ns_self_contained},no) - cp -f ../src/emacs${EXEEXT}.pdmp $@ -endif - .PHONY: FORCE ../src/emacs${EXEEXT}: FORCE commit 06f2bb9c24104b87b458506f3bdee1aaba7bbf97 Author: Eli Zaretskii Date: Sat Dec 30 13:04:58 2023 +0200 ; * lisp/files.el (find-buffer-visiting): Fix whitespace of last change. diff --git a/lisp/files.el b/lisp/files.el index 78e2bca3cff..006163823ae 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2221,14 +2221,16 @@ find-buffer-visiting (and buffer-file-numbers-unique (car-safe number) ;Make sure the inode is not just nil. (let* ((buf (find-buffer 'buffer-file-number number)) - (buf-file-name (and buf (buffer-local-value 'buffer-file-name buf)))) + (buf-file-name + (and buf (buffer-local-value 'buffer-file-name buf)))) (when (and buf-file-name ;; Verify this buffer's file number ;; still belongs to its file. (file-exists-p buf-file-name) - (equal - (file-attributes (buffer-local-value 'buffer-file-truename buf)) - attributes) + (equal (file-attributes + (buffer-local-value + 'buffer-file-truename buf)) + attributes) (or (not predicate) (funcall predicate buf))) buf)))))))) commit 46a93aa7b0753e7e1ba7c557709b2680ebb24fde Author: Ihor Radchenko Date: Sat Dec 30 11:31:51 2023 +0100 find-buffer-visiting: Fix test breakage introduced in b7a737ef49 * lisp/files.el (find-buffer-visiting): Fix code branch checking for buffers referring to the same file number. We should check the found buffer with the file number, not current. Link: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#412 diff --git a/lisp/files.el b/lisp/files.el index 315ba831e8c..78e2bca3cff 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2220,15 +2220,17 @@ find-buffer-visiting (number (file-attribute-file-identifier attributes))) (and buffer-file-numbers-unique (car-safe number) ;Make sure the inode is not just nil. - (let ((buf (find-buffer 'buffer-file-number number))) - (when (and buf (buffer-local-value 'buffer-file-name buf) + (let* ((buf (find-buffer 'buffer-file-number number)) + (buf-file-name (and buf (buffer-local-value 'buffer-file-name buf)))) + (when (and buf-file-name ;; Verify this buffer's file number ;; still belongs to its file. - (file-exists-p buffer-file-name) - (equal (file-attributes buffer-file-truename) - attributes) + (file-exists-p buf-file-name) + (equal + (file-attributes (buffer-local-value 'buffer-file-truename buf)) + attributes) (or (not predicate) - (funcall predicate (current-buffer)))) + (funcall predicate buf))) buf)))))))) commit 5f80541fbc46a7854da00b0f8e67c0daa89d454a Author: Sean Whitton Date: Sat Dec 30 10:38:43 2023 +0000 Document icomplete-in-buffer incompatible changes * etc/NEWS: Document icomplete-in-buffer incompatible changes (bug#67661). diff --git a/etc/NEWS b/etc/NEWS index a174cf52d50..ba40efa2e9d 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -80,6 +80,27 @@ removed, as it was considered more dangerous than useful. RFC 9110 To send an email address in the header of individual HTTP requests, see the variable 'url-request-extra-headers'. ++++ +** 'completion-auto-help' now affects 'icomplete-in-buffer'. +Previously, completion-auto-help mostly affected only minibuffer +completion. Now, if 'completion-auto-help' has the value 'lazy', then +Icomplete's in-buffer display of possible completions will only appear +after the 'completion-at-point' command has been invoked twice, and if +'completion-auto-help' is nil, then Icomplete's in-buffer display is +completely suppressed. Thus, if you use 'icomplete-in-buffer', ensure +'completion-auto-help' is not customized to 'lazy' or nil. + ++++ +** The *Completions* buffer now always accompanies 'icomplete-in-buffer'. +Previously, it was not consistent when the *Completions* buffer would +appear when using 'icomplete-in-buffer'. Now the *Completions* buffer +and Icomplete's in-buffer display of possible completions always +appear together. If you would prefer to see only Icomplete's +in-buffer display, and not the *Completions* buffer, you can add this +to your init: + + (advice-add 'completion-at-point :after #'minibuffer-hide-completions) + * Changes in Emacs 30.1 commit fafeafd2bc2a4b1440c9aa03b846244626ee12a3 Author: Sean Whitton Date: Sat Dec 30 10:38:22 2023 +0000 * doc/emacs/buffers.texi (Icomplete): Document icomplete-in-buffer. diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index b6aafe24b96..1859785bc81 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi @@ -728,7 +728,7 @@ Icomplete @findex icomplete-mode @cindex Icomplete mode - Icomplete global minor mode provides a convenient way to quickly select an + Icomplete provides a convenient way to quickly select an element among the possible completions in a minibuffer. When enabled, typing in the minibuffer continuously displays a list of possible completions that match the string you have typed. @@ -746,9 +746,28 @@ Icomplete @kbd{M-@key{TAB}} can be used a few times to descend in the hierarchy of directories. - To enable Icomplete mode, type @kbd{M-x icomplete-mode}, or customize -the variable @code{icomplete-mode} to @code{t} (@pxref{Easy -Customization}). + To enable Icomplete mode for the minibuffer, type @kbd{M-x +icomplete-mode}, or customize the variable @code{icomplete-mode} to +@code{t} (@pxref{Easy Customization}). + + You can also additionally enable Icomplete for @kbd{C-M-i} (the +command @code{completion-at-point}) by customizing the variable +@code{icomplete-in-buffer} to @code{t}. For in-buffer completion, the +@code{completion-auto-help} variable controls when Icomplete's display +of possible completions appears. The default value of @code{t} means +that the display of possible completions appears when you first type +@kbd{C-M-i}. + + By default, when you press @kbd{C-M-i}, both Icomplete's in-buffer +display of possible completions and the @file{*Completions*} buffer +appear. If you are using @code{icomplete-in-buffer}, then you may +wish to suppress this apperance of the @file{*Completions*} buffer. +To do that, add the following to your initialization file (@pxref{Init +File}): + +@example +(advice-add 'completion-at-point :after #'minibuffer-hide-completions) +@end example @findex fido-mode @cindex fido mode commit 95fd7d7ef8518f5276f151513849409b1ad1ff4b Author: Eli Zaretskii Date: Sat Dec 30 04:56:52 2023 -0500 ; Auto-commit of loaddefs files. diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index 814507b3d04..ef672d6c2e5 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -5619,19 +5619,18 @@ "copyright" \\{cperl-mode-map} -Setting the variable `cperl-font-lock' to t switches on `font-lock-mode' -(even with older Emacsen), `cperl-electric-lbrace-space' to t switches -on electric space between $ and {, `cperl-electric-parens-string' is -the string that contains parentheses that should be electric in CPerl -(see also `cperl-electric-parens-mark' and `cperl-electric-parens'), -setting `cperl-electric-keywords' enables electric expansion of -control structures in CPerl. `cperl-electric-linefeed' governs which -one of two linefeed behavior is preferable. You can enable all these -options simultaneously (recommended mode of use) by setting -`cperl-hairy' to t. In this case you can switch separate options off -by setting them to `null'. Note that one may undo the extra -whitespace inserted by semis and braces in `auto-newline'-mode by -consequent \\[cperl-electric-backspace]. +Setting the variable `cperl-font-lock' to t switches on `font-lock-mode', +`cperl-electric-lbrace-space' to t switches on electric space between $ +and {, `cperl-electric-parens-string' is the string that contains +parentheses that should be electric in CPerl (see also +`cperl-electric-parens-mark' and `cperl-electric-parens'), setting +`cperl-electric-keywords' enables electric expansion of control +structures in CPerl. `cperl-electric-linefeed' governs which one of two +linefeed behavior is preferable. You can enable all these options +simultaneously by setting `cperl-hairy' to t. In this case you can +switch separate options off by setting them to `null'. Note that one may +undo the extra whitespace inserted by semis and braces in +`auto-newline'-mode by consequent \\[cperl-electric-backspace]. Short one-liner-style help is available on \\[cperl-get-help], and one can run perldoc or man via menu. @@ -7568,7 +7567,9 @@ dired-listing-switches On systems such as MS-DOS and MS-Windows, which use `ls' emulation in Lisp, some of the `ls' switches are not supported; see the doc string of -`insert-directory' in `ls-lisp.el' for more details.") +`insert-directory' in `ls-lisp.el' for more details. + +For remote Dired buffers, this option supports connection-local values.") (custom-autoload 'dired-listing-switches "dired" t) (defvar-local dired-directory nil "\ The directory name or wildcard spec that this Dired directory lists. @@ -9358,8 +9359,8 @@ "edt-vt100" ;;; Generated autoloads from progmodes/eglot.el -(push (purecopy '(eglot 1 15)) package--builtin-versions) -(define-obsolete-function-alias 'eglot-update 'eglot-upgrade-eglot "29.1") +(push (purecopy '(eglot 1 16)) package--builtin-versions) +(define-obsolete-function-alias 'eglot-update #'eglot-upgrade-eglot "29.1") (autoload 'eglot "eglot" "\ Start LSP server for PROJECT's buffers under MANAGED-MAJOR-MODES. @@ -9418,7 +9419,7 @@ 'eglot-update Update Eglot to latest version. (fn &rest _)" t) -(put 'eglot-workspace-configuration 'safe-local-variable 'listp) +(put 'eglot-workspace-configuration 'safe-local-variable #'listp) (put 'eglot--debbugs-or-github-bug-uri 'bug-reference-url-format t) (defun eglot--debbugs-or-github-bug-uri nil (format (if (string= (match-string 2) "github") "https://github.com/joaotavora/eglot/issues/%s" "https://debbugs.gnu.org/%s") (match-string 3))) (register-definition-prefixes "eglot" '("eglot-")) @@ -10891,6 +10892,8 @@ find-tag-default-function Returns t if it visits a tags table, or nil if there are no more in the list. (fn &optional CONT CBUF)") +(autoload 'tags-reset-tags-tables "etags" "\ +Reset tags state to cancel effect of any previous \\[visit-tags-table] or \\[find-tag]." t) (autoload 'tags-table-files "etags" "\ Return a list of files in the current tags table. Assumes the tags table is the current buffer. The file names are returned @@ -12321,6 +12324,14 @@ enable-connection-local-variables definitions that aren't listed in VARIABLES. (fn PROFILE VARIABLES)") +(autoload 'hack-connection-local-variables "files-x" "\ +Read connection-local variables according to CRITERIA. +Store the connection-local variables in buffer local +variable `connection-local-variables-alist'. + +This does nothing if `enable-connection-local-variables' is nil. + +(fn CRITERIA)") (autoload 'hack-connection-local-variables-apply "files-x" "\ Apply connection-local variables identified by CRITERIA. Other local variables, like file-local and dir-local variables, @@ -12364,17 +12375,25 @@ enable-connection-local-variables `setq-connection-local' form is the value of the last VALUE. (fn [VARIABLE VALUE]...)" nil t) +(autoload 'connection-local-p "files-x" "\ +Non-nil if VARIABLE has a connection-local binding in `default-directory'. +If APPLICATION is nil, the value of +`connection-local-default-application' is used. + +(fn VARIABLE &optional APPLICATION)" nil t) (autoload 'connection-local-value "files-x" "\ Return connection-local VARIABLE for APPLICATION in `default-directory'. -If VARIABLE does not have a connection-local binding, the value -is the default binding of the variable. +If APPLICATION is nil, the value of +`connection-local-default-application' is used. +If VARIABLE does not have a connection-local binding, the return +value is the default binding of the variable. (fn VARIABLE &optional APPLICATION)" nil t) (autoload 'path-separator "files-x" "\ The connection-local value of `path-separator'.") (autoload 'null-device "files-x" "\ The connection-local value of `null-device'.") -(register-definition-prefixes "files-x" '("connection-local-" "dir-locals-to-string" "hack-connection-local-variables" "modify-" "read-")) +(register-definition-prefixes "files-x" '("connection-local-" "dir-locals-to-string" "modify-" "read-")) ;;; Generated autoloads from filesets.el @@ -19030,7 +19049,7 @@ "json-ts-mode" ;;; Generated autoloads from jsonrpc.el -(push (purecopy '(jsonrpc 1 0 18)) package--builtin-versions) +(push (purecopy '(jsonrpc 1 0 23)) package--builtin-versions) (register-definition-prefixes "jsonrpc" '("jsonrpc-")) @@ -22744,7 +22763,7 @@ "opascal" ;;; Generated autoloads from org/org.el -(push (purecopy '(org 9 6 11)) package--builtin-versions) +(push (purecopy '(org 9 6 13)) package--builtin-versions) (autoload 'org-babel-do-load-languages "org" "\ Load the languages defined in `org-babel-load-languages'. @@ -23886,7 +23905,7 @@ "package" name, otherwise NAME is the package name as a symbol. PACKAGE can also be a cons cell (PNAME . SPEC) where PNAME is the -package name as a symbol, and SPEC is a plist that specifes how +package name as a symbol, and SPEC is a plist that specifies how to fetch and build the package. For possible values, see the subsection \"Specifying Package Sources\" in the Info node `(emacs)Fetching Package Sources'. @@ -25746,7 +25765,7 @@ project-prefix-map Run the next command in the current project. If the command name starts with `project-', or its symbol has -property `project-related', it gets passed the project to use +property `project-aware', it gets passed the project to use with the variable `project-current-directory-override'. Otherwise, `default-directory' is temporarily set to the current project's root. @@ -35032,7 +35051,7 @@ 'vc-update marked revisions, use those. (fn ADDRESSEE SUBJECT REVISIONS)" t) -(register-definition-prefixes "vc" '("vc-" "with-vc-properties")) +(register-definition-prefixes "vc" '("log-view-vc-prev-" "vc-" "with-vc-properties")) ;;; Generated autoloads from vc/vc-annotate.el @@ -37694,7 +37713,7 @@ "ert-font-lock" If THRESHOLD is non-nil, enforce a threshold of movement that is either itself or 10 pixels when it is not a number. If the -aformentioned touch point moves beyond that threshold on any +aforementioned touch point moves beyond that threshold on any axis, return nil immediately, and further resume mouse event translation for the touch point at hand. @@ -37726,6 +37745,7 @@ "ert-font-lock" Must be called from a command bound to a `touchscreen-hold' or `touchscreen-drag' event.") (register-definition-prefixes "touch-screen" '("touch-screen-")) + ;;; End of scraped data commit 3b7198dc4703671fa8b00ed3bf159cb56d4d7ba3 Merge: aa0037aaf7c 53031528725 Author: Eli Zaretskii Date: Sat Dec 30 04:51:17 2023 -0500 Merge from origin/emacs-29 53031528725 Revert "Fix treesit-node-field-name and friends (bug#66674)" fa0bb88302b ; * src/buffer.c (syms_of_buffer) : Do... 44517037aed ; Fix typo ccf46acefd2 ; Fix last change. c86b039dffc ; * etc/DEBUG: Improve advice for debugging native-compil... 9afba605bbc Explain status "r" in `epa-list-keys` 62714221968 ; * lisp/dired.el (dired--make-directory-clickable): Refo... fcbb0044899 Fix mouse clicks on directory line in Dired be8a7155b48 Fix 'split-root-window-right' and 'split-root-window-below' eb19984c4db Mark icalendar.el as maintained by emacs-devel 03dc914fd37 ; Fix footnotes in ELisp Intro manual ceacf753958 Fix usage of `setq-default' and offer more suggestions 2701da0eee5 Fix python-ts-mode triple quote syntax (bug#67262) 683c7c96871 Increment parser timestamp when narrowing changes (bug#67... 8ae42c825e1 ruby-ts-mode: Fix indentation for string_array closer 9cfa498e0ab treesit-major-mode-setup: Use 'treesit--syntax-propertize... da2e440462b ruby-ts-mode: Fix an out-of-bounds error with heredoc at eob 6ea507296a7 Correctly refontify changed region in tree-sitter modes (... commit 530315287254da2e6b0767ad343fa55f79be8536 Author: Yuan Fu Date: Fri Dec 29 19:52:07 2023 -0800 Revert "Fix treesit-node-field-name and friends (bug#66674)" This reverts commit 9874561f39e62c1c9fada6c2e013f93d9ea65729. See bug#67990. Basically our original code is correct, the error is in libtree-sitter, which only manifests in certain cases. https://github.com/tree-sitter/tree-sitter/pull/2104 diff --git a/doc/lispref/parsing.texi b/doc/lispref/parsing.texi index 34eb2826a21..353585f79c7 100644 --- a/doc/lispref/parsing.texi +++ b/doc/lispref/parsing.texi @@ -1015,8 +1015,8 @@ Accessing Node Information @var{node}. It returns @code{nil} if there is no @var{n}'th child, or the @var{n}'th child doesn't have a field name. -Note that @var{n} counts named nodes only, and @var{n} can be -negative, e.g., @minus{}1 represents the last child. +Note that @var{n} counts both named and anonymous children, and +@var{n} can be negative, e.g., @minus{}1 represents the last child. @end defun @defun treesit-node-child-count node &optional named diff --git a/lisp/treesit.el b/lisp/treesit.el index eed53bc2b99..264b95dc3a3 100644 --- a/lisp/treesit.el +++ b/lisp/treesit.el @@ -360,7 +360,6 @@ treesit-node-index "Return the index of NODE in its parent. If NAMED is non-nil, count named child only." (let ((count 0)) - ;; TODO: Use next-sibling as it's more efficient. (while (setq node (treesit-node-prev-sibling node named)) (cl-incf count)) count)) @@ -368,7 +367,7 @@ treesit-node-index (defun treesit-node-field-name (node) "Return the field name of NODE as a child of its parent." (when-let ((parent (treesit-node-parent node)) - (idx (treesit-node-index node t))) + (idx (treesit-node-index node))) (treesit-node-field-name-for-child parent idx))) ;;; Query API supplement diff --git a/src/treesit.c b/src/treesit.c index 879405e551a..d9b981c1eae 100644 --- a/src/treesit.c +++ b/src/treesit.c @@ -2019,8 +2019,9 @@ DEFUN ("treesit-node-field-name-for-child", Return nil if there's no Nth child, or if it has no field. If NODE is nil, return nil. -Note that N counts named nodes only. Also, N could be negative, e.g., --1 represents the last child. */) +N counts all children, i.e., named ones and anonymous ones. + +N could be negative, e.g., -1 represents the last child. */) (Lisp_Object node, Lisp_Object n) { if (NILP (node)) @@ -2034,7 +2035,7 @@ DEFUN ("treesit-node-field-name-for-child", /* Process negative index. */ if (idx < 0) - idx = ts_node_named_child_count (treesit_node) + idx; + idx = ts_node_child_count (treesit_node) + idx; if (idx < 0) return Qnil; if (idx > UINT32_MAX) commit fa0bb88302b5d9e02190f60cf50ce8a85e849cdf Author: Eli Zaretskii Date: Thu Dec 28 21:46:59 2023 +0200 ; * src/buffer.c (syms_of_buffer) : Doc fix (bug#68088). diff --git a/src/buffer.c b/src/buffer.c index db362ffe7b0..6b2cfa93926 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -5346,8 +5346,8 @@ syms_of_buffer (void) Qstringp, doc: /* Name of default directory of current buffer. It should be an absolute directory name; on GNU and Unix systems, -these names start with `/' or `~' and end with `/'. -To interactively change the default directory, use command `cd'. */); +these names start with "/" or "~" and end with "/". +To interactively change the default directory, use the command `cd'. */); DEFVAR_PER_BUFFER ("auto-fill-function", &BVAR (current_buffer, auto_fill_function), Qnil, commit 44517037aed6caada1d18bc6e39cc52413df6f84 Author: Stefan Kangas Date: Tue Dec 26 22:09:57 2023 +0100 ; Fix typo diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index 90b1358b3cd..7308115f47f 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi @@ -728,7 +728,7 @@ pcase Macro ;; symbol ('success (message "Done!")) ('would-block (message "Sorry, can't do it now")) - ('read-only (message "The shmliblick is read-only")) + ('read-only (message "The schmilblick is read-only")) ('access-denied (message "You do not have the needed rights")) @end group @group commit ccf46acefd2272afa18832cd6dd4d35b0803e70a Author: Eli Zaretskii Date: Tue Dec 26 14:51:37 2023 +0200 ; Fix last change. diff --git a/etc/DEBUG b/etc/DEBUG index 290c01faf3e..f66a8d5d588 100644 --- a/etc/DEBUG +++ b/etc/DEBUG @@ -612,7 +612,7 @@ recommend to follow the procedure below to try to identify the cause: (declare (speed 1)) at the beginning of the body of suspected function(s) to change - native-comp-speed only for those functions -- this could help you + 'native-comp-speed' only for those functions -- this could help you identify the function(s) which cause(s) the problem. . Reduce the problematic function(s) to the minimal code that still commit c86b039dffc23354ae898f358eadbe5b58e67aa3 Author: Eli Zaretskii Date: Tue Dec 26 14:49:50 2023 +0200 ; * etc/DEBUG: Improve advice for debugging native-compilation (bug#67900). diff --git a/etc/DEBUG b/etc/DEBUG index d24e0e6ce00..290c01faf3e 100644 --- a/etc/DEBUG +++ b/etc/DEBUG @@ -605,7 +605,17 @@ recommend to follow the procedure below to try to identify the cause: . Reduce the problematic .el file to the minimum by bisection, and try identifying the function that causes the problem. - . Reduce the problematic function to the minimal code that still + . Try natively compiling the problematic file with + 'native-comp-speed' set to 1 or even zero. If doing that solves + the problem, you can use + + (declare (speed 1)) + + at the beginning of the body of suspected function(s) to change + native-comp-speed only for those functions -- this could help you + identify the function(s) which cause(s) the problem. + + . Reduce the problematic function(s) to the minimal code that still reproduces the problem. . Study the problem's artifacts, like Lisp or C backtraces, to try commit 9afba605bbc3db354476dddeffacfa036259c101 Author: Stefan Kangas Date: Mon Dec 25 16:04:18 2023 +0100 Explain status "r" in `epa-list-keys` * lisp/epa.el (epa-list-keys): Add revoked status to description. Suggested by CHENG Gao . diff --git a/lisp/epa.el b/lisp/epa.el index 8126584e4fb..b8af2a960f0 100644 --- a/lisp/epa.el +++ b/lisp/epa.el @@ -384,7 +384,7 @@ epa-list-keys (epa--list-keys name nil "The letters at the start of a line have these meanings. e expired key. n never trust. m trust marginally. u trust ultimately. -f trust fully (keys you have signed, usually). +f trust fully (keys you have signed, usually). r revoked key. q trust status questionable. - trust status unspecified. See GPG documentation for more explanation. \n")) commit 627142219683441a907f9a96239fdb188202e129 Author: Eli Zaretskii Date: Mon Dec 25 15:07:21 2023 +0200 ; * lisp/dired.el (dired--make-directory-clickable): Reformat comment. diff --git a/lisp/dired.el b/lisp/dired.el index 998de06ee63..de96a3d9dd7 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -1944,15 +1944,19 @@ dired--make-directory-clickable (cond ((assoc current-dir dired-subdir-alist) (dired-goto-subdir current-dir)) - ;; If there is a wildcard character in the directory, don't - ;; use the alternate file machinery which tries to keep only - ;; one dired buffer open at once. + ;; If there is a wildcard chars + ;; in the directory name, don't + ;; use the alternate file machinery + ;; which tries to keep only one + ;; dired buffer open at once. ;; ;; FIXME: Is this code path reachable? - ((insert-directory-wildcard-in-dir-p current-dir) + ((insert-directory-wildcard-in-dir-p + current-dir) (dired current-dir)) (t - (dired--find-possibly-alternative-file current-dir)))))) + (dired--find-possibly-alternative-file + current-dir)))))) (define-keymap "" click "" 'mouse-face commit fcbb00448998cdfffcf7455192bfebf98ef27a1e Author: Jared Finder Date: Sat Dec 16 12:10:03 2023 -0800 Fix mouse clicks on directory line in Dired The option 'dired-kill-when-opening-new-dired-buffer' should be also honored when clicking the mouse to kill prev buffer. * lisp/dired.el (dired--make-directory-clickable): Call 'dired--find-possibly-alternative-file' instead of 'dired', in the click callback. (Bug#67856) diff --git a/lisp/dired.el b/lisp/dired.el index cc548baf080..998de06ee63 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -1941,9 +1941,18 @@ dired--make-directory-clickable keymap ,(let* ((current-dir dir) (click (lambda () (interactive) - (if (assoc current-dir dired-subdir-alist) - (dired-goto-subdir current-dir) - (dired current-dir))))) + (cond + ((assoc current-dir dired-subdir-alist) + (dired-goto-subdir current-dir)) + ;; If there is a wildcard character in the directory, don't + ;; use the alternate file machinery which tries to keep only + ;; one dired buffer open at once. + ;; + ;; FIXME: Is this code path reachable? + ((insert-directory-wildcard-in-dir-p current-dir) + (dired current-dir)) + (t + (dired--find-possibly-alternative-file current-dir)))))) (define-keymap "" click "" 'mouse-face commit be8a7155b48198b08bbc4844b2ce60c127405fb7 Author: Eli Zaretskii Date: Mon Dec 25 14:59:26 2023 +0200 Fix 'split-root-window-right' and 'split-root-window-below' * lisp/window.el (split-root-window-right) (split-root-window-below): Fix the 'interactive' spec to avoid misbehaving when invoked with no prefix argument. (Bug#67452) diff --git a/lisp/window.el b/lisp/window.el index 35de790d85e..2c001d4112f 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -5723,7 +5723,8 @@ split-root-window-below the lower window takes up the whole width of the frame. SIZE is handled as in `split-window-below', and interactively is the prefix numeric argument." - (interactive "p") + (interactive `(,(when current-prefix-arg + (prefix-numeric-value current-prefix-arg)))) (split-window-below size (frame-root-window))) (defun split-window-right (&optional size window-to-split) @@ -5763,7 +5764,8 @@ split-root-window-right window, and a new window is created on the right, taking up the whole height of the frame. SIZE is treated as by `split-window-right' and interactively, is the prefix numeric argument." - (interactive "p") + (interactive `(,(when current-prefix-arg + (prefix-numeric-value current-prefix-arg)))) (split-window-right size (frame-root-window))) ;;; Balancing windows. commit eb19984c4dbba3c5237a679167fd8583bdb6ad70 Author: Stefan Kangas Date: Sun Dec 24 14:57:49 2023 +0100 Mark icalendar.el as maintained by emacs-devel * lisp/calendar/icalendar.el: Mark emacs-devel as the maintainer. Ref: https://debbugs.gnu.org/34315#152 diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el index e51251d6d9f..aadf3887a10 100644 --- a/lisp/calendar/icalendar.el +++ b/lisp/calendar/icalendar.el @@ -3,6 +3,7 @@ ;; Copyright (C) 2002-2023 Free Software Foundation, Inc. ;; Author: Ulf Jasper +;; Maintainer: emacs-devel@gnu.org ;; Created: August 2002 ;; Keywords: calendar ;; Human-Keywords: calendar, diary, iCalendar, vCalendar commit 03dc914fd37735f9f768519bf5bf86913d5c9dbe Author: Eli Zaretskii Date: Sun Dec 24 10:46:04 2023 +0200 ; Fix footnotes in ELisp Intro manual diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 26a405361de..673e1f0cfdf 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -16893,11 +16893,13 @@ Text and Auto-fill @section Text and Auto Fill Mode Now we come to the part that turns on Text mode and Auto Fill -mode.@footnote{This section suggests settings that are more suitable -for writers. For programmers, the default mode will be set to the -corresponding prog-mode automatically based on the type of the file. -And it's perfectly fine if you want to keep the fundamental mode as -the default mode.} +mode@footnote{ +This section suggests settings that are more suitable for writers. +For programmers, the default mode will be set to the corresponding +prog-mode automatically based on the type of the file. And it's +perfectly fine if you want to keep the fundamental mode as the default +mode. +}. @smallexample @group @@ -16957,17 +16959,18 @@ Text and Auto-fill We are already familiar with @code{setq}. We use a similar macro @code{setq-default} to set the following variable, -@code{major-mode}@footnote{We use @code{setq-default} because -@code{text-mode} is buffer local. If we use @code{setq} it will only -apply to the current buffer, and using @code{setq-default} will also -apply this to newly created buffers.}, to the subsequent value, which -is @code{text-mode}. The single-quote before @code{text-mode} tells -Emacs to deal directly with the @code{text-mode} symbol, not with -whatever it might stand for. @xref{setq, , Setting the Value of -a Variable}, for a reminder of how @code{setq} works. The main point -is that there is no difference between the procedure you use to set -a value in your @file{.emacs} file and the procedure you use anywhere -else in Emacs. +@code{major-mode}@footnote{ +We use @code{setq-default} here because @code{text-mode} is +buffer-local. If we use @code{setq}, it will only apply to the +current buffer, whereas using @code{setq-default} will also apply to +newly created buffers. This is not recommended for programmers. +}, to the subsequent value, which is @code{text-mode}. The +single-quote before @code{text-mode} tells Emacs to deal directly with +the @code{text-mode} symbol, not with whatever it might stand for. +@xref{setq, , Setting the Value of a Variable}, for a reminder of how +@code{setq} works. The main point is that there is no difference +between the procedure you use to set a value in your @file{.emacs} +file and the procedure you use anywhere else in Emacs. @need 800 Here is the next line: commit ceacf75395834c452b43932c19df7e3202a16094 Author: Xiyue Deng Date: Sat Dec 23 16:12:44 2023 -0800 Fix usage of `setq-default' and offer more suggestions cd61af0 changed from default-major-mode to major-mode in the first code sample but didn't change the rest. This patch fixes this and add some explanations of why use `setq-default' instead of `setq'. In addition, it gives background on suggesting using text-mode as default mode and suggest other alternatives. * doc/lispintro/emacs-lisp-intro.texi (Text and Auto-fill): Fix usage of `setq-default' and offer more suggestions. (Bug#67848) diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 4a0e8dfa1fc..26a405361de 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -16892,8 +16892,12 @@ Beginning init File @node Text and Auto-fill @section Text and Auto Fill Mode -Now we come to the part that turns on Text mode and -Auto Fill mode. +Now we come to the part that turns on Text mode and Auto Fill +mode.@footnote{This section suggests settings that are more suitable +for writers. For programmers, the default mode will be set to the +corresponding prog-mode automatically based on the type of the file. +And it's perfectly fine if you want to keep the fundamental mode as +the default mode.} @smallexample @group @@ -16945,15 +16949,19 @@ Text and Auto-fill @cindex Text Mode turned on @smallexample -(setq major-mode 'text-mode) +(setq-default major-mode 'text-mode) @end smallexample @noindent This line is a short, but complete Emacs Lisp expression. -We are already familiar with @code{setq}. It sets the following -variable, @code{major-mode}, to the subsequent value, which is -@code{text-mode}. The single-quote before @code{text-mode} tells +We are already familiar with @code{setq}. We use a similar macro +@code{setq-default} to set the following variable, +@code{major-mode}@footnote{We use @code{setq-default} because +@code{text-mode} is buffer local. If we use @code{setq} it will only +apply to the current buffer, and using @code{setq-default} will also +apply this to newly created buffers.}, to the subsequent value, which +is @code{text-mode}. The single-quote before @code{text-mode} tells Emacs to deal directly with the @code{text-mode} symbol, not with whatever it might stand for. @xref{setq, , Setting the Value of a Variable}, for a reminder of how @code{setq} works. The main point commit 2701da0eee54d85f79104c7a91610bf591159a51 Author: Yuan Fu Date: Sat Dec 23 15:49:32 2023 -0800 Fix python-ts-mode triple quote syntax (bug#67262) * lisp/progmodes/python.el (python--treesit-syntax-propertize): New function. (python-ts-mode): Activate python--treesit-syntax-propertize. diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 7c5c20608bd..d7250148fad 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -1228,6 +1228,21 @@ python--treesit-fontify-variable (treesit-node-start node) (treesit-node-end node) 'font-lock-variable-use-face override start end))) +(defun python--treesit-syntax-propertize (start end) + "Propertize triple-quote strings between START and END." + (save-excursion + (goto-char start) + (while (re-search-forward (rx (or "\"\"\"" "'''")) end t) + (let ((node (treesit-node-at (point)))) + ;; The triple quotes surround a non-empty string. + (when (equal (treesit-node-type node) "string_content") + (let ((start (treesit-node-start node)) + (end (treesit-node-end node))) + (put-text-property (1- start) start + 'syntax-table (string-to-syntax "|")) + (put-text-property end (min (1+ end) (point-max)) + 'syntax-table (string-to-syntax "|")))))))) + ;;; Indentation @@ -6729,6 +6744,8 @@ python-ts-mode #'python--treesit-defun-name) (treesit-major-mode-setup) + (setq-local syntax-propertize-function #'python--treesit-syntax-propertize) + (python-skeleton-add-menu-items) (when python-indent-guess-indent-offset commit 683c7c96871cc374b0e00f5084e43a70fc3ec36a Author: Yuan Fu Date: Sat Dec 23 16:47:04 2023 -0800 Increment parser timestamp when narrowing changes (bug#67977) When narrowing changes, parse reparses, so the timestamp should definitely increment, just like in ts_record_changes. Failing to increment this timestamp, outdated nodes would think they are still up-to-date, and try to print their type name. Printing their type name involves accessing the old parse tree, which is already freed during the last reparse. I also found that we don't increment timestamp when changing parser ranges and fixed that as well. * src/treesit.c (treesit_sync_visible_region): (Ftreesit_parser_set_included_ranges): Increment timestamp. * src/treesit.h (Lisp_TS_Parser): Add some comments. diff --git a/src/treesit.c b/src/treesit.c index 93ed97212d7..879405e551a 100644 --- a/src/treesit.c +++ b/src/treesit.c @@ -931,7 +931,10 @@ treesit_sync_visible_region (Lisp_Object parser) this function is called), we need to reparse. */ if (visible_beg != BUF_BEGV_BYTE (buffer) || visible_end != BUF_ZV_BYTE (buffer)) - XTS_PARSER (parser)->need_reparse = true; + { + XTS_PARSER (parser)->need_reparse = true; + XTS_PARSER (parser)->timestamp++; + } /* Before we parse or set ranges, catch up with the narrowing situation. We change visible_beg and visible_end to match @@ -1671,6 +1674,7 @@ DEFUN ("treesit-parser-set-included-ranges", ranges); XTS_PARSER (parser)->need_reparse = true; + XTS_PARSER (parser)->timestamp++; return Qnil; } diff --git a/src/treesit.h b/src/treesit.h index 5382bc58817..3d59262b53a 100644 --- a/src/treesit.h +++ b/src/treesit.h @@ -53,7 +53,9 @@ #define EMACS_TREESIT_H /* Re-parsing an unchanged buffer is not free for tree-sitter, so we only make it re-parse when need_reparse == true. That usually means some change is made in the buffer. But others could set - this field to true to force tree-sitter to re-parse. */ + this field to true to force tree-sitter to re-parse. When you + set this to true, you should _always_ also increment + timestamp. */ bool need_reparse; /* These two positions record the buffer byte position (1-based) of the "visible region" that tree-sitter sees. Before re-parse, we commit 8ae42c825e1e058d3c736837a023bdc2617b85a2 Author: Dmitry Gutov Date: Sun Dec 24 04:22:34 2023 +0200 ruby-ts-mode: Fix indentation for string_array closer * lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules): Fix indentation for string_array closer. diff --git a/lisp/progmodes/ruby-ts-mode.el b/lisp/progmodes/ruby-ts-mode.el index 843f468e2a1..fc704c5c86a 100644 --- a/lisp/progmodes/ruby-ts-mode.el +++ b/lisp/progmodes/ruby-ts-mode.el @@ -753,8 +753,9 @@ ruby-ts--indent-rules ((match "}" "hash") ruby-ts--parent-call-or-bol 0) ((parent-is "hash") ruby-ts--parent-call-or-bol ruby-indent-level) - ((match "]" "array") ruby-ts--parent-call-or-bol 0) - ((parent-is "array") ruby-ts--parent-call-or-bol ruby-indent-level) + ((match "]" "^array") ruby-ts--parent-call-or-bol 0) + ((parent-is "^array") ruby-ts--parent-call-or-bol ruby-indent-level) + ((match ")" "string_array") ruby-ts--parent-call-or-bol 0) ((parent-is "pair") ruby-ts--parent-call-or-bol 0) diff --git a/test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb b/test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb index 4be532a5e9d..8e372de6e45 100644 --- a/test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb +++ b/test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb @@ -85,6 +85,10 @@ foo(foo, :bar => tee) +foo = %w[ + asd +] + # Local Variables: # mode: ruby-ts # ruby-after-operator-indent: t commit 9cfa498e0ab4876e38f46b4ee9e26804512fd666 Author: Dmitry Gutov Date: Sun Dec 24 04:07:15 2023 +0200 treesit-major-mode-setup: Use 'treesit--syntax-propertize-notifier' * lisp/treesit.el (treesit-major-mode-setup): Make sure 'treesit--syntax-propertize-notifier' is used (bug#66732) diff --git a/lisp/treesit.el b/lisp/treesit.el index 2ef4e382cf3..eed53bc2b99 100644 --- a/lisp/treesit.el +++ b/lisp/treesit.el @@ -2461,6 +2461,9 @@ treesit-major-mode-setup parser #'treesit--font-lock-notifier)) (add-hook 'pre-redisplay-functions #'treesit--pre-redisplay 0 t)) ;; Syntax + (dolist (parser (treesit-parser-list)) + (treesit-parser-add-notifier + parser #'treesit--syntax-propertize-notifier)) (add-hook 'syntax-propertize-extend-region-functions #'treesit--pre-syntax-ppss 0 t) ;; Indent. commit da2e440462b643427de94433f5e8d0e1330c7450 Author: Dmitry Gutov Date: Sun Dec 24 03:58:49 2023 +0200 ruby-ts-mode: Fix an out-of-bounds error with heredoc at eob * lisp/progmodes/ruby-ts-mode.el (ruby-ts--syntax-propertize): Fix an out-of-bounds error with heredoc at eob. diff --git a/lisp/progmodes/ruby-ts-mode.el b/lisp/progmodes/ruby-ts-mode.el index a30131aad89..843f468e2a1 100644 --- a/lisp/progmodes/ruby-ts-mode.el +++ b/lisp/progmodes/ruby-ts-mode.el @@ -1063,8 +1063,9 @@ ruby-ts--syntax-propertize ('heredoc (put-text-property (treesit-node-start node) (1+ (treesit-node-start node)) 'syntax-table (string-to-syntax "\"")) - (put-text-property (treesit-node-end node) (1+ (treesit-node-end node)) - 'syntax-table (string-to-syntax "\""))) + (when (< (treesit-node-end node) (point-max)) + (put-text-property (treesit-node-end node) (1+ (treesit-node-end node)) + 'syntax-table (string-to-syntax "\"")))) ('percent ;; FIXME: Put the first one on the first paren in both %Q{} and %(). ;; That would stop electric-pair-mode from pairing, though. Hmm. commit 6ea507296a7e8bd55df8961793b02cf54d0f3c72 Author: Yuan Fu Date: Sat Dec 16 17:15:04 2023 -0800 Correctly refontify changed region in tree-sitter modes (bug#66732) We already have treesit--font-lock-notifier that should mark changed regions to be refontified, but it's called too late in the redsiplay & fontification pipeline. Here we add treesit--pre-redisplay that forces reparse and calls notifier functions in pre-redisplay-functions, which is early enough for the marking to take effect. Similarly, we force reparse in syntax-propertize-extend-region-functions so syntax-ppss will have the up-to-date syntax information when it scans the buffer text. We also record the lowest start position of the affected regions, and make sure next syntex-propertize starts from that position. * lisp/treesit.el (treesit--pre-redisplay-tick): (treesit--syntax-propertize-start): New variable. (treesit--syntax-propertize-notifier): (treesit--pre-redisplay): (treesit--pre-syntax-ppss): New functions. (treesit-major-mode-setup): Add hooks. * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Remove notifier. (ruby-ts--parser-after-change): Remove notifier function. diff --git a/lisp/progmodes/ruby-ts-mode.el b/lisp/progmodes/ruby-ts-mode.el index c146b80542e..a30131aad89 100644 --- a/lisp/progmodes/ruby-ts-mode.el +++ b/lisp/progmodes/ruby-ts-mode.el @@ -1135,20 +1135,8 @@ ruby-ts-mode (treesit-major-mode-setup) - (treesit-parser-add-notifier (car (treesit-parser-list)) - #'ruby-ts--parser-after-change) - (setq-local syntax-propertize-function #'ruby-ts--syntax-propertize)) -(defun ruby-ts--parser-after-change (ranges parser) - ;; Make sure we re-syntax-propertize the full node that is being - ;; edited. This is most pertinent to multi-line complex nodes such - ;; as heredocs. - (when ranges - (with-current-buffer (treesit-parser-buffer parser) - (syntax-ppss-flush-cache (cl-loop for r in ranges - minimize (car r)))))) - (if (treesit-ready-p 'ruby) ;; Copied from ruby-mode.el. (add-to-list 'auto-mode-alist diff --git a/lisp/treesit.el b/lisp/treesit.el index 8a07f5023a9..2ef4e382cf3 100644 --- a/lisp/treesit.el +++ b/lisp/treesit.el @@ -1088,6 +1088,72 @@ treesit--font-lock-notifier (with-silent-modifications (put-text-property (car range) (cdr range) 'fontified nil))))) +(defvar-local treesit--syntax-propertize-start nil + "If non-nil, next `syntax-propertize' should start at this position. + +When tree-sitter parser reparses, it calls +`treesit--syntax-propertize-notifier' with the affected region, +and that function sets this variable to the start of the affected +region.") + +(defun treesit--syntax-propertize-notifier (ranges parser) + "Sets `treesit--syntax-propertize-start' to the smallest start. +Specifically, the smallest start position among all the ranges in +RANGES for PARSER." + (with-current-buffer (treesit-parser-buffer parser) + (when-let* ((range-starts (mapcar #'car ranges)) + (min-range-start + (seq-reduce + #'min (cdr range-starts) (car range-starts)))) + (if (null treesit--syntax-propertize-start) + (setq treesit--syntax-propertize-start min-range-start) + (setq treesit--syntax-propertize-start + (min treesit--syntax-propertize-start min-range-start)))))) + +(defvar-local treesit--pre-redisplay-tick nil + "The last `buffer-chars-modified-tick' that we've processed. +Because `pre-redisplay-functions' could be called multiple times +during a single command loop, we use this variable to debounce +calls to `treesit--pre-redisplay'.") + +(defun treesit--pre-redisplay (&rest _) + "Force reparse and consequently run all notifiers. + +One of the notifiers is `treesit--font-lock-notifier', which will +mark the region whose syntax has changed to \"need to refontify\". + +For example, when the user types the final slash of a C block +comment /* xxx */, not only do we need to fontify the slash, but +also the whole block comment, which previously wasn't fontified +as comment due to incomplete parse tree." + (unless (eq treesit--pre-redisplay-tick (buffer-chars-modified-tick)) + ;; `treesit-update-ranges' will force the host language's parser to + ;; reparse and set correct ranges for embedded parsers. Then + ;; `treesit-parser-root-node' will force those parsers to reparse. + (treesit-update-ranges) + ;; Force repase on _all_ the parsers might not be necessary, but + ;; this is probably the most robust way. + (dolist (parser (treesit-parser-list)) + (treesit-parser-root-node parser)) + (setq treesit--pre-redisplay-tick (buffer-chars-modified-tick)))) + +(defun treesit--pre-syntax-ppss (start end) + "Force reparse and consequently run all notifiers. + +Similar to font-lock, we want to update the `syntax' text +property before `syntax-ppss' starts working on the text. We +also want to extend the to-be-propertized region to include the +whole region affected by the last reparse. + +START and END mark the current to-be-propertized region." + (treesit--pre-redisplay) + (let ((new-start treesit--syntax-propertize-start)) + (if (and new-start (< new-start start)) + (progn + (setq treesit--syntax-propertize-start nil) + (cons new-start end)) + nil))) + ;;; Indent (define-error 'treesit-indent-error @@ -2392,7 +2458,11 @@ treesit-major-mode-setup (treesit-font-lock-recompute-features) (dolist (parser (treesit-parser-list)) (treesit-parser-add-notifier - parser #'treesit--font-lock-notifier))) + parser #'treesit--font-lock-notifier)) + (add-hook 'pre-redisplay-functions #'treesit--pre-redisplay 0 t)) + ;; Syntax + (add-hook 'syntax-propertize-extend-region-functions + #'treesit--pre-syntax-ppss 0 t) ;; Indent. (when treesit-simple-indent-rules (setq-local treesit-simple-indent-rules