aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPo Lu2024-09-15 08:54:50 +0800
committerPo Lu2024-09-15 08:54:50 +0800
commit7793b2fe2ab0fccebdabef993024585e9fea9db8 (patch)
treeade8eb6ab300ac96b3915abbf9424e12cda27c1b
parent691f441717e968b1a497ed5d7792dbbe02cba609 (diff)
parent709ce2aff146a8c09c191f818cda70b269902348 (diff)
downloademacs-7793b2fe2ab0fccebdabef993024585e9fea9db8.tar.gz
emacs-7793b2fe2ab0fccebdabef993024585e9fea9db8.zip
Merge from savannah/emacs-30
709ce2aff14 Port to Haiku R1/beta5 21efdd5ef31 Fix c++-ts-mode font-lock for latest c++ grammar (bug#73191) ffc00eac53d ; Set Transient's version and add admin/MAINTAINERS entry 3822a5e5d12 * admin/update-copyright: Print reminder to do manual upd... 43b678d3d26 * admin/notes/years: Update. 38de992a5a3 * etc/TODO: New item "support indentation guides". # Conflicts: # admin/notes/years # doc/misc/transient.texi # lisp/progmodes/c-ts-mode.el # lisp/transient.el
-rw-r--r--admin/MAINTAINERS7
-rw-r--r--admin/notes/years39
-rwxr-xr-xadmin/update-copyright4
-rw-r--r--etc/TODO8
-rw-r--r--lisp/progmodes/c-ts-mode.el16
-rw-r--r--lisp/transient.el2
-rw-r--r--src/haiku_support.cc10
7 files changed, 63 insertions, 23 deletions
diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS
index 8930f47b35b..20d5c1c60dc 100644
--- a/admin/MAINTAINERS
+++ b/admin/MAINTAINERS
@@ -393,6 +393,13 @@ Tramp
393 doc/misc/tramp*.texi 393 doc/misc/tramp*.texi
394 test/lisp/net/tramp*-tests.el 394 test/lisp/net/tramp*-tests.el
395 395
396Transient
397 Maintainer: Jonas Bernoulli
398 Repository: https://github.com/magit/transient
399
400 lisp/transient.el
401 doc/misc/transient.texi
402
396Modus themes 403Modus themes
397 Maintainer: Protesilaos Stavrou 404 Maintainer: Protesilaos Stavrou
398 Repository: https://github.com/protesilaos/modus-themes 405 Repository: https://github.com/protesilaos/modus-themes
diff --git a/admin/notes/years b/admin/notes/years
index 2a961536da6..9c0b9a81886 100644
--- a/admin/notes/years
+++ b/admin/notes/years
@@ -1,6 +1,6 @@
1HOW TO MAINTAIN COPYRIGHT YEARS FOR GNU EMACS 1HOW TO MAINTAIN COPYRIGHT YEARS FOR GNU EMACS
2 2
3Maintaining copyright years is now very simple: every time a new year 3Maintaining copyright years is very simple: every time a new year
4rolls around, add that year to every FSF (and AIST) copyright notice. 4rolls around, add that year to every FSF (and AIST) copyright notice.
5Do this by running the 'admin/update-copyright' script on a fresh repo 5Do this by running the 'admin/update-copyright' script on a fresh repo
6checkout, redirecting its output to a file, so that you could later 6checkout, redirecting its output to a file, so that you could later
@@ -20,16 +20,19 @@ A few known problems with the build-aux/update-copyright script:
20 . it doesn't update the second Copyright notice, the one that gets 20 . it doesn't update the second Copyright notice, the one that gets
21 output into PDF and PS, in etc/refcards/ru-refcard.tex 21 output into PDF and PS, in etc/refcards/ru-refcard.tex
22 . it doesn't update etc/refcards/gnus-refcard.tex, doc/misc/org.org, 22 . it doesn't update etc/refcards/gnus-refcard.tex, doc/misc/org.org,
23 and nt/*.rc.in because their Copyright statements have a 23 nt/emacs.rc.in, and nt/emacsclient.rc.in, because their Copyright
24 non-standard format 24 statements have a non-standard format
25 . several README and XPM files under etc/images/ 25 . several README files under etc/images/, and also
26 (e.g. etc/images/gud/README), and also etc/refcards/README, 26 etc/refcards/README, msdos/README, and nt/icons/README aren't
27 msdos/README, and nt/icons/README aren't updated either 27 updated either
28 - the copyright notices for headers generated by exec/configure.ac and 28 . the copyright notices for headers generated by configure.ac and
29 by configure.ac are not updated as the file already bears a notice 29 exec/configure.ac are not updated as the files already bear notices
30 above it 30 above them
31 31 . the example copyright year in doc/lispref/tips.texi is not updated
32These files need to be updated by hand. 32
33These files need to be updated by hand, however note that the above list
34is not necessarily exhaustive. For that reason, it's best to grep for
35something like "\<202[0-4]\>" and check any hits manually.
33 36
34Next, run "M-x set-copyright" from admin.el, which updates several 37Next, run "M-x set-copyright" from admin.el, which updates several
35copyright notices in the Emacs sources. 38copyright notices in the Emacs sources.
@@ -42,23 +45,21 @@ ETAGS.good* and CTAGS.good files, and then commit the new test files.
42 45
43There's no need to worry about whether an individual file has changed 46There's no need to worry about whether an individual file has changed
44in a given year - it's sufficient that Emacs as a whole has changed. 47in a given year - it's sufficient that Emacs as a whole has changed.
45
46Therefore the years are updated en-masse near the start of each year, 48Therefore the years are updated en-masse near the start of each year,
47so basically there is no need for most people to do any updating of them. 49so basically there is no need for most people to do any updating of them.
48 50
49The current (in 2011) version of "Information for Maintainers of GNU 51The refcards in etc/refcards can print only the latest copyright year,
50Software" (see that document for more details) says that it is OK to use 52but should keep the full list in a comment in the source.
51ranges in copyright years, so in early 2011 the years were changed to use
52ranges, which occupy less space and do not grow in length every year.
53 53
54For more detailed information on maintaining copyright, see the file 54For more detailed information on maintaining copyright, see the file
55"copyright" in this directory. 55"copyright" in this directory.
56 56
57The previous policy was more complex, but is now only of historical 57The previous policy was more complex, but is now only of historical
58interest (see versions of this file from before 2009). 58interest (see versions of this file from before 2009). In early 2011,
59the years were changed to use ranges. This is OK according to changes
60made to "Information for Maintainers of GNU Software" that same year
61(see that document for more details).
59 62
60The refcards in etc/refcards can print only the latest copyright year,
61but should keep the full list in a comment in the source.
62 63
63 64
64"Our lawyer says it is ok if we add, to each file that has been in Emacs 65"Our lawyer says it is ok if we add, to each file that has been in Emacs
diff --git a/admin/update-copyright b/admin/update-copyright
index b9007100b35..56fdfb86265 100755
--- a/admin/update-copyright
+++ b/admin/update-copyright
@@ -77,3 +77,7 @@ updatable_files=$(find $repo_files \
77 -print) && 77 -print) &&
78 78
79build-aux/update-copyright $updatable_files 79build-aux/update-copyright $updatable_files
80
81printf ">>> Please remember to search for and manually update any\n"
82printf ">>> copyright years that were not updated by this script.\n"
83printf ">>> See the file 'admin/notes/years' for details.\n"
diff --git a/etc/TODO b/etc/TODO
index c894cf68c3d..d37ca6646bb 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -481,6 +481,14 @@ For some discussion and implementation ideas (including possibly using
481LSP), see the thread starting at 481LSP), see the thread starting at
482https://lists.gnu.org/archive/html/emacs-devel/2023-09/msg00609.html 482https://lists.gnu.org/archive/html/emacs-devel/2023-09/msg00609.html
483 483
484** Add indentation guide support to the display engine
485Support vertical lines that indicate the current level of indentation,
486which is useful when editing source code. This feature should be
487implemented in the display engine.
488
489See the indent-bars package, which implements this in Emacs Lisp:
490https://github.com/jdtsmith/indent-bars
491
484** FFI (foreign function interface) 492** FFI (foreign function interface)
485See e.g. https://lists.gnu.org/r/emacs-devel/2013-10/msg00246.html 493See e.g. https://lists.gnu.org/r/emacs-devel/2013-10/msg00246.html
486 494
diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el
index 26b352874c2..804d0040f5c 100644
--- a/lisp/progmodes/c-ts-mode.el
+++ b/lisp/progmodes/c-ts-mode.el
@@ -577,7 +577,7 @@ MODE is either `c' or `cpp'."
577 "or_eq" "override" "private" "protected" 577 "or_eq" "override" "private" "protected"
578 "public" "requires" "template" "throw" 578 "public" "requires" "template" "throw"
579 "try" "typename" "using" 579 "try" "typename" "using"
580 "xor" "xor_eq")) 580 "xor" "xor_eq" "thread_local"))
581 (append '("auto") c-keywords)))) 581 (append '("auto") c-keywords))))
582 582
583(defvar c-ts-mode--type-keywords 583(defvar c-ts-mode--type-keywords
@@ -599,6 +599,11 @@ MODE is either `c' or `cpp'."
599 (rx (| "/**" "/*!" "//!" "///")) 599 (rx (| "/**" "/*!" "//!" "///"))
600 "A regexp that matches all doxygen comment styles.") 600 "A regexp that matches all doxygen comment styles.")
601 601
602(defun c-ts-mode--test-virtual-named-p ()
603 "Return t if the virtual keyword is a namded node, nil otherwise."
604 (ignore-errors
605 (progn (treesit-query-compile 'cpp "(virtual)" t) t)))
606
602(defun c-ts-mode--font-lock-settings (mode) 607(defun c-ts-mode--font-lock-settings (mode)
603 "Tree-sitter font-lock settings. 608 "Tree-sitter font-lock settings.
604MODE is either `c' or `cpp'." 609MODE is either `c' or `cpp'."
@@ -643,8 +648,13 @@ MODE is either `c' or `cpp'."
643 `([,@(c-ts-mode--keywords mode)] @font-lock-keyword-face 648 `([,@(c-ts-mode--keywords mode)] @font-lock-keyword-face
644 ,@(when (eq mode 'cpp) 649 ,@(when (eq mode 'cpp)
645 '((auto) @font-lock-keyword-face 650 '((auto) @font-lock-keyword-face
646 (this) @font-lock-keyword-face 651 (this) @font-lock-keyword-face))
647 (virtual) @font-lock-keyword-face))) 652 ,@(when (and (eq mode 'cpp)
653 (c-ts-mode--test-virtual-named-p))
654 '((virtual) @font-lock-keyword-face))
655 ,@(when (and (eq mode 'cpp)
656 (not (c-ts-mode--test-virtual-named-p)))
657 '("virtual" @font-lock-keyword-face)))
648 658
649 :language mode 659 :language mode
650 :feature 'operator 660 :feature 'operator
diff --git a/lisp/transient.el b/lisp/transient.el
index 7ec9848889f..41515f6616e 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -32,6 +32,8 @@
32 32
33;;; Code: 33;;; Code:
34 34
35(defconst transient-version "0.7.2.2")
36
35(require 'cl-lib) 37(require 'cl-lib)
36(require 'eieio) 38(require 'eieio)
37(require 'edmacro) 39(require 'edmacro)
diff --git a/src/haiku_support.cc b/src/haiku_support.cc
index 08e7f29685a..4ea5e0884b9 100644
--- a/src/haiku_support.cc
+++ b/src/haiku_support.cc
@@ -340,10 +340,18 @@ keysym_from_raw_char (int32 raw, int32 key, unsigned *code)
340 340
341 break; 341 break;
342 342
343#if B_HAIKU_VERSION >= B_HAIKU_VERSION_1_BETA_5
344 case B_HANGUL_KEY:
345#else /* B_HAIKU_VERSION < B_HAIKU_VERSION_1_BETA_5 */
343 case B_HANGUL: 346 case B_HANGUL:
347#endif /* B_HAIKU_VERSION >= B_HAIKU_VERSION_1_BETA_5 */
344 *code = KEY_HANGUL; 348 *code = KEY_HANGUL;
345 break; 349 break;
346 case B_HANGUL_HANJA: 350#if B_HAIKU_VERSION >= B_HAIKU_VERSION_1_BETA_5
351 case B_HANGUL_HANJA_KEY:
352#else /* B_HAIKU_VERSION < B_HAIKU_VERSION_1_BETA_5 */
353 case B_HANGUL:
354#endif /* B_HAIKU_VERSION >= B_HAIKU_VERSION_1_BETA_5 */
347 *code = KEY_HANGUL_HANJA; 355 *code = KEY_HANGUL_HANJA;
348 break; 356 break;
349 case B_KATAKANA_HIRAGANA: 357 case B_KATAKANA_HIRAGANA: