diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS index 8930f47b35b..20d5c1c60dc 100644 --- a/admin/MAINTAINERS +++ b/admin/MAINTAINERS @@ -393,6 +393,13 @@ Tramp doc/misc/tramp*.texi test/lisp/net/tramp*-tests.el +Transient + Maintainer: Jonas Bernoulli + Repository: https://github.com/magit/transient + + lisp/transient.el + doc/misc/transient.texi + Modus themes Maintainer: Protesilaos Stavrou 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 @@ HOW TO MAINTAIN COPYRIGHT YEARS FOR GNU EMACS -Maintaining copyright years is now very simple: every time a new year +Maintaining copyright years is very simple: every time a new year rolls around, add that year to every FSF (and AIST) copyright notice. Do this by running the 'admin/update-copyright' script on a fresh repo 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: . it doesn't update the second Copyright notice, the one that gets output into PDF and PS, in etc/refcards/ru-refcard.tex . it doesn't update etc/refcards/gnus-refcard.tex, doc/misc/org.org, - and nt/*.rc.in because their Copyright statements have a - non-standard format - . several README and XPM files under etc/images/ - (e.g. etc/images/gud/README), and also etc/refcards/README, - msdos/README, and nt/icons/README aren't updated either - - the copyright notices for headers generated by exec/configure.ac and - by configure.ac are not updated as the file already bears a notice - above it + nt/emacs.rc.in, and nt/emacsclient.rc.in, because their Copyright + statements have a non-standard format + . several README files under etc/images/, and also + etc/refcards/README, msdos/README, and nt/icons/README aren't + updated either + . the copyright notices for headers generated by configure.ac and + exec/configure.ac are not updated as the files already bear notices + above them + . the example copyright year in doc/lispref/tips.texi is not updated -These files need to be updated by hand. +These files need to be updated by hand, however note that the above list +is not necessarily exhaustive. For that reason, it's best to grep for +something like "\<202[0-4]\>" and check any hits manually. Next, run "M-x set-copyright" from admin.el, which updates several copyright notices in the Emacs sources. @@ -42,23 +45,21 @@ ETAGS.good* and CTAGS.good files, and then commit the new test files. There's no need to worry about whether an individual file has changed in a given year - it's sufficient that Emacs as a whole has changed. - Therefore the years are updated en-masse near the start of each year, so basically there is no need for most people to do any updating of them. -The current (in 2011) version of "Information for Maintainers of GNU -Software" (see that document for more details) says that it is OK to use -ranges in copyright years, so in early 2011 the years were changed to use -ranges, which occupy less space and do not grow in length every year. +The refcards in etc/refcards can print only the latest copyright year, +but should keep the full list in a comment in the source. For more detailed information on maintaining copyright, see the file "copyright" in this directory. The previous policy was more complex, but is now only of historical -interest (see versions of this file from before 2009). +interest (see versions of this file from before 2009). In early 2011, +the years were changed to use ranges. This is OK according to changes +made to "Information for Maintainers of GNU Software" that same year +(see that document for more details). -The refcards in etc/refcards can print only the latest copyright year, -but should keep the full list in a comment in the source. "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 \ -print) && build-aux/update-copyright $updatable_files + +printf ">>> Please remember to search for and manually update any\n" +printf ">>> copyright years that were not updated by this script.\n" +printf ">>> 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 LSP), see the thread starting at https://lists.gnu.org/archive/html/emacs-devel/2023-09/msg00609.html +** Add indentation guide support to the display engine +Support vertical lines that indicate the current level of indentation, +which is useful when editing source code. This feature should be +implemented in the display engine. + +See the indent-bars package, which implements this in Emacs Lisp: +https://github.com/jdtsmith/indent-bars + ** FFI (foreign function interface) See e.g. https://lists.gnu.org/r/emacs-devel/2013-10/msg00246.html 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'." "or_eq" "override" "private" "protected" "public" "requires" "template" "throw" "try" "typename" "using" - "xor" "xor_eq")) + "xor" "xor_eq" "thread_local")) (append '("auto") c-keywords)))) (defvar c-ts-mode--type-keywords @@ -599,6 +599,11 @@ MODE is either `c' or `cpp'." (rx (| "/**" "/*!" "//!" "///")) "A regexp that matches all doxygen comment styles.") +(defun c-ts-mode--test-virtual-named-p () + "Return t if the virtual keyword is a namded node, nil otherwise." + (ignore-errors + (progn (treesit-query-compile 'cpp "(virtual)" t) t))) + (defun c-ts-mode--font-lock-settings (mode) "Tree-sitter font-lock settings. MODE is either `c' or `cpp'." @@ -643,8 +648,13 @@ MODE is either `c' or `cpp'." `([,@(c-ts-mode--keywords mode)] @font-lock-keyword-face ,@(when (eq mode 'cpp) '((auto) @font-lock-keyword-face - (this) @font-lock-keyword-face - (virtual) @font-lock-keyword-face))) + (this) @font-lock-keyword-face)) + ,@(when (and (eq mode 'cpp) + (c-ts-mode--test-virtual-named-p)) + '((virtual) @font-lock-keyword-face)) + ,@(when (and (eq mode 'cpp) + (not (c-ts-mode--test-virtual-named-p))) + '("virtual" @font-lock-keyword-face))) :language mode :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 @@ ;;; Code: +(defconst transient-version "0.7.2.2") + (require 'cl-lib) (require 'eieio) (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) break; +#if B_HAIKU_VERSION >= B_HAIKU_VERSION_1_BETA_5 + case B_HANGUL_KEY: +#else /* B_HAIKU_VERSION < B_HAIKU_VERSION_1_BETA_5 */ case B_HANGUL: +#endif /* B_HAIKU_VERSION >= B_HAIKU_VERSION_1_BETA_5 */ *code = KEY_HANGUL; break; - case B_HANGUL_HANJA: +#if B_HAIKU_VERSION >= B_HAIKU_VERSION_1_BETA_5 + case B_HANGUL_HANJA_KEY: +#else /* B_HAIKU_VERSION < B_HAIKU_VERSION_1_BETA_5 */ + case B_HANGUL: +#endif /* B_HAIKU_VERSION >= B_HAIKU_VERSION_1_BETA_5 */ *code = KEY_HANGUL_HANJA; break; case B_KATAKANA_HIRAGANA: