Merge from savannah/emacs-30

709ce2aff1 Port to Haiku R1/beta5
21efdd5ef3 Fix c++-ts-mode font-lock for latest c++ grammar (bug#73191)
ffc00eac53 ; Set Transient's version and add admin/MAINTAINERS entry
3822a5e5d1 * admin/update-copyright: Print reminder to do manual upd...
43b678d3d2 * admin/notes/years: Update.
38de992a5a * etc/TODO: New item "support indentation guides".

# Conflicts:
#	admin/notes/years
#	doc/misc/transient.texi
#	lisp/progmodes/c-ts-mode.el
#	lisp/transient.el
This commit is contained in:
Po Lu 2024-09-15 08:54:50 +08:00
commit 7793b2fe2a
7 changed files with 62 additions and 22 deletions

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -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

View file

@ -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

View file

@ -32,6 +32,8 @@
;;; Code:
(defconst transient-version "0.7.2.2")
(require 'cl-lib)
(require 'eieio)
(require 'edmacro)

View file

@ -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: