diff options
| author | Po Lu | 2024-09-15 08:54:50 +0800 |
|---|---|---|
| committer | Po Lu | 2024-09-15 08:54:50 +0800 |
| commit | 7793b2fe2ab0fccebdabef993024585e9fea9db8 (patch) | |
| tree | ade8eb6ab300ac96b3915abbf9424e12cda27c1b | |
| parent | 691f441717e968b1a497ed5d7792dbbe02cba609 (diff) | |
| parent | 709ce2aff146a8c09c191f818cda70b269902348 (diff) | |
| download | emacs-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/MAINTAINERS | 7 | ||||
| -rw-r--r-- | admin/notes/years | 39 | ||||
| -rwxr-xr-x | admin/update-copyright | 4 | ||||
| -rw-r--r-- | etc/TODO | 8 | ||||
| -rw-r--r-- | lisp/progmodes/c-ts-mode.el | 16 | ||||
| -rw-r--r-- | lisp/transient.el | 2 | ||||
| -rw-r--r-- | src/haiku_support.cc | 10 |
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 | ||
| 396 | Transient | ||
| 397 | Maintainer: Jonas Bernoulli | ||
| 398 | Repository: https://github.com/magit/transient | ||
| 399 | |||
| 400 | lisp/transient.el | ||
| 401 | doc/misc/transient.texi | ||
| 402 | |||
| 396 | Modus themes | 403 | Modus 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 @@ | |||
| 1 | HOW TO MAINTAIN COPYRIGHT YEARS FOR GNU EMACS | 1 | HOW TO MAINTAIN COPYRIGHT YEARS FOR GNU EMACS |
| 2 | 2 | ||
| 3 | Maintaining copyright years is now very simple: every time a new year | 3 | Maintaining copyright years is very simple: every time a new year |
| 4 | rolls around, add that year to every FSF (and AIST) copyright notice. | 4 | rolls around, add that year to every FSF (and AIST) copyright notice. |
| 5 | Do this by running the 'admin/update-copyright' script on a fresh repo | 5 | Do this by running the 'admin/update-copyright' script on a fresh repo |
| 6 | checkout, redirecting its output to a file, so that you could later | 6 | checkout, 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 | |
| 32 | These files need to be updated by hand. | 32 | |
| 33 | These files need to be updated by hand, however note that the above list | ||
| 34 | is not necessarily exhaustive. For that reason, it's best to grep for | ||
| 35 | something like "\<202[0-4]\>" and check any hits manually. | ||
| 33 | 36 | ||
| 34 | Next, run "M-x set-copyright" from admin.el, which updates several | 37 | Next, run "M-x set-copyright" from admin.el, which updates several |
| 35 | copyright notices in the Emacs sources. | 38 | copyright notices in the Emacs sources. |
| @@ -42,23 +45,21 @@ ETAGS.good* and CTAGS.good files, and then commit the new test files. | |||
| 42 | 45 | ||
| 43 | There's no need to worry about whether an individual file has changed | 46 | There's no need to worry about whether an individual file has changed |
| 44 | in a given year - it's sufficient that Emacs as a whole has changed. | 47 | in a given year - it's sufficient that Emacs as a whole has changed. |
| 45 | |||
| 46 | Therefore the years are updated en-masse near the start of each year, | 48 | Therefore the years are updated en-masse near the start of each year, |
| 47 | so basically there is no need for most people to do any updating of them. | 49 | so basically there is no need for most people to do any updating of them. |
| 48 | 50 | ||
| 49 | The current (in 2011) version of "Information for Maintainers of GNU | 51 | The refcards in etc/refcards can print only the latest copyright year, |
| 50 | Software" (see that document for more details) says that it is OK to use | 52 | but should keep the full list in a comment in the source. |
| 51 | ranges in copyright years, so in early 2011 the years were changed to use | ||
| 52 | ranges, which occupy less space and do not grow in length every year. | ||
| 53 | 53 | ||
| 54 | For more detailed information on maintaining copyright, see the file | 54 | For more detailed information on maintaining copyright, see the file |
| 55 | "copyright" in this directory. | 55 | "copyright" in this directory. |
| 56 | 56 | ||
| 57 | The previous policy was more complex, but is now only of historical | 57 | The previous policy was more complex, but is now only of historical |
| 58 | interest (see versions of this file from before 2009). | 58 | interest (see versions of this file from before 2009). In early 2011, |
| 59 | the years were changed to use ranges. This is OK according to changes | ||
| 60 | made to "Information for Maintainers of GNU Software" that same year | ||
| 61 | (see that document for more details). | ||
| 59 | 62 | ||
| 60 | The refcards in etc/refcards can print only the latest copyright year, | ||
| 61 | but 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 | ||
| 79 | build-aux/update-copyright $updatable_files | 79 | build-aux/update-copyright $updatable_files |
| 80 | |||
| 81 | printf ">>> Please remember to search for and manually update any\n" | ||
| 82 | printf ">>> copyright years that were not updated by this script.\n" | ||
| 83 | printf ">>> See the file 'admin/notes/years' for details.\n" | ||
| @@ -481,6 +481,14 @@ For some discussion and implementation ideas (including possibly using | |||
| 481 | LSP), see the thread starting at | 481 | LSP), see the thread starting at |
| 482 | https://lists.gnu.org/archive/html/emacs-devel/2023-09/msg00609.html | 482 | https://lists.gnu.org/archive/html/emacs-devel/2023-09/msg00609.html |
| 483 | 483 | ||
| 484 | ** Add indentation guide support to the display engine | ||
| 485 | Support vertical lines that indicate the current level of indentation, | ||
| 486 | which is useful when editing source code. This feature should be | ||
| 487 | implemented in the display engine. | ||
| 488 | |||
| 489 | See the indent-bars package, which implements this in Emacs Lisp: | ||
| 490 | https://github.com/jdtsmith/indent-bars | ||
| 491 | |||
| 484 | ** FFI (foreign function interface) | 492 | ** FFI (foreign function interface) |
| 485 | See e.g. https://lists.gnu.org/r/emacs-devel/2013-10/msg00246.html | 493 | See 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. |
| 604 | MODE is either `c' or `cpp'." | 609 | MODE 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: |