diff options
| author | Stefan Monnier | 2026-02-08 16:05:31 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2026-02-08 16:05:31 -0500 |
| commit | f39eaad491bdab443389fc60c8ca2ee59f22758b (patch) | |
| tree | 27dcf7ce752f4b3c4fbed1b0a6b4a47dc2f7424b /etc | |
| parent | 4db3be200114caacf068f56dc60796fd7c77b619 (diff) | |
| parent | c86094057b0c391d6160ba8c37c6df9bb0370b16 (diff) | |
| download | emacs-f39eaad491bdab443389fc60c8ca2ee59f22758b.tar.gz emacs-f39eaad491bdab443389fc60c8ca2ee59f22758b.zip | |
Merge branch 'main' into icalendar
Diffstat (limited to 'etc')
171 files changed, 1368 insertions, 481 deletions
diff --git a/etc/CALC-NEWS b/etc/CALC-NEWS index aec31e940de..c0d109f44f9 100644 --- a/etc/CALC-NEWS +++ b/etc/CALC-NEWS | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | Copyright (C) 2001-2025 Free Software Foundation, Inc. | 1 | Copyright (C) 2001-2026 Free Software Foundation, Inc. |
| 2 | See the end of the file for license conditions. | 2 | See the end of the file for license conditions. |
| 3 | 3 | ||
| 4 | Calc is an advanced desk calculator for GNU Emacs. | 4 | Calc is an advanced desk calculator for GNU Emacs. |
diff --git a/etc/ChangeLog.1 b/etc/ChangeLog.1 index d241e6d636d..feddd880066 100644 --- a/etc/ChangeLog.1 +++ b/etc/ChangeLog.1 | |||
| @@ -6891,7 +6891,7 @@ | |||
| 6891 | ;; coding: utf-8 | 6891 | ;; coding: utf-8 |
| 6892 | ;; End: | 6892 | ;; End: |
| 6893 | 6893 | ||
| 6894 | Copyright (C) 1993-1999, 2001-2025 Free Software Foundation, Inc. | 6894 | Copyright (C) 1993-1999, 2001-2026 Free Software Foundation, Inc. |
| 6895 | 6895 | ||
| 6896 | This file is part of GNU Emacs. | 6896 | This file is part of GNU Emacs. |
| 6897 | 6897 | ||
| @@ -1,6 +1,6 @@ | |||
| 1 | Debugging GNU Emacs | 1 | Debugging GNU Emacs |
| 2 | 2 | ||
| 3 | Copyright (C) 1985, 2000-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 1985, 2000-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | ** Preliminaries | 6 | ** Preliminaries |
diff --git a/etc/DISTRIB b/etc/DISTRIB index 1f154fd74d7..b548b65f864 100644 --- a/etc/DISTRIB +++ b/etc/DISTRIB | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | -*- text -*- | 1 | -*- text -*- |
| 2 | GNU Emacs availability information | 2 | GNU Emacs availability information |
| 3 | 3 | ||
| 4 | Copyright (C) 1986-1993, 1995, 1998, 2000-2025 Free Software Foundation, | 4 | Copyright (C) 1986-1993, 1995, 1998, 2000-2026 Free Software Foundation, |
| 5 | Inc. | 5 | Inc. |
| 6 | See the end of the file for license conditions. | 6 | See the end of the file for license conditions. |
| 7 | 7 | ||
diff --git a/etc/EGLOT-NEWS b/etc/EGLOT-NEWS index b3edd77cacd..20c2208c54c 100644 --- a/etc/EGLOT-NEWS +++ b/etc/EGLOT-NEWS | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | Eglot NEWS -*- outline -*- | 1 | Eglot NEWS -*- outline -*- |
| 2 | 2 | ||
| 3 | Copyright (C) 2018-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2018-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Please send Eglot bug reports to 'bug-gnu-emacs@gnu.org', and Cc (or | 6 | Please send Eglot bug reports to 'bug-gnu-emacs@gnu.org', and Cc (or |
| @@ -20,6 +20,71 @@ https://github.com/joaotavora/eglot/issues/1234. | |||
| 20 | 20 | ||
| 21 | * Changes to upcoming Eglot | 21 | * Changes to upcoming Eglot |
| 22 | 22 | ||
| 23 | ** File watch limits to prevent resource exhaustion (github#1568) | ||
| 24 | |||
| 25 | The new variable 'eglot-max-file-watches' limits the number of file | ||
| 26 | watches that can be created. Some language servers request watching | ||
| 27 | for a very large number of directories (e.g. Python virtualenvs), which | ||
| 28 | can exhaust system resources and cause slow startup. | ||
| 29 | |||
| 30 | ** Support for complex workspace edits (create/rename/delete files) | ||
| 31 | |||
| 32 | Eglot now advertises support for file resource operations in workspace | ||
| 33 | edits and can handle create, rename, and delete file operations. The | ||
| 34 | confirmation UI has been reworked to handle mixed operation types. | ||
| 35 | |||
| 36 | The 'eglot-confirm-server-edits' defcustom has been overhauled and now | ||
| 37 | also accepts file operation kinds as keys in the alist form, providing | ||
| 38 | more fine-grained control over what confirmation mechanism to use. | ||
| 39 | |||
| 40 | ** 'eglot-advertise-cancellation' now defaults to t | ||
| 41 | |||
| 42 | The variable 'eglot-advertise-cancellation' now defaults to t, which | ||
| 43 | means Eglot will send '$/cancelRequest' notifications to servers when it | ||
| 44 | thinks responses to inflight requests are no longer useful. The current | ||
| 45 | 2026 LSP landscape (especially gopls and ocamllsp) suggests this is | ||
| 46 | beneficial and helps servers avoid costly useless work. | ||
| 47 | |||
| 48 | ** Imenu setup is more predictable (github#1569) | ||
| 49 | |||
| 50 | Eglot now sets 'imenu-create-index-function' using ':override' advice, | ||
| 51 | making the integration cleaner and more predictable. | ||
| 52 | |||
| 53 | ** Fixed textDocument/prepareRename support (github#1554) | ||
| 54 | |||
| 55 | Eglot now properly checks server capabilities before sending | ||
| 56 | prepareRename requests. | ||
| 57 | |||
| 58 | |||
| 59 | * Changes in Eglot 1.21 (11/1/2026) | ||
| 60 | |||
| 61 | This is a bugfix release with small fixes for semantic tokens and Emacs | ||
| 62 | 26.3 compatibility. | ||
| 63 | |||
| 64 | |||
| 65 | * Changes in Eglot 1.20 (11/1/2026) | ||
| 66 | |||
| 67 | ** Dramatically faster handling of files with many diagnostics | ||
| 68 | |||
| 69 | Diagnostic conversion between LSP and Flymake versions is now much | ||
| 70 | faster. Previously, editing, e.g. a Python file with thousands of | ||
| 71 | diagnostics was next to impossible to to periodic interruptions of | ||
| 72 | diagnostic reports. Now it's practically unnoticeable. | ||
| 73 | |||
| 74 | ** Support for LSP server multiplexers via Rassumfrassum | ||
| 75 | |||
| 76 | Eglot can now leverage LSP server multiplexer programs like Rassumfrassum | ||
| 77 | (invoked via the 'rass' command) to use multiple language servers in a | ||
| 78 | single buffer. This enables combining spell-checkers with language | ||
| 79 | servers, using multiple servers for the same language (e.g., 'ty' for | ||
| 80 | type checking and 'ruff' for linting in Python), or handling | ||
| 81 | multi-language files like Vue. | ||
| 82 | |||
| 83 | Some invocations of 'rass' are offered as alternatives in the built-in | ||
| 84 | 'eglot-server-programs' variable. The manual (readable with 'M-x | ||
| 85 | eglot-manual') contains a comprehensive discussion of how to set up and | ||
| 86 | use multiplexers in the new "Multi-server support" chapter. | ||
| 87 | |||
| 23 | ** Support for pull diagnostics (github#1559, github#1290) | 88 | ** Support for pull diagnostics (github#1559, github#1290) |
| 24 | 89 | ||
| 25 | For servers supporting the 'diagnosticProvider' capability, Eglot | 90 | For servers supporting the 'diagnosticProvider' capability, Eglot |
| @@ -28,6 +93,15 @@ requests diagnostics explicitly rather than relying on sporadic | |||
| 28 | server is known to support the "pull" variant exclusively, while the | 93 | server is known to support the "pull" variant exclusively, while the |
| 29 | 'ty' server is known to support it alongside "push". | 94 | 'ty' server is known to support it alongside "push". |
| 30 | 95 | ||
| 96 | ** New command 'eglot-momentary-inlay-hints' | ||
| 97 | |||
| 98 | When bound to a single key in 'eglot-mode-map' this will arrange for | ||
| 99 | inlay hints to be displayed as long as the key is held down, and then | ||
| 100 | hidden shortly after it is released. Emacs doesn't support binding to | ||
| 101 | \"key up\" events, but this function offers an approximation. It relies | ||
| 102 | on measuring your keyboard initial delay and repeat rate, and may not be | ||
| 103 | 100% accurate. | ||
| 104 | |||
| 31 | ** Support for watching files outside the project (bug#79809) | 105 | ** Support for watching files outside the project (bug#79809) |
| 32 | 106 | ||
| 33 | Eglot now supports and advertises the 'relativePatternSupport' | 107 | Eglot now supports and advertises the 'relativePatternSupport' |
| @@ -45,6 +119,11 @@ controlling which token types and modifiers to consider, as well as | |||
| 45 | faces for customizing their appearance. The minor mode is on by | 119 | faces for customizing their appearance. The minor mode is on by |
| 46 | default: consult the manual on how to turn it off. | 120 | default: consult the manual on how to turn it off. |
| 47 | 121 | ||
| 122 | ** Reading the Eglot manual in Emacs is easy again | ||
| 123 | |||
| 124 | The command 'M-x eglot-manual' is now easier to reach and directly drops | ||
| 125 | the user into the manual. | ||
| 126 | |||
| 48 | 127 | ||
| 49 | * Changes in Eglot 1.19 (23/10/2025) | 128 | * Changes in Eglot 1.19 (23/10/2025) |
| 50 | 129 | ||
| @@ -155,7 +234,7 @@ use this. | |||
| 155 | 234 | ||
| 156 | ** Eglot uses an internal 'track-changes.el' library (bug#70077) | 235 | ** Eglot uses an internal 'track-changes.el' library (bug#70077) |
| 157 | 236 | ||
| 158 | This should in theory help smoothen the Eglot's handling of events that | 237 | This should in theory help smooth the Eglot's handling of events that |
| 159 | change the buffer. The library has been problematic in the past, let's | 238 | change the buffer. The library has been problematic in the past, let's |
| 160 | hope we're past that phase. | 239 | hope we're past that phase. |
| 161 | 240 | ||
diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS index 932b7a58aa7..9ede2566e6d 100644 --- a/etc/ERC-NEWS +++ b/etc/ERC-NEWS | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ERC NEWS | 1 | ERC NEWS |
| 2 | 2 | ||
| 3 | Copyright (C) 2006-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2006-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Please send ERC bug reports to 'bug-gnu-emacs@gnu.org', | 6 | Please send ERC bug reports to 'bug-gnu-emacs@gnu.org', |
| @@ -68,8 +68,8 @@ ERC buffers as having been read. | |||
| 68 | ** An arguably less distracting 'erc-nicks-track-faces' variant. | 68 | ** An arguably less distracting 'erc-nicks-track-faces' variant. |
| 69 | Setting this option to t tells the 'track' module to have the mode-line | 69 | Setting this option to t tells the 'track' module to have the mode-line |
| 70 | indicator stick with the most recent speaker's face, even when they're | 70 | indicator stick with the most recent speaker's face, even when they're |
| 71 | monologuing, instead of alternating between it and the highest ranked | 71 | the only speaker, instead of alternating between it and the highest |
| 72 | 'erc-track-faces-normal-list' member in a given message. | 72 | ranked 'erc-track-faces-normal-list' member in a given message. |
| 73 | 73 | ||
| 74 | ** Module 'querypoll' has left 'goodies' and moved in with 'notify'. | 74 | ** Module 'querypoll' has left 'goodies' and moved in with 'notify'. |
| 75 | The 'querypoll' module was initially placed in 'erc-goodies' even though | 75 | The 'querypoll' module was initially placed in 'erc-goodies' even though |
diff --git a/etc/ETAGS.EBNF b/etc/ETAGS.EBNF index e617c1c4592..53636e496cd 100644 --- a/etc/ETAGS.EBNF +++ b/etc/ETAGS.EBNF | |||
| @@ -94,7 +94,7 @@ those. | |||
| 94 | 94 | ||
| 95 | ===================== end of discussion of tag names ===================== | 95 | ===================== end of discussion of tag names ===================== |
| 96 | 96 | ||
| 97 | Copyright (C) 2002-2025 Free Software Foundation, Inc. | 97 | Copyright (C) 2002-2026 Free Software Foundation, Inc. |
| 98 | 98 | ||
| 99 | COPYING PERMISSIONS: | 99 | COPYING PERMISSIONS: |
| 100 | 100 | ||
diff --git a/etc/ETAGS.README b/etc/ETAGS.README index 4e077728e8a..4b5e717e475 100644 --- a/etc/ETAGS.README +++ b/etc/ETAGS.README | |||
| @@ -28,7 +28,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |||
| 28 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 29 | 29 | ||
| 30 | 30 | ||
| 31 | Copyright (C) 1984, 1987-1989, 1993-1995, 1998-2025 Free Software | 31 | Copyright (C) 1984, 1987-1989, 1993-1995, 1998-2026 Free Software |
| 32 | Foundation, Inc. | 32 | Foundation, Inc. |
| 33 | 33 | ||
| 34 | This file is not considered part of GNU Emacs. | 34 | This file is not considered part of GNU Emacs. |
| @@ -132,7 +132,7 @@ Wancho (𞋒𞋀𞋉𞋃𞋕) 𞋂𞋈𞋛 | |||
| 132 | 132 | ||
| 133 | 133 | ||
| 134 | 134 | ||
| 135 | Copyright (C) 2001-2025 Free Software Foundation, Inc. | 135 | Copyright (C) 2001-2026 Free Software Foundation, Inc. |
| 136 | 136 | ||
| 137 | 137 | ||
| 138 | This file is part of GNU Emacs. | 138 | This file is part of GNU Emacs. |
diff --git a/etc/MACHINES b/etc/MACHINES index c3f091800b8..a3046f271d7 100644 --- a/etc/MACHINES +++ b/etc/MACHINES | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | Emacs machines list | 1 | Emacs machines list |
| 2 | 2 | ||
| 3 | Copyright (C) 1989-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 1989-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | This is a list of the status of GNU Emacs on various machines and systems. | 6 | This is a list of the status of GNU Emacs on various machines and systems. |
diff --git a/etc/MH-E-NEWS b/etc/MH-E-NEWS index 96bffc0bb2c..19677670860 100644 --- a/etc/MH-E-NEWS +++ b/etc/MH-E-NEWS | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | * COPYRIGHT | 1 | * COPYRIGHT |
| 2 | 2 | ||
| 3 | Copyright (C) 2001-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2001-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | * Changes in MH-E 8.6 | 6 | * Changes in MH-E 8.6 |
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. | 1 | GNU Emacs NEWS -- history of user-visible changes. |
| 2 | 2 | ||
| 3 | Copyright (C) 2022-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2022-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'. | 6 | Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'. |
| @@ -82,6 +82,13 @@ other directory on your system. You can also invoke the | |||
| 82 | 82 | ||
| 83 | * Changes in Emacs 31.1 | 83 | * Changes in Emacs 31.1 |
| 84 | 84 | ||
| 85 | +++ | ||
| 86 | ** 'line-spacing' now supports specifying spacing above the line. | ||
| 87 | Previously, only spacing below the line could be specified. The user | ||
| 88 | option can now be set to a cons cell to specify spacing both above and | ||
| 89 | below the line, which allows for vertically centering text. | ||
| 90 | |||
| 91 | +++ | ||
| 85 | ** 'prettify-symbols-mode' attempts to ignore undisplayable characters. | 92 | ** 'prettify-symbols-mode' attempts to ignore undisplayable characters. |
| 86 | Previously, such characters would be rendered as, e.g., white boxes. | 93 | Previously, such characters would be rendered as, e.g., white boxes. |
| 87 | 94 | ||
| @@ -199,6 +206,13 @@ different completion categories by customizing | |||
| 199 | be updated as you type, or nil to suppress this always. Note that for | 206 | be updated as you type, or nil to suppress this always. Note that for |
| 200 | large or inefficient completion tables this can slow down typing. | 207 | large or inefficient completion tables this can slow down typing. |
| 201 | 208 | ||
| 209 | +++ | ||
| 210 | *** New optional value of 'minibuffer-visible-completions'. | ||
| 211 | If the value of this option is 'up-down', only the '<up>' and '<down>' | ||
| 212 | arrow keys move point between candidates shown in the "*Completions*" | ||
| 213 | buffer display, while '<right>' and '<left>' arrows move point in the | ||
| 214 | minibuffer window. | ||
| 215 | |||
| 202 | --- | 216 | --- |
| 203 | *** 'RET' chooses the completion selected with 'M-<up>/M-<down>'. | 217 | *** 'RET' chooses the completion selected with 'M-<up>/M-<down>'. |
| 204 | If a completion candidate is selected with 'M-<up>' or 'M-<down>', | 218 | If a completion candidate is selected with 'M-<up>' or 'M-<down>', |
| @@ -306,7 +320,7 @@ to extend the boundaries of the active region by dragging the mouse pointer. | |||
| 306 | --- | 320 | --- |
| 307 | *** 'context-menu-mode' now includes a "Send to..." menu item. | 321 | *** 'context-menu-mode' now includes a "Send to..." menu item. |
| 308 | The menu item enables sending current file(s) or region text to external | 322 | The menu item enables sending current file(s) or region text to external |
| 309 | (non-Emacs) applications or services. See send-to.el for customisations. | 323 | (non-Emacs) applications or services. See send-to.el for customizations. |
| 310 | 324 | ||
| 311 | --- | 325 | --- |
| 312 | *** The mouse now drags lines in character increments again. | 326 | *** The mouse now drags lines in character increments again. |
| @@ -315,7 +329,7 @@ dividing side-by-side windows now by default happens in increments of | |||
| 315 | the corresponding frame's character size again. This is the behavior | 329 | the corresponding frame's character size again. This is the behavior |
| 316 | described in the manual and was the default behavior before | 330 | described in the manual and was the default behavior before |
| 317 | 'window-resize-pixelwise' was added for Emacs 24.1. To drag in pixel | 331 | 'window-resize-pixelwise' was added for Emacs 24.1. To drag in pixel |
| 318 | increments as with Emcas 24 through Emacs 30 you now have to set | 332 | increments as with Emacs 24 through Emacs 30 you now have to set |
| 319 | 'window-resize-pixelwise' to t. | 333 | 'window-resize-pixelwise' to t. |
| 320 | 334 | ||
| 321 | ** Windows | 335 | ** Windows |
| @@ -402,11 +416,20 @@ for which you can use '(category . tex-shell)'. | |||
| 402 | 416 | ||
| 403 | +++ | 417 | +++ |
| 404 | *** New user option 'split-window-preferred-direction'. | 418 | *** New user option 'split-window-preferred-direction'. |
| 405 | Users can now choose in which direction Emacs tries to split first: | 419 | Functions called by 'display-buffer' split the selected window when they |
| 406 | vertically or horizontally. The new default is to prefer to split | 420 | need to create a new window. A window can be split either vertically, |
| 407 | horizontally if the frame is landscape and vertically if it is portrait. | 421 | one below the other, or horizontally, side by side. This new option |
| 408 | You can customize this option to 'vertical' to restore Emacs's old | 422 | determines which direction will be tried first, when both directions are |
| 409 | behavior of always preferring vertical splits. | 423 | possible according to the values of 'split-width-threshold' and |
| 424 | 'split-height-threshold'. The default value is 'longest', which means | ||
| 425 | to prefer to split horizontally if the window's frame is a "landscape" | ||
| 426 | frame, and vertically if it is a "portrait" frame. (A frame is | ||
| 427 | considered to be "portrait" if its vertical dimension in pixels is | ||
| 428 | greater or equal to its horizontal dimension, otherwise it's considered | ||
| 429 | to be "landscape".) Previous versions of Emacs always tried to split | ||
| 430 | vertically first, so to get previous behavior, you can customize this | ||
| 431 | option to 'vertical'. The value 'horizontal' always prefers the | ||
| 432 | horizontal split. | ||
| 410 | 433 | ||
| 411 | +++ | 434 | +++ |
| 412 | *** New argument INDIRECT for 'get-buffer-window-list'. | 435 | *** New argument INDIRECT for 'get-buffer-window-list'. |
| @@ -440,6 +463,12 @@ adjacent windows and subsequently operate on that parent. | |||
| 440 | 'uncombine-window' can then be used to restore the window configuration | 463 | 'uncombine-window' can then be used to restore the window configuration |
| 441 | to the state it had before running 'combine-windows'. | 464 | to the state it had before running 'combine-windows'. |
| 442 | 465 | ||
| 466 | +++ | ||
| 467 | *** New function 'window-cursor-info'. | ||
| 468 | This function returns a vector of pixel-level information about the | ||
| 469 | physical cursor in a given window, including its type, coordinates, | ||
| 470 | dimensions, and ascent. | ||
| 471 | |||
| 443 | ** Frames | 472 | ** Frames |
| 444 | 473 | ||
| 445 | +++ | 474 | +++ |
| @@ -465,6 +494,13 @@ either resize the frame and change the fullscreen status accordingly or | |||
| 465 | keep the frame size unchanged. The value t means to first reset the | 494 | keep the frame size unchanged. The value t means to first reset the |
| 466 | fullscreen status and then resize the frame. | 495 | fullscreen status and then resize the frame. |
| 467 | 496 | ||
| 497 | *** New functions to set frame size and position in one compound step. | ||
| 498 | 'set-frame-size-and-position' sets the new size and position of a frame | ||
| 499 | in one compound step. Both, size and position, can be specified as with | ||
| 500 | the corresponding frame parameters 'width', 'height', 'left' and 'top'. | ||
| 501 | 'set-frame-size-and-position-pixelwise' is similar but has a more | ||
| 502 | restricted set of values for specifying size and position. | ||
| 503 | |||
| 468 | *** New commands 'split-frame' and 'merge-frames'. | 504 | *** New commands 'split-frame' and 'merge-frames'. |
| 469 | 'split-frame' moves a specified number of windows from an existing frame | 505 | 'split-frame' moves a specified number of windows from an existing frame |
| 470 | to a newly-created frame. 'merge-frames' merges all windows from two | 506 | to a newly-created frame. 'merge-frames' merges all windows from two |
| @@ -475,6 +511,30 @@ frames into one of these frames and deletes the other one. | |||
| 475 | Unlike with other frame names, an attempt to rename to "F<number>" throws | 511 | Unlike with other frame names, an attempt to rename to "F<number>" throws |
| 476 | an error when a frame of that name already exists. | 512 | an error when a frame of that name already exists. |
| 477 | 513 | ||
| 514 | +++ | ||
| 515 | *** New frame parameters 'cloned-from' and 'undeleted'. | ||
| 516 | The frame parameter 'cloned-from' is set to the frame from which the new | ||
| 517 | frame is cloned using the command 'clone-frame'. | ||
| 518 | |||
| 519 | The frame parameter 'undeleted' is set to t when a frame is undeleted | ||
| 520 | using the command 'undelete-frame'. | ||
| 521 | |||
| 522 | These are useful if you need to detect a cloned frame or undeleted frame | ||
| 523 | in hooks like 'after-make-frame-functions' and | ||
| 524 | 'server-after-make-frame-hook'. | ||
| 525 | |||
| 526 | *** Frames now have unique ids and the new function 'frame-id'. | ||
| 527 | Each non-tooltip frame is assigned a unique integer id. This allows you | ||
| 528 | to unambiguously identify frames even if they share the same name or | ||
| 529 | title. When 'undelete-frame-mode' is enabled, each deleted frame's id | ||
| 530 | is stored for resurrection. The function 'frame-id' returns a frame's | ||
| 531 | id (in C, use the frame struct member 'id'). | ||
| 532 | |||
| 533 | *** New commands 'select-frame-by-id', 'undelete-frame-by-id'. | ||
| 534 | The command 'select-frame-by-id' selects a frame by ID and undeletes it | ||
| 535 | if deleted. The command 'undelete-frame-by-id' undeletes a frame by its | ||
| 536 | ID. When called interactively, both functions prompt for an ID. | ||
| 537 | |||
| 478 | ** Mode Line | 538 | ** Mode Line |
| 479 | 539 | ||
| 480 | +++ | 540 | +++ |
| @@ -499,6 +559,12 @@ every buffer. | |||
| 499 | ** Tab Bars and Tab Lines | 559 | ** Tab Bars and Tab Lines |
| 500 | 560 | ||
| 501 | --- | 561 | --- |
| 562 | *** New commands 'split-tab' and 'merge-tabs'. | ||
| 563 | 'split-tab' moves a specified number of windows from an existing tab | ||
| 564 | to a newly-created tab. 'merge-tabs' merges all windows from two tabs | ||
| 565 | into one of these tabs and closes the other tab. | ||
| 566 | |||
| 567 | --- | ||
| 502 | *** New abnormal hook 'tab-bar-auto-width-functions'. | 568 | *** New abnormal hook 'tab-bar-auto-width-functions'. |
| 503 | This hook allows you to control which tab-bar tabs are auto-resized. | 569 | This hook allows you to control which tab-bar tabs are auto-resized. |
| 504 | 570 | ||
| @@ -654,6 +720,17 @@ project, during completion. That makes some items shorter. | |||
| 654 | The category defaults are the same as for 'buffer' but any user | 720 | The category defaults are the same as for 'buffer' but any user |
| 655 | customizations would need to be re-added. | 721 | customizations would need to be re-added. |
| 656 | 722 | ||
| 723 | +++ | ||
| 724 | *** 'project-mode-line' can now show project name only for local files. | ||
| 725 | If the value of 'project-mode-line' is 'non-remote', project name and | ||
| 726 | the Project menu will be shown on the mode line only for projects with | ||
| 727 | local files. | ||
| 728 | |||
| 729 | ** Help | ||
| 730 | |||
| 731 | +++ | ||
| 732 | *** New keybinding 'C-h u' for 'apropos-user-option'. | ||
| 733 | |||
| 657 | ** IDLWAVE has been moved to GNU ELPA. | 734 | ** IDLWAVE has been moved to GNU ELPA. |
| 658 | The version bundled with Emacs is out-of-date, and is now marked as | 735 | The version bundled with Emacs is out-of-date, and is now marked as |
| 659 | obsolete. Use 'M-x list-packages' to install the 'idlwave' package from | 736 | obsolete. Use 'M-x list-packages' to install the 'idlwave' package from |
| @@ -737,6 +814,15 @@ Emacs previously discarded arguments to emacsclient of zero length, such | |||
| 737 | as in 'emacsclient --eval "(length (pop server-eval-args-left))" ""'. | 814 | as in 'emacsclient --eval "(length (pop server-eval-args-left))" ""'. |
| 738 | These are no longer discarded. | 815 | These are no longer discarded. |
| 739 | 816 | ||
| 817 | +++ | ||
| 818 | ** New user option 'xterm-update-cursor' to update cursor display on TTYs. | ||
| 819 | When enabled, Emacs sends Xterm escape sequences on Xterm-compatible | ||
| 820 | terminals to update the cursor's appearacse. Emacs can update the | ||
| 821 | cursor's shape and color. For example, if you use a purple bar cursor | ||
| 822 | on graphical displays then when this option is enabled Emacs will use a | ||
| 823 | purple bar cursor on compatible terminals as well. See the Info node | ||
| 824 | "(emacs) Cursor Display" for more information. | ||
| 825 | |||
| 740 | 826 | ||
| 741 | * Editing Changes in Emacs 31.1 | 827 | * Editing Changes in Emacs 31.1 |
| 742 | 828 | ||
| @@ -767,10 +853,10 @@ Northern Iroquoian language family: 'mohawk-postfix' (Mohawk | |||
| 767 | [Kanien’kéha / Kanyen’kéha / Onkwehonwehnéha]), 'oneida-postfix' (Oneida | 853 | [Kanien’kéha / Kanyen’kéha / Onkwehonwehnéha]), 'oneida-postfix' (Oneida |
| 768 | [Onʌyote’a·ká· / Onyota’a:ká: / Ukwehuwehnéha]), 'cayuga-postfix' | 854 | [Onʌyote’a·ká· / Onyota’a:ká: / Ukwehuwehnéha]), 'cayuga-postfix' |
| 769 | (Cayuga [Gayogo̱ho:nǫhnéha:ˀ]), 'onondaga-postfix' (Onondaga | 855 | (Cayuga [Gayogo̱ho:nǫhnéha:ˀ]), 'onondaga-postfix' (Onondaga |
| 770 | [Onųdaʔgegáʔ]), and 'seneca-postfix' (Seneca [Onödowá’ga:’]). | 856 | [Onųdaʔgegáʔ]), 'seneca-postfix' (Seneca [Onödowá’ga:’]), and |
| 771 | Additionally, there is a general-purpose 'haudenosaunee-postfix' input | 857 | 'tuscarora-postfix' (Tuscarora [Skarù·ręʔ]). Additionally, there is a |
| 772 | method to facilitate writing in the orthographies of the five languages | 858 | general-purpose 'haudenosaunee-postfix' input method to facilitate |
| 773 | simultaneously. | 859 | writing in the orthographies of the six languages simultaneously. |
| 774 | 860 | ||
| 775 | --- | 861 | --- |
| 776 | *** New input methods for languages based on Burmese. | 862 | *** New input methods for languages based on Burmese. |
| @@ -846,6 +932,12 @@ The default value is t, which retains the old behavior. | |||
| 846 | This variable has no effect when Transient Mark mode is off. | 932 | This variable has no effect when Transient Mark mode is off. |
| 847 | 933 | ||
| 848 | --- | 934 | --- |
| 935 | ** You can now use 'M-s t' to swap FROM and TO during 'query-replace'. | ||
| 936 | Likewise during 'query-replace-regexp'. The original binding of 'M-s' | ||
| 937 | ('next-matching-history-element') is now available on 'M-s M-s' or 'M-s | ||
| 938 | s' for query replace minibuffer input. | ||
| 939 | |||
| 940 | --- | ||
| 849 | ** New commands for filling text using semantic linefeeds. | 941 | ** New commands for filling text using semantic linefeeds. |
| 850 | The new command 'fill-paragraph-semlf' fills a paragraph of text using | 942 | The new command 'fill-paragraph-semlf' fills a paragraph of text using |
| 851 | "semantic linefeeds", whereby a newline is inserted after every | 943 | "semantic linefeeds", whereby a newline is inserted after every |
| @@ -870,6 +962,19 @@ failed. | |||
| 870 | You can now use 'C-u C-x .' to clear the fill prefix, similarly to how | 962 | You can now use 'C-u C-x .' to clear the fill prefix, similarly to how |
| 871 | you could already use 'C-u C-x C-n' to clear the goal column. | 963 | you could already use 'C-u C-x C-n' to clear the goal column. |
| 872 | 964 | ||
| 965 | +++ | ||
| 966 | ** New prefix argument for 'C-/' in Dired and Proced modes. | ||
| 967 | The Dired and Proced major modes bind mode-specific undo commands to the | ||
| 968 | same keys to which 'undo' is globally bound, 'C-/', 'C-_' and 'C-x u'. | ||
| 969 | These commands did not previously accept a prefix argument. | ||
| 970 | Now a numeric prefix argument specifies a repeat count, just like it | ||
| 971 | already did for 'undo'. | ||
| 972 | |||
| 973 | ** New minor mode 'center-line-mode'. | ||
| 974 | This mode keeps modified lines centered horizontally according to the | ||
| 975 | value of 'fill-column', by calling 'center-line' on each non-empty line | ||
| 976 | of the modified region. | ||
| 977 | |||
| 873 | 978 | ||
| 874 | * Changes in Specialized Modes and Packages in Emacs 31.1 | 979 | * Changes in Specialized Modes and Packages in Emacs 31.1 |
| 875 | 980 | ||
| @@ -1013,6 +1118,14 @@ The new variable 'forward-comment-function' is set to the new function | |||
| 1013 | 'treesit-forward-comment' if a major mode defines the thing 'comment'. | 1118 | 'treesit-forward-comment' if a major mode defines the thing 'comment'. |
| 1014 | 1119 | ||
| 1015 | +++ | 1120 | +++ |
| 1121 | *** New function 'treesit-query-eagerly-compiled-p'. | ||
| 1122 | This function returns non-nil if a query was eagerly compiled. | ||
| 1123 | |||
| 1124 | +++ | ||
| 1125 | *** New function 'treesit-query-source'. | ||
| 1126 | This function returns the string or sexp source query of a compiled query. | ||
| 1127 | |||
| 1128 | +++ | ||
| 1016 | *** New function 'treesit-language-display-name'. | 1129 | *** New function 'treesit-language-display-name'. |
| 1017 | This new function returns the display name of a language given the | 1130 | This new function returns the display name of a language given the |
| 1018 | language symbol. For example, 'cpp' is translated to "C++". A new | 1131 | language symbol. For example, 'cpp' is translated to "C++". A new |
| @@ -1101,6 +1214,11 @@ convention. Also, the ':match?' predicate can now take the regexp as | |||
| 1101 | either the first or second argument, so it works with both tree-sitter | 1214 | either the first or second argument, so it works with both tree-sitter |
| 1102 | convention (regexp arg second) and Emacs convention (regexp arg first). | 1215 | convention (regexp arg second) and Emacs convention (regexp arg first). |
| 1103 | 1216 | ||
| 1217 | ** Track changes | ||
| 1218 | |||
| 1219 | +++ | ||
| 1220 | *** New variable 'track-changes-undo-only' to distinguish undo changes. | ||
| 1221 | |||
| 1104 | ** Hideshow | 1222 | ** Hideshow |
| 1105 | 1223 | ||
| 1106 | +++ | 1224 | +++ |
| @@ -1114,7 +1232,7 @@ blocks. | |||
| 1114 | This command hides or shows all the blocks in the current buffer. | 1232 | This command hides or shows all the blocks in the current buffer. |
| 1115 | 1233 | ||
| 1116 | --- | 1234 | --- |
| 1117 | *** 'hs-hide-level' no longer hide all the blocks in the current buffer. | 1235 | *** 'hs-hide-level' no longer hides all the blocks in the current buffer. |
| 1118 | If 'hs-hide-level' was not inside a code block it would hide all the | 1236 | If 'hs-hide-level' was not inside a code block it would hide all the |
| 1119 | blocks in the buffer like 'hs-hide-all'. Now it should only hide all | 1237 | blocks in the buffer like 'hs-hide-all'. Now it should only hide all |
| 1120 | the second level blocks. | 1238 | the second level blocks. |
| @@ -1170,10 +1288,9 @@ buffer-local variables 'hs-block-start-regexp', 'hs-c-start-regexp', | |||
| 1170 | 'hs-forward-sexp-function', etc. | 1288 | 'hs-forward-sexp-function', etc. |
| 1171 | 1289 | ||
| 1172 | +++ | 1290 | +++ |
| 1173 | *** 'hs-hide-level' and 'hs-cycle' can now hide comments too. | 1291 | *** 'hs-hide-level' can now hide comments too. |
| 1174 | This is controlled by 'hs-hide-comments-when-hiding-all'. | 1292 | This is controlled by 'hs-hide-comments-when-hiding-all'. |
| 1175 | 1293 | ||
| 1176 | |||
| 1177 | ** C-ts mode | 1294 | ** C-ts mode |
| 1178 | 1295 | ||
| 1179 | +++ | 1296 | +++ |
| @@ -1232,6 +1349,12 @@ available. | |||
| 1232 | Now method chaining is indented by 8 spaces rather than 4, and this | 1349 | Now method chaining is indented by 8 spaces rather than 4, and this |
| 1233 | option controls how much is indented for method chaining. | 1350 | option controls how much is indented for method chaining. |
| 1234 | 1351 | ||
| 1352 | ** JSON-ts mode | ||
| 1353 | |||
| 1354 | *** New command 'json-ts-jq-path-at-point'. | ||
| 1355 | This command copies the path of the JSON element at point to the | ||
| 1356 | kill-ring, formatted for use with the 'jq' utility. | ||
| 1357 | |||
| 1235 | ** PHP-ts mode | 1358 | ** PHP-ts mode |
| 1236 | 1359 | ||
| 1237 | --- | 1360 | --- |
| @@ -1283,6 +1406,13 @@ associated to a remote PHP file, show the remote PHP ini files. | |||
| 1283 | Rust number literals may have an optional type suffix. When this option | 1406 | Rust number literals may have an optional type suffix. When this option |
| 1284 | is non-nil, this suffix is fontified using 'font-lock-type-face'. | 1407 | is non-nil, this suffix is fontified using 'font-lock-type-face'. |
| 1285 | 1408 | ||
| 1409 | ** YAML-ts mode | ||
| 1410 | |||
| 1411 | --- | ||
| 1412 | *** New user option 'yaml-ts-mode-yamllint-options'. | ||
| 1413 | Additional options for 'yamllint', the command used for Flymake's YAML | ||
| 1414 | support. | ||
| 1415 | |||
| 1286 | ** EIEIO | 1416 | ** EIEIO |
| 1287 | 1417 | ||
| 1288 | --- | 1418 | --- |
| @@ -1521,7 +1651,7 @@ If 'page-delimiters' is set in 'whitespace-style', or the new minor mode | |||
| 1521 | 'whitespace-page-delimiters-mode' is on, the page delimiter characters | 1651 | 'whitespace-page-delimiters-mode' is on, the page delimiter characters |
| 1522 | ('^L') are displayed as a pretty horizontal line that spans the entire | 1652 | ('^L') are displayed as a pretty horizontal line that spans the entire |
| 1523 | width of the window. The new 'whitespace-page-delimiter' face can be | 1653 | width of the window. The new 'whitespace-page-delimiter' face can be |
| 1524 | used to customize the appearence. | 1654 | used to customize the appearance. |
| 1525 | 1655 | ||
| 1526 | ** Bookmark | 1656 | ** Bookmark |
| 1527 | 1657 | ||
| @@ -1588,7 +1718,6 @@ is the default. | |||
| 1588 | This user option is in sympathy with recentf, and savehist autosave | 1718 | This user option is in sympathy with recentf, and savehist autosave |
| 1589 | timers. | 1719 | timers. |
| 1590 | 1720 | ||
| 1591 | |||
| 1592 | ** Savehist | 1721 | ** Savehist |
| 1593 | 1722 | ||
| 1594 | --- | 1723 | --- |
| @@ -1958,6 +2087,15 @@ for docstrings where symbols 'nil' and 't' are in quotes. | |||
| 1958 | In most cases, having it enabled leads to a large amount of false | 2087 | In most cases, having it enabled leads to a large amount of false |
| 1959 | positives. | 2088 | positives. |
| 1960 | 2089 | ||
| 2090 | --- | ||
| 2091 | *** New function 'checkdoc-batch'. | ||
| 2092 | It checks the buffer in batch mode, prints all found errors | ||
| 2093 | and signals the first found error. | ||
| 2094 | |||
| 2095 | *** New file-local variable 'lisp-indent-local-overrides'. | ||
| 2096 | This variable can be used to locally override the indent specification | ||
| 2097 | of symbols. | ||
| 2098 | |||
| 1961 | ** IELM | 2099 | ** IELM |
| 1962 | 2100 | ||
| 1963 | --- | 2101 | --- |
| @@ -1966,6 +2104,14 @@ When you kill the IELM process with 'C-c C-c', the input history is now | |||
| 1966 | saved to the file specified by 'ielm-history-file-name', just like when | 2104 | saved to the file specified by 'ielm-history-file-name', just like when |
| 1967 | you exit the Emacs session or kill the IELM buffer. | 2105 | you exit the Emacs session or kill the IELM buffer. |
| 1968 | 2106 | ||
| 2107 | --- | ||
| 2108 | *** New value 'point' for user option 'ielm-dynamic-return'. | ||
| 2109 | When 'ielm-dynamic-return' is set to 'point', typing 'RET' has dynamic | ||
| 2110 | behavior based on whether point is inside an sexp. While point is | ||
| 2111 | inside an sexp typing 'RET' inserts a newline, and otherwise Emacs | ||
| 2112 | proceeds with evaluating the expression. This is useful when | ||
| 2113 | 'electric-pair-mode', or a similar automatic pairing mode, is enabled. | ||
| 2114 | |||
| 1969 | ** DocView | 2115 | ** DocView |
| 1970 | 2116 | ||
| 1971 | --- | 2117 | --- |
| @@ -1996,6 +2142,14 @@ option 'doc-view-djvused-program'. | |||
| 1996 | The default value is now 30 seconds, as the old value was too short to | 2142 | The default value is now 30 seconds, as the old value was too short to |
| 1997 | allow reading the help text. | 2143 | allow reading the help text. |
| 1998 | 2144 | ||
| 2145 | +++ | ||
| 2146 | *** Ispell can now save spelling corrections as abbrevs. | ||
| 2147 | In the Ispell command loop, type 'C-u' immediately before selecting a | ||
| 2148 | replacement to toggle whether that correction will be saved as a global | ||
| 2149 | abbrev expansion for its misspelling. The new user option | ||
| 2150 | 'ispell-save-corrections-as-abbrevs' determines whether abbrev saving | ||
| 2151 | is enabled by default. | ||
| 2152 | |||
| 1999 | ** Flyspell | 2153 | ** Flyspell |
| 2000 | 2154 | ||
| 2001 | --- | 2155 | --- |
| @@ -2024,6 +2178,10 @@ cherry-pick via 'tramp-cleanup-connection' or clear them all via | |||
| 2024 | 'tramp-cleanup-all-connections'. | 2178 | 'tramp-cleanup-all-connections'. |
| 2025 | 2179 | ||
| 2026 | +++ | 2180 | +++ |
| 2181 | *** External methods can now be used in multi-hop connections. | ||
| 2182 | This is implemented for 'tramp-sh' methods, like "/scp:user@host|sudo::". | ||
| 2183 | |||
| 2184 | +++ | ||
| 2027 | *** New command 'tramp-dired-find-file-with-sudo'. | 2185 | *** New command 'tramp-dired-find-file-with-sudo'. |
| 2028 | This command, bound to '@' in Dired, visits the file or directory on the | 2186 | This command, bound to '@' in Dired, visits the file or directory on the |
| 2029 | recent Dired line with superuser, or root, permissions. | 2187 | recent Dired line with superuser, or root, permissions. |
| @@ -2126,15 +2284,19 @@ one as before. This makes them different from 'vc-diff' and | |||
| 2126 | *** 'diff-apply-hunk' now supports creating and deleting files. | 2284 | *** 'diff-apply-hunk' now supports creating and deleting files. |
| 2127 | 2285 | ||
| 2128 | +++ | 2286 | +++ |
| 2129 | *** 'diff-apply-hunk' and 'diff-apply-buffer' now consider the region. | 2287 | *** Diff mode's application and killing commands now consider the region. |
| 2130 | If the region is active, these commands now apply all hunks that the | 2288 | If the region is active, 'diff-apply-hunk', 'diff-apply-buffer' and |
| 2131 | region overlaps. Otherwise, they have their existing behavior. | 2289 | 'diff-hunk-kill' now apply or kill all hunks that the region overlaps. |
| 2290 | Otherwise, they have their existing behavior. | ||
| 2132 | 2291 | ||
| 2133 | +++ | 2292 | +++ |
| 2134 | *** 'diff-apply-buffer' can reverse-apply. | 2293 | *** 'diff-apply-buffer' can reverse-apply. |
| 2135 | With a prefix argument, it now reverse-applies hunks. | 2294 | With a prefix argument, it now reverse-applies hunks. |
| 2136 | This matches the existing prefix argument to 'diff-apply-hunk'. | 2295 | This matches the existing prefix argument to 'diff-apply-hunk'. |
| 2137 | 2296 | ||
| 2297 | --- | ||
| 2298 | *** 's' is now bound to 'diff-split-hunk' in read-only Diff mode buffers. | ||
| 2299 | |||
| 2138 | ** Ediff | 2300 | ** Ediff |
| 2139 | 2301 | ||
| 2140 | +++ | 2302 | +++ |
| @@ -2346,6 +2508,12 @@ When point is between indentation, the command | |||
| 2346 | deletes the text in the region and deactivates the mark if Transient | 2508 | deletes the text in the region and deactivates the mark if Transient |
| 2347 | Mark mode is enabled, the mark is active, and prefix argument is 1. | 2509 | Mark mode is enabled, the mark is active, and prefix argument is 1. |
| 2348 | 2510 | ||
| 2511 | --- | ||
| 2512 | *** 'python-eldoc-function-timeout' now accepts floating-point numbers. | ||
| 2513 | To allow for finer-grained adjustment of timeout for | ||
| 2514 | 'python-eldoc-function', 'python-eldoc-function-timeout' now accepts | ||
| 2515 | floating-point numbers as well as integers. | ||
| 2516 | |||
| 2349 | ** Tmm Menubar | 2517 | ** Tmm Menubar |
| 2350 | 2518 | ||
| 2351 | --- | 2519 | --- |
| @@ -2355,7 +2523,7 @@ The hardcoded '^' shortcut gets you back to the previous menu. | |||
| 2355 | --- | 2523 | --- |
| 2356 | *** New user option 'tmm-shortcut-inside-entry'. | 2524 | *** New user option 'tmm-shortcut-inside-entry'. |
| 2357 | When non-nil, highlight the character shortcut in the menu entry's | 2525 | When non-nil, highlight the character shortcut in the menu entry's |
| 2358 | string instead of preprending it and 'tmm-mid-prompt' to said entry. | 2526 | string instead of prepending it and 'tmm-mid-prompt' to said entry. |
| 2359 | 2527 | ||
| 2360 | ** Foldout | 2528 | ** Foldout |
| 2361 | 2529 | ||
| @@ -2402,6 +2570,25 @@ appearance of the list can be customized with the new faces | |||
| 2402 | ** VC | 2570 | ** VC |
| 2403 | 2571 | ||
| 2404 | +++ | 2572 | +++ |
| 2573 | *** Printing root branch logs has moved to 'C-x v b L'. | ||
| 2574 | Previously, the command to print the root log for a branch was bound to | ||
| 2575 | 'C-x v b l'. It has now been renamed from 'vc-print-branch-log' to | ||
| 2576 | 'vc-print-root-branch-log', and bound to 'C-x v b L'. This is more | ||
| 2577 | consistent with the rest of the 'C-x v' keymap, and makes room for a new | ||
| 2578 | fileset-specific branch log command. | ||
| 2579 | |||
| 2580 | To undo this change you can use | ||
| 2581 | |||
| 2582 | (keymap-global-set "C-x v b l" #'vc-print-root-branch-log) | ||
| 2583 | (with-eval-after-load 'vc-dir | ||
| 2584 | (keymap-set vc-dir-mode-map "b l" #'vc-print-root-branch-log)) | ||
| 2585 | |||
| 2586 | +++ | ||
| 2587 | *** New command 'C-x v b l' ('vc-print-fileset-branch-log'). | ||
| 2588 | This command prints the log of VC changes to the current fileset on | ||
| 2589 | another branch. | ||
| 2590 | |||
| 2591 | +++ | ||
| 2405 | *** New commands to handle repositories with multiple working trees. | 2592 | *** New commands to handle repositories with multiple working trees. |
| 2406 | Some VCS support more than one working tree with the same backing | 2593 | Some VCS support more than one working tree with the same backing |
| 2407 | revisions store, such as with Git's 'worktree' subcommand and | 2594 | revisions store, such as with Git's 'worktree' subcommand and |
| @@ -2447,8 +2634,15 @@ cloning, or prompts for that, too. | |||
| 2447 | When the argument is non-nil, the function switches to a buffer visiting | 2634 | When the argument is non-nil, the function switches to a buffer visiting |
| 2448 | the directory into which the repository was cloned. | 2635 | the directory into which the repository was cloned. |
| 2449 | 2636 | ||
| 2637 | +++ | ||
| 2638 | *** 'vc-revert' is now bound to '@' in VC Directory. | ||
| 2639 | |||
| 2640 | +++ | ||
| 2641 | *** 'vc-revert' is now additionally bound to 'C-x v @'. | ||
| 2642 | This is in addition to 'C-x v u'. | ||
| 2643 | |||
| 2450 | --- | 2644 | --- |
| 2451 | *** 'C-x v u' ('vc-revert') now works on directories listed in VC Directory. | 2645 | *** 'vc-revert' now works on directories listed in VC Directory. |
| 2452 | Reverting a directory means reverting changes to all files inside it. | 2646 | Reverting a directory means reverting changes to all files inside it. |
| 2453 | 2647 | ||
| 2454 | +++ | 2648 | +++ |
| @@ -2564,8 +2758,8 @@ relevant buffers before generating the contents of a VC Directory buffer | |||
| 2564 | *** New commands to report incoming and outgoing diffs. | 2758 | *** New commands to report incoming and outgoing diffs. |
| 2565 | 'vc-root-diff-incoming' and 'vc-root-diff-outgoing' report diffs of all | 2759 | 'vc-root-diff-incoming' and 'vc-root-diff-outgoing' report diffs of all |
| 2566 | the changes that would be pulled and would be pushed, respectively. | 2760 | the changes that would be pulled and would be pushed, respectively. |
| 2567 | They are the diff analogues of the existing commands 'vc-log-incoming' | 2761 | They are the diff analogues of the existing commands |
| 2568 | and 'vc-log-outgoing'. | 2762 | 'vc-root-log-incoming' and 'vc-root-log-outgoing'. |
| 2569 | 2763 | ||
| 2570 | In particular, 'vc-root-diff-outgoing' is useful as a way to preview | 2764 | In particular, 'vc-root-diff-outgoing' is useful as a way to preview |
| 2571 | your push and ensure that all and only the changes you intended to | 2765 | your push and ensure that all and only the changes you intended to |
| @@ -2575,12 +2769,15 @@ include were committed and will be pushed. | |||
| 2575 | current VC fileset. | 2769 | current VC fileset. |
| 2576 | 2770 | ||
| 2577 | +++ | 2771 | +++ |
| 2578 | *** New commands to report diffs of outstanding changes. | 2772 | *** New commands to report information about outstanding changes. |
| 2579 | 'C-x v B =' ('vc-diff-outgoing-base') and 'C-x v B D' | 2773 | 'C-x v T =' ('vc-diff-outgoing-base') and 'C-x v T D' |
| 2580 | ('vc-root-diff-outgoing-base') report diffs of changes since the merge | 2774 | ('vc-root-diff-outgoing-base') report diffs of changes since the merge |
| 2581 | base with the remote branch, including uncommitted changes. | 2775 | base with the remote branch, including uncommitted changes. |
| 2582 | They are useful to view all outstanding (unmerged, unpushed) changes on | 2776 | 'C-x v T l' ('vc-log-outgoing-base') and 'C-x v T L' |
| 2583 | the current branch. | 2777 | ('vc-root-log-outgoing-base') show the corresponding revision logs. |
| 2778 | These are useful to view all outstanding (unmerged, unpushed) changes on | ||
| 2779 | the current branch. They are also available as 'T =', 'T D', 'T l' and | ||
| 2780 | 'T L' in VC Directory buffers. | ||
| 2584 | 2781 | ||
| 2585 | +++ | 2782 | +++ |
| 2586 | *** New user option 'vc-use-incoming-outgoing-prefixes'. | 2783 | *** New user option 'vc-use-incoming-outgoing-prefixes'. |
| @@ -2588,16 +2785,16 @@ If this is customized to non-nil, 'C-x v I' and 'C-x v O' become prefix | |||
| 2588 | commands, such that the new incoming and outgoing commands have global | 2785 | commands, such that the new incoming and outgoing commands have global |
| 2589 | bindings: | 2786 | bindings: |
| 2590 | 2787 | ||
| 2591 | - 'C-x v I L' is bound to 'vc-log-incoming' | 2788 | - 'C-x v I L' is bound to 'vc-root-log-incoming' |
| 2592 | - 'C-x v I D' is bound to 'vc-root-diff-incoming' | 2789 | - 'C-x v I D' is bound to 'vc-root-diff-incoming' |
| 2593 | - 'C-x v O L' is bound to 'vc-log-outgoing' | 2790 | - 'C-x v O L' is bound to 'vc-root-log-outgoing' |
| 2594 | - 'C-x v O D' is bound to 'vc-root-diff-outgoing'. | 2791 | - 'C-x v O D' is bound to 'vc-root-diff-outgoing'. |
| 2595 | 2792 | ||
| 2596 | +++ | 2793 | +++ |
| 2597 | *** New display of outgoing revisions count in VC Directory. | 2794 | *** New display of outgoing revisions count in VC Directory. |
| 2598 | If there are outgoing revisions, VC Directory now includes a count of | 2795 | If there are outgoing revisions, VC Directory now includes a count of |
| 2599 | how many in its headers, to remind you to push them. | 2796 | how many in its headers, to remind you to push them. |
| 2600 | You can disable this by customizing vc-dir-show-outgoing-count to nil. | 2797 | You can disable this by customizing 'vc-dir-show-outgoing-count' to nil. |
| 2601 | 2798 | ||
| 2602 | +++ | 2799 | +++ |
| 2603 | *** New user option 'vc-async-checkin' to enable async checkin operations. | 2800 | *** New user option 'vc-async-checkin' to enable async checkin operations. |
| @@ -2672,8 +2869,35 @@ the log entry. If there are marked revisions, it copies the IDs of | |||
| 2672 | those, instead. | 2869 | those, instead. |
| 2673 | 2870 | ||
| 2674 | --- | 2871 | --- |
| 2872 | *** New commands 'vc-print-change-log' and 'vc-print-root-change-log'. | ||
| 2873 | These are just like 'vc-print-log' and 'vc-print-root-log' except that | ||
| 2874 | they have a different prefix argument that some users may prefer. | ||
| 2875 | With a prefix argument, these commands prompt for a branch, tag or other | ||
| 2876 | reference to a revision to log, and a maximum number of revisions to | ||
| 2877 | print. If you find this prefix argument more useful, or more mnemonic, | ||
| 2878 | than the prefix arguments that 'vc-print-log' and 'vc-print-root-log' | ||
| 2879 | already have, consider replacing the default global bindings, like this: | ||
| 2880 | |||
| 2881 | (keymap-global-set "C-x v l" #'vc-print-change-log) | ||
| 2882 | (keymap-global-set "C-x v L" #'vc-print-root-change-log) | ||
| 2883 | |||
| 2884 | --- | ||
| 2675 | *** New command alias 'vc-restore' for 'vc-revert'. | 2885 | *** New command alias 'vc-restore' for 'vc-revert'. |
| 2676 | 2886 | ||
| 2887 | --- | ||
| 2888 | *** The 'diff-restrict-view' command is disabled by default. | ||
| 2889 | This command is Diff mode's specialized 'narrow-to-region'. | ||
| 2890 | 'narrow-to-region' has long been disabled by default, so for | ||
| 2891 | consistency, 'diff-restrict-view' is now too. | ||
| 2892 | To enable it again, use 'M-x enable-command'. | ||
| 2893 | |||
| 2894 | --- | ||
| 2895 | *** 'C-x v !' has its own input history. | ||
| 2896 | |||
| 2897 | --- | ||
| 2898 | *** 'C-u C-x v +' and 'C-u C-x v P' for Git have an input history. | ||
| 2899 | This was already in place for Mercurial. | ||
| 2900 | |||
| 2677 | ** Package | 2901 | ** Package |
| 2678 | 2902 | ||
| 2679 | +++ | 2903 | +++ |
| @@ -2709,6 +2933,11 @@ When called from Lisp, it now only accepts a symbol. | |||
| 2709 | When invoking the command in a Dired buffer with marked files, | 2933 | When invoking the command in a Dired buffer with marked files, |
| 2710 | the command will only copy those files. | 2934 | the command will only copy those files. |
| 2711 | 2935 | ||
| 2936 | --- | ||
| 2937 | *** 'package-isolate' can now also install packages. | ||
| 2938 | If a package is missing, 'package-isolate' will fetch the missing | ||
| 2939 | tarballs and prepare them to be activated in the sub-process. | ||
| 2940 | |||
| 2712 | +++ | 2941 | +++ |
| 2713 | *** package-x.el is now obsolete. | 2942 | *** package-x.el is now obsolete. |
| 2714 | 2943 | ||
| @@ -2732,6 +2961,14 @@ packages. | |||
| 2732 | --- | 2961 | --- |
| 2733 | *** Uninstalling a package now removes its directory from 'load-path'. | 2962 | *** Uninstalling a package now removes its directory from 'load-path'. |
| 2734 | 2963 | ||
| 2964 | +++ | ||
| 2965 | *** Packages can be reviewed before installation or upgrade. | ||
| 2966 | The user option 'package-review-policy' can configure which packages | ||
| 2967 | the user should be allowed to review before any processing takes place. | ||
| 2968 | The package review can include reading the downloaded source code, | ||
| 2969 | presenting a diff between the downloaded code and a previous | ||
| 2970 | installation or displaying a ChangeLog. | ||
| 2971 | |||
| 2735 | ** Rcirc | 2972 | ** Rcirc |
| 2736 | 2973 | ||
| 2737 | +++ | 2974 | +++ |
| @@ -2809,7 +3046,7 @@ used to write notes. | |||
| 2809 | --- | 3046 | --- |
| 2810 | *** New handler that appends remember data in directory. | 3047 | *** New handler that appends remember data in directory. |
| 2811 | The 'remember-append-in-data-directory' handler appends remember data in | 3048 | The 'remember-append-in-data-directory' handler appends remember data in |
| 2812 | a file, that file being choosen by the user through the minibuffer. | 3049 | a file, that file being chosen by the user through the minibuffer. |
| 2813 | 3050 | ||
| 2814 | --- | 3051 | --- |
| 2815 | *** New prefix map for remember commands. | 3052 | *** New prefix map for remember commands. |
| @@ -2842,6 +3079,10 @@ Meant to be given a global binding convenient to the user. Example: | |||
| 2842 | 3079 | ||
| 2843 | ** Icomplete | 3080 | ** Icomplete |
| 2844 | 3081 | ||
| 3082 | *** New key 'M-j' for 'icomplete-mode' and 'icomplete-vertical-mode'. | ||
| 3083 | Like 'M-j' in 'fido-mode', it can exit the minibuffer with a selected | ||
| 3084 | candidate even when 'icomplete-show-matches-on-no-input' is non-nil. | ||
| 3085 | |||
| 2845 | *** New user options for 'icomplete-vertical-mode'. | 3086 | *** New user options for 'icomplete-vertical-mode'. |
| 2846 | New user options have been added to enhance 'icomplete-vertical-mode': | 3087 | New user options have been added to enhance 'icomplete-vertical-mode': |
| 2847 | 3088 | ||
| @@ -3138,6 +3379,11 @@ each refresh. The sort direction can be controlled by using a cons cell | |||
| 3138 | of a format string and a boolean. Alternatively, a sorting function can | 3379 | of a format string and a boolean. Alternatively, a sorting function can |
| 3139 | be provided directly. | 3380 | be provided directly. |
| 3140 | 3381 | ||
| 3382 | --- | ||
| 3383 | *** New user option 'display-time-help-echo-format'. | ||
| 3384 | This option controls the format of the help echo when hovering over the | ||
| 3385 | time. | ||
| 3386 | |||
| 3141 | ** Fill | 3387 | ** Fill |
| 3142 | 3388 | ||
| 3143 | +++ | 3389 | +++ |
| @@ -3248,7 +3494,7 @@ the source, or to 'antlr-v3' otherwise. | |||
| 3248 | 3494 | ||
| 3249 | *** New command 'antlr-v4-mode' is a derived mode of 'antlr-mode'. | 3495 | *** New command 'antlr-v4-mode' is a derived mode of 'antlr-mode'. |
| 3250 | It sets 'antlr-tool-version' to value 'antlr-v4', and is automatically | 3496 | It sets 'antlr-tool-version' to value 'antlr-v4', and is automatically |
| 3251 | used for files with extension "g4". | 3497 | used for files with extension ".g4". |
| 3252 | 3498 | ||
| 3253 | *** The variable 'antlr-language' is now used more generally. | 3499 | *** The variable 'antlr-language' is now used more generally. |
| 3254 | The variable has a symbol as value which determines which of the | 3500 | The variable has a symbol as value which determines which of the |
| @@ -3261,8 +3507,8 @@ ObjC, Python and Ruby, additional to Java and Cpp. | |||
| 3261 | 3507 | ||
| 3262 | *** New user option 'antlr-run-tool-on-buffer-file'. | 3508 | *** New user option 'antlr-run-tool-on-buffer-file'. |
| 3263 | Command 'antlr-run-tool' now usually runs on the file for the current | 3509 | Command 'antlr-run-tool' now usually runs on the file for the current |
| 3264 | buffer. Customize this user option to have value ' nil' to get the | 3510 | buffer. Customize this user option to nil to get the previous behavior |
| 3265 | previous behavior back. | 3511 | back. |
| 3266 | 3512 | ||
| 3267 | ** Hi Lock | 3513 | ** Hi Lock |
| 3268 | 3514 | ||
| @@ -3272,6 +3518,10 @@ If an active region exists, the commands 'hi-lock-line-face-buffer' and | |||
| 3272 | 'hi-lock-face-phrase-buffer' now use its contents as their default | 3518 | 'hi-lock-face-phrase-buffer' now use its contents as their default |
| 3273 | value. Previously, only 'hi-lock-face-buffer' supported this. | 3519 | value. Previously, only 'hi-lock-face-buffer' supported this. |
| 3274 | 3520 | ||
| 3521 | ** Shadowfile | ||
| 3522 | |||
| 3523 | *** 'shadow-info-buffer' and 'shadow-todo-buffer' use ephemeral buffer names now. | ||
| 3524 | |||
| 3275 | 3525 | ||
| 3276 | * New Modes and Packages in Emacs 31.1 | 3526 | * New Modes and Packages in Emacs 31.1 |
| 3277 | 3527 | ||
| @@ -3311,6 +3561,21 @@ This library provides functions to throttle or debounce Emacs Lisp | |||
| 3311 | functions. This is useful for corralling overeager code that is slow | 3561 | functions. This is useful for corralling overeager code that is slow |
| 3312 | and blocks Emacs, or does not provide ways to limit how often it runs. | 3562 | and blocks Emacs, or does not provide ways to limit how often it runs. |
| 3313 | 3563 | ||
| 3564 | +++ | ||
| 3565 | ** New mode 'system-taskbar-mode'. | ||
| 3566 | This is a global minor mode and companion functions that integrate Emacs | ||
| 3567 | with system GUI taskbars (also called docks or launchers or something | ||
| 3568 | similar) to display a taskbar icon "badge" overlay, a progress bar | ||
| 3569 | report overlay, alert the user that an Emacs session needs attention, | ||
| 3570 | often by flashing or bouncing the Emacs application icon. Supported | ||
| 3571 | capable systems are GNU/Linux via D-Bus, macOS/GNUstep 10.5+, MS-Windows | ||
| 3572 | 7+. | ||
| 3573 | |||
| 3574 | On GNU/Linux systems, shell extensions or similar helpers such as | ||
| 3575 | "dash-to-dock" may be required. See | ||
| 3576 | <https://extensions.gnome.org/extension/307/dash-to-dock/> and | ||
| 3577 | <https://wiki.ubuntu.com/Unity/LauncherAPI>. | ||
| 3578 | |||
| 3314 | 3579 | ||
| 3315 | * Incompatible Lisp Changes in Emacs 31.1 | 3580 | * Incompatible Lisp Changes in Emacs 31.1 |
| 3316 | 3581 | ||
| @@ -3421,6 +3686,12 @@ separator, are also supported. | |||
| 3421 | --- | 3686 | --- |
| 3422 | ** The obsolete variable 'load-convert-to-unibyte' has been removed. | 3687 | ** The obsolete variable 'load-convert-to-unibyte' has been removed. |
| 3423 | 3688 | ||
| 3689 | --- | ||
| 3690 | ** The experimental variable 'binary-as-unsigned' has been removed. | ||
| 3691 | Instead of '(let ((binary-as-unsigned t)) (format "%x" N))' you can use | ||
| 3692 | '(format "%x" (logand N MASK))' where MASK is for the desired word size, | ||
| 3693 | e.g., #x3fffffffffffffff for typical Emacs fixnums. | ||
| 3694 | |||
| 3424 | +++ | 3695 | +++ |
| 3425 | ** The 'exec-path' variable now uses same default PATH as other programs. | 3696 | ** The 'exec-path' variable now uses same default PATH as other programs. |
| 3426 | That is, if the PATH environment variable is unset or empty, 'exec-path' | 3697 | That is, if the PATH environment variable is unset or empty, 'exec-path' |
| @@ -3432,7 +3703,7 @@ on GNU/Linux systems. | |||
| 3432 | The display optimization where the combination 'TAB' characters + | 3703 | The display optimization where the combination 'TAB' characters + |
| 3433 | 'BACKSPACE' is used to move to a position on a TTY frame is now disabled | 3704 | 'BACKSPACE' is used to move to a position on a TTY frame is now disabled |
| 3434 | by default and controlled by this variable; it can be set to non-nil | 3705 | by default and controlled by this variable; it can be set to non-nil |
| 3435 | to keep the old behavior. This change is to accomodate screen | 3706 | to keep the old behavior. This change is to accommodate screen |
| 3436 | readers. | 3707 | readers. |
| 3437 | 3708 | ||
| 3438 | --- | 3709 | --- |
| @@ -3465,10 +3736,28 @@ display time or even cause Emacs to hang trying to display such a face. | |||
| 3465 | Affected APIs include 'defface', 'set-face-attribute', their callers, | 3736 | Affected APIs include 'defface', 'set-face-attribute', their callers, |
| 3466 | and other similar functions. | 3737 | and other similar functions. |
| 3467 | 3738 | ||
| 3739 | --- | ||
| 3740 | ** 'help-setup-xref' now re-enables the major mode of the Help buffer. | ||
| 3741 | As a result, in many cases the buffer will be read-only afterwards. | ||
| 3742 | This should not cause any trouble as long as the actual buffer | ||
| 3743 | modification takes place inside 'with-help-window' or | ||
| 3744 | 'with-output-to-temp-buffer' after the call to 'help-setup-xref'. | ||
| 3745 | |||
| 3746 | --- | ||
| 3747 | ** Xref commands don't automatically suggest to visit a tags table anymore. | ||
| 3748 | When no tags file is loaded, symbol completion just won't provide any | ||
| 3749 | suggestions. So the 'M-?' command now works without a tags table. And | ||
| 3750 | the 'M-.' will show a message describing the several built-in options | ||
| 3751 | that will provide an Xref backend when used. | ||
| 3468 | 3752 | ||
| 3469 | * Lisp Changes in Emacs 31.1 | 3753 | * Lisp Changes in Emacs 31.1 |
| 3470 | 3754 | ||
| 3471 | +++ | 3755 | +++ |
| 3756 | ** New function 'garbage-collect-heapsize'. | ||
| 3757 | Same as 'garbage-collect' but just returns the info from the last GC | ||
| 3758 | without performing a collection. | ||
| 3759 | |||
| 3760 | +++ | ||
| 3472 | ** Improve 'replace-region-contents' to accept more forms of sources. | 3761 | ** Improve 'replace-region-contents' to accept more forms of sources. |
| 3473 | It has been promoted from 'subr-x' to the C code. | 3762 | It has been promoted from 'subr-x' to the C code. |
| 3474 | You can now directly pass it a string or a buffer rather than a function. | 3763 | You can now directly pass it a string or a buffer rather than a function. |
| @@ -3599,12 +3888,23 @@ without marking it as automatically buffer-local. | |||
| 3599 | ** The obsolete face attribute ':reverse-video' has been removed. | 3888 | ** The obsolete face attribute ':reverse-video' has been removed. |
| 3600 | Use ':inverse-video' instead. | 3889 | Use ':inverse-video' instead. |
| 3601 | 3890 | ||
| 3891 | ** D-Bus | ||
| 3892 | |||
| 3602 | +++ | 3893 | +++ |
| 3603 | ** Support interactive D-Bus authorization. | 3894 | *** Support interactive D-Bus authorization. |
| 3604 | A new ':authorizable t' parameter has been added to 'dbus-call-method' | 3895 | A new ':authorizable t' parameter has been added to 'dbus-call-method' |
| 3605 | and 'dbus-call-method-asynchronously' to allow the user to interactively | 3896 | and 'dbus-call-method-asynchronously' to allow the user to interactively |
| 3606 | authorize the invoked D-Bus method (for example via polkit). | 3897 | authorize the invoked D-Bus method (for example via polkit). |
| 3607 | 3898 | ||
| 3899 | +++ | ||
| 3900 | *** Support D-Bus file descriptor manipulation. | ||
| 3901 | A new ':keep-fd' parameter has been added to 'dbus-call-method' and | ||
| 3902 | 'dbus-call-method-asynchronously' to instruct D-Bus to keep a file | ||
| 3903 | descriptor, which has been returned by a method call, internally. The | ||
| 3904 | functions 'dbus--fd-open', 'dbus--fd-close' and 'dbus--registered-fds' | ||
| 3905 | implement managing these file descriptors. See the Info node "(dbus) | ||
| 3906 | File Descriptors" for details. | ||
| 3907 | |||
| 3608 | ** The customization group 'wp' has been removed. | 3908 | ** The customization group 'wp' has been removed. |
| 3609 | It has been obsolete since Emacs 26.1. Use the group 'text' instead. | 3909 | It has been obsolete since Emacs 26.1. Use the group 'text' instead. |
| 3610 | 3910 | ||
| @@ -3613,6 +3913,14 @@ It has been obsolete since Emacs 26.1. Use the group 'text' instead. | |||
| 3613 | If supplied, 'string-pixel-width' will use any face remappings from | 3913 | If supplied, 'string-pixel-width' will use any face remappings from |
| 3614 | BUFFER when computing the string's width. | 3914 | BUFFER when computing the string's width. |
| 3615 | 3915 | ||
| 3916 | +++ | ||
| 3917 | ** New function 'truncate-string-pixelwise'. | ||
| 3918 | This function truncates a string to the specified maximum number of | ||
| 3919 | pixels rather than by characters, as in 'truncate-string-to-width', and | ||
| 3920 | respects face remappings if BUFFER is specified. You can also specify | ||
| 3921 | an optional ellipsis string to append, similar to | ||
| 3922 | 'truncate-string-to-width'. | ||
| 3923 | |||
| 3616 | --- | 3924 | --- |
| 3617 | ** New macro 'with-work-buffer'. | 3925 | ** New macro 'with-work-buffer'. |
| 3618 | This macro is similar to the already existing macro 'with-temp-buffer', | 3926 | This macro is similar to the already existing macro 'with-temp-buffer', |
| @@ -3708,6 +4016,13 @@ Binding 'inhibit-message' to a non-nil value will now suppress both | |||
| 3708 | the display of messages and the clearing of the echo area, such as | 4016 | the display of messages and the clearing of the echo area, such as |
| 3709 | caused by calling 'message' with a nil argument. | 4017 | caused by calling 'message' with a nil argument. |
| 3710 | 4018 | ||
| 4019 | --- | ||
| 4020 | ** 'minibuffer-message' no longer blocks while displaying message. | ||
| 4021 | 'minibuffer-message' now uses a timer to clear the message printed to | ||
| 4022 | the minibuffer, instead of waiting with 'sit-for' and then clearing it. | ||
| 4023 | This makes 'minibuffer-message' usable in Lisp programs which want to | ||
| 4024 | print a message and then continue to perform work. | ||
| 4025 | |||
| 3711 | ** Special Events | 4026 | ** Special Events |
| 3712 | 4027 | ||
| 3713 | +++ | 4028 | +++ |
| @@ -3775,6 +4090,26 @@ When the theme is set on PGTK, Android, or MS-Windows systems, | |||
| 3775 | variable 'toolkit-theme' as either symbol 'dark' or 'light', but may be | 4090 | variable 'toolkit-theme' as either symbol 'dark' or 'light', but may be |
| 3776 | extended to encompass other toolkit-specific symbols in the future. | 4091 | extended to encompass other toolkit-specific symbols in the future. |
| 3777 | 4092 | ||
| 4093 | ** Progress reporter | ||
| 4094 | |||
| 4095 | +++ | ||
| 4096 | *** Progress reporter callbacks. | ||
| 4097 | 'make-progress-reporter' now accepts optional arguments UPDATE-CALLBACK, | ||
| 4098 | called on progress steps, and DONE-CALLBACK, called when the progress | ||
| 4099 | reporter is done. See the 'make-progress-reporter' docstring for a full | ||
| 4100 | specification of these new optional arguments. | ||
| 4101 | |||
| 4102 | +++ | ||
| 4103 | *** Progress reporter context. | ||
| 4104 | 'make-progress-reporter' now accepts the optional argument CONTEXT, | ||
| 4105 | which if it is the symbol 'async', inhibits updates in the echo area | ||
| 4106 | when it is busy. This is useful, for example, if you want to monitor progress | ||
| 4107 | of an inherently asynchronous command such as 'compile'. | ||
| 4108 | |||
| 4109 | ** Binary format specifications '%b' and '%B' added. | ||
| 4110 | These produce the binary representation of a number. | ||
| 4111 | '%#b' and '%#B' prefix the bits with '0b' and '0B', respectively. | ||
| 4112 | |||
| 3778 | 4113 | ||
| 3779 | * Changes in Emacs 31.1 on Non-Free Operating Systems | 4114 | * Changes in Emacs 31.1 on Non-Free Operating Systems |
| 3780 | 4115 | ||
diff --git a/etc/NEWS.1-17 b/etc/NEWS.1-17 index 431bf3490a0..793dc2a3014 100644 --- a/etc/NEWS.1-17 +++ b/etc/NEWS.1-17 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 26-Mar-1986 | 1 | GNU Emacs NEWS -- history of user-visible changes. 26-Mar-1986 |
| 2 | 2 | ||
| 3 | Copyright (C) 1985-1986, 2006-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 1985-1986, 2006-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | 6 | ||
diff --git a/etc/NEWS.18 b/etc/NEWS.18 index 68aba7b00df..bf559981c04 100644 --- a/etc/NEWS.18 +++ b/etc/NEWS.18 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 17-Aug-1988 | 1 | GNU Emacs NEWS -- history of user-visible changes. 17-Aug-1988 |
| 2 | 2 | ||
| 3 | Copyright (C) 1988, 2006-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 1988, 2006-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | 6 | ||
diff --git a/etc/NEWS.19 b/etc/NEWS.19 index 1cd69144dc5..4d13ee9a923 100644 --- a/etc/NEWS.19 +++ b/etc/NEWS.19 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 1992. | 1 | GNU Emacs NEWS -- history of user-visible changes. 1992. |
| 2 | 2 | ||
| 3 | Copyright (C) 1993-1995, 2001, 2006-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 1993-1995, 2001, 2006-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | 6 | ||
diff --git a/etc/NEWS.20 b/etc/NEWS.20 index 1aa093f0957..36ccfd64b61 100644 --- a/etc/NEWS.20 +++ b/etc/NEWS.20 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 2006-05-31 | 1 | GNU Emacs NEWS -- history of user-visible changes. 2006-05-31 |
| 2 | 2 | ||
| 3 | Copyright (C) 1999-2001, 2006-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 1999-2001, 2006-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | 6 | ||
diff --git a/etc/NEWS.21 b/etc/NEWS.21 index 2b6b6084c6e..50f195b635a 100644 --- a/etc/NEWS.21 +++ b/etc/NEWS.21 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. 2006-05-31 | 1 | GNU Emacs NEWS -- history of user-visible changes. 2006-05-31 |
| 2 | 2 | ||
| 3 | Copyright (C) 2000-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2000-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | 6 | ||
diff --git a/etc/NEWS.22 b/etc/NEWS.22 index 9d3c5b97dde..41a9718c0f3 100644 --- a/etc/NEWS.22 +++ b/etc/NEWS.22 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. | 1 | GNU Emacs NEWS -- history of user-visible changes. |
| 2 | 2 | ||
| 3 | Copyright (C) 2001-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2001-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Please send Emacs bug reports to bug-gnu-emacs@gnu.org. | 6 | Please send Emacs bug reports to bug-gnu-emacs@gnu.org. |
diff --git a/etc/NEWS.23 b/etc/NEWS.23 index bf89e62cadf..624331f0370 100644 --- a/etc/NEWS.23 +++ b/etc/NEWS.23 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. | 1 | GNU Emacs NEWS -- history of user-visible changes. |
| 2 | 2 | ||
| 3 | Copyright (C) 2007-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2007-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Please send Emacs bug reports to bug-gnu-emacs@gnu.org. | 6 | Please send Emacs bug reports to bug-gnu-emacs@gnu.org. |
diff --git a/etc/NEWS.24 b/etc/NEWS.24 index e2614767a61..4a5ac24cfff 100644 --- a/etc/NEWS.24 +++ b/etc/NEWS.24 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. | 1 | GNU Emacs NEWS -- history of user-visible changes. |
| 2 | 2 | ||
| 3 | Copyright (C) 2010-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2010-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Please send Emacs bug reports to bug-gnu-emacs@gnu.org. | 6 | Please send Emacs bug reports to bug-gnu-emacs@gnu.org. |
diff --git a/etc/NEWS.25 b/etc/NEWS.25 index 0aa49c68153..1801020619e 100644 --- a/etc/NEWS.25 +++ b/etc/NEWS.25 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. | 1 | GNU Emacs NEWS -- history of user-visible changes. |
| 2 | 2 | ||
| 3 | Copyright (C) 2014-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2014-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Please send Emacs bug reports to bug-gnu-emacs@gnu.org. | 6 | Please send Emacs bug reports to bug-gnu-emacs@gnu.org. |
diff --git a/etc/NEWS.26 b/etc/NEWS.26 index 471c48f1eb6..04909314257 100644 --- a/etc/NEWS.26 +++ b/etc/NEWS.26 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. | 1 | GNU Emacs NEWS -- history of user-visible changes. |
| 2 | 2 | ||
| 3 | Copyright (C) 2016-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2016-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'. | 6 | Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'. |
diff --git a/etc/NEWS.27 b/etc/NEWS.27 index d3f47a356a7..cd8c7d1ec9f 100644 --- a/etc/NEWS.27 +++ b/etc/NEWS.27 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. | 1 | GNU Emacs NEWS -- history of user-visible changes. |
| 2 | 2 | ||
| 3 | Copyright (C) 2017-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2017-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'. | 6 | Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'. |
diff --git a/etc/NEWS.28 b/etc/NEWS.28 index cf61e762c88..b8fcc731b19 100644 --- a/etc/NEWS.28 +++ b/etc/NEWS.28 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. | 1 | GNU Emacs NEWS -- history of user-visible changes. |
| 2 | 2 | ||
| 3 | Copyright (C) 2019-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2019-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'. | 6 | Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'. |
diff --git a/etc/NEWS.29 b/etc/NEWS.29 index 00641ef1e16..378e5ad48a2 100644 --- a/etc/NEWS.29 +++ b/etc/NEWS.29 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. | 1 | GNU Emacs NEWS -- history of user-visible changes. |
| 2 | 2 | ||
| 3 | Copyright (C) 2021-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2021-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'. | 6 | Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'. |
diff --git a/etc/NEWS.30 b/etc/NEWS.30 index dfe6c5cafe6..3789456f941 100644 --- a/etc/NEWS.30 +++ b/etc/NEWS.30 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU Emacs NEWS -- history of user-visible changes. | 1 | GNU Emacs NEWS -- history of user-visible changes. |
| 2 | 2 | ||
| 3 | Copyright (C) 2022-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2022-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'. | 6 | Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'. |
| @@ -2807,7 +2807,7 @@ parsers with that tag. Note that passing nil as tag doesn't mean return | |||
| 2807 | all parsers, but rather "all parsers with no tags". | 2807 | all parsers, but rather "all parsers with no tags". |
| 2808 | 2808 | ||
| 2809 | *** New variable 'treesit-primary-parser'. | 2809 | *** New variable 'treesit-primary-parser'. |
| 2810 | This variable should be set by multi-langauge major modes before calling | 2810 | This variable should be set by multi-language major modes before calling |
| 2811 | 'treesit-major-mode-setup', in order for tree-sitter integration | 2811 | 'treesit-major-mode-setup', in order for tree-sitter integration |
| 2812 | functionalities to operate correctly. | 2812 | functionalities to operate correctly. |
| 2813 | 2813 | ||
diff --git a/etc/NEXTSTEP b/etc/NEXTSTEP index 13b7c11e738..58726c0cc8b 100644 --- a/etc/NEXTSTEP +++ b/etc/NEXTSTEP | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | Copyright (C) 2008-2025 Free Software Foundation, Inc. | 1 | Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 2 | See the end of the file for license conditions. | 2 | See the end of the file for license conditions. |
| 3 | 3 | ||
| 4 | This file contains information about GNU Emacs on "Nextstep" platforms. | 4 | This file contains information about GNU Emacs on "Nextstep" platforms. |
diff --git a/etc/NXML-NEWS b/etc/NXML-NEWS index 5bb887063ce..c7042115394 100644 --- a/etc/NXML-NEWS +++ b/etc/NXML-NEWS | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | Copyright (C) 2007-2025 Free Software Foundation, Inc. | 1 | Copyright (C) 2007-2026 Free Software Foundation, Inc. |
| 2 | See the end of the file for license conditions. | 2 | See the end of the file for license conditions. |
| 3 | 3 | ||
| 4 | 4 | ||
diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS index 1a73eea5c91..3302f50ec69 100644 --- a/etc/ORG-NEWS +++ b/etc/ORG-NEWS | |||
| @@ -6,7 +6,7 @@ ORG NEWS -- history of user-visible changes. -*- mode: org; coding: utf-8 -*- | |||
| 6 | #+LINK: msg https://list.orgmode.org/%s/ | 6 | #+LINK: msg https://list.orgmode.org/%s/ |
| 7 | #+LINK: git https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=%s | 7 | #+LINK: git https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=%s |
| 8 | 8 | ||
| 9 | Copyright (C) 2012-2025 Free Software Foundation, Inc. | 9 | Copyright (C) 2012-2026 Free Software Foundation, Inc. |
| 10 | See the end of the file for license conditions. | 10 | See the end of the file for license conditions. |
| 11 | 11 | ||
| 12 | Please send Org bug reports to mailto:emacs-orgmode@gnu.org. | 12 | Please send Org bug reports to mailto:emacs-orgmode@gnu.org. |
| @@ -323,7 +323,7 @@ This is no longer the case. ~display-buffer-alist~ is fully obeyed. | |||
| 323 | 323 | ||
| 324 | ~org-switch-to-buffer-other-window~ and ~org-no-popups~ are now deprecated. | 324 | ~org-switch-to-buffer-other-window~ and ~org-no-popups~ are now deprecated. |
| 325 | 325 | ||
| 326 | *** Asynchronous code evaluatation in ~ob-shell~ | 326 | *** Asynchronous code evaluation in ~ob-shell~ |
| 327 | 327 | ||
| 328 | Running shell blocks with the ~:session~ header freezes Emacs until | 328 | Running shell blocks with the ~:session~ header freezes Emacs until |
| 329 | execution completes. The new ~:async~ header allows users to continue | 329 | execution completes. The new ~:async~ header allows users to continue |
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index ff9c0105cb3..340e99c0425 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | Known Problems with GNU Emacs | 1 | Known Problems with GNU Emacs |
| 2 | 2 | ||
| 3 | Copyright (C) 1987-1989, 1993-1999, 2001-2025 Free Software Foundation, | 3 | Copyright (C) 1987-1989, 1993-1999, 2001-2026 Free Software Foundation, |
| 4 | Inc. | 4 | Inc. |
| 5 | See the end of the file for license conditions. | 5 | See the end of the file for license conditions. |
| 6 | 6 | ||
| @@ -1382,6 +1382,19 @@ these problems by disabling XIM in your X resources: | |||
| 1382 | 1382 | ||
| 1383 | Emacs.useXIM: false | 1383 | Emacs.useXIM: false |
| 1384 | 1384 | ||
| 1385 | ** When the compose key is pressed, a small window appears that won't go away | ||
| 1386 | |||
| 1387 | In some circumstances, pressing the compose key under X pops up a small | ||
| 1388 | character-selection window next to the cursor, which can be moved but | ||
| 1389 | not closed; it disappears when some window manager operation is | ||
| 1390 | performed, like creating or deleting a window. You can prevent this | ||
| 1391 | window from appearing by completely disabling the X input method (XIM). | ||
| 1392 | If this is acceptable to you, you should set the 'XMODIFIERS' | ||
| 1393 | environment variable to the value '@im=none', and export it before | ||
| 1394 | calling Emacs, for example by invoking Emacs like so: | ||
| 1395 | |||
| 1396 | env XMODIFIERS=@im=none emacs | ||
| 1397 | |||
| 1385 | ** On Haiku, BeCJK doesn't work properly with Emacs | 1398 | ** On Haiku, BeCJK doesn't work properly with Emacs |
| 1386 | 1399 | ||
| 1387 | Some popular Haiku input methods such BeCJK are known to behave badly | 1400 | Some popular Haiku input methods such BeCJK are known to behave badly |
diff --git a/etc/README b/etc/README index f7187c0e084..94676cfb226 100644 --- a/etc/README +++ b/etc/README | |||
| @@ -7,5 +7,5 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES | |||
| 7 | 7 | ||
| 8 | File: emacs.icon | 8 | File: emacs.icon |
| 9 | Author: Sun Microsystems, Inc | 9 | Author: Sun Microsystems, Inc |
| 10 | Copyright (C) 1999, 2001-2025 Free Software Foundation, Inc. | 10 | Copyright (C) 1999, 2001-2026 Free Software Foundation, Inc. |
| 11 | License: GNU General Public License version 3 or later (see COPYING) | 11 | License: GNU General Public License version 3 or later (see COPYING) |
| @@ -1,4 +1,4 @@ | |||
| 1 | Copyright (C) 1999, 2001-2025 Free Software Foundation, Inc. | 1 | Copyright (C) 1999, 2001-2026 Free Software Foundation, Inc. |
| 2 | See the end of the file for copying permissions. | 2 | See the end of the file for copying permissions. |
| 3 | 3 | ||
| 4 | This file describes what you must or might want to do to termcap entries | 4 | This file describes what you must or might want to do to termcap entries |
| @@ -1,6 +1,6 @@ | |||
| 1 | Emacs TODO List -*-outline-*- | 1 | Emacs TODO List -*-outline-*- |
| 2 | 2 | ||
| 3 | Copyright (C) 2001-2025 Free Software Foundation, Inc. | 3 | Copyright (C) 2001-2026 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | 6 | ||
diff --git a/etc/charsets/README b/etc/charsets/README index 1ad5b6335a9..a751f817f57 100644 --- a/etc/charsets/README +++ b/etc/charsets/README | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # README file for charset mapping files in this directory. | 1 | # README file for charset mapping files in this directory. |
| 2 | 2 | ||
| 3 | # Copyright (C) 2003-2025 Free Software Foundation, Inc. | 3 | # Copyright (C) 2003-2026 Free Software Foundation, Inc. |
| 4 | # Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 | 4 | # Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 |
| 5 | # National Institute of Advanced Industrial Science and Technology (AIST) | 5 | # National Institute of Advanced Industrial Science and Technology (AIST) |
| 6 | # Registration Number H13PRO009 | 6 | # Registration Number H13PRO009 |
diff --git a/etc/compilation.txt b/etc/compilation.txt index 39d9c3a923c..c2a0967c6a5 100644 --- a/etc/compilation.txt +++ b/etc/compilation.txt | |||
| @@ -735,7 +735,7 @@ Compilation segmentation fault at Thu Jul 13 10:55:49 | |||
| 735 | Compilation finished at Thu Jul 21 15:02:15 | 735 | Compilation finished at Thu Jul 21 15:02:15 |
| 736 | 736 | ||
| 737 | 737 | ||
| 738 | Copyright (C) 2004-2025 Free Software Foundation, Inc. | 738 | Copyright (C) 2004-2026 Free Software Foundation, Inc. |
| 739 | 739 | ||
| 740 | COPYING PERMISSIONS: | 740 | COPYING PERMISSIONS: |
| 741 | 741 | ||
diff --git a/etc/edt-user.el b/etc/edt-user.el index 6108893272c..033e6067a0e 100644 --- a/etc/edt-user.el +++ b/etc/edt-user.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; edt-user.el --- Sample user customizations for Emacs EDT emulation -*- lexical-binding: t -*- | 1 | ;;; edt-user.el --- Sample user customizations for Emacs EDT emulation -*- lexical-binding: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1986, 1992-1993, 2000-2025 Free Software Foundation, | 3 | ;; Copyright (C) 1986, 1992-1993, 2000-2026 Free Software Foundation, |
| 4 | ;; Inc. | 4 | ;; Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Kevin Gallagher <kevin.gal@verizon.net> | 6 | ;; Author: Kevin Gallagher <kevin.gal@verizon.net> |
diff --git a/etc/emacs-buffer.gdb b/etc/emacs-buffer.gdb index 2615cd87408..73bb71644b0 100644 --- a/etc/emacs-buffer.gdb +++ b/etc/emacs-buffer.gdb | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # emacs-buffer.gdb --- gdb macros for recovering buffers from emacs coredumps | 1 | # emacs-buffer.gdb --- gdb macros for recovering buffers from emacs coredumps |
| 2 | 2 | ||
| 3 | # Copyright (C) 2005-2025 Free Software Foundation, Inc. | 3 | # Copyright (C) 2005-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | # Author: Noah Friedman <friedman@splode.com> | 5 | # Author: Noah Friedman <friedman@splode.com> |
| 6 | # Created: 2005-04-28 | 6 | # Created: 2005-04-28 |
diff --git a/etc/emacs.metainfo.xml b/etc/emacs.metainfo.xml index 8414e9ac6ba..e6f748cd3b0 100644 --- a/etc/emacs.metainfo.xml +++ b/etc/emacs.metainfo.xml | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
| 2 | <!-- Copyright (C) 2014-2025 Free Software Foundation, Inc. --> | 2 | <!-- Copyright (C) 2014-2026 Free Software Foundation, Inc. --> |
| 3 | <component type="desktop-application"> | 3 | <component type="desktop-application"> |
| 4 | <id>org.gnu.emacs</id> | 4 | <id>org.gnu.emacs</id> |
| 5 | <metadata_license>GFDL-1.3+</metadata_license> | 5 | <metadata_license>GFDL-1.3+</metadata_license> |
diff --git a/etc/emacs_lldb.py b/etc/emacs_lldb.py index c7cd0577902..2d2dd00c02a 100644 --- a/etc/emacs_lldb.py +++ b/etc/emacs_lldb.py | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # Copyright (C) 2022-2025 Free Software Foundation, Inc. | 1 | # Copyright (C) 2022-2026 Free Software Foundation, Inc. |
| 2 | # | 2 | # |
| 3 | # This file is part of GNU Emacs. | 3 | # This file is part of GNU Emacs. |
| 4 | # | 4 | # |
diff --git a/etc/enriched.txt b/etc/enriched.txt index 23b34e26d14..b4559c1d6aa 100644 --- a/etc/enriched.txt +++ b/etc/enriched.txt | |||
| @@ -259,7 +259,7 @@ it.</indent> | |||
| 259 | 259 | ||
| 260 | 260 | ||
| 261 | 261 | ||
| 262 | Copyright (C) 1995, 1997, 2001-2025 Free Software Foundation, Inc. | 262 | Copyright (C) 1995, 1997, 2001-2026 Free Software Foundation, Inc. |
| 263 | 263 | ||
| 264 | COPYING PERMISSIONS: | 264 | COPYING PERMISSIONS: |
| 265 | 265 | ||
diff --git a/etc/forms/forms-d2.el b/etc/forms/forms-d2.el index 5118d960bf8..8241f6f9bb9 100644 --- a/etc/forms/forms-d2.el +++ b/etc/forms/forms-d2.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; forms-d2.el --- demo forms-mode -*- lexical-binding:t -*- | 1 | ;;; forms-d2.el --- demo forms-mode -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1991, 1994-1997, 2001-2025 Free Software Foundation, | 3 | ;; Copyright (C) 1991, 1994-1997, 2001-2026 Free Software Foundation, |
| 4 | ;; Inc. | 4 | ;; Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Johan Vromans <jvromans@squirrel.nl> | 6 | ;; Author: Johan Vromans <jvromans@squirrel.nl> |
diff --git a/etc/gnus-tut.txt b/etc/gnus-tut.txt index 89fcc988f9a..3dd6e088169 100644 --- a/etc/gnus-tut.txt +++ b/etc/gnus-tut.txt | |||
| @@ -24,7 +24,7 @@ was done by moi, yours truly, your humble servant, Lars Magne | |||
| 24 | Ingebrigtsen. If you have a WWW browser, you can investigate to your | 24 | Ingebrigtsen. If you have a WWW browser, you can investigate to your |
| 25 | heart's delight at <URL:http://www.ifi.uio.no/~larsi/larsi.html>. | 25 | heart's delight at <URL:http://www.ifi.uio.no/~larsi/larsi.html>. |
| 26 | 26 | ||
| 27 | ;; Copyright (C) 1995, 2001-2025 Free Software Foundation, Inc. | 27 | ;; Copyright (C) 1995, 2001-2026 Free Software Foundation, Inc. |
| 28 | 28 | ||
| 29 | ;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no> | 29 | ;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no> |
| 30 | ;; Keywords: news | 30 | ;; Keywords: news |
diff --git a/etc/grep.txt b/etc/grep.txt index b529034f046..3977cb2b2c7 100644 --- a/etc/grep.txt +++ b/etc/grep.txt | |||
| @@ -104,7 +104,7 @@ grep -nH -e "xyzxyz" ../info/* | |||
| 104 | 104 | ||
| 105 | * Miscellaneous | 105 | * Miscellaneous |
| 106 | 106 | ||
| 107 | Copyright (C) 2005-2025 Free Software Foundation, Inc. | 107 | Copyright (C) 2005-2026 Free Software Foundation, Inc. |
| 108 | 108 | ||
| 109 | COPYING PERMISSIONS: | 109 | COPYING PERMISSIONS: |
| 110 | 110 | ||
diff --git a/etc/images/README b/etc/images/README index a439c0c9348..a36f0a8a0ce 100644 --- a/etc/images/README +++ b/etc/images/README | |||
| @@ -27,19 +27,19 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES | |||
| 27 | 27 | ||
| 28 | File: mh-logo.xpm | 28 | File: mh-logo.xpm |
| 29 | Author: Satyaki Das | 29 | Author: Satyaki Das |
| 30 | Copyright (C) 2003-2025 Free Software Foundation, Inc. | 30 | Copyright (C) 2003-2026 Free Software Foundation, Inc. |
| 31 | 31 | ||
| 32 | Files: gnus.pbm | 32 | Files: gnus.pbm |
| 33 | Author: Luis Fernandes <elf@ee.ryerson.ca> | 33 | Author: Luis Fernandes <elf@ee.ryerson.ca> |
| 34 | Copyright (C) 2003-2025 Free Software Foundation, Inc. | 34 | Copyright (C) 2003-2026 Free Software Foundation, Inc. |
| 35 | 35 | ||
| 36 | Files: splash.png, splash.svg, splash.pbm, splash.xpm | 36 | Files: splash.png, splash.svg, splash.pbm, splash.xpm |
| 37 | Author: Francesc Rocher <francesc.rocher@gmail.com> | 37 | Author: Francesc Rocher <francesc.rocher@gmail.com> |
| 38 | Copyright (C) 2003-2025 Free Software Foundation, Inc. | 38 | Copyright (C) 2003-2026 Free Software Foundation, Inc. |
| 39 | 39 | ||
| 40 | Files: checked.xpm, unchecked.xpm | 40 | Files: checked.xpm, unchecked.xpm |
| 41 | Author: Chong Yidong <cyd@stupidchicken.com> | 41 | Author: Chong Yidong <cyd@stupidchicken.com> |
| 42 | Copyright (C) 2003-2025 Free Software Foundation, Inc. | 42 | Copyright (C) 2003-2026 Free Software Foundation, Inc. |
| 43 | 43 | ||
| 44 | 44 | ||
| 45 | * The following icons are from GTK+ 2.x. They are not part of Emacs, but | 45 | * The following icons are from GTK+ 2.x. They are not part of Emacs, but |
diff --git a/etc/images/custom/README b/etc/images/custom/README index 7f1d2e313fb..59533e9c45e 100644 --- a/etc/images/custom/README +++ b/etc/images/custom/README | |||
| @@ -6,5 +6,5 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES | |||
| 6 | 6 | ||
| 7 | Files: down.xpm down-pushed.xpm right.xpm right-pushed.xpm | 7 | Files: down.xpm down-pushed.xpm right.xpm right-pushed.xpm |
| 8 | Author: Juri Linkov | 8 | Author: Juri Linkov |
| 9 | Copyright (C) 2008-2025 Free Software Foundation, Inc. | 9 | Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 10 | License: GNU General Public License version 3 or later (see COPYING) | 10 | License: GNU General Public License version 3 or later (see COPYING) |
diff --git a/etc/images/ezimage/README b/etc/images/ezimage/README index d9521a1436b..456125140df 100644 --- a/etc/images/ezimage/README +++ b/etc/images/ezimage/README | |||
| @@ -7,5 +7,5 @@ Files: bits.xpm bitsbang.xpm box-minus.xpm box-plus.xpm | |||
| 7 | tag-gt.xpm tag-minus.xpm tag-plus.xpm tag-type.xpm tag-v.xpm | 7 | tag-gt.xpm tag-minus.xpm tag-plus.xpm tag-type.xpm tag-v.xpm |
| 8 | tag.xpm unlock.xpm | 8 | tag.xpm unlock.xpm |
| 9 | Author: Eric M. Ludlam | 9 | Author: Eric M. Ludlam |
| 10 | Copyright (C) 1999-2025 Free Software Foundation, Inc. | 10 | Copyright (C) 1999-2026 Free Software Foundation, Inc. |
| 11 | License: GNU General Public License version 3 or later (see COPYING) | 11 | License: GNU General Public License version 3 or later (see COPYING) |
diff --git a/etc/images/gnus/README b/etc/images/gnus/README index 3e415fdfd7e..77da3eaf637 100644 --- a/etc/images/gnus/README +++ b/etc/images/gnus/README | |||
| @@ -7,7 +7,7 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES | |||
| 7 | 7 | ||
| 8 | Files: important.xpm, unimportant.xpm | 8 | Files: important.xpm, unimportant.xpm |
| 9 | Author: Simon Josefsson <simon@josefsson.org> | 9 | Author: Simon Josefsson <simon@josefsson.org> |
| 10 | Copyright (C) 2001-2025 Free Software Foundation, Inc. | 10 | Copyright (C) 2001-2026 Free Software Foundation, Inc. |
| 11 | 11 | ||
| 12 | Files: catchup.pbm catchup.xpm cu-exit.pbm cu-exit.xpm | 12 | Files: catchup.pbm catchup.xpm cu-exit.pbm cu-exit.xpm |
| 13 | describe-group.pbm describe-group.xpm exit-gnus.pbm exit-gnus.xpm | 13 | describe-group.pbm describe-group.xpm exit-gnus.pbm exit-gnus.xpm |
| @@ -21,11 +21,11 @@ Files: catchup.pbm catchup.xpm cu-exit.pbm cu-exit.xpm | |||
| 21 | unsubscribe.pbm unsubscribe.xpm uu-decode.pbm uu-decode.xpm | 21 | unsubscribe.pbm unsubscribe.xpm uu-decode.pbm uu-decode.xpm |
| 22 | uu-post.pbm uu-post.xpm | 22 | uu-post.pbm uu-post.xpm |
| 23 | Author: Luis Fernandes <elf@ee.ryerson.ca> | 23 | Author: Luis Fernandes <elf@ee.ryerson.ca> |
| 24 | Copyright (C) 2001-2025 Free Software Foundation, Inc. | 24 | Copyright (C) 2001-2026 Free Software Foundation, Inc. |
| 25 | 25 | ||
| 26 | Files: gnus.png, gnus.svg | 26 | Files: gnus.png, gnus.svg |
| 27 | Author: Francesc Rocher <rocher@member.fsf.org> | 27 | Author: Francesc Rocher <rocher@member.fsf.org> |
| 28 | Copyright (C) 2008-2025 Free Software Foundation, Inc. | 28 | Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 29 | 29 | ||
| 30 | 30 | ||
| 31 | * The following icons are from GNOME 2.x. They are not part of Emacs, | 31 | * The following icons are from GNOME 2.x. They are not part of Emacs, |
diff --git a/etc/images/gnus/gnus-pointer.svg b/etc/images/gnus/gnus-pointer.svg index 3252c156be4..7d3822b1d04 100644 --- a/etc/images/gnus/gnus-pointer.svg +++ b/etc/images/gnus/gnus-pointer.svg | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| 2 | <!-- Gnu Emacs Logo | 2 | <!-- Gnu Emacs Logo |
| 3 | 3 | ||
| 4 | Copyright (C) 2008-2025 Free Software Foundation, Inc. | 4 | Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | Author: Francesc Rocher <f.rocher@member.fsf.org> | 6 | Author: Francesc Rocher <f.rocher@member.fsf.org> |
| 7 | 7 | ||
diff --git a/etc/images/gnus/gnus.svg b/etc/images/gnus/gnus.svg index 621f145cdd6..a0b3fc782e9 100644 --- a/etc/images/gnus/gnus.svg +++ b/etc/images/gnus/gnus.svg | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| 2 | <!-- Gnu Emacs Logo | 2 | <!-- Gnu Emacs Logo |
| 3 | 3 | ||
| 4 | Copyright (C) 2008-2025 Free Software Foundation, Inc. | 4 | Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | Author: Francesc Rocher <f.rocher@member.fsf.org> | 6 | Author: Francesc Rocher <f.rocher@member.fsf.org> |
| 7 | 7 | ||
diff --git a/etc/images/gud/README b/etc/images/gud/README index cde9e76d85a..7d518ebfadf 100644 --- a/etc/images/gud/README +++ b/etc/images/gud/README | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES | 1 | COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES |
| 2 | 2 | ||
| 3 | The following icons were created by Nick Roberts <nickrob@snap.net.nz>. | 3 | The following icons were created by Nick Roberts <nickrob@snap.net.nz>. |
| 4 | Copyright (C) 2002-2025 Free Software Foundation, Inc. | 4 | Copyright (C) 2002-2026 Free Software Foundation, Inc. |
| 5 | License: GNU General Public License version 3 or later (see COPYING) | 5 | License: GNU General Public License version 3 or later (see COPYING) |
| 6 | 6 | ||
| 7 | break.pbm, nexti.pbm, go.pbm, pp.pbm, print.pbm, pstar.pbm, remove.pbm | 7 | break.pbm, nexti.pbm, go.pbm, pp.pbm, print.pbm, pstar.pbm, remove.pbm |
| @@ -31,7 +31,7 @@ their copyright assignment included the icons. | |||
| 31 | The following icons are converted from the Insight Windows style icon | 31 | The following icons are converted from the Insight Windows style icon |
| 32 | set in src/gdb/gdbtk/library/images2. | 32 | set in src/gdb/gdbtk/library/images2. |
| 33 | 33 | ||
| 34 | Copyright (C) 2002-2025 Free Software Foundation, Inc. | 34 | Copyright (C) 2002-2026 Free Software Foundation, Inc. |
| 35 | License: GNU General Public License version 3 or later (see COPYING) | 35 | License: GNU General Public License version 3 or later (see COPYING) |
| 36 | 36 | ||
| 37 | cont.pbm and cont.xpm were converted from continue.gif | 37 | cont.pbm and cont.xpm were converted from continue.gif |
| @@ -47,7 +47,7 @@ License: GNU General Public License version 3 or later (see COPYING) | |||
| 47 | The following icons are created from the Insight Windows style icon | 47 | The following icons are created from the Insight Windows style icon |
| 48 | set in src/gdb/gdbtk/library/images2. | 48 | set in src/gdb/gdbtk/library/images2. |
| 49 | 49 | ||
| 50 | Copyright (C) 2002-2025 Free Software Foundation, Inc. | 50 | Copyright (C) 2002-2026 Free Software Foundation, Inc. |
| 51 | License: GNU General Public License version 3 or later (see COPYING) | 51 | License: GNU General Public License version 3 or later (see COPYING) |
| 52 | 52 | ||
| 53 | rcont.xpm rfinish.xpm | 53 | rcont.xpm rfinish.xpm |
diff --git a/etc/images/icons/README b/etc/images/icons/README index 9d6ecd5eedb..27ee2d58145 100644 --- a/etc/images/icons/README +++ b/etc/images/icons/README | |||
| @@ -6,7 +6,7 @@ Files: hicolor/16x16/apps/emacs.png hicolor/24x24/apps/emacs.png | |||
| 6 | hicolor/scalable/mimetypes/emacs-document.svg | 6 | hicolor/scalable/mimetypes/emacs-document.svg |
| 7 | 7 | ||
| 8 | Author: Nicolas Petton <nicolas@petton.fr> | 8 | Author: Nicolas Petton <nicolas@petton.fr> |
| 9 | Copyright (C) 2015-2025 Free Software Foundation, Inc. | 9 | Copyright (C) 2015-2026 Free Software Foundation, Inc. |
| 10 | License: GNU General Public License version 3 or later (see COPYING) | 10 | License: GNU General Public License version 3 or later (see COPYING) |
| 11 | 11 | ||
| 12 | Files: hicolor/16x16/apps/emacs23.png hicolor/24x24/apps/emacs23.png | 12 | Files: hicolor/16x16/apps/emacs23.png hicolor/24x24/apps/emacs23.png |
| @@ -14,7 +14,7 @@ Files: hicolor/16x16/apps/emacs23.png hicolor/24x24/apps/emacs23.png | |||
| 14 | hicolor/128x128/apps/emacs23.png hicolor/scalable/apps/emacs23.svg | 14 | hicolor/128x128/apps/emacs23.png hicolor/scalable/apps/emacs23.svg |
| 15 | 15 | ||
| 16 | Author: Kentaro Ohkouchi <nanasess@fsm.ne.jp> | 16 | Author: Kentaro Ohkouchi <nanasess@fsm.ne.jp> |
| 17 | Copyright (C) 2015-2025 Free Software Foundation, Inc. | 17 | Copyright (C) 2015-2026 Free Software Foundation, Inc. |
| 18 | License: GNU General Public License version 3 or later (see COPYING) | 18 | License: GNU General Public License version 3 or later (see COPYING) |
| 19 | 19 | ||
| 20 | 20 | ||
| @@ -22,7 +22,7 @@ Files: hicolor/16x16/apps/emacs22.png hicolor/24x24/apps/emacs22.png | |||
| 22 | hicolor/32x32/apps/emacs22.png hicolor/48x48/apps/emacs22.png | 22 | hicolor/32x32/apps/emacs22.png hicolor/48x48/apps/emacs22.png |
| 23 | 23 | ||
| 24 | Author: Andrew Zhilin <andrew_zhilin@yahoo.com> | 24 | Author: Andrew Zhilin <andrew_zhilin@yahoo.com> |
| 25 | Copyright (C) 2015-2025 Free Software Foundation, Inc. | 25 | Copyright (C) 2015-2026 Free Software Foundation, Inc. |
| 26 | License: GNU General Public License version 3 or later (see COPYING) | 26 | License: GNU General Public License version 3 or later (see COPYING) |
| 27 | 27 | ||
| 28 | Files: allout-widgets-dark-bg/closed.png | 28 | Files: allout-widgets-dark-bg/closed.png |
| @@ -71,5 +71,5 @@ Files: allout-widgets-dark-bg/closed.png | |||
| 71 | allout-widgets-light-bg/through-descender.xpm | 71 | allout-widgets-light-bg/through-descender.xpm |
| 72 | 72 | ||
| 73 | Author: Ken Manheimer <ken.manheimer@gmail.com> | 73 | Author: Ken Manheimer <ken.manheimer@gmail.com> |
| 74 | Copyright (C) 2015-2025 Free Software Foundation, Inc. | 74 | Copyright (C) 2015-2026 Free Software Foundation, Inc. |
| 75 | License: GNU General Public License version 3 or later (see COPYING) | 75 | License: GNU General Public License version 3 or later (see COPYING) |
diff --git a/etc/images/icons/hicolor/scalable/apps/emacs.svg b/etc/images/icons/hicolor/scalable/apps/emacs.svg index 38680248ecf..c76e9da0ca1 100644 --- a/etc/images/icons/hicolor/scalable/apps/emacs.svg +++ b/etc/images/icons/hicolor/scalable/apps/emacs.svg | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | id="metadata70"><rdf:RDF><cc:Work | 15 | id="metadata70"><rdf:RDF><cc:Work |
| 16 | rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type | 16 | rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type |
| 17 | rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><!-- Gnu Emacs Icon | 17 | rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><!-- Gnu Emacs Icon |
| 18 | Copyright (C) 2008-2025 Free Software Foundation, Inc. | 18 | Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 19 | 19 | ||
| 20 | Author: Nicolas Petton <nicolas@petton.fr> | 20 | Author: Nicolas Petton <nicolas@petton.fr> |
| 21 | 21 | ||
diff --git a/etc/images/icons/hicolor/scalable/apps/emacs23.svg b/etc/images/icons/hicolor/scalable/apps/emacs23.svg index 0cd6ec5616f..5fbeb3488bd 100644 --- a/etc/images/icons/hicolor/scalable/apps/emacs23.svg +++ b/etc/images/icons/hicolor/scalable/apps/emacs23.svg | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | id="svg4768" | 10 | id="svg4768" |
| 11 | xml:space="preserve"> | 11 | xml:space="preserve"> |
| 12 | <!-- Gnu Emacs Icon | 12 | <!-- Gnu Emacs Icon |
| 13 | Copyright (C) 2008-2025 Free Software Foundation, Inc. | 13 | Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 14 | 14 | ||
| 15 | This file is part of GNU Emacs. | 15 | This file is part of GNU Emacs. |
| 16 | 16 | ||
diff --git a/etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg b/etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg index 2dfd58859d6..ad6e24a4ba1 100644 --- a/etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg +++ b/etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| 2 | <!-- Gnu Emacs Document Icon | 2 | <!-- Gnu Emacs Document Icon |
| 3 | 3 | ||
| 4 | Copyright (C) 2008-2025 Free Software Foundation, Inc. | 4 | Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is part of GNU Emacs. | 6 | This file is part of GNU Emacs. |
| 7 | 7 | ||
diff --git a/etc/images/mpc/README b/etc/images/mpc/README index d6a28741b91..53e3cb5af2e 100644 --- a/etc/images/mpc/README +++ b/etc/images/mpc/README | |||
| @@ -2,5 +2,5 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES | |||
| 2 | 2 | ||
| 3 | Files: add.xpm ffwd.xpm next.xpm pause.xpm play.xpm prev.xpm rewind.xpm stop.xpm | 3 | Files: add.xpm ffwd.xpm next.xpm pause.xpm play.xpm prev.xpm rewind.xpm stop.xpm |
| 4 | Author: Stefan Monnier <monnier@iro.umontreal.ca> | 4 | Author: Stefan Monnier <monnier@iro.umontreal.ca> |
| 5 | Copyright (C) 2009-2025 Free Software Foundation, Inc. | 5 | Copyright (C) 2009-2026 Free Software Foundation, Inc. |
| 6 | License: GNU General Public License version 3 or later (see COPYING) | 6 | License: GNU General Public License version 3 or later (see COPYING) |
diff --git a/etc/images/newsticker/README b/etc/images/newsticker/README index 55e9573f354..f8af7962bb9 100644 --- a/etc/images/newsticker/README +++ b/etc/images/newsticker/README | |||
| @@ -4,5 +4,5 @@ Files: browse-url.xpm get-all.xpm mark-immortal.xpm mark-read.xpm | |||
| 4 | narrow.xpm next-feed.xpm next-item.xpm prev-feed.xpm | 4 | narrow.xpm next-feed.xpm next-item.xpm prev-feed.xpm |
| 5 | prev-item.xpm rss-feed.png rss-feed.svg update.xpm | 5 | prev-item.xpm rss-feed.png rss-feed.svg update.xpm |
| 6 | Author: Ulf Jasper | 6 | Author: Ulf Jasper |
| 7 | Copyright (C) 2011-2025 Free Software Foundation, Inc. | 7 | Copyright (C) 2011-2026 Free Software Foundation, Inc. |
| 8 | License: GNU General Public License version 3 or later (see COPYING) | 8 | License: GNU General Public License version 3 or later (see COPYING) |
diff --git a/etc/images/package-menu/README b/etc/images/package-menu/README index 6b6414689c2..7b74e50634f 100644 --- a/etc/images/package-menu/README +++ b/etc/images/package-menu/README | |||
| @@ -2,7 +2,7 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES -*- coding: utf-8 -*- | |||
| 2 | 2 | ||
| 3 | The following icons were created by Elías Gabriel Pérez <eg642616@gmail.com> | 3 | The following icons were created by Elías Gabriel Pérez <eg642616@gmail.com> |
| 4 | based on package-x-generic icon from GNOME 2.x. | 4 | based on package-x-generic icon from GNOME 2.x. |
| 5 | Copyright (C) 2025 Free Software Foundation, Inc. | 5 | Copyright (C) 2025-2026 Free Software Foundation, Inc. |
| 6 | License: GNU General Public License version 3 or later (see COPYING) | 6 | License: GNU General Public License version 3 or later (see COPYING) |
| 7 | 7 | ||
| 8 | delete.pbm delete.xpm | 8 | delete.pbm delete.xpm |
diff --git a/etc/images/smilies/README b/etc/images/smilies/README index cf7399391ba..0053c174fb8 100644 --- a/etc/images/smilies/README +++ b/etc/images/smilies/README | |||
| @@ -3,5 +3,5 @@ Files: blink.pbm blink.xpm braindamaged.xpm cry.xpm dead.xpm evil.xpm | |||
| 3 | sad.xpm smile.pbm smile.xpm wry.pbm wry.xpm | 3 | sad.xpm smile.pbm smile.xpm wry.pbm wry.xpm |
| 4 | Authors: Reiner Steib, Simon Josefsson, Kai Grossjohann, Alex | 4 | Authors: Reiner Steib, Simon Josefsson, Kai Grossjohann, Alex |
| 5 | Schroeder, Oliver Scholz, Per Abrahamsen, Kim F. Storm. | 5 | Schroeder, Oliver Scholz, Per Abrahamsen, Kim F. Storm. |
| 6 | Copyright (C) 1999-2025 Free Software Foundation, Inc. | 6 | Copyright (C) 1999-2026 Free Software Foundation, Inc. |
| 7 | License: GNU General Public License version 3 or later (see COPYING) | 7 | License: GNU General Public License version 3 or later (see COPYING) |
diff --git a/etc/images/smilies/grayscale/README b/etc/images/smilies/grayscale/README index e768d9c3ae7..c8355a63085 100644 --- a/etc/images/smilies/grayscale/README +++ b/etc/images/smilies/grayscale/README | |||
| @@ -3,5 +3,5 @@ Files: blink.xpm braindamaged.xpm cry.xpm dead.xpm evil.xpm forced.xpm | |||
| 3 | frown.xpm grin.xpm indifferent.xpm reverse-smile.xpm sad.xpm | 3 | frown.xpm grin.xpm indifferent.xpm reverse-smile.xpm sad.xpm |
| 4 | smile.xpm wry.xpm | 4 | smile.xpm wry.xpm |
| 5 | Author: Adam Sjøgren | 5 | Author: Adam Sjøgren |
| 6 | Copyright (C) 2007-2025 Free Software Foundation, Inc. | 6 | Copyright (C) 2007-2026 Free Software Foundation, Inc. |
| 7 | License: GNU General Public License version 3 or later (see COPYING) | 7 | License: GNU General Public License version 3 or later (see COPYING) |
diff --git a/etc/images/smilies/medium/README b/etc/images/smilies/medium/README index e768d9c3ae7..c8355a63085 100644 --- a/etc/images/smilies/medium/README +++ b/etc/images/smilies/medium/README | |||
| @@ -3,5 +3,5 @@ Files: blink.xpm braindamaged.xpm cry.xpm dead.xpm evil.xpm forced.xpm | |||
| 3 | frown.xpm grin.xpm indifferent.xpm reverse-smile.xpm sad.xpm | 3 | frown.xpm grin.xpm indifferent.xpm reverse-smile.xpm sad.xpm |
| 4 | smile.xpm wry.xpm | 4 | smile.xpm wry.xpm |
| 5 | Author: Adam Sjøgren | 5 | Author: Adam Sjøgren |
| 6 | Copyright (C) 2007-2025 Free Software Foundation, Inc. | 6 | Copyright (C) 2007-2026 Free Software Foundation, Inc. |
| 7 | License: GNU General Public License version 3 or later (see COPYING) | 7 | License: GNU General Public License version 3 or later (see COPYING) |
diff --git a/etc/images/splash.svg b/etc/images/splash.svg index 4305bce95e1..b0c4497a58c 100644 --- a/etc/images/splash.svg +++ b/etc/images/splash.svg | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| 2 | <!-- Gnu Emacs Logo | 2 | <!-- Gnu Emacs Logo |
| 3 | 3 | ||
| 4 | Copyright (C) 2008-2025 Free Software Foundation, Inc. | 4 | Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | Author: Francesc Rocher <francesc.rocher@gmail.com> | 6 | Author: Francesc Rocher <francesc.rocher@gmail.com> |
| 7 | Based on the original work by Luis Fernandes <elf@ee.ryerson.ca> | 7 | Based on the original work by Luis Fernandes <elf@ee.ryerson.ca> |
diff --git a/etc/images/symbols/README b/etc/images/symbols/README index bcce6fc1f98..ca2b562549c 100644 --- a/etc/images/symbols/README +++ b/etc/images/symbols/README | |||
| @@ -4,7 +4,7 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES | |||
| 4 | 4 | ||
| 5 | Files: *.svg | 5 | Files: *.svg |
| 6 | Author: Yuan Fu <casouri@gmail.com> | 6 | Author: Yuan Fu <casouri@gmail.com> |
| 7 | Copyright (C) 2023-2025 Free Software Foundation, Inc. | 7 | Copyright (C) 2023-2026 Free Software Foundation, Inc. |
| 8 | License: GNU General Public License version 3 or later (see COPYING) | 8 | License: GNU General Public License version 3 or later (see COPYING) |
| 9 | 9 | ||
| 10 | How I made these icons: I made them with Figma, and exported them into | 10 | How I made these icons: I made them with Figma, and exported them into |
| @@ -44,7 +44,7 @@ Emacsen that cannot display SVG images. | |||
| 44 | 44 | ||
| 45 | 45 | ||
| 46 | 46 | ||
| 47 | The behaviour described above for setting the foreground color to match | 47 | The behavior described above for setting the foreground color to match |
| 48 | the text has changed. It must now be set to `currentcolor', so the | 48 | the text has changed. It must now be set to `currentcolor', so the |
| 49 | above sed commands are now: | 49 | above sed commands are now: |
| 50 | 50 | ||
diff --git a/etc/images/tabs/README b/etc/images/tabs/README index 2a68577951f..020939a9dbd 100644 --- a/etc/images/tabs/README +++ b/etc/images/tabs/README | |||
| @@ -8,5 +8,5 @@ Author: Juri Linkov <juri@linkov.net> | |||
| 8 | Files: close-modified.xpm | 8 | Files: close-modified.xpm |
| 9 | Author: Elías Gabriel Pérez <eg642616@gmail.com> | 9 | Author: Elías Gabriel Pérez <eg642616@gmail.com> |
| 10 | 10 | ||
| 11 | Copyright (C) 2019-2025 Free Software Foundation, Inc. | 11 | Copyright (C) 2019-2026 Free Software Foundation, Inc. |
| 12 | License: GNU General Public License version 3 or later (see COPYING) | 12 | License: GNU General Public License version 3 or later (see COPYING) |
diff --git a/etc/images/tree-widget/default/README b/etc/images/tree-widget/default/README index 732377bd001..c67db3ea751 100644 --- a/etc/images/tree-widget/default/README +++ b/etc/images/tree-widget/default/README | |||
| @@ -5,5 +5,5 @@ Files: close.png close.xpm empty.png empty.xpm end-guide.png end-guide.xpm | |||
| 5 | no-guide.png no-guide.xpm no-handle.png no-handle.xpm open.png | 5 | no-guide.png no-guide.xpm no-handle.png no-handle.xpm open.png |
| 6 | open.xpm | 6 | open.xpm |
| 7 | Author: David Ponce <david.ponce@wanadoo.fr> | 7 | Author: David Ponce <david.ponce@wanadoo.fr> |
| 8 | Copyright (C) 2004-2025 Free Software Foundation, Inc. | 8 | Copyright (C) 2004-2026 Free Software Foundation, Inc. |
| 9 | License: GNU General Public License version 3 or later (see COPYING) | 9 | License: GNU General Public License version 3 or later (see COPYING) |
diff --git a/etc/images/tree-widget/folder/README b/etc/images/tree-widget/folder/README index c5f0b77b050..3da44c86aff 100644 --- a/etc/images/tree-widget/folder/README +++ b/etc/images/tree-widget/folder/README | |||
| @@ -5,5 +5,5 @@ Files: close.png close.xpm empty.png empty.xpm end-guide.png | |||
| 5 | leaf.png leaf.xpm no-guide.png no-guide.xpm no-handle.png | 5 | leaf.png leaf.xpm no-guide.png no-guide.xpm no-handle.png |
| 6 | no-handle.xpm open.png open.xpm | 6 | no-handle.xpm open.png open.xpm |
| 7 | Author: David Ponce <david.ponce@wanadoo.fr> | 7 | Author: David Ponce <david.ponce@wanadoo.fr> |
| 8 | Copyright (C) 2004-2025 Free Software Foundation, Inc. | 8 | Copyright (C) 2004-2026 Free Software Foundation, Inc. |
| 9 | License: GNU General Public License version 3 or later (see COPYING) | 9 | License: GNU General Public License version 3 or later (see COPYING) |
diff --git a/etc/org.gnu.emacs.defaults.gschema.xml b/etc/org.gnu.emacs.defaults.gschema.xml index ba7f346413e..b3e7248ce84 100644 --- a/etc/org.gnu.emacs.defaults.gschema.xml +++ b/etc/org.gnu.emacs.defaults.gschema.xml | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <!-- Copyright (C) 2019-2020, 2022-2025 Free Software Foundation, Inc. --> | 2 | <!-- Copyright (C) 2019-2020, 2022-2026 Free Software Foundation, Inc. --> |
| 3 | <schemalist> | 3 | <schemalist> |
| 4 | 4 | ||
| 5 | <schema id="org.gnu.emacs.defaults"> | 5 | <schema id="org.gnu.emacs.defaults"> |
diff --git a/etc/org/README b/etc/org/README index 685396e50a5..af2160bf9d9 100644 --- a/etc/org/README +++ b/etc/org/README | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | The files OrgOdtContentTemplate.xml and OrgOdtStyles.xml have the | 1 | The files OrgOdtContentTemplate.xml and OrgOdtStyles.xml have the |
| 2 | following copyright information: | 2 | following copyright information: |
| 3 | 3 | ||
| 4 | Copyright (C) 2010-2025 Free Software Foundation, Inc. | 4 | Copyright (C) 2010-2026 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | These files are part of GNU Emacs. | 6 | These files are part of GNU Emacs. |
| 7 | 7 | ||
diff --git a/etc/ps-prin0.ps b/etc/ps-prin0.ps index 35540d8c1df..c984bd4d0d6 100644 --- a/etc/ps-prin0.ps +++ b/etc/ps-prin0.ps | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | % === BEGIN ps-print prologue 0 | 1 | % === BEGIN ps-print prologue 0 |
| 2 | % version: 6.0 | 2 | % version: 6.0 |
| 3 | 3 | ||
| 4 | % Copyright (C) 2000-2025 Free Software Foundation, Inc. | 4 | % Copyright (C) 2000-2026 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | % This file is part of GNU Emacs. | 6 | % This file is part of GNU Emacs. |
| 7 | 7 | ||
diff --git a/etc/ps-prin1.ps b/etc/ps-prin1.ps index d4476cc01fd..802da716b28 100644 --- a/etc/ps-prin1.ps +++ b/etc/ps-prin1.ps | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | % === BEGIN ps-print prologue 1 | 1 | % === BEGIN ps-print prologue 1 |
| 2 | % version: 6.1 | 2 | % version: 6.1 |
| 3 | 3 | ||
| 4 | % Copyright (C) 2000-2025 Free Software Foundation, Inc. | 4 | % Copyright (C) 2000-2026 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | % This file is part of GNU Emacs. | 6 | % This file is part of GNU Emacs. |
| 7 | 7 | ||
diff --git a/etc/refcards/Makefile b/etc/refcards/Makefile index 727ed18e2e3..3cc1c9d7a7c 100644 --- a/etc/refcards/Makefile +++ b/etc/refcards/Makefile | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ### Makefile for Emacs refcards | 1 | ### Makefile for Emacs refcards |
| 2 | 2 | ||
| 3 | ## Copyright (C) 1993-1994, 2001-2025 Free Software Foundation, Inc. | 3 | ## Copyright (C) 1993-1994, 2001-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ## This file is part of GNU Emacs. | 5 | ## This file is part of GNU Emacs. |
| 6 | # | 6 | # |
diff --git a/etc/refcards/README b/etc/refcards/README index d344f82d3a4..9836961def6 100644 --- a/etc/refcards/README +++ b/etc/refcards/README | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | Copyright (C) 2013-2025 Free Software Foundation, Inc. | 1 | Copyright (C) 2013-2026 Free Software Foundation, Inc. |
| 2 | See the end of the file for license conditions. | 2 | See the end of the file for license conditions. |
| 3 | 3 | ||
| 4 | 4 | ||
| @@ -82,7 +82,7 @@ it is reproduced here for convenience. | |||
| 82 | 82 | ||
| 83 | File: gnus-logo.eps, gnus-logo.pdf | 83 | File: gnus-logo.eps, gnus-logo.pdf |
| 84 | Author: Luis Fernandes <elf@ee.ryerson.ca> | 84 | Author: Luis Fernandes <elf@ee.ryerson.ca> |
| 85 | Copyright (C) 2013-2025 Free Software Foundation, Inc. | 85 | Copyright (C) 2013-2026 Free Software Foundation, Inc. |
| 86 | License: GNU General Public License version 3 or later (see COPYING) | 86 | License: GNU General Public License version 3 or later (see COPYING) |
| 87 | 87 | ||
| 88 | 88 | ||
diff --git a/etc/refcards/calccard.tex b/etc/refcards/calccard.tex index aeaaddb7ae5..71e54229c39 100644 --- a/etc/refcards/calccard.tex +++ b/etc/refcards/calccard.tex | |||
| @@ -20,7 +20,7 @@ | |||
| 20 | % Typical command to format: tex calccard.tex | 20 | % Typical command to format: tex calccard.tex |
| 21 | % Typical command to print (3 cols): dvips -t landscape calccard.dvi | 21 | % Typical command to print (3 cols): dvips -t landscape calccard.dvi |
| 22 | 22 | ||
| 23 | % Copyright (C) 1987, 1992, 2001--2025 Free Software Foundation, Inc. | 23 | % Copyright (C) 1987, 1992, 2001--2026 Free Software Foundation, Inc. |
| 24 | 24 | ||
| 25 | % This document is free software: you can redistribute it and/or modify | 25 | % This document is free software: you can redistribute it and/or modify |
| 26 | % it under the terms of the GNU General Public License as published by | 26 | % it under the terms of the GNU General Public License as published by |
diff --git a/etc/refcards/cs-dired-ref.tex b/etc/refcards/cs-dired-ref.tex index 92d355afd91..1d1e41a8b75 100644 --- a/etc/refcards/cs-dired-ref.tex +++ b/etc/refcards/cs-dired-ref.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for Dired -*- coding: utf-8 -*- | 1 | % Reference Card for Dired -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | % Copyright (C) 2000--2025 Free Software Foundation, Inc. | 3 | % Copyright (C) 2000--2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu> | 5 | % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu> |
| 6 | % Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001 | 6 | % Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001 |
diff --git a/etc/refcards/cs-refcard.tex b/etc/refcards/cs-refcard.tex index 3eee9ff37ea..764f490a540 100644 --- a/etc/refcards/cs-refcard.tex +++ b/etc/refcards/cs-refcard.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for GNU Emacs -*- coding: utf-8 -*- | 1 | % Reference Card for GNU Emacs -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | % Copyright (C) 1987, 1993, 1996--1997, 2001--2025 Free Software | 3 | % Copyright (C) 1987, 1993, 1996--1997, 2001--2026 Free Software |
| 4 | % Foundation, Inc. | 4 | % Foundation, Inc. |
| 5 | 5 | ||
| 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> | 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> |
diff --git a/etc/refcards/cs-survival.tex b/etc/refcards/cs-survival.tex index f8fe0fd3305..6d41b5d3d84 100644 --- a/etc/refcards/cs-survival.tex +++ b/etc/refcards/cs-survival.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Title: GNU Emacs Survival Card -*- coding: utf-8 -*- | 1 | % Title: GNU Emacs Survival Card -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | % Copyright (C) 2000--2025 Free Software Foundation, Inc. | 3 | % Copyright (C) 2000--2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | % Author: Włodek Bzyl <matwb@univ.gda.pl> | 5 | % Author: Włodek Bzyl <matwb@univ.gda.pl> |
| 6 | % Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001 | 6 | % Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001 |
diff --git a/etc/refcards/de-refcard.tex b/etc/refcards/de-refcard.tex index 4ab3c474d7e..b640977aebb 100644 --- a/etc/refcards/de-refcard.tex +++ b/etc/refcards/de-refcard.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for GNU Emacs | 1 | % Reference Card for GNU Emacs |
| 2 | 2 | ||
| 3 | % Copyright (C) 1987, 1993, 1996, 2000--2025 Free Software Foundation, | 3 | % Copyright (C) 1987, 1993, 1996, 2000--2026 Free Software Foundation, |
| 4 | % Inc. | 4 | % Inc. |
| 5 | 5 | ||
| 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> | 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> |
diff --git a/etc/refcards/dired-ref.tex b/etc/refcards/dired-ref.tex index df65c2a5734..97ac0e36f7e 100644 --- a/etc/refcards/dired-ref.tex +++ b/etc/refcards/dired-ref.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for Dired | 1 | % Reference Card for Dired |
| 2 | 2 | ||
| 3 | % Copyright (C) 2000--2025 Free Software Foundation, Inc. | 3 | % Copyright (C) 2000--2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu> | 5 | % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu> |
| 6 | 6 | ||
diff --git a/etc/refcards/emacsver.tex.in b/etc/refcards/emacsver.tex.in index b1061e09c4a..3d09588c782 100644 --- a/etc/refcards/emacsver.tex.in +++ b/etc/refcards/emacsver.tex.in | |||
| @@ -2,4 +2,4 @@ | |||
| 2 | \def\versionemacs{@majorversion@} % major version of emacs | 2 | \def\versionemacs{@majorversion@} % major version of emacs |
| 3 | %% This one should not be automatically updated; | 3 | %% This one should not be automatically updated; |
| 4 | %% M-x set-copyright in admin.el handles it. | 4 | %% M-x set-copyright in admin.el handles it. |
| 5 | \def\year{2025} % latest copyright year | 5 | \def\year{2026} % latest copyright year |
diff --git a/etc/refcards/es-dired-ref.tex b/etc/refcards/es-dired-ref.tex index d8a065d4692..db02349336e 100644 --- a/etc/refcards/es-dired-ref.tex +++ b/etc/refcards/es-dired-ref.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for Dired | 1 | % Reference Card for Dired |
| 2 | 2 | ||
| 3 | % Copyright (C) 2025 Free Software Foundation, Inc. | 3 | % Copyright (C) 2025--2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu> | 5 | % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu> |
| 6 | % Spanish translation: Elias Gabriel Perez <eg642616@gmail.com> | 6 | % Spanish translation: Elias Gabriel Perez <eg642616@gmail.com> |
diff --git a/etc/refcards/es-refcard.tex b/etc/refcards/es-refcard.tex index 22343fe1aeb..b742a7fbd98 100644 --- a/etc/refcards/es-refcard.tex +++ b/etc/refcards/es-refcard.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for GNU Emacs | 1 | % Reference Card for GNU Emacs |
| 2 | 2 | ||
| 3 | % Copyright (C) 2025 Free Software Foundation, Inc. | 3 | % Copyright (C) 2025--2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> | 5 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> |
| 6 | % Spanish translation: Elias Gabriel Perez <eg642616@gmail.com> | 6 | % Spanish translation: Elias Gabriel Perez <eg642616@gmail.com> |
diff --git a/etc/refcards/es-survival.tex b/etc/refcards/es-survival.tex index f0e64717fc4..de5cad7b6a3 100644 --- a/etc/refcards/es-survival.tex +++ b/etc/refcards/es-survival.tex | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | %&tex | 1 | %&tex |
| 2 | % Title: GNU Emacs Survival Card | 2 | % Title: GNU Emacs Survival Card |
| 3 | 3 | ||
| 4 | % Copyright (C) 2025 Free Software Foundation, Inc. | 4 | % Copyright (C) 2025--2026 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | % Author: Włodek Bzyl <matwb@univ.gda.pl> | 6 | % Author: Włodek Bzyl <matwb@univ.gda.pl> |
| 7 | % Spanish translation: Elias Gabriel Perez <eg642616@gmail.com> | 7 | % Spanish translation: Elias Gabriel Perez <eg642616@gmail.com> |
diff --git a/etc/refcards/fr-dired-ref.tex b/etc/refcards/fr-dired-ref.tex index 81e1c94e484..412a469b3c3 100644 --- a/etc/refcards/fr-dired-ref.tex +++ b/etc/refcards/fr-dired-ref.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for Dired -*- coding: utf-8 -*- | 1 | % Reference Card for Dired -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | % Copyright (C) 2000--2025 Free Software Foundation, Inc. | 3 | % Copyright (C) 2000--2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu> | 5 | % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu> |
| 6 | % French translation: Eric Jacoboni | 6 | % French translation: Eric Jacoboni |
diff --git a/etc/refcards/fr-refcard.tex b/etc/refcards/fr-refcard.tex index fc9622d2927..4079a84a9bf 100644 --- a/etc/refcards/fr-refcard.tex +++ b/etc/refcards/fr-refcard.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for GNU Emacs | 1 | % Reference Card for GNU Emacs |
| 2 | 2 | ||
| 3 | % Copyright (C) 1987, 1993, 1996--1997, 2001--2025 Free Software | 3 | % Copyright (C) 1987, 1993, 1996--1997, 2001--2026 Free Software |
| 4 | % Foundation, Inc. | 4 | % Foundation, Inc. |
| 5 | 5 | ||
| 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> | 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> |
diff --git a/etc/refcards/fr-survival.tex b/etc/refcards/fr-survival.tex index 7de6d6f7611..d8bcef58d6f 100644 --- a/etc/refcards/fr-survival.tex +++ b/etc/refcards/fr-survival.tex | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | %&tex | 1 | %&tex |
| 2 | % Title: GNU Emacs Survival Card | 2 | % Title: GNU Emacs Survival Card |
| 3 | 3 | ||
| 4 | % Copyright (C) 2000--2025 Free Software Foundation, Inc. | 4 | % Copyright (C) 2000--2026 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | % Author: Włodek Bzyl <matwb@univ.gda.pl> | 6 | % Author: Włodek Bzyl <matwb@univ.gda.pl> |
| 7 | % French translation: \'Eric Jacoboni <jaco@teaser.fr>, November 2001 | 7 | % French translation: \'Eric Jacoboni <jaco@teaser.fr>, November 2001 |
diff --git a/etc/refcards/gnus-logo.eps b/etc/refcards/gnus-logo.eps index 98ff7f93c6f..12c32ae05c7 100644 --- a/etc/refcards/gnus-logo.eps +++ b/etc/refcards/gnus-logo.eps | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | %!PS-Adobe-2.0 EPSF-2.0 | 1 | %!PS-Adobe-2.0 EPSF-2.0 |
| 2 | % Copyright (C) 2000-2025 Free Software Foundation, Inc. | 2 | % Copyright (C) 2000-2026 Free Software Foundation, Inc. |
| 3 | % | 3 | % |
| 4 | % Author: Luis Fernandes <elf@ee.ryerson.ca> | 4 | % Author: Luis Fernandes <elf@ee.ryerson.ca> |
| 5 | % | 5 | % |
diff --git a/etc/refcards/gnus-refcard.tex b/etc/refcards/gnus-refcard.tex index b798296036d..705c342d934 100644 --- a/etc/refcards/gnus-refcard.tex +++ b/etc/refcards/gnus-refcard.tex | |||
| @@ -120,7 +120,7 @@ | |||
| 120 | %% Gnus logo by Luis Fernandes. | 120 | %% Gnus logo by Luis Fernandes. |
| 121 | \newcommand{\Copyright}{% | 121 | \newcommand{\Copyright}{% |
| 122 | \begin{center} | 122 | \begin{center} |
| 123 | Copyright \copyright\ 1995, 2000, 2002--2025 Free Software Foundation, Inc.\\* | 123 | Copyright \copyright\ 1995, 2000, 2002--2026 Free Software Foundation, Inc.\\* |
| 124 | \end{center} | 124 | \end{center} |
| 125 | 125 | ||
| 126 | Released under the terms of the GNU General Public License version 3 or later. | 126 | Released under the terms of the GNU General Public License version 3 or later. |
diff --git a/etc/refcards/orgcard.tex b/etc/refcards/orgcard.tex index 9b3bdddc103..69f67100541 100644 --- a/etc/refcards/orgcard.tex +++ b/etc/refcards/orgcard.tex | |||
| @@ -21,7 +21,7 @@ | |||
| 21 | \pdflayout=(1l) | 21 | \pdflayout=(1l) |
| 22 | 22 | ||
| 23 | % Nothing else needs to be changed below this line. | 23 | % Nothing else needs to be changed below this line. |
| 24 | % Copyright (C) 1987, 1993, 1996--1997, 2001--2025 Free Software | 24 | % Copyright (C) 1987, 1993, 1996--1997, 2001--2026 Free Software |
| 25 | % Foundation, Inc. | 25 | % Foundation, Inc. |
| 26 | 26 | ||
| 27 | % This document is free software: you can redistribute it and/or modify | 27 | % This document is free software: you can redistribute it and/or modify |
diff --git a/etc/refcards/pdflayout.sty b/etc/refcards/pdflayout.sty index 20e0afe4c31..6b8acf79b1e 100644 --- a/etc/refcards/pdflayout.sty +++ b/etc/refcards/pdflayout.sty | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | % Copyright (C) 2007-2025 Free Software Foundation, Inc. | 1 | % Copyright (C) 2007-2026 Free Software Foundation, Inc. |
| 2 | 2 | ||
| 3 | % This file is part of GNU Emacs. | 3 | % This file is part of GNU Emacs. |
| 4 | 4 | ||
diff --git a/etc/refcards/pl-refcard.tex b/etc/refcards/pl-refcard.tex index af4acf7dd33..f06b5d07f3c 100644 --- a/etc/refcards/pl-refcard.tex +++ b/etc/refcards/pl-refcard.tex | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | %&mex | 1 | %&mex |
| 2 | % Reference Card for GNU Emacs | 2 | % Reference Card for GNU Emacs |
| 3 | 3 | ||
| 4 | % Copyright (C) 1999, 2001--2025 Free Software Foundation, Inc. | 4 | % Copyright (C) 1999, 2001--2026 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> | 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> |
| 7 | % Polish translation: Włodek Bzyl <matwb@univ.gda.pl> | 7 | % Polish translation: Włodek Bzyl <matwb@univ.gda.pl> |
diff --git a/etc/refcards/pt-br-refcard.tex b/etc/refcards/pt-br-refcard.tex index 4e67652cfbf..97e57d08c23 100644 --- a/etc/refcards/pt-br-refcard.tex +++ b/etc/refcards/pt-br-refcard.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for GNU Emacs | 1 | % Reference Card for GNU Emacs |
| 2 | 2 | ||
| 3 | % Copyright (C) 1987, 1993, 1996--1997, 2002--2004, 2006--2025 Free | 3 | % Copyright (C) 1987, 1993, 1996--1997, 2002--2004, 2006--2026 Free |
| 4 | % Software Foundation, Inc. | 4 | % Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> | 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> |
diff --git a/etc/refcards/refcard.tex b/etc/refcards/refcard.tex index 20d545271c5..84dab82b967 100644 --- a/etc/refcards/refcard.tex +++ b/etc/refcards/refcard.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for GNU Emacs | 1 | % Reference Card for GNU Emacs |
| 2 | 2 | ||
| 3 | % Copyright (C) 1987, 1993, 1996--1997, 2001--2025 Free Software | 3 | % Copyright (C) 1987, 1993, 1996--1997, 2001--2026 Free Software |
| 4 | % Foundation, Inc. | 4 | % Foundation, Inc. |
| 5 | 5 | ||
| 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> | 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> |
diff --git a/etc/refcards/ru-refcard.tex b/etc/refcards/ru-refcard.tex index 58a81677e03..53fa116722e 100644 --- a/etc/refcards/ru-refcard.tex +++ b/etc/refcards/ru-refcard.tex | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | % Copyright (C) 1997, 2002--2025 Free Software Foundation, Inc. | 1 | % Copyright (C) 1997, 2002--2026 Free Software Foundation, Inc. |
| 2 | 2 | ||
| 3 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> | 3 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> |
| 4 | % Russian translation: Alex Ott <alexott@gmail.com> | 4 | % Russian translation: Alex Ott <alexott@gmail.com> |
| @@ -41,7 +41,7 @@ | |||
| 41 | \setlength{\ColThreeWidth}{25mm} | 41 | \setlength{\ColThreeWidth}{25mm} |
| 42 | 42 | ||
| 43 | \newcommand{\versionemacs}[0]{31} % version of Emacs this is for | 43 | \newcommand{\versionemacs}[0]{31} % version of Emacs this is for |
| 44 | \newcommand{\cyear}[0]{2024} % copyright year | 44 | \newcommand{\cyear}[0]{2026} % copyright year |
| 45 | 45 | ||
| 46 | \newcommand\shortcopyrightnotice[0]{\vskip 1ex plus 2 fill | 46 | \newcommand\shortcopyrightnotice[0]{\vskip 1ex plus 2 fill |
| 47 | \centerline{\footnotesize \copyright\ \cyear\ Free Software Foundation, Inc. | 47 | \centerline{\footnotesize \copyright\ \cyear\ Free Software Foundation, Inc. |
diff --git a/etc/refcards/sk-dired-ref.tex b/etc/refcards/sk-dired-ref.tex index 80457560617..545da04475e 100644 --- a/etc/refcards/sk-dired-ref.tex +++ b/etc/refcards/sk-dired-ref.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for Dired -*- coding: utf-8 -*- | 1 | % Reference Card for Dired -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | % Copyright (C) 2000--2025 Free Software Foundation, Inc. | 3 | % Copyright (C) 2000--2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu> | 5 | % Author: Evgeny Roubinchtein <eroubinc@u.washington.edu> |
| 6 | % Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001 | 6 | % Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001 |
diff --git a/etc/refcards/sk-refcard.tex b/etc/refcards/sk-refcard.tex index e37784be17b..f250e5331bd 100644 --- a/etc/refcards/sk-refcard.tex +++ b/etc/refcards/sk-refcard.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Reference Card for GNU Emacs -*- coding: utf-8 -*- | 1 | % Reference Card for GNU Emacs -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | % Copyright (C) 1987, 1993, 1996--1997, 2001--2025 Free Software | 3 | % Copyright (C) 1987, 1993, 1996--1997, 2001--2026 Free Software |
| 4 | % Foundation, Inc. | 4 | % Foundation, Inc. |
| 5 | 5 | ||
| 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> | 6 | % Author: Stephen Gildea <stepheng+emacs@gildea.com> |
diff --git a/etc/refcards/sk-survival.tex b/etc/refcards/sk-survival.tex index 889da9667bf..cf6eeb0fb63 100644 --- a/etc/refcards/sk-survival.tex +++ b/etc/refcards/sk-survival.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % Title: GNU Emacs Survival Card -*- coding: utf-8 -*- | 1 | % Title: GNU Emacs Survival Card -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | % Copyright (C) 2000--2025 Free Software Foundation, Inc. | 3 | % Copyright (C) 2000--2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | % Author: Włodek Bzyl <matwb@univ.gda.pl> | 5 | % Author: Włodek Bzyl <matwb@univ.gda.pl> |
| 6 | % Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001 | 6 | % Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001 |
diff --git a/etc/refcards/survival.tex b/etc/refcards/survival.tex index 6f13bdbe374..bc90b4b3ce5 100644 --- a/etc/refcards/survival.tex +++ b/etc/refcards/survival.tex | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | %&tex | 1 | %&tex |
| 2 | % Title: GNU Emacs Survival Card | 2 | % Title: GNU Emacs Survival Card |
| 3 | 3 | ||
| 4 | % Copyright (C) 2000--2025 Free Software Foundation, Inc. | 4 | % Copyright (C) 2000--2026 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | % Author: Włodek Bzyl <matwb@univ.gda.pl> | 6 | % Author: Włodek Bzyl <matwb@univ.gda.pl> |
| 7 | 7 | ||
diff --git a/etc/refcards/viperCard.tex b/etc/refcards/viperCard.tex index 81681791c24..4759ed92d02 100644 --- a/etc/refcards/viperCard.tex +++ b/etc/refcards/viperCard.tex | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | % ViperCard -- The Reference Card for Viper under GNU Emacs | 1 | % ViperCard -- The Reference Card for Viper under GNU Emacs |
| 2 | 2 | ||
| 3 | % Copyright (C) 1995--1997, 2001--2025 Free Software Foundation, Inc. | 3 | % Copyright (C) 1995--1997, 2001--2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | % Author: Michael Kifer <kifer@cs.stonybrook.edu> (Viper) | 5 | % Author: Michael Kifer <kifer@cs.stonybrook.edu> (Viper) |
| 6 | % Aamod Sane <sane@cs.uiuc.edu> (VIP 4.3) | 6 | % Aamod Sane <sane@cs.uiuc.edu> (VIP 4.3) |
diff --git a/etc/schema/locate.rnc b/etc/schema/locate.rnc index 56f68436afd..04a1873a3da 100644 --- a/etc/schema/locate.rnc +++ b/etc/schema/locate.rnc | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # Copyright (C) 2003-2004, 2007-2025 Free Software Foundation, Inc. | 1 | # Copyright (C) 2003-2004, 2007-2026 Free Software Foundation, Inc. |
| 2 | 2 | ||
| 3 | # This file is part of GNU Emacs. | 3 | # This file is part of GNU Emacs. |
| 4 | 4 | ||
diff --git a/etc/schema/relaxng.rnc b/etc/schema/relaxng.rnc index ecc8d40a221..a9b8a381060 100644 --- a/etc/schema/relaxng.rnc +++ b/etc/schema/relaxng.rnc | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # RELAX NG XML syntax expressed in RELAX NG Compact syntax. | 1 | # RELAX NG XML syntax expressed in RELAX NG Compact syntax. |
| 2 | 2 | ||
| 3 | # Copyright (C) 2003-2004, 2007-2025 Free Software Foundation, Inc. | 3 | # Copyright (C) 2003-2004, 2007-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | # This file is part of GNU Emacs. | 5 | # This file is part of GNU Emacs. |
| 6 | 6 | ||
diff --git a/etc/schema/schemas.xml b/etc/schema/schemas.xml index 6701b9b56a6..b245d87cc0a 100644 --- a/etc/schema/schemas.xml +++ b/etc/schema/schemas.xml | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | <?xml version="1.0"?> | 1 | <?xml version="1.0"?> |
| 2 | <!-- Copyright (C) 2003-2004, 2007-2025 Free Software Foundation, Inc. | 2 | <!-- Copyright (C) 2003-2004, 2007-2026 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is part of GNU Emacs. | 4 | This file is part of GNU Emacs. |
| 5 | 5 | ||
diff --git a/etc/ses-example.ses b/etc/ses-example.ses index d15bd0cb9fb..fcb6df1cddd 100644 --- a/etc/ses-example.ses +++ b/etc/ses-example.ses | |||
| @@ -205,7 +205,7 @@ Sales summary - Acme fundraising | |||
| 205 | ;;; ses--symbolic-formulas: (("Eastern area") ("West-district") ("North&South") ("Other")) | 205 | ;;; ses--symbolic-formulas: (("Eastern area") ("West-district") ("North&South") ("Other")) |
| 206 | ;;; End: | 206 | ;;; End: |
| 207 | 207 | ||
| 208 | ;;; Copyright (C) 2002-2025 Free Software Foundation, Inc. | 208 | ;;; Copyright (C) 2002-2026 Free Software Foundation, Inc. |
| 209 | 209 | ||
| 210 | ;;; COPYING PERMISSIONS: | 210 | ;;; COPYING PERMISSIONS: |
| 211 | ;;; | 211 | ;;; |
diff --git a/etc/srecode/c.srt b/etc/srecode/c.srt index 68d66286958..dabe626f29b 100644 --- a/etc/srecode/c.srt +++ b/etc/srecode/c.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; c.srt --- SRecode templates for c-mode | 1 | ;;; c.srt --- SRecode templates for c-mode |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2007-2010, 2012-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2007-2010, 2012-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/cpp.srt b/etc/srecode/cpp.srt index 73b16256236..8705479a387 100644 --- a/etc/srecode/cpp.srt +++ b/etc/srecode/cpp.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; cpp.srt --- SRecode templates for c++-mode | 1 | ;;; cpp.srt --- SRecode templates for c++-mode |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2007-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2007-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/default.srt b/etc/srecode/default.srt index 9400e4bc71a..e84bdbec904 100644 --- a/etc/srecode/default.srt +++ b/etc/srecode/default.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; default.srt --- SRecode templates for srecode-template-mode | 1 | ;;; default.srt --- SRecode templates for srecode-template-mode |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2007-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2007-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/doc-cpp.srt b/etc/srecode/doc-cpp.srt index a11f2de44ab..5646e6cf1bc 100644 --- a/etc/srecode/doc-cpp.srt +++ b/etc/srecode/doc-cpp.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;; doc-c.srt --- SRecode templates for "document" applications | 1 | ;; doc-c.srt --- SRecode templates for "document" applications |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2008-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/doc-default.srt b/etc/srecode/doc-default.srt index 611089171d3..617d04af50b 100644 --- a/etc/srecode/doc-default.srt +++ b/etc/srecode/doc-default.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;; doc-default.srt --- SRecode templates for "document" applications | 1 | ;; doc-default.srt --- SRecode templates for "document" applications |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2009-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2009-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/doc-java.srt b/etc/srecode/doc-java.srt index a53ae3f0a43..89540e9668a 100644 --- a/etc/srecode/doc-java.srt +++ b/etc/srecode/doc-java.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;; doc-java.srt --- SRecode templates for "document" applications | 1 | ;; doc-java.srt --- SRecode templates for "document" applications |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2009-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2009-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/ede-autoconf.srt b/etc/srecode/ede-autoconf.srt index e254178e3cc..0e37af1b594 100644 --- a/etc/srecode/ede-autoconf.srt +++ b/etc/srecode/ede-autoconf.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; ede/templates/autoconf.srt --- Templates for autoconf used by EDE | 1 | ;;; ede/templates/autoconf.srt --- Templates for autoconf used by EDE |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2010, 2012-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2010, 2012-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/ede-make.srt b/etc/srecode/ede-make.srt index 25da8226f34..0b4058d73dd 100644 --- a/etc/srecode/ede-make.srt +++ b/etc/srecode/ede-make.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;; ede-make.srt --- SRecode templates for Makefiles used by EDE. | 1 | ;; ede-make.srt --- SRecode templates for Makefiles used by EDE. |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2008-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/el.srt b/etc/srecode/el.srt index c91f2783f73..56a971d3169 100644 --- a/etc/srecode/el.srt +++ b/etc/srecode/el.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; el.srt --- SRecode templates for Emacs Lisp mode | 1 | ;;; el.srt --- SRecode templates for Emacs Lisp mode |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2007-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2007-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/getset-cpp.srt b/etc/srecode/getset-cpp.srt index d1c2cd553b0..18f20a3af52 100644 --- a/etc/srecode/getset-cpp.srt +++ b/etc/srecode/getset-cpp.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; getset-cpp.srt --- SRecode templates for C++ class getter/setters. | 1 | ;;; getset-cpp.srt --- SRecode templates for C++ class getter/setters. |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2007-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2007-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/java.srt b/etc/srecode/java.srt index 1066dc81600..77efa3d8bf6 100644 --- a/etc/srecode/java.srt +++ b/etc/srecode/java.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;; java.srt | 1 | ;; java.srt |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2009-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2009-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/make.srt b/etc/srecode/make.srt index 58acdcf068a..60ffec02a43 100644 --- a/etc/srecode/make.srt +++ b/etc/srecode/make.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;; make.srt | 1 | ;; make.srt |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2009-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2009-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/proj-test.srt b/etc/srecode/proj-test.srt index 6fe2e94fe71..005e27e038b 100644 --- a/etc/srecode/proj-test.srt +++ b/etc/srecode/proj-test.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;; proj-test.srt --- SRecode template for testing project scoping. | 1 | ;; proj-test.srt --- SRecode template for testing project scoping. |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2008-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/template.srt b/etc/srecode/template.srt index 5d3dde995cd..ba24be65334 100644 --- a/etc/srecode/template.srt +++ b/etc/srecode/template.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; template.srt --- Templates for Semantic Recoders | 1 | ;;; template.srt --- Templates for Semantic Recoders |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2005, 2007-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2005, 2007-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/test.srt b/etc/srecode/test.srt index 214906bbffb..13bd588b144 100644 --- a/etc/srecode/test.srt +++ b/etc/srecode/test.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;; test.srt --- SRecode templates for testing | 1 | ;; test.srt --- SRecode templates for testing |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2008-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/texi.srt b/etc/srecode/texi.srt index 2ce4cf04687..05d0aa06a2f 100644 --- a/etc/srecode/texi.srt +++ b/etc/srecode/texi.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;; texi.srt --- SRecode templates for Texinfo | 1 | ;; texi.srt --- SRecode templates for Texinfo |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2008-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2008-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/srecode/wisent.srt b/etc/srecode/wisent.srt index 3e6a4249fbc..f05456da643 100644 --- a/etc/srecode/wisent.srt +++ b/etc/srecode/wisent.srt | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;; wisent.srt --- SRecode templates for Emacs/WISENT grammar files. | 1 | ;; wisent.srt --- SRecode templates for Emacs/WISENT grammar files. |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2007-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2007-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 6 | 6 | ||
diff --git a/etc/symbol-releases.eld b/etc/symbol-releases.eld index 3c666423cc0..225e7d86cff 100644 --- a/etc/symbol-releases.eld +++ b/etc/symbol-releases.eld | |||
| @@ -9,6 +9,8 @@ | |||
| 9 | ;; TYPE being `fun' or `var'. | 9 | ;; TYPE being `fun' or `var'. |
| 10 | 10 | ||
| 11 | ( | 11 | ( |
| 12 | ("31.1" fun any) | ||
| 13 | ("31.1" fun all) | ||
| 12 | ("30.1" fun dired-click-to-select-mode) | 14 | ("30.1" fun dired-click-to-select-mode) |
| 13 | ("30.1" var dired-click-to-select-mode) | 15 | ("30.1" var dired-click-to-select-mode) |
| 14 | ("29.1" fun plistp) | 16 | ("29.1" fun plistp) |
diff --git a/etc/themes/adwaita-theme.el b/etc/themes/adwaita-theme.el index f7e032ee5be..c55ae8041d7 100644 --- a/etc/themes/adwaita-theme.el +++ b/etc/themes/adwaita-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; adwaita-theme.el --- Tango-based custom theme for faces -*- lexical-binding:t -*- | 1 | ;;; adwaita-theme.el --- Tango-based custom theme for faces -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2010-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2010-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: William Stevenson <yhvh2000@gmail.com> | 5 | ;; Author: William Stevenson <yhvh2000@gmail.com> |
| 6 | 6 | ||
diff --git a/etc/themes/deeper-blue-theme.el b/etc/themes/deeper-blue-theme.el index 3e3c81f76e1..ea70b6f9349 100644 --- a/etc/themes/deeper-blue-theme.el +++ b/etc/themes/deeper-blue-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; deeper-blue-theme.el --- Custom theme for faces -*- lexical-binding:t -*- | 1 | ;;; deeper-blue-theme.el --- Custom theme for faces -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2011-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2011-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Scott Frazer <frazer.scott@gmail.com> | 5 | ;; Author: Scott Frazer <frazer.scott@gmail.com> |
| 6 | 6 | ||
diff --git a/etc/themes/dichromacy-theme.el b/etc/themes/dichromacy-theme.el index ee19c86dbe5..849d6926457 100644 --- a/etc/themes/dichromacy-theme.el +++ b/etc/themes/dichromacy-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; dichromacy-theme.el --- color theme suitable for color-blind users -*- lexical-binding:t -*- | 1 | ;;; dichromacy-theme.el --- color theme suitable for color-blind users -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2011-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2011-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Chong Yidong <cyd@stupidchicken> | 5 | ;; Author: Chong Yidong <cyd@stupidchicken> |
| 6 | 6 | ||
diff --git a/etc/themes/leuven-dark-theme.el b/etc/themes/leuven-dark-theme.el index cfcb7224d89..b58a64cb92e 100644 --- a/etc/themes/leuven-dark-theme.el +++ b/etc/themes/leuven-dark-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; leuven-dark-theme.el --- Awesome Emacs color theme on dark background -*- lexical-binding: t; -*- | 1 | ;;; leuven-dark-theme.el --- Awesome Emacs color theme on dark background -*- lexical-binding: t; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2003-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2003-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> | 5 | ;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> |
| 6 | ;; Contributor: Thibault Polge <(concat "thibault" at-sign "thb.lt")> | 6 | ;; Contributor: Thibault Polge <(concat "thibault" at-sign "thb.lt")> |
diff --git a/etc/themes/leuven-theme.el b/etc/themes/leuven-theme.el index 37fbea4e681..29ee9021080 100644 --- a/etc/themes/leuven-theme.el +++ b/etc/themes/leuven-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; leuven-theme.el --- Elegant Emacs color theme for a white background -*- lexical-binding: t -*- | 1 | ;;; leuven-theme.el --- Elegant Emacs color theme for a white background -*- lexical-binding: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2003-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2003-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> | 5 | ;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> |
| 6 | ;; URL: https://github.com/fniessen/emacs-leuven-theme | 6 | ;; URL: https://github.com/fniessen/emacs-leuven-theme |
diff --git a/etc/themes/light-blue-theme.el b/etc/themes/light-blue-theme.el index 1bf92f67191..6143f2a8d94 100644 --- a/etc/themes/light-blue-theme.el +++ b/etc/themes/light-blue-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; light-blue-theme.el --- Custom theme for faces -*- lexical-binding:t -*- | 1 | ;;; light-blue-theme.el --- Custom theme for faces -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2011-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2011-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Drew Adams <drew.adams@oracle.com> | 5 | ;; Author: Drew Adams <drew.adams@oracle.com> |
| 6 | ;; Maintainer: emacs-devel@gnu.org | 6 | ;; Maintainer: emacs-devel@gnu.org |
diff --git a/etc/themes/manoj-dark-theme.el b/etc/themes/manoj-dark-theme.el index 9c6798ab324..b8e9cf6494f 100644 --- a/etc/themes/manoj-dark-theme.el +++ b/etc/themes/manoj-dark-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; manoj-dark-theme.el --- A dark theme from Manoj -*- lexical-binding:t -*- | 1 | ;;; manoj-dark-theme.el --- A dark theme from Manoj -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2011-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2011-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Manoj Srivastava <srivasta@ieee.org> | 5 | ;; Author: Manoj Srivastava <srivasta@ieee.org> |
| 6 | ;; Keywords: lisp, faces | 6 | ;; Keywords: lisp, faces |
diff --git a/etc/themes/misterioso-theme.el b/etc/themes/misterioso-theme.el index 89ff07271cd..716b0c938d4 100644 --- a/etc/themes/misterioso-theme.el +++ b/etc/themes/misterioso-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; misterioso-theme.el --- Custom face theme for Emacs -*- lexical-binding:t -*- | 1 | ;;; misterioso-theme.el --- Custom face theme for Emacs -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2011-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2011-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Sebastian Hermida | 5 | ;; Author: Sebastian Hermida |
| 6 | 6 | ||
diff --git a/etc/themes/modus-operandi-deuteranopia-theme.el b/etc/themes/modus-operandi-deuteranopia-theme.el index 1617b933676..c86649d0c70 100644 --- a/etc/themes/modus-operandi-deuteranopia-theme.el +++ b/etc/themes/modus-operandi-deuteranopia-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; modus-operandi-deuteranopia-theme.el --- Deuteranopia-optimized theme with a white background -*- lexical-binding:t -*- | 1 | ;;; modus-operandi-deuteranopia-theme.el --- Deuteranopia-optimized theme with a white background -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2019-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> | 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> |
| @@ -87,6 +87,7 @@ standard)." | |||
| 87 | 'light | 87 | 'light |
| 88 | 'modus-themes-operandi-deuteranopia-palette | 88 | 'modus-themes-operandi-deuteranopia-palette |
| 89 | 'modus-operandi-deuteranopia-palette-user | 89 | 'modus-operandi-deuteranopia-palette-user |
| 90 | 'modus-operandi-deuteranopia-palette-overrides) | 90 | 'modus-operandi-deuteranopia-palette-overrides |
| 91 | 'modus-themes-faces-deuteranopia) | ||
| 91 | 92 | ||
| 92 | ;;; modus-operandi-deuteranopia-theme.el ends here | 93 | ;;; modus-operandi-deuteranopia-theme.el ends here |
diff --git a/etc/themes/modus-operandi-theme.el b/etc/themes/modus-operandi-theme.el index e9eb67c2a93..590c6d9903e 100644 --- a/etc/themes/modus-operandi-theme.el +++ b/etc/themes/modus-operandi-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; modus-operandi-theme.el --- Elegant, highly legible theme with a white background -*- lexical-binding:t -*- | 1 | ;;; modus-operandi-theme.el --- Elegant, highly legible theme with a white background -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2019-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> | 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> |
diff --git a/etc/themes/modus-operandi-tinted-theme.el b/etc/themes/modus-operandi-tinted-theme.el index c5ddbbe4e9c..17fc6be8d4d 100644 --- a/etc/themes/modus-operandi-tinted-theme.el +++ b/etc/themes/modus-operandi-tinted-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; modus-operandi-tinted-theme.el --- Elegant, highly legible theme with a light ochre background -*- lexical-binding:t -*- | 1 | ;;; modus-operandi-tinted-theme.el --- Elegant, highly legible theme with a light ochre background -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2019-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> | 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> |
diff --git a/etc/themes/modus-operandi-tritanopia-theme.el b/etc/themes/modus-operandi-tritanopia-theme.el index dfbdc1e1772..9e4211512ef 100644 --- a/etc/themes/modus-operandi-tritanopia-theme.el +++ b/etc/themes/modus-operandi-tritanopia-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; modus-operandi-tritanopia-theme.el --- Tritanopia-optimized theme with a white background -*- lexical-binding:t -*- | 1 | ;;; modus-operandi-tritanopia-theme.el --- Tritanopia-optimized theme with a white background -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2019-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> | 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> |
| @@ -87,6 +87,7 @@ standard)." | |||
| 87 | 'light | 87 | 'light |
| 88 | 'modus-themes-operandi-tritanopia-palette | 88 | 'modus-themes-operandi-tritanopia-palette |
| 89 | 'modus-operandi-tritanopia-palette-user | 89 | 'modus-operandi-tritanopia-palette-user |
| 90 | 'modus-operandi-tritanopia-palette-overrides) | 90 | 'modus-operandi-tritanopia-palette-overrides |
| 91 | 'modus-themes-faces-tritanopia) | ||
| 91 | 92 | ||
| 92 | ;;; modus-operandi-tritanopia-theme.el ends here | 93 | ;;; modus-operandi-tritanopia-theme.el ends here |
diff --git a/etc/themes/modus-themes.el b/etc/themes/modus-themes.el index 3bcc190b174..e61436e1cbc 100644 --- a/etc/themes/modus-themes.el +++ b/etc/themes/modus-themes.el | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | ;;; modus-themes.el --- Elegant, highly legible and customizable themes -*- lexical-binding:t -*- | 1 | ;;; modus-themes.el --- Elegant, highly legible and customizable themes -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2019-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> | 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> |
| 7 | ;; URL: https://github.com/protesilaos/modus-themes | 7 | ;; URL: https://github.com/protesilaos/modus-themes |
| 8 | ;; Version: 5.1.0 | 8 | ;; Version: 5.2.0 |
| 9 | ;; Package-Requires: ((emacs "28.1")) | 9 | ;; Package-Requires: ((emacs "28.1")) |
| 10 | ;; Keywords: faces, theme, accessibility | 10 | ;; Keywords: faces, theme, accessibility |
| 11 | 11 | ||
| @@ -37,6 +37,7 @@ | |||
| 37 | 37 | ||
| 38 | 38 | ||
| 39 | 39 | ||
| 40 | (require 'color) | ||
| 40 | (eval-when-compile | 41 | (eval-when-compile |
| 41 | (require 'subr-x) | 42 | (require 'subr-x) |
| 42 | (require 'cl-lib)) | 43 | (require 'cl-lib)) |
| @@ -623,7 +624,7 @@ Individual theme overrides take precedence over these common | |||
| 623 | overrides. | 624 | overrides. |
| 624 | 625 | ||
| 625 | The idea of common overrides is to change semantic color | 626 | The idea of common overrides is to change semantic color |
| 626 | mappings, such as to make the cursor red. Wherea theme-specific | 627 | mappings, such as to make the cursor red. Whereas theme-specific |
| 627 | overrides can also be used to change the value of a named color, | 628 | overrides can also be used to change the value of a named color, |
| 628 | such as what hexadecimal RGB value the red-warmer symbol | 629 | such as what hexadecimal RGB value the red-warmer symbol |
| 629 | represents." | 630 | represents." |
| @@ -707,6 +708,17 @@ represents." | |||
| 707 | (bg-prose-macro unspecified) | 708 | (bg-prose-macro unspecified) |
| 708 | (bg-prose-verbatim unspecified) | 709 | (bg-prose-verbatim unspecified) |
| 709 | 710 | ||
| 711 | ;; Search mappings | ||
| 712 | (fg-search-current fg-main) | ||
| 713 | (fg-search-lazy fg-main) | ||
| 714 | (fg-search-static fg-main) | ||
| 715 | (fg-search-replace fg-main) | ||
| 716 | |||
| 717 | (fg-search-rx-group-0 fg-main) | ||
| 718 | (fg-search-rx-group-1 fg-main) | ||
| 719 | (fg-search-rx-group-2 fg-main) | ||
| 720 | (fg-search-rx-group-3 fg-main) | ||
| 721 | |||
| 710 | ;; Space mappings | 722 | ;; Space mappings |
| 711 | 723 | ||
| 712 | (bg-space unspecified) | 724 | (bg-space unspecified) |
| @@ -1105,7 +1117,7 @@ represents." | |||
| 1105 | (fg-heading-7 cyan-warmer) | 1117 | (fg-heading-7 cyan-warmer) |
| 1106 | (fg-heading-8 fg-dim)) | 1118 | (fg-heading-8 fg-dim)) |
| 1107 | modus-themes-common-palette-mappings) | 1119 | modus-themes-common-palette-mappings) |
| 1108 | "The entire palette of the `modus-operandi' theme. | 1120 | "The entire palette of the `modus-operandi' theme. |
| 1109 | 1121 | ||
| 1110 | Named colors have the form (COLOR-NAME HEX-VALUE) with the former | 1122 | Named colors have the form (COLOR-NAME HEX-VALUE) with the former |
| 1111 | as a symbol and the latter as a string. | 1123 | as a symbol and the latter as a string. |
| @@ -1761,7 +1773,7 @@ exists in the palette and is associated with a HEX-VALUE.") | |||
| 1761 | (fg-heading-7 cyan) | 1773 | (fg-heading-7 cyan) |
| 1762 | (fg-heading-8 fg-dim)) | 1774 | (fg-heading-8 fg-dim)) |
| 1763 | modus-themes-common-palette-mappings) | 1775 | modus-themes-common-palette-mappings) |
| 1764 | "The entire palette of the `modus-operandi-deuteranopia' theme. | 1776 | "The entire palette of the `modus-operandi-deuteranopia' theme. |
| 1765 | 1777 | ||
| 1766 | Named colors have the form (COLOR-NAME HEX-VALUE) with the former | 1778 | Named colors have the form (COLOR-NAME HEX-VALUE) with the former |
| 1767 | as a symbol and the latter as a string. | 1779 | as a symbol and the latter as a string. |
| @@ -2088,7 +2100,7 @@ exists in the palette and is associated with a HEX-VALUE.") | |||
| 2088 | (fg-heading-7 cyan-warmer) | 2100 | (fg-heading-7 cyan-warmer) |
| 2089 | (fg-heading-8 fg-dim)) | 2101 | (fg-heading-8 fg-dim)) |
| 2090 | modus-themes-common-palette-mappings) | 2102 | modus-themes-common-palette-mappings) |
| 2091 | "The entire palette of the `modus-operandi-tritanopia' theme. | 2103 | "The entire palette of the `modus-operandi-tritanopia' theme. |
| 2092 | 2104 | ||
| 2093 | Named colors have the form (COLOR-NAME HEX-VALUE) with the former | 2105 | Named colors have the form (COLOR-NAME HEX-VALUE) with the former |
| 2094 | as a symbol and the latter as a string. | 2106 | as a symbol and the latter as a string. |
| @@ -2415,7 +2427,7 @@ exists in the palette and is associated with a HEX-VALUE.") | |||
| 2415 | (fg-heading-7 cyan-faint) | 2427 | (fg-heading-7 cyan-faint) |
| 2416 | (fg-heading-8 fg-dim)) | 2428 | (fg-heading-8 fg-dim)) |
| 2417 | modus-themes-common-palette-mappings) | 2429 | modus-themes-common-palette-mappings) |
| 2418 | "The entire palette of the `modus-vivendi' theme. | 2430 | "The entire palette of the `modus-vivendi' theme. |
| 2419 | 2431 | ||
| 2420 | Named colors have the form (COLOR-NAME HEX-VALUE) with the former | 2432 | Named colors have the form (COLOR-NAME HEX-VALUE) with the former |
| 2421 | as a symbol and the latter as a string. | 2433 | as a symbol and the latter as a string. |
| @@ -2742,7 +2754,7 @@ exists in the palette and is associated with a HEX-VALUE.") | |||
| 2742 | (fg-heading-7 cyan-faint) | 2754 | (fg-heading-7 cyan-faint) |
| 2743 | (fg-heading-8 fg-dim)) | 2755 | (fg-heading-8 fg-dim)) |
| 2744 | modus-themes-common-palette-mappings) | 2756 | modus-themes-common-palette-mappings) |
| 2745 | "The entire palette of the `modus-vivendi-tinted' theme. | 2757 | "The entire palette of the `modus-vivendi-tinted' theme. |
| 2746 | 2758 | ||
| 2747 | Named colors have the form (COLOR-NAME HEX-VALUE) with the former | 2759 | Named colors have the form (COLOR-NAME HEX-VALUE) with the former |
| 2748 | as a symbol and the latter as a string. | 2760 | as a symbol and the latter as a string. |
| @@ -3400,7 +3412,7 @@ exists in the palette and is associated with a HEX-VALUE.") | |||
| 3400 | (fg-heading-7 cyan-faint) | 3412 | (fg-heading-7 cyan-faint) |
| 3401 | (fg-heading-8 fg-dim)) | 3413 | (fg-heading-8 fg-dim)) |
| 3402 | modus-themes-common-palette-mappings) | 3414 | modus-themes-common-palette-mappings) |
| 3403 | "The entire palette of the `modus-vivendi-tritanopia' theme. | 3415 | "The entire palette of the `modus-vivendi-tritanopia' theme. |
| 3404 | 3416 | ||
| 3405 | Named colors have the form (COLOR-NAME HEX-VALUE) with the former | 3417 | Named colors have the form (COLOR-NAME HEX-VALUE) with the former |
| 3406 | as a symbol and the latter as a string. | 3418 | as a symbol and the latter as a string. |
| @@ -3771,17 +3783,31 @@ must define theme properties to include those that the macro specifies. | |||
| 3771 | Also see `modus-themes-get-themes'.") | 3783 | Also see `modus-themes-get-themes'.") |
| 3772 | 3784 | ||
| 3773 | (defvar modus-themes--activated-themes nil | 3785 | (defvar modus-themes--activated-themes nil |
| 3774 | "List of themes that `modus-themes--activate' operated on.") | 3786 | "List of themes that `modus-themes-activate' operated on.") |
| 3775 | 3787 | ||
| 3776 | (defun modus-themes--activate (theme) | 3788 | ;;;###autoload |
| 3777 | "Load THEME if it is not defined but do not activate it." | 3789 | (defun modus-themes-activate (theme) |
| 3778 | ;; NOTE 2025-09-29: We need to do this instead of pushing to the | 3790 | "Load THEME if neeeded, so that it can be used by other commands." |
| 3779 | ;; `custom-known-themes' because loading the theme has the desired | 3791 | ;; If it is already in the `modus-themes--activated-themes', then we |
| 3780 | ;; side effect of adding the relevant `theme-properties' to it. | 3792 | ;; have already processed it. |
| 3781 | (unless (and (memq theme modus-themes--activated-themes) | 3793 | (unless (memq theme modus-themes--activated-themes) |
| 3782 | (custom-theme-p theme)) | 3794 | (let ((properties (get theme 'theme-properties))) |
| 3783 | (load-theme theme t t) | 3795 | ;; If it has no properties, then we need to load it so that |
| 3784 | (add-to-list 'modus-themes--activated-themes theme))) | 3796 | ;; those are reified. |
| 3797 | (if (null properties) | ||
| 3798 | (progn | ||
| 3799 | (push theme modus-themes--activated-themes) | ||
| 3800 | (load-theme theme t t)) | ||
| 3801 | (let ((core-palette (plist-get properties :modus-core-palette)) | ||
| 3802 | (user-palette (plist-get properties :modus-user-palette))) | ||
| 3803 | ;; If its core palette is void or nil, then we need to load it. | ||
| 3804 | ;; Same if its user palette is void, but it is okay if that | ||
| 3805 | ;; one is nil. | ||
| 3806 | (unless (and (boundp core-palette) | ||
| 3807 | core-palette | ||
| 3808 | (boundp user-palette)) | ||
| 3809 | (push theme modus-themes--activated-themes) | ||
| 3810 | (load-theme theme t t))))))) | ||
| 3785 | 3811 | ||
| 3786 | (defun modus-themes--belongs-to-family-p (theme family) | 3812 | (defun modus-themes--belongs-to-family-p (theme family) |
| 3787 | "Return non-nil if THEME has FAMILY property." | 3813 | "Return non-nil if THEME has FAMILY property." |
| @@ -3789,21 +3815,17 @@ Also see `modus-themes-get-themes'.") | |||
| 3789 | (theme-family (plist-get properties :family))) | 3815 | (theme-family (plist-get properties :family))) |
| 3790 | (eq theme-family family))) | 3816 | (eq theme-family family))) |
| 3791 | 3817 | ||
| 3792 | (defun modus-themes-get-all-known-themes (&optional theme-family no-enable) | 3818 | (defun modus-themes-get-all-known-themes (&optional theme-family) |
| 3793 | "Return all known Modus themes or derivatives, enabling them if needed. | 3819 | "Return all known Modus themes or derivatives, enabling them if needed. |
| 3794 | With optional THEME-FAMILY, operate only on the themes whose :family | 3820 | With optional THEME-FAMILY, operate only on the themes whose :family |
| 3795 | property is that. Else consider the Modus themes as well as all their | 3821 | property is that. Else consider the Modus themes as well as all their |
| 3796 | derivatives. | 3822 | derivatives. |
| 3797 | 3823 | ||
| 3798 | With optional NO-ENABLE, do not try to enable the themes. | ||
| 3799 | |||
| 3800 | Also see `modus-themes-sort'." | 3824 | Also see `modus-themes-sort'." |
| 3801 | (let ((themes (pcase theme-family | 3825 | (let ((themes (pcase theme-family |
| 3802 | ('modus-themes modus-themes-items) | 3826 | ('modus-themes modus-themes-items) |
| 3803 | ((pred (not null)) modus-themes-registered-items) | 3827 | ((pred identity) modus-themes-registered-items) |
| 3804 | (_ (seq-union modus-themes-items modus-themes-registered-items))))) | 3828 | (_ (seq-union modus-themes-items modus-themes-registered-items))))) |
| 3805 | (unless no-enable | ||
| 3806 | (mapc #'modus-themes--activate themes)) | ||
| 3807 | (if theme-family | 3829 | (if theme-family |
| 3808 | (seq-filter | 3830 | (seq-filter |
| 3809 | (lambda (theme) | 3831 | (lambda (theme) |
| @@ -3852,12 +3874,20 @@ With optional SHOW-ERROR, throw an error instead of returning nil." | |||
| 3852 | (t | 3874 | (t |
| 3853 | (error "Themes `%S' is not a symbol or a list of symbols" themes))))) | 3875 | (error "Themes `%S' is not a symbol or a list of symbols" themes))))) |
| 3854 | 3876 | ||
| 3855 | (defun modus-themes-get-current-theme (&optional no-enable) | 3877 | (defun modus-themes--modus-theme-p (theme) |
| 3856 | "Return current enabled Modus theme. | 3878 | "Return non-nil if THEME has a :modus-core-palette property." |
| 3857 | With optional NO-ENABLE, do not try to enable any themes." | 3879 | (when-let* ((properties (get theme 'theme-properties)) |
| 3858 | (let ((current (car custom-enabled-themes))) | 3880 | (core (plist-get properties :modus-core-palette))) |
| 3859 | (when (memq current (modus-themes-get-all-known-themes nil no-enable)) | 3881 | theme)) |
| 3860 | current))) | 3882 | |
| 3883 | (defun modus-themes-get-current-theme () | ||
| 3884 | "Return currently enabled Modus theme. | ||
| 3885 | More specifically, return the first of the currently enabled Modus | ||
| 3886 | themes among the `custom-enabled-themes'. | ||
| 3887 | |||
| 3888 | Assume that a Modus theme has a `theme-properties' entry of | ||
| 3889 | `:modus-core-palette'." | ||
| 3890 | (seq-find #'modus-themes--modus-theme-p custom-enabled-themes)) | ||
| 3861 | 3891 | ||
| 3862 | (defun modus-themes--get-theme-palette-subr (theme with-overrides with-user-palette) | 3892 | (defun modus-themes--get-theme-palette-subr (theme with-overrides with-user-palette) |
| 3863 | "Get THEME palette without `modus-themes-known-p'. | 3893 | "Get THEME palette without `modus-themes-known-p'. |
| @@ -3865,7 +3895,9 @@ WITH-OVERRIDES and WITH-USER-PALETTE are described in | |||
| 3865 | `modus-themes-get-theme-palette'. | 3895 | `modus-themes-get-theme-palette'. |
| 3866 | 3896 | ||
| 3867 | If THEME does not have at least a `:modus-core-palette' among its | 3897 | If THEME does not have at least a `:modus-core-palette' among its |
| 3868 | `theme-properties', return nil." | 3898 | `theme-properties', return nil. |
| 3899 | |||
| 3900 | Else return (append OVERRIDES USER CORE)." | ||
| 3869 | (when-let* ((properties (get theme 'theme-properties)) | 3901 | (when-let* ((properties (get theme 'theme-properties)) |
| 3870 | (core-palette (symbol-value (plist-get properties :modus-core-palette)))) | 3902 | (core-palette (symbol-value (plist-get properties :modus-core-palette)))) |
| 3871 | (let* ((user-palette (when with-user-palette (symbol-value (plist-get properties :modus-user-palette)))) | 3903 | (let* ((user-palette (when with-user-palette (symbol-value (plist-get properties :modus-user-palette)))) |
| @@ -3875,24 +3907,20 @@ If THEME does not have at least a `:modus-core-palette' among its | |||
| 3875 | 3907 | ||
| 3876 | (defun modus-themes-get-theme-palette (&optional theme with-overrides with-user-palette) | 3908 | (defun modus-themes-get-theme-palette (&optional theme with-overrides with-user-palette) |
| 3877 | "Return palette value of active `modus-themes-get-themes' THEME. | 3909 | "Return palette value of active `modus-themes-get-themes' THEME. |
| 3878 | If THEME is nil, use the return value of `modus-themes-get-current-theme'. | 3910 | If THEME is nil, use the return value of |
| 3879 | With WITH-OVERRIDES, include all overrides in the combined palette. | 3911 | `modus-themes-get-current-theme'. With WITH-OVERRIDES, include all |
| 3880 | With WITH-USER-PALETTE do the same for the user-defined palette | 3912 | overrides in the combined palette. With WITH-USER-PALETTE do the same |
| 3881 | extension. | 3913 | for the user-defined palette extension. |
| 3882 | 3914 | ||
| 3883 | If THEME is unknown, return nil." | 3915 | If THEME is unknown, return nil. Else return (append OVERRIDES USER CORE)." |
| 3884 | (modus-themes--get-theme-palette-subr | 3916 | (modus-themes--get-theme-palette-subr (or theme (modus-themes-get-current-theme)) with-overrides with-user-palette)) |
| 3885 | (or theme (modus-themes-get-current-theme)) | 3917 | |
| 3886 | with-overrides | 3918 | (defun modus-themes--disable-themes (themes) |
| 3887 | with-user-palette)) | 3919 | "Disable THEMES per `modus-themes-disable-other-themes'." |
| 3888 | 3920 | (mapc #'disable-theme | |
| 3889 | (defun modus-themes--disable-themes () | 3921 | (if modus-themes-disable-other-themes |
| 3890 | "Disable themes per `modus-themes-disable-other-themes'." | 3922 | themes |
| 3891 | (mapc | 3923 | (seq-filter #'modus-themes--modus-theme-p themes)))) |
| 3892 | #'disable-theme | ||
| 3893 | (if modus-themes-disable-other-themes | ||
| 3894 | custom-enabled-themes | ||
| 3895 | (modus-themes-get-themes)))) | ||
| 3896 | 3924 | ||
| 3897 | (defun modus-themes-load-theme (theme &optional hook) | 3925 | (defun modus-themes-load-theme (theme &optional hook) |
| 3898 | "Load THEME while disabling other themes. | 3926 | "Load THEME while disabling other themes. |
| @@ -3904,8 +3932,8 @@ Run the `modus-themes-after-load-theme-hook' as the final step | |||
| 3904 | after loading the THEME. If HOOK, then call that instead. | 3932 | after loading the THEME. If HOOK, then call that instead. |
| 3905 | 3933 | ||
| 3906 | Return THEME." | 3934 | Return THEME." |
| 3907 | (modus-themes--disable-themes) | ||
| 3908 | (load-theme theme :no-confirm) | 3935 | (load-theme theme :no-confirm) |
| 3936 | (modus-themes--disable-themes (remq theme custom-enabled-themes)) | ||
| 3909 | (run-hooks (or hook 'modus-themes-after-load-theme-hook)) | 3937 | (run-hooks (or hook 'modus-themes-after-load-theme-hook)) |
| 3910 | theme) | 3938 | theme) |
| 3911 | 3939 | ||
| @@ -3950,7 +3978,7 @@ that item. Else use the current theme. | |||
| 3950 | If COLOR is not present in the palette, return the `unspecified' | 3978 | If COLOR is not present in the palette, return the `unspecified' |
| 3951 | symbol, which is safe when used as a face attribute's value." | 3979 | symbol, which is safe when used as a face attribute's value." |
| 3952 | (when theme | 3980 | (when theme |
| 3953 | (modus-themes--activate theme)) | 3981 | (modus-themes-activate theme)) |
| 3954 | (if-let* ((palette (modus-themes-get-theme-palette theme with-overrides :with-user-palette)) | 3982 | (if-let* ((palette (modus-themes-get-theme-palette theme with-overrides :with-user-palette)) |
| 3955 | (value (modus-themes--retrieve-palette-value color palette))) | 3983 | (value (modus-themes--retrieve-palette-value color palette))) |
| 3956 | value | 3984 | value |
| @@ -3964,42 +3992,91 @@ symbol, which is safe when used as a face attribute's value." | |||
| 3964 | "Minibuffer history of `modus-themes-select-prompt'.") | 3992 | "Minibuffer history of `modus-themes-select-prompt'.") |
| 3965 | 3993 | ||
| 3966 | (defun modus-themes--annotate-theme (theme) | 3994 | (defun modus-themes--annotate-theme (theme) |
| 3967 | "Return completion annotation for THEME." | 3995 | "Return description of THEME ." |
| 3968 | (when-let* ((symbol (intern-soft theme)) | 3996 | (when-let* ((symbol (intern-soft theme)) |
| 3969 | (doc-string (get symbol 'theme-documentation))) | 3997 | (properties (get symbol 'theme-properties)) |
| 3970 | (format " -- %s" | 3998 | (doc-string (or (get symbol 'theme-documentation) |
| 3971 | (propertize (car (split-string doc-string "\\.")) | 3999 | (plist-get properties :modus-documentation)))) |
| 4000 | (format " %s" | ||
| 4001 | (propertize (concat "-- " (car (split-string doc-string "\\."))) | ||
| 3972 | 'face 'completions-annotations)))) | 4002 | 'face 'completions-annotations)))) |
| 3973 | 4003 | ||
| 3974 | (defun modus-themes--completion-table (category candidates) | 4004 | (defun modus-themes--group-themes (theme transform) |
| 3975 | "Pass appropriate metadata CATEGORY to completion CANDIDATES." | 4005 | "Group THEME by its background for minibuffer completion. |
| 4006 | If TRANSFORM is non-nil, return THEME as-is." | ||
| 4007 | (let ((symbol (intern-soft theme))) | ||
| 4008 | (cond | ||
| 4009 | (transform | ||
| 4010 | theme) | ||
| 4011 | ((eq symbol (modus-themes-get-current-theme)) | ||
| 4012 | "Current") | ||
| 4013 | ((when-let* ((properties (get symbol 'theme-properties)) | ||
| 4014 | (background (plist-get properties :background-mode))) | ||
| 4015 | (capitalize (format "%s" background))))))) | ||
| 4016 | |||
| 4017 | (defun modus-themes--display-sort (themes) | ||
| 4018 | "Put the current theme before other THEMES for minibuffer completion." | ||
| 4019 | (let* ((current (modus-themes-get-current-theme)) | ||
| 4020 | (current-theme-p (lambda (theme) (eq (intern-soft theme) current)))) | ||
| 4021 | (nconc | ||
| 4022 | (seq-filter current-theme-p themes) | ||
| 4023 | (seq-remove current-theme-p themes)))) | ||
| 4024 | |||
| 4025 | (defun modus-themes--completion-table (themes) | ||
| 4026 | "Pass appropriate metadata to THEMES for minibuffer completion." | ||
| 3976 | (lambda (string pred action) | 4027 | (lambda (string pred action) |
| 3977 | (if (eq action 'metadata) | 4028 | (if (eq action 'metadata) |
| 3978 | `(metadata (category . ,category)) | 4029 | (list 'metadata |
| 3979 | (complete-with-action action candidates string pred)))) | 4030 | (cons 'category 'theme) |
| 3980 | 4031 | (cons 'annotation-function #'modus-themes--annotate-theme) | |
| 3981 | (defun modus-themes--completion-table-candidates () | 4032 | (cons 'group-function #'modus-themes--group-themes) |
| 3982 | "Render `modus-themes-get-themes' as a completion table." | 4033 | (cons 'display-sort-function #'modus-themes--display-sort)) |
| 3983 | (modus-themes--completion-table 'theme (modus-themes-get-themes))) | 4034 | (complete-with-action action themes string pred)))) |
| 3984 | 4035 | ||
| 3985 | (defun modus-themes-select-prompt (&optional prompt) | 4036 | (defun modus-themes-select-prompt (&optional prompt background-mode) |
| 3986 | "Minibuffer prompt to select a Modus theme. | 4037 | "Minibuffer prompt to select a Modus theme. |
| 3987 | With optional PROMPT string, use it as the first argument of | 4038 | With optional PROMPT string, use it as the first argument of |
| 3988 | `format-prompt'. Else use a generic prompt." | 4039 | `format-prompt'. Else use a generic prompt. |
| 3989 | (let ((completion-extra-properties `(:annotation-function ,#'modus-themes--annotate-theme))) | 4040 | |
| 3990 | (intern | 4041 | With optional BACKGROUND-MODE as either `dark' or `light' limit the |
| 3991 | (completing-read | 4042 | themes accordingly." |
| 3992 | (format-prompt (or prompt "Select theme") nil) | 4043 | (intern |
| 3993 | (modus-themes--completion-table-candidates) | 4044 | (completing-read |
| 3994 | nil t nil | 4045 | (format-prompt (or prompt "Select theme") nil) |
| 3995 | 'modus-themes--select-theme-history)))) | 4046 | (modus-themes--completion-table |
| 4047 | (if background-mode | ||
| 4048 | (modus-themes-filter-by-background-mode | ||
| 4049 | (modus-themes-get-themes) | ||
| 4050 | background-mode) | ||
| 4051 | (modus-themes-get-themes))) | ||
| 4052 | nil t nil | ||
| 4053 | 'modus-themes--select-theme-history))) | ||
| 3996 | 4054 | ||
| 3997 | ;;;###autoload | 4055 | ;;;###autoload |
| 3998 | (defun modus-themes-select (theme) | 4056 | (defun modus-themes-select (theme) |
| 3999 | "Load a Modus THEME using minibuffer completion. | 4057 | "Load a Modus THEME using minibuffer completion. |
| 4058 | With optional prefix argument, prompt to limit the set of themes to | ||
| 4059 | either dark or light variants. | ||
| 4060 | |||
| 4000 | Run `modus-themes-after-load-theme-hook' after loading the theme. | 4061 | Run `modus-themes-after-load-theme-hook' after loading the theme. |
| 4001 | Disable other themes per `modus-themes-disable-other-themes'." | 4062 | Disable other themes per `modus-themes-disable-other-themes'." |
| 4002 | (interactive (list (modus-themes-select-prompt))) | 4063 | (interactive |
| 4064 | (list | ||
| 4065 | (if current-prefix-arg | ||
| 4066 | (modus-themes-select-prompt nil (modus-themes-background-mode-prompt)) | ||
| 4067 | (modus-themes-select-prompt)))) | ||
| 4068 | (modus-themes-load-theme theme)) | ||
| 4069 | |||
| 4070 | ;;;###autoload | ||
| 4071 | (defun modus-themes-select-dark (theme) | ||
| 4072 | "Like `modus-themes-select' for a dark THEME." | ||
| 4073 | (interactive (list (modus-themes-select-prompt nil 'dark))) | ||
| 4074 | (modus-themes-load-theme theme)) | ||
| 4075 | |||
| 4076 | ;;;###autoload | ||
| 4077 | (defun modus-themes-select-light (theme) | ||
| 4078 | "Like `modus-themes-select' for a light THEME." | ||
| 4079 | (interactive (list (modus-themes-select-prompt nil 'light))) | ||
| 4003 | (modus-themes-load-theme theme)) | 4080 | (modus-themes-load-theme theme)) |
| 4004 | 4081 | ||
| 4005 | ;;;;; Toggle between two themes | 4082 | ;;;;; Toggle between two themes |
| @@ -4017,8 +4094,9 @@ Disable other themes per `modus-themes-disable-other-themes'." | |||
| 4017 | (interactive) | 4094 | (interactive) |
| 4018 | (if-let* ((themes (modus-themes-known-p modus-themes-to-toggle)) | 4095 | (if-let* ((themes (modus-themes-known-p modus-themes-to-toggle)) |
| 4019 | (one (car themes)) | 4096 | (one (car themes)) |
| 4020 | (two (cadr themes))) | 4097 | (two (cadr themes)) |
| 4021 | (modus-themes-load-theme (if (eq (car custom-enabled-themes) one) two one)) | 4098 | (current (modus-themes-get-current-theme))) |
| 4099 | (modus-themes-load-theme (if (eq current one) two one)) | ||
| 4022 | (modus-themes-load-theme (modus-themes-select-prompt "No valid theme to toggle; select other")))) | 4100 | (modus-themes-load-theme (modus-themes-select-prompt "No valid theme to toggle; select other")))) |
| 4023 | 4101 | ||
| 4024 | ;;;;; Rotate through a list of themes | 4102 | ;;;;; Rotate through a list of themes |
| @@ -4097,9 +4175,9 @@ THEMES." | |||
| 4097 | (defun modus-themes-load-random (&optional background-mode) | 4175 | (defun modus-themes-load-random (&optional background-mode) |
| 4098 | "Load a Modus theme at random, excluding the current one. | 4176 | "Load a Modus theme at random, excluding the current one. |
| 4099 | 4177 | ||
| 4100 | With optional BACKGROUND-MODE as a prefix argument, prompt to limit the set of | 4178 | With optional BACKGROUND-MODE as a prefix argument, prompt to limit the |
| 4101 | themes to either dark or light variants. When called from Lisp, BACKGROUND-MODE | 4179 | set of themes to either dark or light variants. When called from Lisp, |
| 4102 | is either the `dark' or `light' symbol. | 4180 | BACKGROUND-MODE is either the `dark' or `light' symbol. |
| 4103 | 4181 | ||
| 4104 | Run `modus-themes-after-load-theme-hook' after loading a theme." | 4182 | Run `modus-themes-after-load-theme-hook' after loading a theme." |
| 4105 | (interactive | 4183 | (interactive |
| @@ -4183,7 +4261,7 @@ color mappings instead of the complete palette." | |||
| 4183 | (list | 4261 | (list |
| 4184 | (modus-themes-select-prompt prompt) | 4262 | (modus-themes-select-prompt prompt) |
| 4185 | current-prefix-arg))) | 4263 | current-prefix-arg))) |
| 4186 | (modus-themes--activate theme) | 4264 | (modus-themes-activate theme) |
| 4187 | (let ((buffer (get-buffer-create (format (if mappings "*%s-list-mappings*" "*%s-list-all*") theme)))) | 4265 | (let ((buffer (get-buffer-create (format (if mappings "*%s-list-mappings*" "*%s-list-all*") theme)))) |
| 4188 | (with-current-buffer buffer | 4266 | (with-current-buffer buffer |
| 4189 | (let ((modus-themes-current-preview theme) | 4267 | (let ((modus-themes-current-preview theme) |
| @@ -4479,6 +4557,34 @@ FG and BG are the main colors." | |||
| 4479 | :weight | 4557 | :weight |
| 4480 | (if (and weight (null bold)) weight 'unspecified)))) | 4558 | (if (and weight (null bold)) weight 'unspecified)))) |
| 4481 | 4559 | ||
| 4560 | |||
| 4561 | ;; NOTE 2025-11-23: In theory we need the `modus-themes--box' | ||
| 4562 | ;; equivalent for this: | ||
| 4563 | ;; | ||
| 4564 | ;; :underline (:style wave :color unspecified) | ||
| 4565 | ;; | ||
| 4566 | ;; I checked all the relevant faces and feel that users will not be | ||
| 4567 | ;; benefitting form such a style anyway. What would be the point of a | ||
| 4568 | ;; spell checker that cannot highlight its errors, for example? | ||
| 4569 | ;; Granted, we could have another kind of highlight, but I am here | ||
| 4570 | ;; focusing on the use of this: | ||
| 4571 | ;; | ||
| 4572 | ;; :underline unspecified | ||
| 4573 | (defun modus-themes--box (color width style) | ||
| 4574 | "Return :box COLOR, WIDTH, STYLE if appropriate. | ||
| 4575 | If COLOR is unspecified, then return :box unspecified." | ||
| 4576 | (cond | ||
| 4577 | ((eq color 'unspecified) | ||
| 4578 | '(:box unspecified)) | ||
| 4579 | ((and width style) | ||
| 4580 | `(:box (:line-width ,width :color ,color :style ,style))) | ||
| 4581 | (width | ||
| 4582 | `(:box (:line-width ,width :color ,color))) | ||
| 4583 | (style | ||
| 4584 | `(:box (:color ,color :style ,style))) | ||
| 4585 | (t | ||
| 4586 | `(:box ,color)))) | ||
| 4587 | |||
| 4482 | 4588 | ||
| 4483 | 4589 | ||
| 4484 | ;;;; Face specifications | 4590 | ;;;; Face specifications |
| @@ -4513,7 +4619,7 @@ FG and BG are the main colors." | |||
| 4513 | `(modus-themes-button | 4619 | `(modus-themes-button |
| 4514 | ((default :inherit variable-pitch :background ,bg-button-active :foreground ,fg-button-active) | 4620 | ((default :inherit variable-pitch :background ,bg-button-active :foreground ,fg-button-active) |
| 4515 | (((supports :box t)) | 4621 | (((supports :box t)) |
| 4516 | :box (:line-width 1 :color ,border :style released-button)) | 4622 | ,@(modus-themes--box border 1 'released-button)) |
| 4517 | (t :underline ,border))) | 4623 | (t :underline ,border))) |
| 4518 | `(modus-themes-prompt ((,c ,@(modus-themes--prompt fg-prompt bg-prompt)))) | 4624 | `(modus-themes-prompt ((,c ,@(modus-themes--prompt fg-prompt bg-prompt)))) |
| 4519 | `(modus-themes-reset-soft ((,c :background ,bg-main :foreground ,fg-main | 4625 | `(modus-themes-reset-soft ((,c :background ,bg-main :foreground ,fg-main |
| @@ -4528,7 +4634,6 @@ FG and BG are the main colors." | |||
| 4528 | `(italic ((,c :slant italic))) | 4634 | `(italic ((,c :slant italic))) |
| 4529 | `(cursor ((,c :background ,cursor))) | 4635 | `(cursor ((,c :background ,cursor))) |
| 4530 | `(fringe ((,c :background ,fringe :foreground ,fg-main))) | 4636 | `(fringe ((,c :background ,fringe :foreground ,fg-main))) |
| 4531 | `(menu ((,c :background ,bg-dim :foreground ,fg-main))) | ||
| 4532 | `(scroll-bar ((,c :background ,fringe :foreground ,border))) | 4637 | `(scroll-bar ((,c :background ,fringe :foreground ,border))) |
| 4533 | `(tool-bar ((,c :background ,bg-dim :foreground ,fg-main))) | 4638 | `(tool-bar ((,c :background ,bg-dim :foreground ,fg-main))) |
| 4534 | `(vertical-border ((,c :foreground ,border))) | 4639 | `(vertical-border ((,c :foreground ,border))) |
| @@ -4667,13 +4772,13 @@ FG and BG are the main colors." | |||
| 4667 | `(ansi-color-white ((,c :background ,bg-term-white :foreground ,fg-term-white))) | 4772 | `(ansi-color-white ((,c :background ,bg-term-white :foreground ,fg-term-white))) |
| 4668 | `(ansi-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow))) | 4773 | `(ansi-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow))) |
| 4669 | ;;;;; anzu | 4774 | ;;;;; anzu |
| 4670 | `(anzu-match-1 ((,c :background ,bg-search-rx-group-0 :foreground ,fg-main))) | 4775 | `(anzu-match-1 ((,c :background ,bg-search-rx-group-0 :foreground ,fg-search-rx-group-0))) |
| 4671 | `(anzu-match-2 ((,c :background ,bg-search-rx-group-1 :foreground ,fg-main))) | 4776 | `(anzu-match-2 ((,c :background ,bg-search-rx-group-1 :foreground ,fg-search-rx-group-1))) |
| 4672 | `(anzu-match-3 ((,c :background ,bg-search-rx-group-2 :foreground ,fg-main))) | 4777 | `(anzu-match-3 ((,c :background ,bg-search-rx-group-2 :foreground ,fg-search-rx-group-2))) |
| 4673 | `(anzu-mode-line ((,c modus-themes-bold bold))) | 4778 | `(anzu-mode-line ((,c modus-themes-bold bold))) |
| 4674 | `(anzu-mode-line-no-match ((,c :inherit modus-themes-bold :foreground ,modeline-err))) | 4779 | `(anzu-mode-line-no-match ((,c :inherit modus-themes-bold :foreground ,modeline-err))) |
| 4675 | `(anzu-replace-highlight ((,c :background ,bg-search-replace :foreground ,fg-main))) | 4780 | `(anzu-replace-highlight ((,c :background ,bg-search-replace :foreground ,fg-search-replace))) |
| 4676 | `(anzu-replace-to ((,c :background ,bg-search-current :foreground ,fg-main))) | 4781 | `(anzu-replace-to ((,c :background ,bg-search-current :foreground ,fg-search-current))) |
| 4677 | ;;;;; auctex and Tex | 4782 | ;;;;; auctex and Tex |
| 4678 | `(font-latex-bold-face ((,c :inherit bold))) | 4783 | `(font-latex-bold-face ((,c :inherit bold))) |
| 4679 | `(font-latex-doctex-documentation-face ((,c :inherit modus-themes-slant :foreground ,docstring))) | 4784 | `(font-latex-doctex-documentation-face ((,c :inherit modus-themes-slant :foreground ,docstring))) |
| @@ -4682,7 +4787,7 @@ FG and BG are the main colors." | |||
| 4682 | `(font-latex-math-face ((,c :foreground ,constant))) | 4787 | `(font-latex-math-face ((,c :foreground ,constant))) |
| 4683 | `(font-latex-script-char-face ((,c :inherit modus-themes-bold :foreground ,builtin))) | 4788 | `(font-latex-script-char-face ((,c :inherit modus-themes-bold :foreground ,builtin))) |
| 4684 | `(font-latex-sectioning-5-face ((,c :inherit modus-themes-bold :foreground ,fg-alt))) | 4789 | `(font-latex-sectioning-5-face ((,c :inherit modus-themes-bold :foreground ,fg-alt))) |
| 4685 | `(font-latex-sedate-face ((,c :inherit mouds-themes-bold :foreground ,keyword))) | 4790 | `(font-latex-sedate-face ((,c :inherit modus-themes-bold :foreground ,keyword))) |
| 4686 | `(font-latex-slide-title-face ((,c :inherit modus-themes-heading-1))) | 4791 | `(font-latex-slide-title-face ((,c :inherit modus-themes-heading-1))) |
| 4687 | `(font-latex-string-face ((,c :foreground ,string))) | 4792 | `(font-latex-string-face ((,c :foreground ,string))) |
| 4688 | `(font-latex-subscript-face ((,c :height 0.9))) | 4793 | `(font-latex-subscript-face ((,c :height 0.9))) |
| @@ -4701,11 +4806,11 @@ FG and BG are the main colors." | |||
| 4701 | `(auto-dim-other-buffers-hide-face ((,c :foreground ,bg-inactive :background ,bg-inactive))) | 4806 | `(auto-dim-other-buffers-hide-face ((,c :foreground ,bg-inactive :background ,bg-inactive))) |
| 4702 | ;;;;; avy | 4807 | ;;;;; avy |
| 4703 | `(avy-background-face ((,c :background ,bg-dim :foreground ,fg-dim :extend t))) | 4808 | `(avy-background-face ((,c :background ,bg-dim :foreground ,fg-dim :extend t))) |
| 4704 | `(avy-goto-char-timer-face ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-search-lazy :foreground ,fg-main))) | 4809 | `(avy-goto-char-timer-face ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-search-lazy :foreground ,fg-search-lazy))) |
| 4705 | `(avy-lead-face ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-search-current :foreground ,fg-main))) | 4810 | `(avy-lead-face ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-search-current :foreground ,fg-search-current))) |
| 4706 | `(avy-lead-face-0 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-search-current :foreground ,fg-main))) | 4811 | `(avy-lead-face-0 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-search-current :foreground ,fg-search-current))) |
| 4707 | `(avy-lead-face-1 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-search-current :foreground ,fg-main))) | 4812 | `(avy-lead-face-1 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-search-current :foreground ,fg-search-current))) |
| 4708 | `(avy-lead-face-2 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-search-current :foreground ,fg-main))) | 4813 | `(avy-lead-face-2 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-search-current :foreground ,fg-search-current))) |
| 4709 | ;;;;; aw (ace-window) | 4814 | ;;;;; aw (ace-window) |
| 4710 | `(aw-background-face ((,c :foreground "gray50"))) | 4815 | `(aw-background-face ((,c :foreground "gray50"))) |
| 4711 | `(aw-key-face ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) | 4816 | `(aw-key-face ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) |
| @@ -4744,9 +4849,9 @@ FG and BG are the main colors." | |||
| 4744 | ;;;;; calendar and diary | 4849 | ;;;;; calendar and diary |
| 4745 | `(calendar-month-header ((,c :inherit modus-themes-bold))) | 4850 | `(calendar-month-header ((,c :inherit modus-themes-bold))) |
| 4746 | `(calendar-today | 4851 | `(calendar-today |
| 4747 | ((default :foreground ,date-common :inverse-video t) | 4852 | ((default :foreground ,date-now :inverse-video t) |
| 4748 | (((supports :box t)) | 4853 | (((supports :box t)) |
| 4749 | :box (:line-width (-1 . -1) :color ,fg-main)))) | 4854 | ,@(modus-themes--box date-now '(-1 . -1) nil)))) |
| 4750 | `(calendar-weekday-header ((,c :foreground ,date-weekday))) | 4855 | `(calendar-weekday-header ((,c :foreground ,date-weekday))) |
| 4751 | `(calendar-weekend-header ((,c :foreground ,date-weekend))) | 4856 | `(calendar-weekend-header ((,c :foreground ,date-weekend))) |
| 4752 | `(diary ((,c :foreground ,date-common))) | 4857 | `(diary ((,c :foreground ,date-common))) |
| @@ -4781,15 +4886,15 @@ FG and BG are the main colors." | |||
| 4781 | ;;;;; centaur-tabs | 4886 | ;;;;; centaur-tabs |
| 4782 | `(centaur-tabs-active-bar-face ((,c :background ,blue))) ; special case like `doom-modeline-bar' | 4887 | `(centaur-tabs-active-bar-face ((,c :background ,blue))) ; special case like `doom-modeline-bar' |
| 4783 | `(centaur-tabs-close-mouse-face ((,c :inherit modus-themes-bold :foreground ,warning :underline t))) | 4888 | `(centaur-tabs-close-mouse-face ((,c :inherit modus-themes-bold :foreground ,warning :underline t))) |
| 4784 | `(centaur-tabs-close-selected ((,c :inherit modus-themes-bold :box (:line-width -2 :color ,bg-tab-current) :background ,bg-tab-current))) | 4889 | `(centaur-tabs-close-selected ((,c :inherit modus-themes-bold :background ,bg-tab-current ,@(modus-themes--box bg-tab-current -2 nil)))) |
| 4785 | `(centaur-tabs-close-unselected ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other))) | 4890 | `(centaur-tabs-close-unselected ((,c :inherit modus-themes-bold :background ,bg-tab-other ,@(modus-themes--box bg-tab-other -2 nil)))) |
| 4786 | `(centaur-tabs-modified-marker-selected ((,c :inherit modus-themes-bold :box (:line-width -2 :color ,bg-tab-current) :background ,bg-tab-current))) | 4891 | `(centaur-tabs-modified-marker-selected ((,c :inherit modus-themes-bold :background ,bg-tab-current ,@(modus-themes--box bg-tab-current -2 nil)))) |
| 4787 | `(centaur-tabs-modified-marker-unselected ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other))) | 4892 | `(centaur-tabs-modified-marker-unselected ((,c :background ,bg-tab-other ,@(modus-themes--box bg-tab-other -2 nil)))) |
| 4788 | `(centaur-tabs-default ((,c :background ,bg-main))) | 4893 | `(centaur-tabs-default ((,c :background ,bg-main))) |
| 4789 | `(centaur-tabs-selected ((,c :inherit modus-themes-bold :box (:line-width -2 :color ,bg-tab-current) :background ,bg-tab-current))) | 4894 | `(centaur-tabs-selected ((,c :inherit modus-themes-bold :background ,bg-tab-current ,@(modus-themes--box bg-tab-current -2 nil)))) |
| 4790 | `(centaur-tabs-selected-modified ((,c :inherit italic :box (:line-width -2 :color ,bg-tab-current) :background ,bg-tab-current))) | 4895 | `(centaur-tabs-selected-modified ((,c :inherit modus-themes-slant :background ,bg-tab-current ,@(modus-themes--box bg-tab-current -2 nil)))) |
| 4791 | `(centaur-tabs-unselected ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other))) | 4896 | `(centaur-tabs-unselected ((,c :background ,bg-tab-other ,@(modus-themes--box bg-tab-other -2 nil)))) |
| 4792 | `(centaur-tabs-unselected-modified ((,c :inherit italic :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other))) | 4897 | `(centaur-tabs-unselected-modified ((,c :inherit modus-themes-slant :background ,bg-tab-other ,@(modus-themes--box bg-tab-other -2 nil)))) |
| 4793 | ;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log') | 4898 | ;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log') |
| 4794 | `(change-log-acknowledgment ((,c :foreground ,identifier))) | 4899 | `(change-log-acknowledgment ((,c :foreground ,identifier))) |
| 4795 | `(change-log-conditionals ((,c :foreground ,err))) | 4900 | `(change-log-conditionals ((,c :foreground ,err))) |
| @@ -4860,6 +4965,14 @@ FG and BG are the main colors." | |||
| 4860 | `(compilation-mode-line-fail ((,c :inherit modus-themes-bold :foreground ,modeline-err))) | 4965 | `(compilation-mode-line-fail ((,c :inherit modus-themes-bold :foreground ,modeline-err))) |
| 4861 | `(compilation-mode-line-run ((,c :inherit modus-themes-bold :foreground ,modeline-warning))) | 4966 | `(compilation-mode-line-run ((,c :inherit modus-themes-bold :foreground ,modeline-warning))) |
| 4862 | `(compilation-warning ((,c :inherit modus-themes-bold :foreground ,warning))) | 4967 | `(compilation-warning ((,c :inherit modus-themes-bold :foreground ,warning))) |
| 4968 | ;;;;; completion-preview | ||
| 4969 | `(completion-preview ((,c :foreground ,fg-dim))) | ||
| 4970 | ;; We set the following faces to inherit from `completion-preview', | ||
| 4971 | ;; as they do by default. If we ever want them not to inherit from | ||
| 4972 | ;; `completion-preview', then we should remember to customize | ||
| 4973 | ;; `completion-preview-adapt-background-color' accordingly. | ||
| 4974 | `(completion-preview-common ((,c :inherit completion-preview :underline t))) | ||
| 4975 | `(completion-preview-exact ((,c :inherit (modus-themes-completion-match-0 completion-preview)))) | ||
| 4863 | ;;;;; completions | 4976 | ;;;;; completions |
| 4864 | `(completions-annotations ((,c :inherit modus-themes-slant :foreground ,docstring))) | 4977 | `(completions-annotations ((,c :inherit modus-themes-slant :foreground ,docstring))) |
| 4865 | `(completions-common-part ((,c :inherit modus-themes-completion-match-0))) | 4978 | `(completions-common-part ((,c :inherit modus-themes-completion-match-0))) |
| @@ -4868,8 +4981,8 @@ FG and BG are the main colors." | |||
| 4868 | ;;;;; consult | 4981 | ;;;;; consult |
| 4869 | `(consult-async-split ((,c :foreground ,err))) | 4982 | `(consult-async-split ((,c :foreground ,err))) |
| 4870 | `(consult-file ((,c :inherit modus-themes-bold :foreground ,info))) | 4983 | `(consult-file ((,c :inherit modus-themes-bold :foreground ,info))) |
| 4871 | `(consult-highlight-mark ((,c :background ,bg-search-static :foreground ,fg-main))) | 4984 | `(consult-highlight-mark ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 4872 | `(consult-highlight-match ((,c :background ,bg-search-static :foreground ,fg-main))) | 4985 | `(consult-highlight-match ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 4873 | `(consult-imenu-prefix ((,c :foreground ,fg-dim))) | 4986 | `(consult-imenu-prefix ((,c :foreground ,fg-dim))) |
| 4874 | `(consult-key ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) | 4987 | `(consult-key ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) |
| 4875 | `(consult-line-number ((,c :foreground ,fg-dim))) | 4988 | `(consult-line-number ((,c :foreground ,fg-dim))) |
| @@ -4883,8 +4996,8 @@ FG and BG are the main colors." | |||
| 4883 | ;;;;; corfu-candidate-overlay | 4996 | ;;;;; corfu-candidate-overlay |
| 4884 | `(corfu-candidate-overlay-face ((,c :foreground ,fg-dim))) | 4997 | `(corfu-candidate-overlay-face ((,c :foreground ,fg-dim))) |
| 4885 | ;;;;; corfu-quick | 4998 | ;;;;; corfu-quick |
| 4886 | `(corfu-quick1 ((,c :inherit bold :background ,bg-search-current :foreground ,fg-main))) | 4999 | `(corfu-quick1 ((,c :inherit bold :background ,bg-search-current :foreground ,fg-search-current))) |
| 4887 | `(corfu-quick2 ((,c :inherit bold :background ,bg-search-current :foreground ,fg-main))) | 5000 | `(corfu-quick2 ((,c :inherit bold :background ,bg-search-current :foreground ,fg-search-current))) |
| 4888 | ;;;;; counsel | 5001 | ;;;;; counsel |
| 4889 | `(counsel-active-mode ((,c :foreground ,keyword))) | 5002 | `(counsel-active-mode ((,c :foreground ,keyword))) |
| 4890 | `(counsel-application-name ((,c :foreground ,name))) | 5003 | `(counsel-application-name ((,c :foreground ,name))) |
| @@ -4905,20 +5018,20 @@ FG and BG are the main colors." | |||
| 4905 | ;;;;; csv-mode | 5018 | ;;;;; csv-mode |
| 4906 | `(csv-separator-face (( ))) | 5019 | `(csv-separator-face (( ))) |
| 4907 | ;;;;; ctrlf | 5020 | ;;;;; ctrlf |
| 4908 | `(ctrlf-highlight-active ((,c :background ,bg-search-current :foreground ,fg-main))) | 5021 | `(ctrlf-highlight-active ((,c :background ,bg-search-current :foreground ,fg-search-current))) |
| 4909 | `(ctrlf-highlight-line ((,c :background ,bg-hl-line :extend t))) | 5022 | `(ctrlf-highlight-line ((,c :background ,bg-hl-line :extend t))) |
| 4910 | `(ctrlf-highlight-passive ((,c :background ,bg-search-lazy :foreground ,fg-main))) | 5023 | `(ctrlf-highlight-passive ((,c :background ,bg-search-lazy :foreground ,fg-search-lazy))) |
| 4911 | ;;;;; custom (M-x customize) | 5024 | ;;;;; custom (M-x customize) |
| 4912 | `(custom-button ((,c :inherit modus-themes-button))) | 5025 | `(custom-button ((,c :inherit modus-themes-button))) |
| 4913 | `(custom-button-mouse | 5026 | `(custom-button-mouse |
| 4914 | ((default :inherit variable-pitch :background ,bg-hover :foreground ,fg-main) | 5027 | ((default :inherit variable-pitch :background ,bg-hover :foreground ,fg-main) |
| 4915 | (((supports :box t)) | 5028 | (((supports :box t)) |
| 4916 | :box (:line-width 1 :color ,border :style released-button)) | 5029 | ,@(modus-themes--box border 1 'released-button)) |
| 4917 | (t :underline ,border))) | 5030 | (t :underline ,border))) |
| 4918 | `(custom-button-pressed | 5031 | `(custom-button-pressed |
| 4919 | ((default :inherit variable-pitch :background ,bg-main :foreground ,fg-main) | 5032 | ((default :inherit variable-pitch :background ,bg-main :foreground ,fg-main) |
| 4920 | (((supports :box t)) | 5033 | (((supports :box t)) |
| 4921 | :box (:line-width 1 :color ,border :style pressed-button)) | 5034 | ,@(modus-themes--box border 1 'pressed-button)) |
| 4922 | (t :underline ,border))) | 5035 | (t :underline ,border))) |
| 4923 | `(custom-changed ((,c :background ,bg-changed))) | 5036 | `(custom-changed ((,c :background ,bg-changed))) |
| 4924 | `(custom-comment ((,c :foreground ,comment))) | 5037 | `(custom-comment ((,c :foreground ,comment))) |
| @@ -4939,7 +5052,7 @@ FG and BG are the main colors." | |||
| 4939 | `(dashboard-items-face (( ))) ; use the underlying style of all-the-icons | 5052 | `(dashboard-items-face (( ))) ; use the underlying style of all-the-icons |
| 4940 | ;;;;; deadgrep | 5053 | ;;;;; deadgrep |
| 4941 | `(deadgrep-filename-face ((,c :inherit modus-themes-bold :foreground ,name))) | 5054 | `(deadgrep-filename-face ((,c :inherit modus-themes-bold :foreground ,name))) |
| 4942 | `(deadgrep-match-face ((,c :background ,bg-search-static :foreground ,fg-main))) | 5055 | `(deadgrep-match-face ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 4943 | `(deadgrep-meta-face ((,c :foreground ,fg-dim))) | 5056 | `(deadgrep-meta-face ((,c :foreground ,fg-dim))) |
| 4944 | `(deadgrep-regexp-metachar-face ((,c :inherit modus-themes-bold :foreground ,rx-construct))) | 5057 | `(deadgrep-regexp-metachar-face ((,c :inherit modus-themes-bold :foreground ,rx-construct))) |
| 4945 | `(deadgrep-search-term-face ((,c :foreground ,info))) | 5058 | `(deadgrep-search-term-face ((,c :foreground ,info))) |
| @@ -5145,9 +5258,9 @@ FG and BG are the main colors." | |||
| 5145 | `(eglot-diagnostic-tag-unnecessary-face ((,c :underline (:style wave :color ,underline-note)))) | 5258 | `(eglot-diagnostic-tag-unnecessary-face ((,c :underline (:style wave :color ,underline-note)))) |
| 5146 | ;;;;; el-search | 5259 | ;;;;; el-search |
| 5147 | `(el-search-highlight-in-prompt-face ((,c :inherit modus-themes-slant))) | 5260 | `(el-search-highlight-in-prompt-face ((,c :inherit modus-themes-slant))) |
| 5148 | `(el-search-match ((,c :background ,bg-search-current :foreground ,fg-main))) | 5261 | `(el-search-match ((,c :background ,bg-search-current :foreground ,fg-search-current))) |
| 5149 | `(el-search-other-match ((,c :background ,bg-search-lazy :foreground ,fg-main))) | 5262 | `(el-search-other-match ((,c :background ,bg-search-lazy :foreground ,fg-search-lazy))) |
| 5150 | `(el-search-occur-match ((,c :background ,bg-search-static :foreground ,fg-main))) | 5263 | `(el-search-occur-match ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 5151 | ;;;;; eldoc | 5264 | ;;;;; eldoc |
| 5152 | ;; NOTE: see https://github.com/purcell/package-lint/issues/187 | 5265 | ;; NOTE: see https://github.com/purcell/package-lint/issues/187 |
| 5153 | (list 'eldoc-highlight-function-argument `((,c :inherit modus-themes-bold :background ,bg-active-argument :foreground ,fg-active-argument))) | 5266 | (list 'eldoc-highlight-function-argument `((,c :inherit modus-themes-bold :background ,bg-active-argument :foreground ,fg-active-argument))) |
| @@ -5237,7 +5350,7 @@ FG and BG are the main colors." | |||
| 5237 | `(ement-room-mention ((,c :background ,bg-hover :foreground ,fg-main))) | 5350 | `(ement-room-mention ((,c :background ,bg-hover :foreground ,fg-main))) |
| 5238 | `(ement-room-name ((,c :inherit modus-themes-bold))) | 5351 | `(ement-room-name ((,c :inherit modus-themes-bold))) |
| 5239 | `(ement-room-reactions ((,c :foreground ,fg-dim))) | 5352 | `(ement-room-reactions ((,c :foreground ,fg-dim))) |
| 5240 | `(ement-room-read-receipt-marker ((,c :background ,bg-search-static :foreground ,fg-main))) | 5353 | `(ement-room-read-receipt-marker ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 5241 | `(ement-room-self ((,c :inherit modus-themes-bold :foreground ,accent-1))) | 5354 | `(ement-room-self ((,c :inherit modus-themes-bold :foreground ,accent-1))) |
| 5242 | `(ement-room-self-message ((,c :foreground ,fg-alt))) | 5355 | `(ement-room-self-message ((,c :foreground ,fg-alt))) |
| 5243 | `(ement-room-timestamp ((,c :foreground ,fg-dim))) | 5356 | `(ement-room-timestamp ((,c :foreground ,fg-dim))) |
| @@ -5268,7 +5381,7 @@ FG and BG are the main colors." | |||
| 5268 | `(erc-bold-face ((,c :inherit bold))) | 5381 | `(erc-bold-face ((,c :inherit bold))) |
| 5269 | `(erc-button ((,c :background ,bg-link :foreground ,fg-link :underline ,underline-link))) | 5382 | `(erc-button ((,c :background ,bg-link :foreground ,fg-link :underline ,underline-link))) |
| 5270 | `(erc-command-indicator-face ((,c :inherit modus-themes-bold :foreground ,accent-3))) | 5383 | `(erc-command-indicator-face ((,c :inherit modus-themes-bold :foreground ,accent-3))) |
| 5271 | `(erc-current-nick-face ((,c :background ,bg-search-static :foreground ,fg-main))) | 5384 | `(erc-current-nick-face ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 5272 | `(erc-dangerous-host-face ((,c :foreground ,err))) | 5385 | `(erc-dangerous-host-face ((,c :foreground ,err))) |
| 5273 | `(erc-direct-msg-face ((,c :foreground ,fg-dim))) | 5386 | `(erc-direct-msg-face ((,c :foreground ,fg-dim))) |
| 5274 | `(erc-error-face ((,c :foreground ,err))) | 5387 | `(erc-error-face ((,c :foreground ,err))) |
| @@ -5315,10 +5428,10 @@ FG and BG are the main colors." | |||
| 5315 | ;;;;; evil-mode | 5428 | ;;;;; evil-mode |
| 5316 | `(evil-ex-commands ((,c :inherit modus-themes-bold :foreground ,keyword))) | 5429 | `(evil-ex-commands ((,c :inherit modus-themes-bold :foreground ,keyword))) |
| 5317 | `(evil-ex-info ((,c :inherit modus-themes-bold :foreground ,type))) | 5430 | `(evil-ex-info ((,c :inherit modus-themes-bold :foreground ,type))) |
| 5318 | `(evil-ex-lazy-highlight ((,c :background ,bg-search-lazy :foreground ,fg-main))) | 5431 | `(evil-ex-lazy-highlight ((,c :background ,bg-search-lazy :foreground ,fg-search-lazy))) |
| 5319 | `(evil-ex-search ((,c :background ,bg-search-current :foreground ,fg-main))) | 5432 | `(evil-ex-search ((,c :background ,bg-search-current :foreground ,fg-search-current))) |
| 5320 | `(evil-ex-substitute-matches ((,c :background ,bg-search-replace :foreground ,fg-main))) | 5433 | `(evil-ex-substitute-matches ((,c :background ,bg-search-replace :foreground ,fg-search-replace))) |
| 5321 | `(evil-ex-substitute-replacement ((,c :background ,bg-search-current :foreground ,fg-main))) | 5434 | `(evil-ex-substitute-replacement ((,c :background ,bg-search-current :foreground ,fg-search-current))) |
| 5322 | ;;;;; eww | 5435 | ;;;;; eww |
| 5323 | `(eww-invalid-certificate ((,c :foreground ,err))) | 5436 | `(eww-invalid-certificate ((,c :foreground ,err))) |
| 5324 | `(eww-valid-certificate ((,c :foreground ,info))) | 5437 | `(eww-valid-certificate ((,c :foreground ,info))) |
| @@ -5341,7 +5454,7 @@ FG and BG are the main colors." | |||
| 5341 | `(flycheck-color-mode-line-error-face ((,c :background ,bg-prominent-err :foreground ,fg-prominent-err))) | 5454 | `(flycheck-color-mode-line-error-face ((,c :background ,bg-prominent-err :foreground ,fg-prominent-err))) |
| 5342 | `(flycheck-color-mode-line-info-face ((,c :background ,bg-prominent-note :foreground ,fg-prominent-note))) | 5455 | `(flycheck-color-mode-line-info-face ((,c :background ,bg-prominent-note :foreground ,fg-prominent-note))) |
| 5343 | `(flycheck-color-mode-line-running-face ((,c :inherit modus-themes-slant))) | 5456 | `(flycheck-color-mode-line-running-face ((,c :inherit modus-themes-slant))) |
| 5344 | `(flycheck-color-mode-line-info-face ((,c :background ,bg-prominent-warning :foreground ,fg-prominent-warning))) | 5457 | `(flycheck-color-mode-line-warning-face ((,c :background ,bg-prominent-warning :foreground ,fg-prominent-warning))) |
| 5345 | ;;;;; flycheck-indicator | 5458 | ;;;;; flycheck-indicator |
| 5346 | `(flycheck-indicator-disabled ((,c :inherit modus-themes-slant :foreground ,fg-dim))) | 5459 | `(flycheck-indicator-disabled ((,c :inherit modus-themes-slant :foreground ,fg-dim))) |
| 5347 | `(flycheck-indicator-error ((,c :foreground ,err))) | 5460 | `(flycheck-indicator-error ((,c :foreground ,err))) |
| @@ -5354,12 +5467,15 @@ FG and BG are the main colors." | |||
| 5354 | `(flymake-error ((,c :underline (:style wave :color ,underline-err)))) | 5467 | `(flymake-error ((,c :underline (:style wave :color ,underline-err)))) |
| 5355 | `(flymake-error-echo ((,c :foreground ,err))) | 5468 | `(flymake-error-echo ((,c :foreground ,err))) |
| 5356 | `(flymake-error-echo-at-eol ((,c :inherit modus-themes-slant :foreground ,err :height 0.85 :box ,border))) | 5469 | `(flymake-error-echo-at-eol ((,c :inherit modus-themes-slant :foreground ,err :height 0.85 :box ,border))) |
| 5470 | `(flymake-error-fringe ((,c :background ,bg-prominent-err :foreground ,fg-prominent-err))) | ||
| 5357 | `(flymake-note ((,c :underline (:style wave :color ,underline-note)))) | 5471 | `(flymake-note ((,c :underline (:style wave :color ,underline-note)))) |
| 5358 | `(flymake-note-echo ((,c :foreground ,info))) | 5472 | `(flymake-note-echo ((,c :foreground ,info))) |
| 5359 | `(flymake-note-echo-at-eol ((,c :inherit modus-themes-slant :foreground ,info :height 0.85 :box ,border))) | 5473 | `(flymake-note-echo-at-eol ((,c :inherit modus-themes-slant :foreground ,info :height 0.85 :box ,border))) |
| 5474 | `(flymake-note-fringe ((,c :background ,bg-prominent-note :foreground ,fg-prominent-note))) | ||
| 5360 | `(flymake-warning ((,c :underline (:style wave :color ,underline-warning)))) | 5475 | `(flymake-warning ((,c :underline (:style wave :color ,underline-warning)))) |
| 5361 | `(flymake-warning-echo ((,c :foreground ,warning))) | 5476 | `(flymake-warning-echo ((,c :foreground ,warning))) |
| 5362 | `(flymake-warning-echo-at-eol ((,c :inherit modus-themes-slant :foreground ,warning :height 0.85 :box ,border))) | 5477 | `(flymake-warning-echo-at-eol ((,c :inherit modus-themes-slant :foreground ,warning :height 0.85 :box ,border))) |
| 5478 | `(flymake-warning-fringe ((,c :background ,bg-prominent-warning :foreground ,fg-prominent-warning))) | ||
| 5363 | ;;;;; flyspell | 5479 | ;;;;; flyspell |
| 5364 | `(flyspell-duplicate ((,c :underline (:style wave :color ,underline-warning)))) | 5480 | `(flyspell-duplicate ((,c :underline (:style wave :color ,underline-warning)))) |
| 5365 | `(flyspell-incorrect ((,c :underline (:style wave :color ,underline-err)))) | 5481 | `(flyspell-incorrect ((,c :underline (:style wave :color ,underline-err)))) |
| @@ -5453,7 +5569,7 @@ FG and BG are the main colors." | |||
| 5453 | `(git-timemachine-minibuffer-author-face ((,c :foreground ,name))) | 5569 | `(git-timemachine-minibuffer-author-face ((,c :foreground ,name))) |
| 5454 | `(git-timemachine-minibuffer-detail-face ((,c :foreground ,fg-main))) | 5570 | `(git-timemachine-minibuffer-detail-face ((,c :foreground ,fg-main))) |
| 5455 | ;;;;; gnus | 5571 | ;;;;; gnus |
| 5456 | `(gnus-button ((,c :background ,bg-link :foreground ,fg-link :underline ,underline-link))) | 5572 | `(gnus-button ((,c :underline ,border))) |
| 5457 | `(gnus-cite-1 ((,c :foreground ,mail-cite-0))) | 5573 | `(gnus-cite-1 ((,c :foreground ,mail-cite-0))) |
| 5458 | `(gnus-cite-2 ((,c :foreground ,mail-cite-1))) | 5574 | `(gnus-cite-2 ((,c :foreground ,mail-cite-1))) |
| 5459 | `(gnus-cite-3 ((,c :foreground ,mail-cite-2))) | 5575 | `(gnus-cite-3 ((,c :foreground ,mail-cite-2))) |
| @@ -5473,13 +5589,13 @@ FG and BG are the main colors." | |||
| 5473 | `(gnus-emphasis-underline-bold ((,c :inherit gnus-emphasis-bold :underline t))) | 5589 | `(gnus-emphasis-underline-bold ((,c :inherit gnus-emphasis-bold :underline t))) |
| 5474 | `(gnus-emphasis-underline-bold-italic ((,c :inherit gnus-emphasis-bold-italic :underline t))) | 5590 | `(gnus-emphasis-underline-bold-italic ((,c :inherit gnus-emphasis-bold-italic :underline t))) |
| 5475 | `(gnus-emphasis-underline-italic ((,c :inherit gnus-emphasis-italic :underline t))) | 5591 | `(gnus-emphasis-underline-italic ((,c :inherit gnus-emphasis-italic :underline t))) |
| 5476 | `(gnus-group-mail-1 ((,c :inherit bold :foreground ,magenta-warmer))) | 5592 | `(gnus-group-mail-1 ((,c :inherit bold :foreground ,accent-0))) |
| 5477 | `(gnus-group-mail-1-empty ((,c :foreground ,magenta-warmer))) | 5593 | `(gnus-group-mail-1-empty ((,c :foreground ,accent-0))) |
| 5478 | `(gnus-group-mail-2 ((,c :inherit modus-themes-bold :foreground ,magenta-warmer))) | 5594 | `(gnus-group-mail-2 ((,c :inherit modus-themes-bold :foreground ,accent-1))) |
| 5479 | `(gnus-group-mail-2-empty ((,c :foreground ,magenta))) | 5595 | `(gnus-group-mail-2-empty ((,c :foreground ,accent-1))) |
| 5480 | `(gnus-group-mail-3 ((,c :inherit modus-themes-bold :foreground ,magenta))) | 5596 | `(gnus-group-mail-3 ((,c :inherit modus-themes-bold :foreground ,accent-2))) |
| 5481 | `(gnus-group-mail-3-empty ((,c :foreground ,magenta-cooler))) | 5597 | `(gnus-group-mail-3-empty ((,c :foreground ,accent-2))) |
| 5482 | `(gnus-group-mail-low ((,c :inherit modus-themes-bold :foreground ,magenta-cooler))) | 5598 | `(gnus-group-mail-low ((,c :inherit modus-themes-bold :foreground ,fg-dim))) |
| 5483 | `(gnus-group-mail-low-empty ((,c :foreground ,fg-dim))) | 5599 | `(gnus-group-mail-low-empty ((,c :foreground ,fg-dim))) |
| 5484 | `(gnus-group-news-1 ((,c :inherit modus-themes-bold :foreground ,green))) | 5600 | `(gnus-group-news-1 ((,c :inherit modus-themes-bold :foreground ,green))) |
| 5485 | `(gnus-group-news-1-empty ((,c :foreground ,green))) | 5601 | `(gnus-group-news-1-empty ((,c :foreground ,green))) |
| @@ -5557,11 +5673,11 @@ FG and BG are the main colors." | |||
| 5557 | ;;;;; highlight-numbers | 5673 | ;;;;; highlight-numbers |
| 5558 | `(highlight-numbers-number ((,c :foreground ,constant))) | 5674 | `(highlight-numbers-number ((,c :foreground ,constant))) |
| 5559 | ;;;;; highlight-thing | 5675 | ;;;;; highlight-thing |
| 5560 | `(highlight-thing ((,c :background ,bg-search-static :foreground ,fg-main))) | 5676 | `(highlight-thing ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 5561 | ;;;;; hl-fill-column | 5677 | ;;;;; hl-fill-column |
| 5562 | `(hl-fill-column-face ((,c :background ,bg-active))) | 5678 | `(hl-fill-column-face ((,c :background ,bg-active))) |
| 5563 | ;;;;; hl-todo | 5679 | ;;;;; hl-todo |
| 5564 | `(hl-todo ((,c :inherit modus-themes-slant :foreground ,prose-todo))) | 5680 | `(hl-todo ((,c :inherit (modus-themes-bold modus-themes-slant) :foreground ,prose-todo))) |
| 5565 | ;;;;; howm | 5681 | ;;;;; howm |
| 5566 | `(action-lock-face ((,c :background ,bg-link :foreground ,fg-link :underline ,underline-link))) | 5682 | `(action-lock-face ((,c :background ,bg-link :foreground ,fg-link :underline ,underline-link))) |
| 5567 | `(howm-mode-keyword-face (( ))) | 5683 | `(howm-mode-keyword-face (( ))) |
| @@ -5579,7 +5695,7 @@ FG and BG are the main colors." | |||
| 5579 | `(howm-reminder-tomorrow-face ((,c :inherit modus-themes-bold :foreground ,date-scheduled))) | 5695 | `(howm-reminder-tomorrow-face ((,c :inherit modus-themes-bold :foreground ,date-scheduled))) |
| 5580 | `(howm-simulate-todo-mode-line-face ((,c :inherit modus-themes-bold))) | 5696 | `(howm-simulate-todo-mode-line-face ((,c :inherit modus-themes-bold))) |
| 5581 | `(howm-view-empty-face (( ))) | 5697 | `(howm-view-empty-face (( ))) |
| 5582 | `(howm-view-hilit-face ((,c :background ,bg-search-static :foreground ,fg-main))) | 5698 | `(howm-view-hilit-face ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 5583 | `(howm-view-name-face ((,c :inherit modus-themes-bold))) | 5699 | `(howm-view-name-face ((,c :inherit modus-themes-bold))) |
| 5584 | `(iigrep-counts-face1 ((,c :foreground ,rainbow-1))) | 5700 | `(iigrep-counts-face1 ((,c :foreground ,rainbow-1))) |
| 5585 | `(iigrep-counts-face2 ((,c :foreground ,rainbow-2))) | 5701 | `(iigrep-counts-face2 ((,c :foreground ,rainbow-2))) |
| @@ -5595,8 +5711,13 @@ FG and BG are the main colors." | |||
| 5595 | ;;;;; hyperbole | 5711 | ;;;;; hyperbole |
| 5596 | `(hbut-item-face ((,c :foreground ,info))) | 5712 | `(hbut-item-face ((,c :foreground ,info))) |
| 5597 | `(hbut-face ((,c :inherit modus-themes-button))) | 5713 | `(hbut-face ((,c :inherit modus-themes-button))) |
| 5598 | `(hbut-flash ((,c :background ,bg-search-replace))) | 5714 | `(hbut-flash ((,c :background ,bg-search-replace :foreground ,fg-search-replace))) |
| 5599 | `(ibut-face ((,c :background ,bg-link-symbolic :foreground ,fg-link-symbolic :underline ,underline-link-symbolic))) | 5715 | `(ibut-face ((,c :background ,bg-link-symbolic :foreground ,fg-link-symbolic :underline ,underline-link-symbolic))) |
| 5716 | ;;;;; ibuffer | ||
| 5717 | `(ibuffer-deletion ((,c :inherit bold :background ,bg-mark-delete :foreground ,fg-mark-delete))) | ||
| 5718 | `(ibuffer-filter-group-name ((,c :inherit bold))) | ||
| 5719 | `(ibuffer-marked ((,c :inherit bold :background ,bg-mark-select :foreground ,fg-mark-select))) | ||
| 5720 | `(ibuffer-title ((,c :inherit bold))) | ||
| 5600 | ;;;;; icomplete | 5721 | ;;;;; icomplete |
| 5601 | `(icomplete-first-match ((,c :inherit modus-themes-completion-match-0))) | 5722 | `(icomplete-first-match ((,c :inherit modus-themes-completion-match-0))) |
| 5602 | `(icomplete-vertical-selected-prefix-indicator-face ((,c :inherit modus-themes-bold :foreground ,keybind))) | 5723 | `(icomplete-vertical-selected-prefix-indicator-face ((,c :inherit modus-themes-bold :foreground ,keybind))) |
| @@ -5610,8 +5731,8 @@ FG and BG are the main colors." | |||
| 5610 | `(ido-subdir ((,c :foreground ,keyword))) | 5731 | `(ido-subdir ((,c :foreground ,keyword))) |
| 5611 | `(ido-virtual ((,c :foreground ,warning))) | 5732 | `(ido-virtual ((,c :foreground ,warning))) |
| 5612 | ;;;;; iedit | 5733 | ;;;;; iedit |
| 5613 | `(iedit-occurrence ((,c :background ,bg-search-lazy :foreground ,fg-main))) | 5734 | `(iedit-occurrence ((,c :background ,bg-search-lazy :foreground ,fg-search-lazy))) |
| 5614 | `(iedit-read-only-occurrence ((,c :background ,bg-search-current :foreground ,fg-main))) | 5735 | `(iedit-read-only-occurrence ((,c :background ,bg-search-current :foreground ,fg-search-current))) |
| 5615 | ;;;;; iflipb | 5736 | ;;;;; iflipb |
| 5616 | `(iflipb-current-buffer-face ((,c :inherit modus-themes-bold :foreground ,name))) | 5737 | `(iflipb-current-buffer-face ((,c :inherit modus-themes-bold :foreground ,name))) |
| 5617 | `(iflipb-other-buffer-face ((,c :foreground ,fg-dim))) | 5738 | `(iflipb-other-buffer-face ((,c :foreground ,fg-dim))) |
| @@ -5633,7 +5754,7 @@ FG and BG are the main colors." | |||
| 5633 | `(Info-quoted ((,c :inherit modus-themes-fixed-pitch :background ,bg-prose-verbatim :foreground ,fg-prose-verbatim))) ; the capitalization is canonical | 5754 | `(Info-quoted ((,c :inherit modus-themes-fixed-pitch :background ,bg-prose-verbatim :foreground ,fg-prose-verbatim))) ; the capitalization is canonical |
| 5634 | `(info-header-node ((,c :inherit modus-themes-bold :foreground ,fg-dim))) | 5755 | `(info-header-node ((,c :inherit modus-themes-bold :foreground ,fg-dim))) |
| 5635 | `(info-header-xref ((,c :foreground ,fg-link))) | 5756 | `(info-header-xref ((,c :foreground ,fg-link))) |
| 5636 | `(info-index-match ((,c :background ,bg-search-static :foreground ,fg-main))) | 5757 | `(info-index-match ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 5637 | `(info-menu-header ((,c :inherit modus-themes-heading-5))) | 5758 | `(info-menu-header ((,c :inherit modus-themes-heading-5))) |
| 5638 | `(info-menu-star ((,c :foreground ,err))) | 5759 | `(info-menu-star ((,c :foreground ,err))) |
| 5639 | `(info-node ((,c :inherit modus-themes-bold))) | 5760 | `(info-node ((,c :inherit modus-themes-bold))) |
| @@ -5676,20 +5797,20 @@ FG and BG are the main colors." | |||
| 5676 | ;;;;; ioccur | 5797 | ;;;;; ioccur |
| 5677 | `(ioccur-cursor ((,c :foreground ,fg-main))) | 5798 | `(ioccur-cursor ((,c :foreground ,fg-main))) |
| 5678 | `(ioccur-invalid-regexp ((,c :foreground ,err))) | 5799 | `(ioccur-invalid-regexp ((,c :foreground ,err))) |
| 5679 | `(ioccur-match-face ((,c :background ,bg-search-static :foreground ,fg-main))) | 5800 | `(ioccur-match-face ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 5680 | `(ioccur-match-overlay-face ((,c :background ,bg-inactive :extend t))) | 5801 | `(ioccur-match-overlay-face ((,c :background ,bg-inactive :extend t))) |
| 5681 | `(ioccur-num-line-face ((,c :foreground ,fg-dim))) | 5802 | `(ioccur-num-line-face ((,c :foreground ,fg-dim))) |
| 5682 | `(ioccur-overlay-face ((,c :background ,bg-hl-line :extend t))) | 5803 | `(ioccur-overlay-face ((,c :background ,bg-hl-line :extend t))) |
| 5683 | `(ioccur-regexp-face ((,c :background ,bg-search-current :foreground ,fg-main))) | 5804 | `(ioccur-regexp-face ((,c :background ,bg-search-current :foreground ,fg-search-current))) |
| 5684 | `(ioccur-title-face ((,c :inherit modus-themes-bold :foreground ,name))) | 5805 | `(ioccur-title-face ((,c :inherit modus-themes-bold :foreground ,name))) |
| 5685 | ;;;;; isearch, occur, and the like | 5806 | ;;;;; isearch, occur, and the like |
| 5686 | `(isearch ((,c :background ,bg-search-current :foreground ,fg-main))) | 5807 | `(isearch ((,c :background ,bg-search-current :foreground ,fg-search-current))) |
| 5687 | `(isearch-fail ((,c :background ,bg-prominent-err :foreground ,fg-prominent-err))) | 5808 | `(isearch-fail ((,c :background ,bg-prominent-err :foreground ,fg-prominent-err))) |
| 5688 | `(isearch-group-1 ((,c :background ,bg-search-rx-group-0 :foreground ,fg-main))) | 5809 | `(isearch-group-1 ((,c :background ,bg-search-rx-group-0 :foreground ,fg-search-rx-group-0))) |
| 5689 | `(isearch-group-2 ((,c :background ,bg-search-rx-group-1 :foreground ,fg-main))) | 5810 | `(isearch-group-2 ((,c :background ,bg-search-rx-group-1 :foreground ,fg-search-rx-group-1))) |
| 5690 | `(lazy-highlight ((,c :background ,bg-search-lazy :foreground ,fg-main))) | 5811 | `(lazy-highlight ((,c :background ,bg-search-lazy :foreground ,fg-search-lazy))) |
| 5691 | `(match ((,c :background ,bg-search-static :foreground ,fg-main))) | 5812 | `(match ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 5692 | `(query-replace ((,c :background ,bg-search-replace :foreground ,fg-main))) | 5813 | `(query-replace ((,c :background ,bg-search-replace :foreground ,fg-search-replace))) |
| 5693 | ;;;;; ivy | 5814 | ;;;;; ivy |
| 5694 | `(ivy-action ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) | 5815 | `(ivy-action ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) |
| 5695 | `(ivy-confirm-face ((,c :foreground ,info))) | 5816 | `(ivy-confirm-face ((,c :foreground ,info))) |
| @@ -5801,7 +5922,7 @@ FG and BG are the main colors." | |||
| 5801 | `(line-number-minor-tick ((,c :inherit ,(if modus-themes-mixed-fonts '(fixed-pitch default) 'default) :background ,bg-line-number-inactive :foreground ,accent-1))) | 5922 | `(line-number-minor-tick ((,c :inherit ,(if modus-themes-mixed-fonts '(fixed-pitch default) 'default) :background ,bg-line-number-inactive :foreground ,accent-1))) |
| 5802 | ;;;;; lsp | 5923 | ;;;;; lsp |
| 5803 | `(lsp-details-face ((,c :height 0.9 :foreground ,fg-dim))) | 5924 | `(lsp-details-face ((,c :height 0.9 :foreground ,fg-dim))) |
| 5804 | `(lsp-face-rename ((,c :background ,bg-search-replace :foreground ,fg-main))) | 5925 | `(lsp-face-rename ((,c :background ,bg-search-replace :foreground ,fg-search-replace))) |
| 5805 | `(lsp-headerline-breadcrumb-separator-face ((,c :foreground ,fg-dim))) | 5926 | `(lsp-headerline-breadcrumb-separator-face ((,c :foreground ,fg-dim))) |
| 5806 | `(lsp-headerline-breadcrumb-path-face ((,c :foreground ,string))) | 5927 | `(lsp-headerline-breadcrumb-path-face ((,c :foreground ,string))) |
| 5807 | `(lsp-headerline-breadcrumb-path-error-face ((,c :underline (:style wave :color ,underline-err)))) | 5928 | `(lsp-headerline-breadcrumb-path-error-face ((,c :underline (:style wave :color ,underline-err)))) |
| @@ -5829,11 +5950,11 @@ FG and BG are the main colors." | |||
| 5829 | `(lsp-ui-peek-list ((,c :background ,bg-dim))) | 5950 | `(lsp-ui-peek-list ((,c :background ,bg-dim))) |
| 5830 | `(lsp-ui-peek-filename ((,c :inherit modus-themes-bold :foreground ,name))) | 5951 | `(lsp-ui-peek-filename ((,c :inherit modus-themes-bold :foreground ,name))) |
| 5831 | `(lsp-ui-peek-line-number ((,c :foreground ,fg-dim))) | 5952 | `(lsp-ui-peek-line-number ((,c :foreground ,fg-dim))) |
| 5832 | `(lsp-ui-peek-highlight ((,c :background ,bg-dim :box (:line-width -1 :color ,border)))) | 5953 | `(lsp-ui-peek-highlight ((,c :background ,bg-dim ,@(modus-themes--box border -1 nil)))) |
| 5833 | `(lsp-ui-peek-header ((,c :inherit modus-themes-bold))) | 5954 | `(lsp-ui-peek-header ((,c :inherit modus-themes-bold))) |
| 5834 | `(lsp-ui-peek-selection ((,c :background ,bg-region :foreground ,fg-region))) | 5955 | `(lsp-ui-peek-selection ((,c :background ,bg-region :foreground ,fg-region))) |
| 5835 | `(lsp-ui-sideline-symbol ((,c :foreground ,fg-dim :box (:line-width -1 :color ,border)))) | 5956 | `(lsp-ui-sideline-symbol ((,c :foreground ,fg-dim ,@(modus-themes--box border -1 nil)))) |
| 5836 | `(lsp-ui-sideline-current-symbol ((,c :inherit modus-themes-bold :foreground ,fg-main :box (:line-width -1 :color ,border)))) | 5957 | `(lsp-ui-sideline-current-symbol ((,c :inherit modus-themes-bold :foreground ,fg-main ,@(modus-themes--box border -1 nil)))) |
| 5837 | `(lsp-ui-sideline-code-action ((,c :foreground ,modeline-warning))) | 5958 | `(lsp-ui-sideline-code-action ((,c :foreground ,modeline-warning))) |
| 5838 | `(lsp-ui-sideline-symbol-info ((,c :inherit modus-themes-slant))) | 5959 | `(lsp-ui-sideline-symbol-info ((,c :inherit modus-themes-slant))) |
| 5839 | ;;;;; magit | 5960 | ;;;;; magit |
| @@ -5932,7 +6053,7 @@ FG and BG are the main colors." | |||
| 5932 | `(marginalia-char ((,c :foreground ,accent-2))) | 6053 | `(marginalia-char ((,c :foreground ,accent-2))) |
| 5933 | `(marginalia-date ((,c :foreground ,date-common))) | 6054 | `(marginalia-date ((,c :foreground ,date-common))) |
| 5934 | `(marginalia-documentation ((,c :inherit modus-themes-slant :foreground ,docstring))) | 6055 | `(marginalia-documentation ((,c :inherit modus-themes-slant :foreground ,docstring))) |
| 5935 | `(marginalia-file-name (( ))) | 6056 | `(marginalia-file-name ((,c :foreground ,fg-dim))) |
| 5936 | `(marginalia-file-owner ((,c :foreground ,fg-dim))) | 6057 | `(marginalia-file-owner ((,c :foreground ,fg-dim))) |
| 5937 | `(marginalia-file-priv-dir ((,c :foreground ,accent-0))) | 6058 | `(marginalia-file-priv-dir ((,c :foreground ,accent-0))) |
| 5938 | `(marginalia-file-priv-exec ((,c :foreground ,accent-1))) | 6059 | `(marginalia-file-priv-exec ((,c :foreground ,accent-1))) |
| @@ -6040,28 +6161,28 @@ FG and BG are the main colors." | |||
| 6040 | :background ,bg-mode-line-active | 6161 | :background ,bg-mode-line-active |
| 6041 | :foreground ,fg-mode-line-active) | 6162 | :foreground ,fg-mode-line-active) |
| 6042 | (((supports :box t)) | 6163 | (((supports :box t)) |
| 6043 | :box ,border-mode-line-active) | 6164 | ,@(modus-themes--box border-mode-line-active nil nil)) |
| 6044 | (t :underline ,border-mode-line-active))) | 6165 | (t :underline ,border-mode-line-active))) |
| 6045 | `(mode-line-active | 6166 | `(mode-line-active |
| 6046 | ((default :inherit modus-themes-ui-variable-pitch | 6167 | ((default :inherit modus-themes-ui-variable-pitch |
| 6047 | :background ,bg-mode-line-active | 6168 | :background ,bg-mode-line-active |
| 6048 | :foreground ,fg-mode-line-active) | 6169 | :foreground ,fg-mode-line-active) |
| 6049 | (((supports :box t)) | 6170 | (((supports :box t)) |
| 6050 | :box ,border-mode-line-active) | 6171 | ,@(modus-themes--box border-mode-line-active nil nil)) |
| 6051 | (t :underline ,border-mode-line-active))) | 6172 | (t :underline ,border-mode-line-active))) |
| 6052 | `(mode-line-buffer-id ((,c :inherit bold))) | 6173 | `(mode-line-buffer-id ((,c :inherit bold))) |
| 6053 | `(mode-line-emphasis ((,c :inherit italic :foreground ,modeline-info))) | 6174 | `(mode-line-emphasis ((,c :inherit italic :foreground ,modeline-info))) |
| 6054 | `(mode-line-highlight | 6175 | `(mode-line-highlight |
| 6055 | ((default :background ,bg-hover :foreground ,fg-main) | 6176 | ((default :background ,bg-hover :foreground ,fg-main) |
| 6056 | (((supports :box t)) | 6177 | (((supports :box t)) |
| 6057 | :box ,fg-main) | 6178 | ,@(modus-themes--box fg-main nil nil)) |
| 6058 | (t :underline ,fg-main))) | 6179 | (t :underline ,fg-main))) |
| 6059 | `(mode-line-inactive | 6180 | `(mode-line-inactive |
| 6060 | ((default :inherit modus-themes-ui-variable-pitch | 6181 | ((default :inherit modus-themes-ui-variable-pitch |
| 6061 | :background ,bg-mode-line-inactive | 6182 | :background ,bg-mode-line-inactive |
| 6062 | :foreground ,fg-mode-line-inactive) | 6183 | :foreground ,fg-mode-line-inactive) |
| 6063 | (((supports :box t)) | 6184 | (((supports :box t)) |
| 6064 | :box ,border-mode-line-inactive) | 6185 | ,@(modus-themes--box border-mode-line-inactive nil nil)) |
| 6065 | (t :underline ,border-mode-line-inactive))) | 6186 | (t :underline ,border-mode-line-inactive))) |
| 6066 | ;;;;; mood-line | 6187 | ;;;;; mood-line |
| 6067 | `(mood-line-modified ((,c :inherit modus-themes-slant))) | 6188 | `(mood-line-modified ((,c :inherit modus-themes-slant))) |
| @@ -6178,7 +6299,7 @@ FG and BG are the main colors." | |||
| 6178 | `(neo-vc-missing-face ((,c :foreground ,err))) | 6299 | `(neo-vc-missing-face ((,c :foreground ,err))) |
| 6179 | `(neo-vc-needs-merge-face ((,c :inherit modus-themes-slant))) | 6300 | `(neo-vc-needs-merge-face ((,c :inherit modus-themes-slant))) |
| 6180 | `(neo-vc-needs-update-face ((,c :inherit underline))) | 6301 | `(neo-vc-needs-update-face ((,c :inherit underline))) |
| 6181 | `(neo-vc-removed-face ((,c :strike-through t))) | 6302 | `(neo-vc-removed-face ((,c :underline (:style wave :color ,underline-err) :foreground ,err))) |
| 6182 | `(neo-vc-unlocked-changes-face ((,c :foreground ,info))) | 6303 | `(neo-vc-unlocked-changes-face ((,c :foreground ,info))) |
| 6183 | `(neo-vc-up-to-date-face (( ))) | 6304 | `(neo-vc-up-to-date-face (( ))) |
| 6184 | `(neo-vc-user-face ((,c :foreground ,warning))) | 6305 | `(neo-vc-user-face ((,c :foreground ,warning))) |
| @@ -6201,8 +6322,8 @@ FG and BG are the main colors." | |||
| 6201 | `(notmuch-search-non-matching-authors ((,c :foreground ,fg-dim))) | 6322 | `(notmuch-search-non-matching-authors ((,c :foreground ,fg-dim))) |
| 6202 | `(notmuch-search-subject ((,c :foreground ,fg-main))) | 6323 | `(notmuch-search-subject ((,c :foreground ,fg-main))) |
| 6203 | `(notmuch-search-unread-face ((,c :inherit bold))) | 6324 | `(notmuch-search-unread-face ((,c :inherit bold))) |
| 6204 | `(notmuch-tag-added ((,c :underline ,info))) | 6325 | `(notmuch-tag-added ((,c :underline (:style wave :color ,underline-note) :foreground ,info))) |
| 6205 | `(notmuch-tag-deleted ((,c :strike-through ,err))) | 6326 | `(notmuch-tag-deleted ((,c :underline (:style wave :color ,underline-err) :foreground ,err))) |
| 6206 | `(notmuch-tag-face ((,c :foreground ,accent-0))) | 6327 | `(notmuch-tag-face ((,c :foreground ,accent-0))) |
| 6207 | `(notmuch-tag-flagged ((,c :foreground ,keyword))) | 6328 | `(notmuch-tag-flagged ((,c :foreground ,keyword))) |
| 6208 | `(notmuch-tag-unread ((,c :foreground ,accent-1))) | 6329 | `(notmuch-tag-unread ((,c :foreground ,accent-1))) |
| @@ -6287,15 +6408,15 @@ FG and BG are the main colors." | |||
| 6287 | `(org-date-selected | 6408 | `(org-date-selected |
| 6288 | ((default :foreground ,date-common :inverse-video t) | 6409 | ((default :foreground ,date-common :inverse-video t) |
| 6289 | (((supports :box t)) | 6410 | (((supports :box t)) |
| 6290 | :box (:line-width (-1 . -1) :color ,fg-main)))) | 6411 | ,@(modus-themes--box fg-main '(-1 . -1) nil)))) |
| 6291 | ;; NOTE 2024-03-17: Normally we do not want to add this padding | 6412 | ;; NOTE 2024-03-17: Normally we do not want to add this padding |
| 6292 | ;; with the :box, but I do it here because the keys are otherwise | 6413 | ;; with the :box, but I do it here because the keys are otherwise |
| 6293 | ;; very hard to read. The square brackets around them are not | 6414 | ;; very hard to read. The square brackets around them are not |
| 6294 | ;; colored, which is what is causing the problem. | 6415 | ;; colored, which is what is causing the problem. |
| 6295 | `(org-dispatcher-highlight | 6416 | `(org-dispatcher-highlight |
| 6296 | ((default :background ,bg-mark-select :foreground ,fg-main) | 6417 | ((default :inherit bold :background ,bg-mark-select :foreground ,fg-mark-select) |
| 6297 | (((supports :box t)) | 6418 | (((supports :box t)) |
| 6298 | :box (:line-width 2 :color ,bg-mark-select)) | 6419 | ,@(modus-themes--box bg-mark-select 2 nil)) |
| 6299 | (t :underline ,border))) | 6420 | (t :underline ,border))) |
| 6300 | `(org-document-info ((,c :foreground ,prose-metadata-value))) | 6421 | `(org-document-info ((,c :foreground ,prose-metadata-value))) |
| 6301 | `(org-document-info-keyword ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata))) | 6422 | `(org-document-info-keyword ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata))) |
| @@ -6346,15 +6467,19 @@ FG and BG are the main colors." | |||
| 6346 | `(org-verse ((,c :inherit modus-themes-fixed-pitch :background ,bg-prose-block-contents :extend t))) | 6467 | `(org-verse ((,c :inherit modus-themes-fixed-pitch :background ,bg-prose-block-contents :extend t))) |
| 6347 | `(org-warning ((,c :foreground ,warning))) | 6468 | `(org-warning ((,c :foreground ,warning))) |
| 6348 | ;;;;; org-habit | 6469 | ;;;;; org-habit |
| 6349 | ;; NOTE 2025-10-24: All foregrounds here are a special case. | 6470 | ;; NOTE 2025-11-12: We used to have `readable-foreground-color' |
| 6350 | `(org-habit-alert-face ((,c :background ,bg-graph-yellow-0 :foreground ,(readable-foreground-color bg-graph-yellow-0)))) | 6471 | ;; for the foreground values of these faces, but that function |
| 6351 | `(org-habit-alert-future-face ((,c :background ,bg-graph-yellow-1 :foreground ,(readable-foreground-color bg-graph-yellow-1)))) | 6472 | ;; breaks the theme if it is loaded in the early-init.el. Maybe |
| 6352 | `(org-habit-clear-face ((,c :background ,bg-graph-blue-0 :foreground ,(readable-foreground-color bg-graph-blue-0)))) | 6473 | ;; we can find a better solution. I do not want to introduce new |
| 6353 | `(org-habit-clear-future-face ((,c :background ,bg-graph-blue-1 :foreground ,(readable-foreground-color bg-graph-blue-1)))) | 6474 | ;; palette entries or a new function just for these faces though. |
| 6354 | `(org-habit-overdue-face ((,c :background ,bg-graph-red-0 :foreground ,(readable-foreground-color bg-graph-red-0)))) | 6475 | `(org-habit-alert-face ((,c :background ,bg-graph-yellow-0))) |
| 6355 | `(org-habit-overdue-future-face ((,c :background ,bg-graph-red-1 :foreground ,(readable-foreground-color bg-graph-red-1)))) | 6476 | `(org-habit-alert-future-face ((,c :background ,bg-graph-yellow-1))) |
| 6356 | `(org-habit-ready-face ((,c :background ,bg-graph-green-0 :foreground ,(readable-foreground-color bg-graph-green-0)))) | 6477 | `(org-habit-clear-face ((,c :background ,bg-graph-blue-0))) |
| 6357 | `(org-habit-ready-future-face ((,c :background ,bg-graph-green-1 :foreground ,(readable-foreground-color bg-graph-green-1)))) | 6478 | `(org-habit-clear-future-face ((,c :background ,bg-graph-blue-1))) |
| 6479 | `(org-habit-overdue-face ((,c :background ,bg-graph-red-0))) | ||
| 6480 | `(org-habit-overdue-future-face ((,c :background ,bg-graph-red-1))) | ||
| 6481 | `(org-habit-ready-face ((,c :background ,bg-graph-green-0))) | ||
| 6482 | `(org-habit-ready-future-face ((,c :background ,bg-graph-green-1))) | ||
| 6358 | ;;;;; org-journal | 6483 | ;;;;; org-journal |
| 6359 | `(org-journal-calendar-entry-face ((,c :inherit modus-themes-slant :foreground ,date-common))) | 6484 | `(org-journal-calendar-entry-face ((,c :inherit modus-themes-slant :foreground ,date-common))) |
| 6360 | `(org-journal-calendar-scheduled-face ((,c :inherit modus-themes-slant :foreground ,date-scheduled-subtle))) | 6485 | `(org-journal-calendar-scheduled-face ((,c :inherit modus-themes-slant :foreground ,date-scheduled-subtle))) |
| @@ -6454,7 +6579,7 @@ FG and BG are the main colors." | |||
| 6454 | `(proced-user (( ))) | 6579 | `(proced-user (( ))) |
| 6455 | ;;;;; popup | 6580 | ;;;;; popup |
| 6456 | `(popup-face ((,c :background ,bg-inactive :foreground ,fg-main))) | 6581 | `(popup-face ((,c :background ,bg-inactive :foreground ,fg-main))) |
| 6457 | `(popup-isearch-match ((,c :background ,bg-search-current :foreground ,fg-main))) | 6582 | `(popup-isearch-match ((,c :background ,bg-search-current :foreground ,fg-search-current))) |
| 6458 | `(popup-menu-mouse-face ((,c :background ,bg-hover :foreground ,fg-main))) | 6583 | `(popup-menu-mouse-face ((,c :background ,bg-hover :foreground ,fg-main))) |
| 6459 | `(popup-menu-selection-face ((,c :inherit modus-themes-completion-selected))) | 6584 | `(popup-menu-selection-face ((,c :inherit modus-themes-completion-selected))) |
| 6460 | `(popup-scroll-bar-background-face ((,c :background ,bg-active))) | 6585 | `(popup-scroll-bar-background-face ((,c :background ,bg-active))) |
| @@ -6548,10 +6673,10 @@ FG and BG are the main colors." | |||
| 6548 | `(recursion-indicator-general ((,c :foreground ,modeline-err))) | 6673 | `(recursion-indicator-general ((,c :foreground ,modeline-err))) |
| 6549 | `(recursion-indicator-minibuffer ((,c :foreground ,modeline-info))) | 6674 | `(recursion-indicator-minibuffer ((,c :foreground ,modeline-info))) |
| 6550 | ;;;;; regexp-builder (re-builder) | 6675 | ;;;;; regexp-builder (re-builder) |
| 6551 | `(reb-match-0 ((,c :background ,bg-search-rx-group-0 :foreground ,fg-main))) | 6676 | `(reb-match-0 ((,c :background ,bg-search-rx-group-0 :foreground ,fg-search-rx-group-0))) |
| 6552 | `(reb-match-1 ((,c :background ,bg-search-rx-group-1 :foreground ,fg-main))) | 6677 | `(reb-match-1 ((,c :background ,bg-search-rx-group-1 :foreground ,fg-search-rx-group-1))) |
| 6553 | `(reb-match-2 ((,c :background ,bg-search-rx-group-2 :foreground ,fg-main))) | 6678 | `(reb-match-2 ((,c :background ,bg-search-rx-group-2 :foreground ,fg-search-rx-group-2))) |
| 6554 | `(reb-match-3 ((,c :background ,bg-search-rx-group-3 :foreground ,fg-main))) | 6679 | `(reb-match-3 ((,c :background ,bg-search-rx-group-3 :foreground ,fg-search-rx-group-3))) |
| 6555 | `(reb-regexp-grouping-backslash ((,c :inherit modus-themes-bold :foreground ,rx-backslash))) | 6680 | `(reb-regexp-grouping-backslash ((,c :inherit modus-themes-bold :foreground ,rx-backslash))) |
| 6556 | `(reb-regexp-grouping-construct ((,c :inherit modus-themes-bold :foreground ,rx-construct))) | 6681 | `(reb-regexp-grouping-construct ((,c :inherit modus-themes-bold :foreground ,rx-construct))) |
| 6557 | ;;;;; rg (rg.el) | 6682 | ;;;;; rg (rg.el) |
| @@ -6562,7 +6687,7 @@ FG and BG are the main colors." | |||
| 6562 | `(rg-filename-face ((,c :inherit modus-themes-bold :foreground ,name))) | 6687 | `(rg-filename-face ((,c :inherit modus-themes-bold :foreground ,name))) |
| 6563 | `(rg-line-number-face ((,c :foreground ,fg-dim))) | 6688 | `(rg-line-number-face ((,c :foreground ,fg-dim))) |
| 6564 | `(rg-literal-face ((,c :foreground ,constant))) | 6689 | `(rg-literal-face ((,c :foreground ,constant))) |
| 6565 | `(rg-match-face ((,c :background ,bg-search-static :foreground ,fg-main))) | 6690 | `(rg-match-face ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 6566 | `(rg-regexp-face ((,c :foreground ,name))) | 6691 | `(rg-regexp-face ((,c :foreground ,name))) |
| 6567 | `(rg-toggle-off-face ((,c :inherit modus-themes-bold :foreground ,fg-dim))) | 6692 | `(rg-toggle-off-face ((,c :inherit modus-themes-bold :foreground ,fg-dim))) |
| 6568 | `(rg-toggle-on-face ((,c :foreground ,info))) | 6693 | `(rg-toggle-on-face ((,c :foreground ,info))) |
| @@ -6571,7 +6696,7 @@ FG and BG are the main colors." | |||
| 6571 | `(ripgrep-context-face ((,c :foreground ,fg-dim))) | 6696 | `(ripgrep-context-face ((,c :foreground ,fg-dim))) |
| 6572 | `(ripgrep-error-face ((,c :foreground ,err))) | 6697 | `(ripgrep-error-face ((,c :foreground ,err))) |
| 6573 | `(ripgrep-hit-face ((,c :foreground ,info))) | 6698 | `(ripgrep-hit-face ((,c :foreground ,info))) |
| 6574 | `(ripgrep-match-face ((,c :background ,bg-search-static :foreground ,fg-main))) | 6699 | `(ripgrep-match-face ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 6575 | ;;;;; rmail | 6700 | ;;;;; rmail |
| 6576 | `(rmail-header-name ((,c :inherit bold))) | 6701 | `(rmail-header-name ((,c :inherit bold))) |
| 6577 | `(rmail-highlight ((,c :inherit bold :foreground ,mail-other))) | 6702 | `(rmail-highlight ((,c :inherit bold :foreground ,mail-other))) |
| @@ -6623,7 +6748,7 @@ FG and BG are the main colors." | |||
| 6623 | `(shr-h4 ((,c :inherit modus-themes-heading-4))) | 6748 | `(shr-h4 ((,c :inherit modus-themes-heading-4))) |
| 6624 | `(shr-h5 ((,c :inherit modus-themes-heading-5))) | 6749 | `(shr-h5 ((,c :inherit modus-themes-heading-5))) |
| 6625 | `(shr-h6 ((,c :inherit modus-themes-heading-6))) | 6750 | `(shr-h6 ((,c :inherit modus-themes-heading-6))) |
| 6626 | `(shr-mark ((,c :background ,bg-search-static :foreground ,fg-main))) | 6751 | `(shr-mark ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 6627 | `(shr-selected-link ((,c :inherit bold :background ,bg-mark-select :foreground ,fg-mark-select))) | 6752 | `(shr-selected-link ((,c :inherit bold :background ,bg-mark-select :foreground ,fg-mark-select))) |
| 6628 | ;;;;; side-notes | 6753 | ;;;;; side-notes |
| 6629 | `(side-notes ((,c :background ,bg-dim :foreground ,fg-dim))) | 6754 | `(side-notes ((,c :background ,bg-dim :foreground ,fg-dim))) |
| @@ -6655,7 +6780,6 @@ FG and BG are the main colors." | |||
| 6655 | `(sly-error-face ((,c :underline (:style wave :color ,underline-err)))) | 6780 | `(sly-error-face ((,c :underline (:style wave :color ,underline-err)))) |
| 6656 | `(sly-mode-line ((,c :inherit italic :foreground ,modeline-info))) | 6781 | `(sly-mode-line ((,c :inherit italic :foreground ,modeline-info))) |
| 6657 | `(sly-mrepl-output-face ((,c :foreground ,string))) | 6782 | `(sly-mrepl-output-face ((,c :foreground ,string))) |
| 6658 | `(sly-mrepl-output-face ((,c :foreground ,string))) | ||
| 6659 | `(sly-mrepl-prompt-face ((,c :inherit modus-themes-prompt))) | 6783 | `(sly-mrepl-prompt-face ((,c :inherit modus-themes-prompt))) |
| 6660 | `(sly-note-face ((,c :underline (:style wave :color ,underline-note)))) | 6784 | `(sly-note-face ((,c :underline (:style wave :color ,underline-note)))) |
| 6661 | `(sly-stickers-placed-face ((,c :background ,bg-inactive))) | 6785 | `(sly-stickers-placed-face ((,c :background ,bg-inactive))) |
| @@ -6732,11 +6856,11 @@ FG and BG are the main colors." | |||
| 6732 | `(symbol-overlay-face-1 ((,c :background ,bg-blue-intense :foreground ,fg-main))) | 6856 | `(symbol-overlay-face-1 ((,c :background ,bg-blue-intense :foreground ,fg-main))) |
| 6733 | `(symbol-overlay-face-2 ((,c :background ,bg-magenta-intense :foreground ,fg-main))) | 6857 | `(symbol-overlay-face-2 ((,c :background ,bg-magenta-intense :foreground ,fg-main))) |
| 6734 | `(symbol-overlay-face-3 ((,c :background ,bg-yellow-intense :foreground ,fg-main))) | 6858 | `(symbol-overlay-face-3 ((,c :background ,bg-yellow-intense :foreground ,fg-main))) |
| 6735 | `(symbol-overlay-face-4 ((,c :background ,bg-magenta-intense :foreground ,fg-main))) | 6859 | `(symbol-overlay-face-4 ((,c :background ,bg-cyan-intense :foreground ,fg-main))) |
| 6736 | `(symbol-overlay-face-5 ((,c :background ,bg-red-intense :foreground ,fg-main))) | 6860 | `(symbol-overlay-face-5 ((,c :background ,bg-red-intense :foreground ,fg-main))) |
| 6737 | `(symbol-overlay-face-6 ((,c :background ,bg-red-intense :foreground ,fg-main))) | 6861 | `(symbol-overlay-face-6 ((,c :background ,bg-green-intense :foreground ,fg-main))) |
| 6738 | `(symbol-overlay-face-7 ((,c :background ,bg-cyan-intense :foreground ,fg-main))) | 6862 | `(symbol-overlay-face-7 ((,c :background ,bg-red-subtle :foreground ,fg-main))) |
| 6739 | `(symbol-overlay-face-8 ((,c :background ,bg-cyan-intense :foreground ,fg-main))) | 6863 | `(symbol-overlay-face-8 ((,c :background ,bg-cyan-subtle :foreground ,fg-main))) |
| 6740 | ;;;;; syslog-mode | 6864 | ;;;;; syslog-mode |
| 6741 | `(syslog-debug ((,c :inherit modus-themes-slant))) | 6865 | `(syslog-debug ((,c :inherit modus-themes-slant))) |
| 6742 | `(syslog-error ((,c :foreground ,err))) | 6866 | `(syslog-error ((,c :foreground ,err))) |
| @@ -6749,20 +6873,20 @@ FG and BG are the main colors." | |||
| 6749 | `(syslog-warn ((,c :foreground ,warning))) | 6873 | `(syslog-warn ((,c :foreground ,warning))) |
| 6750 | ;;;;; tab-bar-mode | 6874 | ;;;;; tab-bar-mode |
| 6751 | `(tab-bar ((,c :inherit modus-themes-ui-variable-pitch :background ,bg-tab-bar))) | 6875 | `(tab-bar ((,c :inherit modus-themes-ui-variable-pitch :background ,bg-tab-bar))) |
| 6752 | `(tab-bar-tab-group-current ((,c :inherit modus-themes-bold :background ,bg-tab-current :box (:line-width -2 :color ,bg-tab-current) :foreground ,fg-alt))) | 6876 | `(tab-bar-tab-group-current ((,c :inherit modus-themes-bold :background ,bg-tab-current :foreground ,fg-alt ,@(modus-themes--box bg-tab-current -2 nil)))) |
| 6753 | `(tab-bar-tab-group-inactive ((,c :background ,bg-tab-bar :box (:line-width -2 :color ,bg-tab-bar) :foreground ,fg-alt))) | 6877 | `(tab-bar-tab-group-inactive ((,c :background ,bg-tab-bar :foreground ,fg-alt ,@(modus-themes--box bg-tab-bar -2 nil)))) |
| 6754 | `(tab-bar-tab ((,c :inherit modus-themes-bold :box (:line-width -2 :color ,bg-tab-current) :background ,bg-tab-current))) | 6878 | `(tab-bar-tab ((,c :inherit modus-themes-bold :background ,bg-tab-current ,@(modus-themes--box bg-tab-current -2 nil)))) |
| 6755 | `(tab-bar-tab-highlight ((,c :background ,bg-hover :foreground ,fg-main :box t))) | 6879 | `(tab-bar-tab-highlight ((,c :background ,bg-hover :foreground ,fg-main :box t))) |
| 6756 | `(tab-bar-tab-inactive ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other))) | 6880 | `(tab-bar-tab-inactive ((,c :background ,bg-tab-other ,@(modus-themes--box bg-tab-other -2 nil)))) |
| 6757 | `(tab-bar-tab-ungrouped ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other))) | 6881 | `(tab-bar-tab-ungrouped ((,c :background ,bg-tab-other ,@(modus-themes--box bg-tab-other -2 nil)))) |
| 6758 | ;;;;; tab-line-mode | 6882 | ;;;;; tab-line-mode |
| 6759 | `(tab-line ((,c :inherit modus-themes-ui-variable-pitch :background ,bg-tab-bar :height 0.95))) | 6883 | `(tab-line ((,c :inherit modus-themes-ui-variable-pitch :background ,bg-tab-bar :height 0.95))) |
| 6760 | `(tab-line-close-highlight ((,c :foreground ,err))) | 6884 | `(tab-line-close-highlight ((,c :foreground ,err))) |
| 6761 | `(tab-line-highlight ((,c :background ,bg-hover :foreground ,fg-main))) | 6885 | `(tab-line-highlight ((,c :background ,bg-hover :foreground ,fg-main))) |
| 6762 | `(tab-line-tab (( ))) | 6886 | `(tab-line-tab (( ))) |
| 6763 | `(tab-line-tab-current ((,c :inherit modus-themes-bold :box (:line-width -2 :color ,bg-tab-current) :background ,bg-tab-current))) | 6887 | `(tab-line-tab-current ((,c :inherit modus-themes-bold :background ,bg-tab-current ,@(modus-themes--box bg-tab-current -2 nil)))) |
| 6764 | `(tab-line-tab-inactive ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other))) | 6888 | `(tab-line-tab-inactive ((,c :background ,bg-tab-other ,@(modus-themes--box bg-tab-other -2 nil)))) |
| 6765 | `(tab-line-tab-inactive-alternate ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other :foreground ,fg-alt))) | 6889 | `(tab-line-tab-inactive-alternate ((,c :background ,bg-tab-other :foreground ,fg-alt ,@(modus-themes--box bg-tab-other -2 nil)))) |
| 6766 | `(tab-line-tab-modified ((,c :foreground ,warning))) | 6890 | `(tab-line-tab-modified ((,c :foreground ,warning))) |
| 6767 | ;;;;; table (built-in table.el) | 6891 | ;;;;; table (built-in table.el) |
| 6768 | `(table-cell ((,c :background ,bg-dim))) | 6892 | `(table-cell ((,c :background ,bg-dim))) |
| @@ -6824,38 +6948,29 @@ FG and BG are the main colors." | |||
| 6824 | `(tmr-tabulated-start-time ((,c :foreground ,date-common))) | 6948 | `(tmr-tabulated-start-time ((,c :foreground ,date-common))) |
| 6825 | ;;;;; transient | 6949 | ;;;;; transient |
| 6826 | `(transient-active-infix ((,c :background ,bg-hover :foreground ,fg-main))) | 6950 | `(transient-active-infix ((,c :background ,bg-hover :foreground ,fg-main))) |
| 6827 | `(transient-amaranth ((,c :inherit bold :foreground ,yellow-warmer))) | ||
| 6828 | ;; Placate the compiler for what is a spurious warning. We also | 6951 | ;; Placate the compiler for what is a spurious warning. We also |
| 6829 | ;; have to do this with `eldoc-highlight-function-argument'. | 6952 | ;; have to do this with `eldoc-highlight-function-argument'. |
| 6830 | (list 'transient-argument `((,c :inherit modus-themes-bold :background ,bg-active-argument :foreground ,fg-active-argument))) | 6953 | (list 'transient-argument `((,c :inherit modus-themes-bold :background ,bg-active-argument :foreground ,fg-active-argument))) |
| 6831 | `(transient-blue ((,c :inherit bold :foreground ,blue))) | ||
| 6832 | `(transient-disabled-suffix ((,c :inherit bold :background ,bg-mark-delete :foreground ,fg-mark-delete))) | 6954 | `(transient-disabled-suffix ((,c :inherit bold :background ,bg-mark-delete :foreground ,fg-mark-delete))) |
| 6833 | `(transient-enabled-suffix ((,c :inherit bold :background ,bg-mark-select :foreground ,fg-mark-select))) | 6955 | `(transient-enabled-suffix ((,c :inherit bold :background ,bg-mark-select :foreground ,fg-mark-select))) |
| 6834 | `(transient-heading ((,c :inherit bold :foreground ,fg-main))) | 6956 | `(transient-heading ((,c :inherit bold :foreground ,fg-main))) |
| 6835 | `(transient-inactive-argument ((,c :foreground ,fg-dim))) | 6957 | `(transient-inactive-argument ((,c :foreground ,fg-dim))) |
| 6836 | `(transient-inactive-value ((,c :foreground ,fg-dim))) | 6958 | `(transient-inactive-value ((,c :foreground ,fg-dim))) |
| 6837 | ;; NOTE 2023-12-09 10:30:09 +0200: The new user option | 6959 | `(transient-inapt-argument ((,c :inherit bold :foreground ,fg-dim))) |
| 6838 | ;; `transient-semantic-coloring' is enabled by default. This is | 6960 | `(transient-inapt-suffix ((,c :inherit italic :foreground ,fg-dim))) |
| 6839 | ;; not good for us, because we are making it harder for users who | ||
| 6840 | ;; need accessible colors to use the transient interfaces. I | ||
| 6841 | ;; could set that user option to nil, but I think it is less | ||
| 6842 | ;; intrusive to enforce uniformity among the relevant faces. | ||
| 6843 | ;; Those who want semantic coloring can modify these faces. | ||
| 6844 | `(transient-key ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) | 6961 | `(transient-key ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) |
| 6845 | `(transient-key-exit ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) | 6962 | ;; NOTE 2025-11-19: With regard to `transient-semantic-coloring', |
| 6846 | `(transient-key-noop ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind :strike-through t))) | 6963 | ;; also see `modus-themes-faces-deuteranopia' and `modus-themes-faces-tritanopia'. |
| 6847 | `(transient-key-recurse ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) | 6964 | `(transient-key-exit ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,red-warmer))) |
| 6848 | `(transient-key-return ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) | 6965 | `(transient-key-noop ((,c :inherit modus-themes-fixed-pitch :foreground ,fg-dim))) |
| 6849 | `(transient-key-stack ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) | 6966 | `(transient-key-recurse ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,fg-main))) |
| 6850 | `(transient-key-stay ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) | 6967 | `(transient-key-return ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,yellow))) |
| 6968 | `(transient-key-stack ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,blue-cooler))) | ||
| 6969 | `(transient-key-stay ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,green-cooler))) | ||
| 6851 | `(transient-mismatched-key ((,c :inherit underline))) | 6970 | `(transient-mismatched-key ((,c :inherit underline))) |
| 6852 | `(transient-nonstandard-key ((,c :inherit underline))) | 6971 | `(transient-nonstandard-key ((,c :inherit underline))) |
| 6853 | `(transient-pink ((,c :inherit bold :foreground ,magenta))) | ||
| 6854 | `(transient-purple ((,c :inherit bold :foreground ,magenta-cooler))) | ||
| 6855 | `(transient-red ((,c :inherit bold :foreground ,red-faint))) | ||
| 6856 | `(transient-teal ((,c :inherit bold :foreground ,cyan-cooler))) | ||
| 6857 | `(transient-unreachable ((,c :foreground ,fg-dim))) | 6972 | `(transient-unreachable ((,c :foreground ,fg-dim))) |
| 6858 | `(transient-unreachable-key ((,c :foreground ,fg-dim))) | 6973 | `(transient-unreachable-key ((,c :inherit modus-themes-fixed-pitch :foreground ,fg-dim))) |
| 6859 | `(transient-value ((,c :inherit modus-themes-bold :background ,bg-active-value :foreground ,fg-active-value))) | 6974 | `(transient-value ((,c :inherit modus-themes-bold :background ,bg-active-value :foreground ,fg-active-value))) |
| 6860 | ;;;;; trashed | 6975 | ;;;;; trashed |
| 6861 | `(trashed-deleted ((,c :inherit bold :background ,bg-mark-delete :foreground ,fg-mark-delete))) | 6976 | `(trashed-deleted ((,c :inherit bold :background ,bg-mark-delete :foreground ,fg-mark-delete))) |
| @@ -6942,45 +7057,45 @@ FG and BG are the main colors." | |||
| 6942 | `(vc-dir-status-edited ((,c :inherit modus-themes-slant))) | 7057 | `(vc-dir-status-edited ((,c :inherit modus-themes-slant))) |
| 6943 | `(vc-dir-status-ignored ((,c :foreground ,fg-dim))) | 7058 | `(vc-dir-status-ignored ((,c :foreground ,fg-dim))) |
| 6944 | `(vc-dir-status-up-to-date ((,c :foreground ,info))) | 7059 | `(vc-dir-status-up-to-date ((,c :foreground ,info))) |
| 6945 | `(vc-dir-status-warning ((,c :foreground ,err))) | 7060 | `(vc-dir-status-warning ((,c :foreground ,warning))) |
| 6946 | `(vc-conflict-state ((,c :foreground ,err))) | 7061 | `(vc-conflict-state ((,c :foreground ,err))) |
| 6947 | `(vc-edited-state ((,c :inherit modus-themes-slant))) | 7062 | `(vc-edited-state ((,c :inherit modus-themes-slant))) |
| 6948 | `(vc-git-log-edit-summary-max-warning ((,c :foreground ,err))) | 7063 | `(vc-git-log-edit-summary-max-warning ((,c :foreground ,err))) |
| 6949 | `(vc-git-log-edit-summary-target-warning ((,c :foreground ,warning))) | 7064 | `(vc-git-log-edit-summary-target-warning ((,c :foreground ,warning))) |
| 6950 | `(vc-locally-added-state ((,c :inherit modus-themes-slant))) | 7065 | `(vc-locally-added-state ((,c :inherit modus-themes-slant))) |
| 6951 | `(vc-locked-state ((,c :foreground ,info))) | 7066 | `(vc-locked-state ((,c :foreground ,info))) |
| 6952 | `(vc-missing-state ((,c :foreground ,err))) | 7067 | `(vc-missing-state ((,c :underline (:style wave :color ,underline-warning) :foreground ,warning))) |
| 6953 | `(vc-needs-update-state ((,c :foreground ,err))) | 7068 | `(vc-needs-update-state ((,c :foreground ,err))) |
| 6954 | `(vc-removed-state ((,c :foreground ,err))) | 7069 | `(vc-removed-state ((,c :underline (:style wave :color ,underline-err) :foreground ,err))) |
| 6955 | `(vc-state-base (( ))) | 7070 | `(vc-state-base (( ))) |
| 6956 | `(vc-up-to-date-state (( ))) | 7071 | `(vc-up-to-date-state (( ))) |
| 6957 | ;;;;; vertico | 7072 | ;;;;; vertico |
| 6958 | `(vertico-current ((,c :inherit modus-themes-completion-selected))) | 7073 | `(vertico-current ((,c :inherit modus-themes-completion-selected))) |
| 6959 | ;;;;; vertico-quick | 7074 | ;;;;; vertico-quick |
| 6960 | `(vertico-quick1 ((,c :inherit bold :background ,bg-search-current :foreground ,fg-main))) | 7075 | `(vertico-quick1 ((,c :inherit bold :background ,bg-search-current :foreground ,fg-search-current))) |
| 6961 | `(vertico-quick2 ((,c :inherit bold :background ,bg-search-current :foreground ,fg-main))) | 7076 | `(vertico-quick2 ((,c :inherit bold :background ,bg-search-current :foreground ,fg-search-current))) |
| 6962 | ;;;;; vimish-fold | 7077 | ;;;;; vimish-fold |
| 6963 | `(vimish-fold-fringe ((,c :foreground ,info))) | 7078 | `(vimish-fold-fringe ((,c :foreground ,info))) |
| 6964 | `(vimish-fold-mouse-face ((,c :background ,bg-hover :foreground ,fg-main))) | 7079 | `(vimish-fold-mouse-face ((,c :background ,bg-hover :foreground ,fg-main))) |
| 6965 | `(vimish-fold-overlay ((,c :background ,bg-inactive))) | 7080 | `(vimish-fold-overlay ((,c :background ,bg-inactive))) |
| 6966 | ;;;;; viper | 7081 | ;;;;; viper |
| 6967 | `(viper-search ((,c :background ,bg-search-current :foreground ,fg-main))) | 7082 | `(viper-search ((,c :background ,bg-search-current :foreground ,fg-search-current))) |
| 6968 | `(viper-replace-overlay ((,c :background ,bg-search-replace :foreground ,fg-main))) | 7083 | `(viper-replace-overlay ((,c :background ,bg-search-replace :foreground ,fg-search-replace))) |
| 6969 | `(viper-minibuffer-emacs (( ))) | 7084 | `(viper-minibuffer-emacs (( ))) |
| 6970 | `(viper-minibuffer-insert (( ))) | 7085 | `(viper-minibuffer-insert (( ))) |
| 6971 | `(viper-minibuffer-vi (( ))) | 7086 | `(viper-minibuffer-vi (( ))) |
| 6972 | ;;;;; visible-mark | 7087 | ;;;;; visible-mark |
| 6973 | `(visible-mark-active ((,c :background ,bg-search-static :foreground ,fg-main))) | 7088 | `(visible-mark-active ((,c :background ,bg-search-static :foreground ,fg-search-static))) |
| 6974 | `(visible-mark-face1 ((,c :background ,bg-search-rx-group-0 :foreground ,fg-main))) | 7089 | `(visible-mark-face1 ((,c :background ,bg-search-rx-group-0 :foreground ,fg-search-rx-group-0))) |
| 6975 | `(visible-mark-face2 ((,c :background ,bg-search-rx-group-1 :foreground ,fg-main))) | 7090 | `(visible-mark-face2 ((,c :background ,bg-search-rx-group-1 :foreground ,fg-search-rx-group-1))) |
| 6976 | `(visible-mark-forward-face1 ((,c :background ,bg-search-rx-group-2 :foreground ,fg-main))) | 7091 | `(visible-mark-forward-face1 ((,c :background ,bg-search-rx-group-2 :foreground ,fg-search-rx-group-2))) |
| 6977 | `(visible-mark-forward-face2 ((,c :background ,bg-search-rx-group-3 :foreground ,fg-main))) | 7092 | `(visible-mark-forward-face2 ((,c :background ,bg-search-rx-group-3 :foreground ,fg-search-rx-group-3))) |
| 6978 | ;;;;; visual-regexp | 7093 | ;;;;; visual-regexp |
| 6979 | `(vr/group-0 ((,c :background ,bg-search-rx-group-0 :foreground ,fg-main))) | 7094 | `(vr/group-0 ((,c :background ,bg-search-rx-group-0 :foreground ,fg-search-rx-group-0))) |
| 6980 | `(vr/group-1 ((,c :background ,bg-search-rx-group-1 :foreground ,fg-main))) | 7095 | `(vr/group-1 ((,c :background ,bg-search-rx-group-1 :foreground ,fg-search-rx-group-1))) |
| 6981 | `(vr/group-2 ((,c :background ,bg-search-rx-group-2 :foreground ,fg-main))) | 7096 | `(vr/group-2 ((,c :background ,bg-search-rx-group-2 :foreground ,fg-search-rx-group-2))) |
| 6982 | `(vr/match-0 ((,c :background ,bg-search-current :foreground ,fg-main))) | 7097 | `(vr/match-0 ((,c :background ,bg-search-current :foreground ,fg-search-current))) |
| 6983 | `(vr/match-1 ((,c :background ,bg-search-lazy :foreground ,fg-main))) | 7098 | `(vr/match-1 ((,c :background ,bg-search-lazy :foreground ,fg-search-lazy))) |
| 6984 | `(vr/match-separator-face ((,c :inherit bold :background ,bg-active))) | 7099 | `(vr/match-separator-face ((,c :inherit bold :background ,bg-active))) |
| 6985 | ;;;;; vterm | 7100 | ;;;;; vterm |
| 6986 | `(vterm-color-black ((,c :background ,bg-term-black :foreground ,fg-term-black))) | 7101 | `(vterm-color-black ((,c :background ,bg-term-black :foreground ,fg-term-black))) |
| @@ -7135,6 +7250,8 @@ FG and BG are the main colors." | |||
| 7135 | `(xah-elisp-cap-variable ((,c :foreground ,preprocessor))) | 7250 | `(xah-elisp-cap-variable ((,c :foreground ,preprocessor))) |
| 7136 | `(xah-elisp-command-face ((,c :inherit modus-themes-bold :foreground ,type))) | 7251 | `(xah-elisp-command-face ((,c :inherit modus-themes-bold :foreground ,type))) |
| 7137 | `(xah-elisp-dollar-symbol ((,c :foreground ,variable))) | 7252 | `(xah-elisp-dollar-symbol ((,c :foreground ,variable))) |
| 7253 | ;;;;; xref | ||
| 7254 | `(xref-file-header ((,c :foreground ,name))) | ||
| 7138 | ;;;;; yaml-mode | 7255 | ;;;;; yaml-mode |
| 7139 | `(yaml-tab-face ((,c :background ,bg-space-err))) | 7256 | `(yaml-tab-face ((,c :background ,bg-space-err))) |
| 7140 | ;;;;; yasnippet | 7257 | ;;;;; yasnippet |
| @@ -7154,6 +7271,26 @@ FG and BG are the main colors." | |||
| 7154 | `(ztreep-node-face ((,c :foreground ,accent-0)))) | 7271 | `(ztreep-node-face ((,c :foreground ,accent-0)))) |
| 7155 | "Face specs for use with `modus-themes-theme'.") | 7272 | "Face specs for use with `modus-themes-theme'.") |
| 7156 | 7273 | ||
| 7274 | (defconst modus-themes-faces-deuteranopia | ||
| 7275 | '( | ||
| 7276 | `(transient-key-exit ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,yellow-warmer))) | ||
| 7277 | `(transient-key-noop ((,c :inherit modus-themes-fixed-pitch :foreground ,fg-dim))) | ||
| 7278 | `(transient-key-recurse ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,fg-main))) | ||
| 7279 | `(transient-key-return ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,yellow-cooler))) | ||
| 7280 | `(transient-key-stack ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,blue-cooler))) | ||
| 7281 | `(transient-key-stay ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,cyan-faint)))) | ||
| 7282 | "Faces that must be used by themes that are optimized for deuteranopia.") | ||
| 7283 | |||
| 7284 | (defconst modus-themes-faces-tritanopia | ||
| 7285 | '( | ||
| 7286 | `(transient-key-exit ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,red-warmer))) | ||
| 7287 | `(transient-key-noop ((,c :inherit modus-themes-fixed-pitch :foreground ,fg-dim))) | ||
| 7288 | `(transient-key-recurse ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,fg-main))) | ||
| 7289 | `(transient-key-return ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,magenta))) | ||
| 7290 | `(transient-key-stack ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,cyan))) | ||
| 7291 | `(transient-key-stay ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,cyan-faint)))) | ||
| 7292 | "Faces that must be used by themes that are optimized for tritanopia.") | ||
| 7293 | |||
| 7157 | (defconst modus-themes-custom-variables | 7294 | (defconst modus-themes-custom-variables |
| 7158 | '( | 7295 | '( |
| 7159 | ;;;; ansi-colors | 7296 | ;;;; ansi-colors |
| @@ -7243,7 +7380,7 @@ To simply register the theme, use `modus-themes-register'." | |||
| 7243 | description | 7380 | description |
| 7244 | (list :kind 'color-scheme :background-mode background-mode :family family | 7381 | (list :kind 'color-scheme :background-mode background-mode :family family |
| 7245 | :modus-core-palette core-palette :modus-user-palette user-palette | 7382 | :modus-core-palette core-palette :modus-user-palette user-palette |
| 7246 | :modus-overrides-palette overrides-palette))) | 7383 | :modus-overrides-palette overrides-palette :modus-documentation description))) |
| 7247 | 7384 | ||
| 7248 | (defun modus-themes-register (name) | 7385 | (defun modus-themes-register (name) |
| 7249 | "Add NAME theme to `modus-themes-registered-items'. | 7386 | "Add NAME theme to `modus-themes-registered-items'. |
| @@ -7264,7 +7401,7 @@ are symbols of variables which define palettes commensurate with | |||
| 7264 | The optional CUSTOM-FACES and CUSTOM-VARIABLES are joined together with | 7401 | The optional CUSTOM-FACES and CUSTOM-VARIABLES are joined together with |
| 7265 | the `modus-themes-faces' and `modus-themes-custom-variables', | 7402 | the `modus-themes-faces' and `modus-themes-custom-variables', |
| 7266 | respectively. A derivative theme defining those is thus overriding what | 7403 | respectively. A derivative theme defining those is thus overriding what |
| 7267 | the Modus themess have by default. | 7404 | the Modus themes have by default. |
| 7268 | 7405 | ||
| 7269 | Consult the manual for details on how to build a theme on top of the | 7406 | Consult the manual for details on how to build a theme on top of the |
| 7270 | `modus-themes': Info node `(modus-themes) Build on top of the Modus themes'." | 7407 | `modus-themes': Info node `(modus-themes) Build on top of the Modus themes'." |
| @@ -7280,7 +7417,9 @@ Consult the manual for details on how to build a theme on top of the | |||
| 7280 | (modus-themes-declare | 7417 | (modus-themes-declare |
| 7281 | name family | 7418 | name family |
| 7282 | description background-mode | 7419 | description background-mode |
| 7283 | core-palette user-palette overrides-palette)) | 7420 | core-palette user-palette overrides-palette) |
| 7421 | (unless (eq family 'modus-themes) | ||
| 7422 | (modus-themes-register name))) | ||
| 7284 | (let ((palette (modus-themes--get-theme-palette-subr name :with-overrides :with-user-palette))) | 7423 | (let ((palette (modus-themes--get-theme-palette-subr name :with-overrides :with-user-palette))) |
| 7285 | (eval | 7424 | (eval |
| 7286 | `(let* ((c '((class color) (min-colors 256))) | 7425 | `(let* ((c '((class color) (min-colors 256))) |
| @@ -7302,6 +7441,16 @@ Consult the manual for details on how to build a theme on top of the | |||
| 7302 | 7441 | ||
| 7303 | ;;;; Use theme colors | 7442 | ;;;; Use theme colors |
| 7304 | 7443 | ||
| 7444 | (defun modus-themes--with-colors-get-palette (theme) | ||
| 7445 | "Get THEME palette for `modus-themes-with-colors'. | ||
| 7446 | Return (list CORE USER OVERRIDES) palettes." | ||
| 7447 | (when-let* ((properties (get theme 'theme-properties)) | ||
| 7448 | (core-palette (symbol-value (plist-get properties :modus-core-palette)))) | ||
| 7449 | (let* ((user-palette (symbol-value (plist-get properties :modus-user-palette))) | ||
| 7450 | (overrides-palette (symbol-value (plist-get properties :modus-overrides-palette))) | ||
| 7451 | (all-overrides (append overrides-palette modus-themes-common-palette-overrides))) | ||
| 7452 | (list core-palette user-palette all-overrides)))) | ||
| 7453 | |||
| 7305 | (defun modus-themes--with-colors-resolve-palette-sort (colors) | 7454 | (defun modus-themes--with-colors-resolve-palette-sort (colors) |
| 7306 | "Sort all COLORS in the theme's palette. | 7455 | "Sort all COLORS in the theme's palette. |
| 7307 | Put all named colors before semantic color mappings. A named color is a | 7456 | Put all named colors before semantic color mappings. A named color is a |
| @@ -7310,32 +7459,36 @@ whose value is another symbol, which ultimately resolves to a string or | |||
| 7310 | `unspecified'." | 7459 | `unspecified'." |
| 7311 | (let ((named nil) | 7460 | (let ((named nil) |
| 7312 | (semantic nil)) | 7461 | (semantic nil)) |
| 7313 | (dolist (color colors) | 7462 | (dolist (group colors) |
| 7314 | (if (stringp (cadr color)) | 7463 | (dolist (color group) |
| 7315 | (push color named) | 7464 | (if (stringp (cadr color)) |
| 7316 | (push color semantic))) | 7465 | (push color named) |
| 7317 | (seq-uniq | 7466 | (push color semantic)))) |
| 7318 | (nconc (nreverse named) (nreverse semantic)) | 7467 | (let* ((unique-fn (lambda (sequence) |
| 7319 | (lambda (elt1 elt2) | 7468 | (seq-uniq sequence |
| 7320 | (eq (car elt1) (car elt2)))))) | 7469 | (lambda (elt1 elt2) |
| 7321 | 7470 | (eq (car elt1) (car elt2)))))) | |
| 7322 | (defun modus-themes-with-colors-subr (expressions) | 7471 | (named-unique (funcall unique-fn named)) |
| 7323 | "Do the work of `modus-themes-with-colors' for EXPRESSIONS." | 7472 | (semantic-unique (funcall unique-fn semantic))) |
| 7473 | (nreverse (nconc semantic-unique named-unique))))) | ||
| 7474 | |||
| 7475 | (defun modus-themes-with-colors-subr (body) | ||
| 7476 | "Do the work of `modus-themes-with-colors' for BODY." | ||
| 7324 | (condition-case data | 7477 | (condition-case data |
| 7325 | (when-let* ((theme (modus-themes-get-current-theme :no-enable))) | 7478 | (when-let* ((modus-themes-with-colors--current (modus-themes-get-current-theme)) |
| 7479 | (palette (modus-themes--with-colors-get-palette modus-themes-with-colors--current)) | ||
| 7480 | (sorted (modus-themes--with-colors-resolve-palette-sort palette))) | ||
| 7326 | (eval | 7481 | (eval |
| 7327 | `(let* ((c '((class color) (min-colors 256))) | 7482 | `(let* ((c '((class color) (min-colors 256))) |
| 7328 | (unspecified 'unspecified) | 7483 | (unspecified 'unspecified) |
| 7329 | ,@(modus-themes--with-colors-resolve-palette-sort | 7484 | ,@sorted) |
| 7330 | (modus-themes--get-theme-palette-subr theme :with-overrides :with-user-palette))) | 7485 | (funcall ',body)))) |
| 7331 | ,@expressions) | ||
| 7332 | :lexical)) | ||
| 7333 | (error (message "Error in `modus-themes-with-colors': %s" data)))) | 7486 | (error (message "Error in `modus-themes-with-colors': %s" data)))) |
| 7334 | 7487 | ||
| 7335 | (defmacro modus-themes-with-colors (&rest body) | 7488 | (defmacro modus-themes-with-colors (&rest body) |
| 7336 | "Evaluate BODY with colors from current palette bound." | 7489 | "Evaluate BODY with colors from current palette bound." |
| 7337 | (declare (indent 0)) | 7490 | (declare (indent 0)) |
| 7338 | `(modus-themes-with-colors-subr ',body)) | 7491 | `(modus-themes-with-colors-subr (lambda () ,@body))) |
| 7339 | 7492 | ||
| 7340 | ;;;; Declare all the Modus themes | 7493 | ;;;; Declare all the Modus themes |
| 7341 | 7494 | ||
| @@ -7383,8 +7536,9 @@ accordingly." | |||
| 7383 | ;;;; Let derivative themes create commands to load only their themes | 7536 | ;;;; Let derivative themes create commands to load only their themes |
| 7384 | 7537 | ||
| 7385 | (defvar modus-themes-define-derivative-command-known-suffixes | 7538 | (defvar modus-themes-define-derivative-command-known-suffixes |
| 7386 | '( toggle rotate select load-random load-random-dark | 7539 | '( toggle rotate select select-dark select-light |
| 7387 | load-random-light list-colors list-colors-current) | 7540 | load-random load-random-dark load-random-light |
| 7541 | list-colors list-colors-current) | ||
| 7388 | "Command suffixes accepted by `modus-themes-define-derivative-command'.") | 7542 | "Command suffixes accepted by `modus-themes-define-derivative-command'.") |
| 7389 | 7543 | ||
| 7390 | (defmacro modus-themes-define-derivative-command (family suffix) | 7544 | (defmacro modus-themes-define-derivative-command (family suffix) |
| @@ -7396,13 +7550,312 @@ defined command's symbol is FAMILY-SUFFIX, like `modus-themes-rotate'." | |||
| 7396 | (error "Cannot define command with unknown suffix `%s'" suffix)) | 7550 | (error "Cannot define command with unknown suffix `%s'" suffix)) |
| 7397 | (let ((modus-command (intern (format "modus-themes-%s" suffix)))) | 7551 | (let ((modus-command (intern (format "modus-themes-%s" suffix)))) |
| 7398 | `(defun ,(intern (format "%s-%s" family suffix)) () | 7552 | `(defun ,(intern (format "%s-%s" family suffix)) () |
| 7399 | ,(format "Like `%s' but only consider members of the `%s'" modus-command family) | 7553 | ,(format "Like `%s' but only for the `%s'" modus-command family) |
| 7400 | (interactive) | 7554 | (interactive) |
| 7401 | (cl-letf (((symbol-function 'modus-themes-get-themes) | 7555 | (cl-letf (((symbol-function 'modus-themes-get-themes) |
| 7402 | (lambda () | 7556 | (lambda () |
| 7403 | (modus-themes-get-all-known-themes ',family)))) | 7557 | (modus-themes-get-all-known-themes ',family)))) |
| 7404 | (call-interactively ',modus-command))))) | 7558 | (call-interactively ',modus-command))))) |
| 7405 | 7559 | ||
| 7560 | ;;;; Generate a palette given the base colors | ||
| 7561 | |||
| 7562 | ;; NOTE 2025-11-25: This is a copy of `color-blend' from Emacs 31. We | ||
| 7563 | ;; should remove this in the future. | ||
| 7564 | (defun modus-themes-blend (a b &optional alpha) | ||
| 7565 | "Blend the two colors A and B in linear space with ALPHA. | ||
| 7566 | A and B should be lists (RED GREEN BLUE), where each element is | ||
| 7567 | between 0.0 and 1.0, inclusive. ALPHA controls the influence A | ||
| 7568 | has on the result and should be between 0.0 and 1.0, inclusive. | ||
| 7569 | |||
| 7570 | For instance: | ||
| 7571 | |||
| 7572 | (modus-themes-blend \\='(1 0.5 1) \\='(0 0 0) 0.75) | ||
| 7573 | => (0.75 0.375 0.75)" | ||
| 7574 | (setq alpha (or alpha 0.5)) | ||
| 7575 | (let (blend) | ||
| 7576 | (dotimes (i 3) | ||
| 7577 | (push (+ (* (nth i a) alpha) (* (nth i b) (- 1 alpha))) blend)) | ||
| 7578 | (nreverse blend))) | ||
| 7579 | |||
| 7580 | (defun modus-themes--color-six-digits (color) | ||
| 7581 | "Reduce representation of hexadecimal RGB COLOR to six digits." | ||
| 7582 | (let ((color-no-hash (substring color 1))) | ||
| 7583 | (if (= (length color-no-hash) 6) | ||
| 7584 | color | ||
| 7585 | (let* ((triplets (seq-split color-no-hash 4)) | ||
| 7586 | (triplets-shortened (mapcar | ||
| 7587 | (lambda (string) | ||
| 7588 | (substring string 0 2)) | ||
| 7589 | triplets))) | ||
| 7590 | (concat "#" (string-join triplets-shortened)))))) | ||
| 7591 | |||
| 7592 | (defun modus-themes-generate-color-blend (color blended-with alpha) | ||
| 7593 | "Return hexadecimal RGB of COLOR with BLENDED-WITH given ALPHA. | ||
| 7594 | BLENDED-WITH is commensurate with COLOR. ALPHA is between 0.0 and 1.0, | ||
| 7595 | inclusive." | ||
| 7596 | (let* ((blend-rgb (modus-themes-blend (color-name-to-rgb color) (color-name-to-rgb blended-with) alpha)) | ||
| 7597 | (blend-hex (apply #'color-rgb-to-hex blend-rgb))) | ||
| 7598 | (modus-themes--color-six-digits blend-hex))) | ||
| 7599 | |||
| 7600 | (defun modus-themes-generate-color-warmer (color alpha) | ||
| 7601 | "Return warmer COLOR by ALPHA, per `modus-themes-generate-color-blend'." | ||
| 7602 | (modus-themes-generate-color-blend color "#ff0000" alpha)) | ||
| 7603 | |||
| 7604 | (defun modus-themes-generate-color-cooler (color alpha) | ||
| 7605 | "Return cooler COLOR by ALPHA, per `modus-themes-generate-color-blend'." | ||
| 7606 | (modus-themes-generate-color-blend color "#0000ff" alpha)) | ||
| 7607 | |||
| 7608 | ;; NOTE 2025-11-24: I originally wrote a variation of this for my Doric themes. | ||
| 7609 | (defun modus-themes-generate-gradient (color percent) | ||
| 7610 | "Adjust value of COLOR by PERCENT." | ||
| 7611 | (pcase-let* ((`(,r ,g ,b) (color-name-to-rgb color)) | ||
| 7612 | (color-luminance-dark-limit 0.5) | ||
| 7613 | (gradient (funcall (if (color-dark-p (list r g b)) | ||
| 7614 | #'color-lighten-name | ||
| 7615 | #'color-darken-name) | ||
| 7616 | color | ||
| 7617 | percent))) | ||
| 7618 | (modus-themes--color-six-digits gradient))) | ||
| 7619 | |||
| 7620 | ;; NOTE 2025-11-25: I used to rely on `color-distance', thinking that | ||
| 7621 | ;; it would do the right thing here: | ||
| 7622 | ;; | ||
| 7623 | ;; (> (color-distance color "#ff0000") (color-distance color "#0000ff")) | ||
| 7624 | ;; | ||
| 7625 | ;; But my understanding of "warm" versus "cool" is simple, so better | ||
| 7626 | ;; do it my way. | ||
| 7627 | (defun modus-themes-color-warm-p (color) | ||
| 7628 | "Return non-nil if COLOR is warm. | ||
| 7629 | A warm color has more contribution from the red channel of light than | ||
| 7630 | the blue one." | ||
| 7631 | (pcase-let ((`(,r ,_ ,b) (color-name-to-rgb color))) | ||
| 7632 | (> r b))) | ||
| 7633 | |||
| 7634 | (defun modus-themes-color-is-warm-or-cool-p (color) | ||
| 7635 | "Return `warm' or `cool' for COLOR depending on its value." | ||
| 7636 | (if (modus-themes-color-warm-p color) | ||
| 7637 | 'warm | ||
| 7638 | 'cool)) | ||
| 7639 | |||
| 7640 | (defun modus-themes-generate-color-warmer-or-cooler (color alpha &optional preference) | ||
| 7641 | "Return COLOR variant by ALPHA and PREFERENCE. | ||
| 7642 | PREFERENCE is either `cool' or `warm'. An unknown PREFERENCE means | ||
| 7643 | `cool'. Without PREFERENCE, rely on the return value of | ||
| 7644 | `modus-themes-color-is-warm-or-cool-p'." | ||
| 7645 | (let ((kind (or preference (modus-themes-color-is-warm-or-cool-p color)))) | ||
| 7646 | (funcall | ||
| 7647 | (if (eq kind 'warm) | ||
| 7648 | #'modus-themes-generate-color-warmer | ||
| 7649 | 'modus-themes-generate-color-cooler) | ||
| 7650 | color | ||
| 7651 | alpha))) | ||
| 7652 | |||
| 7653 | ;;;###autoload | ||
| 7654 | (defun modus-themes-generate-palette (base-colors &optional cool-or-warm-preference core-palette mappings) | ||
| 7655 | "Generate a palette given the BASE-COLORS. | ||
| 7656 | BASE-COLORS consists of lists in the form (NAME VALUE). NAME is at | ||
| 7657 | least a symbol of `bg-main' or `fg-main', while VALUE is a string | ||
| 7658 | representing a color either by name like in `list-colors-display' or | ||
| 7659 | hexadecimal RGB of the form #123456. See the value of a core Modus | ||
| 7660 | palette, like `modus-themes-operandi-palette' for all current NAME | ||
| 7661 | symbols. | ||
| 7662 | |||
| 7663 | BASE-COLORS is used to derive a palette. Any entry whose name is | ||
| 7664 | already present in BASE-COLORS is not derived but taken as-is. The rest | ||
| 7665 | are generated automatically. The generated palette can be used as-is by | ||
| 7666 | a derivative theme (per `modus-themes-theme') or as a starting point for | ||
| 7667 | further refinements. | ||
| 7668 | |||
| 7669 | With optional COOL-OR-WARM-PREFERENCE as a symbol of either `cool' or | ||
| 7670 | `warm' make relevant color choices for derivative values. If | ||
| 7671 | COOL-OR-WARM-PREFERENCE is nil, derive the implied preference from the | ||
| 7672 | value of the `bg-main' color in BASE-COLORS. If the value of `bg-main' | ||
| 7673 | satisfies `color-gray-p', then fall back to `cool'. For our purposes, | ||
| 7674 | `cool' means that the color is closer to pure blue than pure red, while | ||
| 7675 | `warm' is the opposite. | ||
| 7676 | |||
| 7677 | With optional CORE-PALETTE use it to fill in any of the remaining | ||
| 7678 | entries. This can be a symbol like `modus-themes-operandi-palette'. Do | ||
| 7679 | not try to enforce a core palette among those defined in modus-themes.el | ||
| 7680 | and let the user assume responsibility for any incompatibilities. If | ||
| 7681 | CORE-PALETTE is nil, then infer a suitable palette based on whether the | ||
| 7682 | `bg-main' value in BASE-COLORS is light or dark and then the | ||
| 7683 | COOL-OR-WARM-PREFERENCE. This inferred palette will be | ||
| 7684 | `modus-themes-operandi-palette' for a light `bg-main' and | ||
| 7685 | `modus-themes-vivendi-palette' for a dark `bg-main'. The `cool' or | ||
| 7686 | `warm' shall yield the tinted variants of those palettes, namely, | ||
| 7687 | `modus-themes-operandi-tinted-palette' and | ||
| 7688 | `modus-themes-vivendi-tinted-palette'. | ||
| 7689 | |||
| 7690 | With optional MAPPINGS use them instead of trying to derive new ones. | ||
| 7691 | If MAPPINGS is nil, generate some essential color mappings and let the | ||
| 7692 | rest come from CORE-PALETTE." | ||
| 7693 | (when (seq-some | ||
| 7694 | (lambda (entry) | ||
| 7695 | (not (stringp (cadr entry)))) | ||
| 7696 | base-colors) | ||
| 7697 | (error "Base colors can only be references to string color values, not symbols")) | ||
| 7698 | (when (seq-some | ||
| 7699 | (lambda (entry) | ||
| 7700 | (stringp (cadr entry))) | ||
| 7701 | mappings) | ||
| 7702 | (error "Mappings can only be references to named colors, not color values")) | ||
| 7703 | (let ((bg-main (alist-get 'bg-main base-colors)) | ||
| 7704 | (fg-main (alist-get 'fg-main base-colors))) | ||
| 7705 | (unless (and bg-main fg-main) | ||
| 7706 | (error "The palette must define at least a bg-main and fg-main entry with their values")) | ||
| 7707 | (let* ((bg-main (car bg-main)) | ||
| 7708 | (bg-main-dark-p (color-dark-p (color-name-to-rgb bg-main))) | ||
| 7709 | (fg-main (car fg-main)) | ||
| 7710 | (six-colors (seq-filter | ||
| 7711 | (lambda (color) | ||
| 7712 | (memq (car color) '(red green yellow blue magenta cyan))) | ||
| 7713 | base-colors)) | ||
| 7714 | (prefers-cool-p (cond | ||
| 7715 | (cool-or-warm-preference (eq cool-or-warm-preference 'cool)) | ||
| 7716 | (t (eq (modus-themes-color-is-warm-or-cool-p bg-main) 'cool)))) | ||
| 7717 | (derived-colors nil) | ||
| 7718 | (derived-mappings nil) | ||
| 7719 | (push-derived-value-fn (lambda (name value) | ||
| 7720 | (unless (assq name base-colors) | ||
| 7721 | (push (list name value) derived-colors)))) | ||
| 7722 | (push-mapping-fn (lambda (name value) | ||
| 7723 | (unless (assq name mappings) | ||
| 7724 | (push (list name value) derived-mappings))))) | ||
| 7725 | ;; Base entries | ||
| 7726 | (funcall push-derived-value-fn 'bg-dim (modus-themes-generate-gradient bg-main 5)) | ||
| 7727 | (funcall push-derived-value-fn 'bg-active (modus-themes-generate-gradient bg-main 10)) | ||
| 7728 | (funcall push-derived-value-fn 'bg-inactive (modus-themes-generate-gradient bg-main 8)) | ||
| 7729 | (funcall push-derived-value-fn 'border (modus-themes-generate-gradient bg-main 20)) | ||
| 7730 | (funcall push-derived-value-fn 'fg-dim (modus-themes-generate-gradient fg-main 20)) | ||
| 7731 | (funcall push-derived-value-fn 'fg-alt (modus-themes-generate-color-warmer-or-cooler (modus-themes-generate-gradient fg-main 10) 0.8 prefers-cool-p)) | ||
| 7732 | ;; Primary and secondary colors | ||
| 7733 | (pcase-dolist (`(,name ,value) six-colors) | ||
| 7734 | (funcall push-derived-value-fn (intern (format "%s-warmer" name)) (modus-themes-generate-gradient (modus-themes-generate-color-warmer value 0.9) (if bg-main-dark-p 20 -20))) | ||
| 7735 | (funcall push-derived-value-fn (intern (format "%s-cooler" name)) (modus-themes-generate-gradient (modus-themes-generate-color-cooler value 0.9) (if bg-main-dark-p 20 -20))) | ||
| 7736 | (funcall push-derived-value-fn (intern (format "%s-faint" name)) (modus-themes-generate-gradient value (if bg-main-dark-p 10 -10))) | ||
| 7737 | (funcall push-derived-value-fn (intern (format "%s-intense" name)) (modus-themes-generate-gradient value (if bg-main-dark-p -5 5))) | ||
| 7738 | ;; TODO 2025-12-06: We should have a function here that adjusts the value also up to a | ||
| 7739 | ;; maximum distance from bg-main. Basically, we want to avoid the scenario where a given | ||
| 7740 | ;; base value produces something that is virtually indistinguishable from bg-main. | ||
| 7741 | (funcall push-derived-value-fn (intern (format "bg-%s-intense" name)) (modus-themes-generate-gradient value (if bg-main-dark-p -40 40))) | ||
| 7742 | (funcall push-derived-value-fn (intern (format "bg-%s-subtle" name)) (modus-themes-generate-gradient value (if bg-main-dark-p -60 60))) | ||
| 7743 | (funcall push-derived-value-fn (intern (format "bg-%s-nuanced" name)) (modus-themes-generate-gradient value (if bg-main-dark-p -80 80)))) | ||
| 7744 | ;; Mappings | ||
| 7745 | (funcall push-mapping-fn 'bg-completion (if prefers-cool-p 'bg-cyan-subtle 'bg-yellow-subtle)) | ||
| 7746 | (funcall push-mapping-fn 'bg-hover (if prefers-cool-p 'bg-green-intense 'bg-magenta-intense)) | ||
| 7747 | (funcall push-mapping-fn 'bg-hover-secondary (if prefers-cool-p 'bg-green-subtle 'bg-magenta-subtle)) | ||
| 7748 | (funcall push-mapping-fn 'bg-hl-line (if prefers-cool-p 'bg-cyan-nuanced 'bg-yellow-nuanced)) | ||
| 7749 | (funcall push-mapping-fn 'bg-paren-match (if prefers-cool-p 'bg-green-intense 'bg-yellow-subtle)) | ||
| 7750 | (funcall push-mapping-fn 'bg-paren-expression (if prefers-cool-p 'bg-green-nuanced 'bg-yellow-nuanced)) | ||
| 7751 | (funcall push-mapping-fn 'bg-region 'bg-active) | ||
| 7752 | (funcall push-mapping-fn 'fg-region 'fg-main) | ||
| 7753 | |||
| 7754 | (funcall push-mapping-fn 'bg-mode-line-active 'bg-active) | ||
| 7755 | (funcall push-mapping-fn 'fg-mode-line-active 'fg-main) | ||
| 7756 | (funcall push-mapping-fn 'border-mode-line-active 'border) | ||
| 7757 | (funcall push-mapping-fn 'bg-mode-line-inactive 'bg-inactive) | ||
| 7758 | (funcall push-mapping-fn 'fg-mode-line-inactive 'fg-dim) | ||
| 7759 | (funcall push-mapping-fn 'border-mode-line-inactive 'border) | ||
| 7760 | |||
| 7761 | (funcall push-mapping-fn 'modeline-err 'red-faint) | ||
| 7762 | (funcall push-mapping-fn 'modeline-warning 'yellow-faint) | ||
| 7763 | (funcall push-mapping-fn 'modeline-info 'blue-faint) | ||
| 7764 | |||
| 7765 | (funcall push-mapping-fn 'bg-search-current 'bg-yellow-subtle) | ||
| 7766 | (funcall push-mapping-fn 'bg-search-lazy 'bg-magenta-subtle) | ||
| 7767 | (funcall push-mapping-fn 'bg-search-replace 'bg-red-subtle) | ||
| 7768 | (funcall push-mapping-fn 'bg-search-rx-group-0 'bg-blue-subtle) | ||
| 7769 | (funcall push-mapping-fn 'bg-search-rx-group-1 'bg-green-subtle) | ||
| 7770 | (funcall push-mapping-fn 'bg-search-rx-group-2 'bg-red-subtle) | ||
| 7771 | (funcall push-mapping-fn 'bg-search-rx-group-3 'bg-magenta-subtle) | ||
| 7772 | |||
| 7773 | (funcall push-mapping-fn 'fg-search-current 'yellow-warmer) | ||
| 7774 | (funcall push-mapping-fn 'fg-search-lazy 'magenta-cooler) | ||
| 7775 | (funcall push-mapping-fn 'fg-search-replace 'red-cooler) | ||
| 7776 | (funcall push-mapping-fn 'fg-search-rx-group-0 'blue-warmer) | ||
| 7777 | (funcall push-mapping-fn 'fg-search-rx-group-1 'green-warmer) | ||
| 7778 | (funcall push-mapping-fn 'fg-search-rx-group-2 'red-cooler) | ||
| 7779 | (funcall push-mapping-fn 'fg-search-rx-group-3 'magenta-cooler) | ||
| 7780 | |||
| 7781 | (funcall push-mapping-fn 'bg-prominent-err 'unspecified) | ||
| 7782 | (funcall push-mapping-fn 'bg-prominent-warning 'unspecified) | ||
| 7783 | (funcall push-mapping-fn 'bg-prominent-note 'unspecified) | ||
| 7784 | (funcall push-mapping-fn 'fg-prominent-err 'red-intense) | ||
| 7785 | (funcall push-mapping-fn 'fg-prominent-warning 'yellow-intense) | ||
| 7786 | (funcall push-mapping-fn 'fg-prominent-note 'green-intense) | ||
| 7787 | |||
| 7788 | (funcall push-mapping-fn 'bg-active-argument (if prefers-cool-p 'bg-cyan-subtle 'bg-yellow-subtle)) | ||
| 7789 | (funcall push-mapping-fn 'fg-active-argument (if prefers-cool-p 'cyan-cooler 'yellow-warmer)) | ||
| 7790 | (funcall push-mapping-fn 'bg-active-value (if prefers-cool-p 'bg-magenta-subtle 'bg-blue-subtle)) | ||
| 7791 | (funcall push-mapping-fn 'fg-active-value (if prefers-cool-p 'magenta-cooler 'blue-warmer)) | ||
| 7792 | |||
| 7793 | (funcall push-mapping-fn 'bg-tab-bar 'bg-dim) | ||
| 7794 | (funcall push-mapping-fn 'bg-tab-current 'bg-main) | ||
| 7795 | (funcall push-mapping-fn 'bg-tab-other 'bg-inactive) | ||
| 7796 | |||
| 7797 | (funcall push-mapping-fn 'bg-added 'bg-green-subtle) | ||
| 7798 | (funcall push-mapping-fn 'bg-added-faint 'bg-green-nuanced) | ||
| 7799 | (funcall push-mapping-fn 'bg-added-refine 'bg-green-intense) | ||
| 7800 | (funcall push-mapping-fn 'fg-added 'green-faint) | ||
| 7801 | (funcall push-mapping-fn 'fg-added-intense 'green-intense) | ||
| 7802 | |||
| 7803 | (funcall push-mapping-fn 'bg-changed 'bg-yellow-subtle) | ||
| 7804 | (funcall push-mapping-fn 'bg-changed-faint 'bg-yellow-nuanced) | ||
| 7805 | (funcall push-mapping-fn 'bg-changed-refine 'bg-yellow-intense) | ||
| 7806 | (funcall push-mapping-fn 'fg-changed 'yellow-faint) | ||
| 7807 | (funcall push-mapping-fn 'fg-changed-intense 'yellow-intense) | ||
| 7808 | |||
| 7809 | (funcall push-mapping-fn 'bg-removed 'bg-red-subtle) | ||
| 7810 | (funcall push-mapping-fn 'bg-removed-faint 'bg-red-nuanced) | ||
| 7811 | (funcall push-mapping-fn 'bg-removed-refine 'bg-red-intense) | ||
| 7812 | (funcall push-mapping-fn 'fg-removed 'red-faint) | ||
| 7813 | (funcall push-mapping-fn 'fg-removed-intense 'red-intense) | ||
| 7814 | |||
| 7815 | (funcall push-mapping-fn 'fg-heading-0 'fg-alt) | ||
| 7816 | (funcall push-mapping-fn 'fg-heading-1 'fg-main) | ||
| 7817 | (funcall push-mapping-fn 'fg-heading-2 (if prefers-cool-p 'cyan 'yellow)) | ||
| 7818 | (funcall push-mapping-fn 'fg-heading-3 (if prefers-cool-p 'green 'magenta)) | ||
| 7819 | (funcall push-mapping-fn 'fg-heading-4 (if prefers-cool-p 'blue 'red)) | ||
| 7820 | (funcall push-mapping-fn 'fg-heading-5 (if prefers-cool-p 'yellow 'cyan)) | ||
| 7821 | (funcall push-mapping-fn 'fg-heading-6 (if prefers-cool-p 'magenta 'green)) | ||
| 7822 | (funcall push-mapping-fn 'fg-heading-7 (if prefers-cool-p 'red 'blue)) | ||
| 7823 | (funcall push-mapping-fn 'fg-heading-8 'fg-dim) | ||
| 7824 | |||
| 7825 | (funcall push-mapping-fn 'bg-term-black (if bg-main-dark-p 'bg-main 'fg-main)) | ||
| 7826 | (funcall push-mapping-fn 'bg-term-black-bright (if bg-main-dark-p 'bg-active 'fg-dim)) | ||
| 7827 | (funcall push-mapping-fn 'fg-term-black (if bg-main-dark-p 'bg-main 'fg-main)) | ||
| 7828 | (funcall push-mapping-fn 'fg-term-black-bright (if bg-main-dark-p 'bg-active 'fg-dim)) | ||
| 7829 | |||
| 7830 | (funcall push-mapping-fn 'bg-term-white (if bg-main-dark-p 'fg-dim 'bg-active)) | ||
| 7831 | (funcall push-mapping-fn 'bg-term-white-bright (if bg-main-dark-p 'fg-main 'bg-main)) | ||
| 7832 | (funcall push-mapping-fn 'fg-term-white (if bg-main-dark-p 'fg-dim 'bg-active)) | ||
| 7833 | (funcall push-mapping-fn 'fg-term-white-bright (if bg-main-dark-p 'fg-main 'bg-main)) | ||
| 7834 | |||
| 7835 | (let* ((new-colors (append base-colors derived-colors)) | ||
| 7836 | (new-mappings (append mappings derived-mappings)) | ||
| 7837 | ;; We have to add one of the core palettes to make sure | ||
| 7838 | ;; there are no missing entries. We will then remove | ||
| 7839 | ;; duplicates. | ||
| 7840 | (core (or core-palette | ||
| 7841 | (if bg-main-dark-p | ||
| 7842 | (if prefers-cool-p modus-themes-vivendi-palette modus-themes-vivendi-tinted-palette) | ||
| 7843 | (if prefers-cool-p modus-themes-operandi-palette modus-themes-operandi-tinted-palette)))) | ||
| 7844 | (combined-new-palette (append new-colors new-mappings core)) | ||
| 7845 | (no-duplicates (seq-uniq | ||
| 7846 | combined-new-palette | ||
| 7847 | (lambda (element1 element2) | ||
| 7848 | (eq (car element1) (car element2))))) | ||
| 7849 | (named-values (seq-filter | ||
| 7850 | (lambda (entry) | ||
| 7851 | (stringp (cadr entry))) | ||
| 7852 | no-duplicates)) | ||
| 7853 | (mapping-values (seq-filter | ||
| 7854 | (lambda (entry) | ||
| 7855 | (symbolp (cadr entry))) | ||
| 7856 | no-duplicates))) | ||
| 7857 | (append named-values mapping-values))))) | ||
| 7858 | |||
| 7406 | ;;;; Add themes from package to path | 7859 | ;;;; Add themes from package to path |
| 7407 | 7860 | ||
| 7408 | ;;;###autoload | 7861 | ;;;###autoload |
diff --git a/etc/themes/modus-vivendi-deuteranopia-theme.el b/etc/themes/modus-vivendi-deuteranopia-theme.el index 5706676863d..5b8c2395d1f 100644 --- a/etc/themes/modus-vivendi-deuteranopia-theme.el +++ b/etc/themes/modus-vivendi-deuteranopia-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; modus-vivendi-deuteranopia-theme.el --- Deuteranopia-optimized theme with a black background -*- lexical-binding:t -*- | 1 | ;;; modus-vivendi-deuteranopia-theme.el --- Deuteranopia-optimized theme with a black background -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2019-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> | 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> |
| @@ -87,6 +87,7 @@ standard)." | |||
| 87 | 'dark | 87 | 'dark |
| 88 | 'modus-themes-vivendi-deuteranopia-palette | 88 | 'modus-themes-vivendi-deuteranopia-palette |
| 89 | 'modus-vivendi-deuteranopia-palette-user | 89 | 'modus-vivendi-deuteranopia-palette-user |
| 90 | 'modus-vivendi-deuteranopia-palette-overrides) | 90 | 'modus-vivendi-deuteranopia-palette-overrides |
| 91 | 'modus-themes-faces-deuteranopia) | ||
| 91 | 92 | ||
| 92 | ;;; modus-vivendi-deuteranopia-theme.el ends here | 93 | ;;; modus-vivendi-deuteranopia-theme.el ends here |
diff --git a/etc/themes/modus-vivendi-theme.el b/etc/themes/modus-vivendi-theme.el index 27380f661ce..155f699d56f 100644 --- a/etc/themes/modus-vivendi-theme.el +++ b/etc/themes/modus-vivendi-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; modus-vivendi-theme.el --- Elegant, highly legible theme with a black background -*- lexical-binding:t -*- | 1 | ;;; modus-vivendi-theme.el --- Elegant, highly legible theme with a black background -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2019-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> | 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> |
diff --git a/etc/themes/modus-vivendi-tinted-theme.el b/etc/themes/modus-vivendi-tinted-theme.el index f0927902642..df744485476 100644 --- a/etc/themes/modus-vivendi-tinted-theme.el +++ b/etc/themes/modus-vivendi-tinted-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; modus-vivendi-tinted-theme.el --- Elegant, highly legible theme with a night sky background -*- lexical-binding:t -*- | 1 | ;;; modus-vivendi-tinted-theme.el --- Elegant, highly legible theme with a night sky background -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2019-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> | 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> |
diff --git a/etc/themes/modus-vivendi-tritanopia-theme.el b/etc/themes/modus-vivendi-tritanopia-theme.el index aeecdeaf9be..e4fb11cfff5 100644 --- a/etc/themes/modus-vivendi-tritanopia-theme.el +++ b/etc/themes/modus-vivendi-tritanopia-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; modus-vivendi-tritanopia-theme.el --- Tritanopia-optimized theme with a black background -*- lexical-binding:t -*- | 1 | ;;; modus-vivendi-tritanopia-theme.el --- Tritanopia-optimized theme with a black background -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2019-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> | 6 | ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com> |
| @@ -87,6 +87,7 @@ standard)." | |||
| 87 | 'dark | 87 | 'dark |
| 88 | 'modus-themes-vivendi-tritanopia-palette | 88 | 'modus-themes-vivendi-tritanopia-palette |
| 89 | 'modus-vivendi-tritanopia-palette-user | 89 | 'modus-vivendi-tritanopia-palette-user |
| 90 | 'modus-vivendi-tritanopia-palette-overrides) | 90 | 'modus-vivendi-tritanopia-palette-overrides |
| 91 | 'modus-themes-faces-tritanopia) | ||
| 91 | 92 | ||
| 92 | ;;; modus-vivendi-tritanopia-theme.el ends here | 93 | ;;; modus-vivendi-tritanopia-theme.el ends here |
diff --git a/etc/themes/tango-dark-theme.el b/etc/themes/tango-dark-theme.el index d0fa2dff49f..ac00c9fc5a7 100644 --- a/etc/themes/tango-dark-theme.el +++ b/etc/themes/tango-dark-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; tango-dark-theme.el --- Tango-based custom theme for faces -*- lexical-binding:t -*- | 1 | ;;; tango-dark-theme.el --- Tango-based custom theme for faces -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2010-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2010-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Authors: Chong Yidong <cyd@stupidchicken> | 5 | ;; Authors: Chong Yidong <cyd@stupidchicken> |
| 6 | ;; Jan Moringen <jan.moringen@uni-bielefeld.de> | 6 | ;; Jan Moringen <jan.moringen@uni-bielefeld.de> |
diff --git a/etc/themes/tango-theme.el b/etc/themes/tango-theme.el index 9b276466d95..b6c4b95add9 100644 --- a/etc/themes/tango-theme.el +++ b/etc/themes/tango-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; tango-theme.el --- Tango-based custom theme for faces -*- lexical-binding:t -*- | 1 | ;;; tango-theme.el --- Tango-based custom theme for faces -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2010-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2010-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Authors: Chong Yidong <cyd@stupidchicken> | 5 | ;; Authors: Chong Yidong <cyd@stupidchicken> |
| 6 | ;; Jan Moringen <jan.moringen@uni-bielefeld.de> | 6 | ;; Jan Moringen <jan.moringen@uni-bielefeld.de> |
diff --git a/etc/themes/tsdh-dark-theme.el b/etc/themes/tsdh-dark-theme.el index fda7bc8563f..6dfe2570a2b 100644 --- a/etc/themes/tsdh-dark-theme.el +++ b/etc/themes/tsdh-dark-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; tsdh-dark-theme.el --- Tassilo's dark custom theme -*- lexical-binding:t -*- | 1 | ;;; tsdh-dark-theme.el --- Tassilo's dark custom theme -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2011-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2011-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; This file is part of GNU Emacs. | 5 | ;; This file is part of GNU Emacs. |
| 6 | 6 | ||
diff --git a/etc/themes/tsdh-light-theme.el b/etc/themes/tsdh-light-theme.el index 27e9423f4ef..16dff21899c 100644 --- a/etc/themes/tsdh-light-theme.el +++ b/etc/themes/tsdh-light-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; tsdh-light-theme.el --- Tassilo's light custom theme -*- lexical-binding:t -*- | 1 | ;;; tsdh-light-theme.el --- Tassilo's light custom theme -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2011-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2011-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; This file is part of GNU Emacs. | 5 | ;; This file is part of GNU Emacs. |
| 6 | 6 | ||
diff --git a/etc/themes/wheatgrass-theme.el b/etc/themes/wheatgrass-theme.el index 20256f3933b..dc6876afd1e 100644 --- a/etc/themes/wheatgrass-theme.el +++ b/etc/themes/wheatgrass-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; wheatgrass-theme.el --- custom theme for faces -*- lexical-binding:t -*- | 1 | ;;; wheatgrass-theme.el --- custom theme for faces -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2010-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2010-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; This file is part of GNU Emacs. | 5 | ;; This file is part of GNU Emacs. |
| 6 | 6 | ||
diff --git a/etc/themes/whiteboard-theme.el b/etc/themes/whiteboard-theme.el index 6f447246c60..0a7ce48ea3c 100644 --- a/etc/themes/whiteboard-theme.el +++ b/etc/themes/whiteboard-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; whiteboard-theme.el --- Custom theme for faces -*- lexical-binding:t -*- | 1 | ;;; whiteboard-theme.el --- Custom theme for faces -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2011-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2011-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Scott Frazer <frazer.scott@gmail.com> | 5 | ;; Author: Scott Frazer <frazer.scott@gmail.com> |
| 6 | 6 | ||
diff --git a/etc/themes/wombat-theme.el b/etc/themes/wombat-theme.el index 23c904f7219..0ffe88fd191 100644 --- a/etc/themes/wombat-theme.el +++ b/etc/themes/wombat-theme.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; wombat-theme.el --- Custom face theme for Emacs -*- lexical-binding:t -*- | 1 | ;;; wombat-theme.el --- Custom face theme for Emacs -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2011-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2011-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Kristoffer Grönlund <krig@koru.se> | 5 | ;; Author: Kristoffer Grönlund <krig@koru.se> |
| 6 | 6 | ||
diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL index c330713c1b3..9cdc0575c17 100644 --- a/etc/tutorials/TUTORIAL +++ b/etc/tutorials/TUTORIAL | |||
| @@ -1131,7 +1131,7 @@ starting with the one written by Stuart Cracraft for the original Emacs. | |||
| 1131 | This version of the tutorial is a part of GNU Emacs. It is copyrighted | 1131 | This version of the tutorial is a part of GNU Emacs. It is copyrighted |
| 1132 | and comes with permission to distribute copies on certain conditions: | 1132 | and comes with permission to distribute copies on certain conditions: |
| 1133 | 1133 | ||
| 1134 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, | 1134 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, |
| 1135 | Inc. | 1135 | Inc. |
| 1136 | 1136 | ||
| 1137 | This file is part of GNU Emacs. | 1137 | This file is part of GNU Emacs. |
diff --git a/etc/tutorials/TUTORIAL.bg b/etc/tutorials/TUTORIAL.bg index 4fe3abc3e7e..76e638e1d41 100644 --- a/etc/tutorials/TUTORIAL.bg +++ b/etc/tutorials/TUTORIAL.bg | |||
| @@ -1162,7 +1162,7 @@ Dired ви позволява да гледате списъка от файло | |||
| 1162 | This version of the tutorial, like GNU Emacs, is copyrighted, and | 1162 | This version of the tutorial, like GNU Emacs, is copyrighted, and |
| 1163 | comes with permission to distribute copies on certain conditions: | 1163 | comes with permission to distribute copies on certain conditions: |
| 1164 | 1164 | ||
| 1165 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, | 1165 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, |
| 1166 | Inc. | 1166 | Inc. |
| 1167 | 1167 | ||
| 1168 | This file is part of GNU Emacs. | 1168 | This file is part of GNU Emacs. |
diff --git a/etc/tutorials/TUTORIAL.cn b/etc/tutorials/TUTORIAL.cn index 11c06f79cd2..6549f7bbce1 100644 --- a/etc/tutorials/TUTORIAL.cn +++ b/etc/tutorials/TUTORIAL.cn | |||
| @@ -1026,7 +1026,7 @@ starting with the one written by Stuart Cracraft for the original Emacs. | |||
| 1026 | This version of the tutorial is a part of GNU Emacs. It is copyrighted | 1026 | This version of the tutorial is a part of GNU Emacs. It is copyrighted |
| 1027 | and comes with permission to distribute copies on certain conditions: | 1027 | and comes with permission to distribute copies on certain conditions: |
| 1028 | 1028 | ||
| 1029 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, | 1029 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, |
| 1030 | Inc. | 1030 | Inc. |
| 1031 | 1031 | ||
| 1032 | This file is part of GNU Emacs. | 1032 | This file is part of GNU Emacs. |
| @@ -1055,7 +1055,7 @@ using, writing, and sharing free software! | |||
| 1055 | 1055 | ||
| 1056 | 本篇指南是 GNU Emacs 的一部分,并允许在下列条件的约束下发行其拷贝: | 1056 | 本篇指南是 GNU Emacs 的一部分,并允许在下列条件的约束下发行其拷贝: |
| 1057 | 1057 | ||
| 1058 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, | 1058 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, |
| 1059 | Inc. | 1059 | Inc. |
| 1060 | 1060 | ||
| 1061 | 本文件为 GNU Emacs 的一部分。 | 1061 | 本文件为 GNU Emacs 的一部分。 |
diff --git a/etc/tutorials/TUTORIAL.cs b/etc/tutorials/TUTORIAL.cs index 125131b2776..480aabd0f1c 100644 --- a/etc/tutorials/TUTORIAL.cs +++ b/etc/tutorials/TUTORIAL.cs | |||
| @@ -1146,7 +1146,7 @@ je šířena se svolením distribuovat kopie za jistých podmínek | |||
| 1146 | (pozn. překl. oficiální verze licence není v českém překladu k | 1146 | (pozn. překl. oficiální verze licence není v českém překladu k |
| 1147 | dispozici): | 1147 | dispozici): |
| 1148 | 1148 | ||
| 1149 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, | 1149 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, |
| 1150 | Inc. | 1150 | Inc. |
| 1151 | 1151 | ||
| 1152 | This file is part of GNU Emacs. | 1152 | This file is part of GNU Emacs. |
diff --git a/etc/tutorials/TUTORIAL.de b/etc/tutorials/TUTORIAL.de index d0a734b36f8..995a3165be5 100644 --- a/etc/tutorials/TUTORIAL.de +++ b/etc/tutorials/TUTORIAL.de | |||
| @@ -1488,7 +1488,7 @@ Beachten Sie bitte, dass im Zweifelsfalle das englische Original | |||
| 1488 | dieser Urheberrechtsnotiz gültig ist (zu finden in der Datei | 1488 | dieser Urheberrechtsnotiz gültig ist (zu finden in der Datei |
| 1489 | TUTORIAL). | 1489 | TUTORIAL). |
| 1490 | 1490 | ||
| 1491 | Copyright (C) 1985, 1996-1997, 2001-2025 Free Software Foundation, | 1491 | Copyright (C) 1985, 1996-1997, 2001-2026 Free Software Foundation, |
| 1492 | Inc. | 1492 | Inc. |
| 1493 | 1493 | ||
| 1494 | Diese Datei ist ein Bestandteil von GNU Emacs. | 1494 | Diese Datei ist ein Bestandteil von GNU Emacs. |
diff --git a/etc/tutorials/TUTORIAL.el_GR b/etc/tutorials/TUTORIAL.el_GR index 5ce54d7ab20..97eeabd0eac 100644 --- a/etc/tutorials/TUTORIAL.el_GR +++ b/etc/tutorials/TUTORIAL.el_GR | |||
| @@ -1239,7 +1239,7 @@ list-packages. Στη σχετική λίστα, μπορείς να εγκατ | |||
| 1239 | πνευματικά δικαιώματα και δίνεται με την άδεια διανομής αντιγράφων υπό | 1239 | πνευματικά δικαιώματα και δίνεται με την άδεια διανομής αντιγράφων υπό |
| 1240 | κάποιους όρους. | 1240 | κάποιους όρους. |
| 1241 | 1241 | ||
| 1242 | Πνευματικά Δικαιώματα (C) 1985, 1996, 1998, 2001-2025 Free Software | 1242 | Πνευματικά Δικαιώματα (C) 1985, 1996, 1998, 2001-2026 Free Software |
| 1243 | Foundation, Inc. | 1243 | Foundation, Inc. |
| 1244 | 1244 | ||
| 1245 | Αυτό το αρχείο είναι μέρος του GNU Emacs. | 1245 | Αυτό το αρχείο είναι μέρος του GNU Emacs. |
diff --git a/etc/tutorials/TUTORIAL.eo b/etc/tutorials/TUTORIAL.eo index fb2d00d32d8..a7b5c81039c 100644 --- a/etc/tutorials/TUTORIAL.eo +++ b/etc/tutorials/TUTORIAL.eo | |||
| @@ -1081,7 +1081,7 @@ la dosiero verkita de Stuart Cracraft por la originala Emakso. | |||
| 1081 | kopirajton, kaj venas kun permeso por disdoni kopiojn se certaj | 1081 | kopirajton, kaj venas kun permeso por disdoni kopiojn se certaj |
| 1082 | kondiĉoj estas observataj: | 1082 | kondiĉoj estas observataj: |
| 1083 | 1083 | ||
| 1084 | Copyright (C) 1985, 1999, 2001-2002, 2005, 2007-2025 Free Software | 1084 | Copyright (C) 1985, 1999, 2001-2002, 2005, 2007-2026 Free Software |
| 1085 | Foundation, Inc. | 1085 | Foundation, Inc. |
| 1086 | 1086 | ||
| 1087 | Ĉi tiu dosiero estas parto de "GNU Emacs". | 1087 | Ĉi tiu dosiero estas parto de "GNU Emacs". |
diff --git a/etc/tutorials/TUTORIAL.es b/etc/tutorials/TUTORIAL.es index d7ff5fcf6db..60e6f98c920 100644 --- a/etc/tutorials/TUTORIAL.es +++ b/etc/tutorials/TUTORIAL.es | |||
| @@ -1204,7 +1204,7 @@ Por favor, en caso de duda, solo es válido el original en inglés de la | |||
| 1204 | siguiente nota de derechos de reproducción (que puede encontrar en el | 1204 | siguiente nota de derechos de reproducción (que puede encontrar en el |
| 1205 | archivo TUTORIAL). | 1205 | archivo TUTORIAL). |
| 1206 | 1206 | ||
| 1207 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, Inc. | 1207 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, Inc. |
| 1208 | 1208 | ||
| 1209 | Se permite a cualquiera hacer o distribuir copias literales de este | 1209 | Se permite a cualquiera hacer o distribuir copias literales de este |
| 1210 | documento como se recibe, en cualquier medio, siempre que la nota | 1210 | documento como se recibe, en cualquier medio, siempre que la nota |
diff --git a/etc/tutorials/TUTORIAL.fa b/etc/tutorials/TUTORIAL.fa index 085ecedd2f6..f0d99ab748f 100644 --- a/etc/tutorials/TUTORIAL.fa +++ b/etc/tutorials/TUTORIAL.fa | |||
| @@ -1131,7 +1131,7 @@ Stuart Cracraft سر چشمه گرفت. | |||
| 1131 | این نسخه از آموزش بخشی از GNU Emacs است. دارای حق چاپ است | 1131 | این نسخه از آموزش بخشی از GNU Emacs است. دارای حق چاپ است |
| 1132 | و با مجوز برای توزیع کپی در شرایط خاص همراه است: | 1132 | و با مجوز برای توزیع کپی در شرایط خاص همراه است: |
| 1133 | 1133 | ||
| 1134 | Copyright (C) 1985, 1996, 1998, 2001-2022, 2024-2025 Free Software | 1134 | Copyright (C) 1985, 1996, 1998, 2001-2022, 2024-2026 Free Software |
| 1135 | Foundation, Inc. | 1135 | Foundation, Inc. |
| 1136 | 1136 | ||
| 1137 | This file is part of GNU Emacs. | 1137 | This file is part of GNU Emacs. |
diff --git a/etc/tutorials/TUTORIAL.fr b/etc/tutorials/TUTORIAL.fr index f3a7f09f12b..1d94f3b9911 100644 --- a/etc/tutorials/TUTORIAL.fr +++ b/etc/tutorials/TUTORIAL.fr | |||
| @@ -240,7 +240,7 @@ de M-v. | |||
| 240 | 240 | ||
| 241 | Si vous utilisez un environnement graphique, comme X11 ou MS-Windows, | 241 | Si vous utilisez un environnement graphique, comme X11 ou MS-Windows, |
| 242 | il devrait y avoir une zone rectangulaire appelée barre de défilement, | 242 | il devrait y avoir une zone rectangulaire appelée barre de défilement, |
| 243 | ou « scrollbar » sur le bord gauche de la fenêtre d'Emacs. Vous pouvez | 243 | ou « scrollbar » sur le bord droit de la fenêtre d'Emacs. Vous pouvez |
| 244 | faire défiler le texte en cliquant avec la souris dans cette barre de | 244 | faire défiler le texte en cliquant avec la souris dans cette barre de |
| 245 | défilement. | 245 | défilement. |
| 246 | 246 | ||
| @@ -1202,7 +1202,7 @@ Cette version du didacticiel, comme GNU Emacs, est placée sous | |||
| 1202 | droit d'auteur, et vous pouvez en distribuer des copies sous certaines | 1202 | droit d'auteur, et vous pouvez en distribuer des copies sous certaines |
| 1203 | conditions : | 1203 | conditions : |
| 1204 | 1204 | ||
| 1205 | Copyright (C) 1985, 1996, 2001-2025 Free Software Foundation, Inc. | 1205 | Copyright (C) 1985, 1996, 2001-2026 Free Software Foundation, Inc. |
| 1206 | 1206 | ||
| 1207 | Chacun peut créer ou distribuer des copies de ce document tel qu'il | 1207 | Chacun peut créer ou distribuer des copies de ce document tel qu'il |
| 1208 | l'a reçu, sur n'importe quel support, pourvu que la note de | 1208 | l'a reçu, sur n'importe quel support, pourvu que la note de |
diff --git a/etc/tutorials/TUTORIAL.he b/etc/tutorials/TUTORIAL.he index 97d181fa548..4f9d2ddd70d 100644 --- a/etc/tutorials/TUTORIAL.he +++ b/etc/tutorials/TUTORIAL.he | |||
| @@ -1015,7 +1015,7 @@ find-file. | |||
| 1015 | גירסה זו של השיעור הינה חלק מחבילת GNU Emacs. היא מוגנת בזכויות יוצרים | 1015 | גירסה זו של השיעור הינה חלק מחבילת GNU Emacs. היא מוגנת בזכויות יוצרים |
| 1016 | וניתנת להעתקה והפצת עותקים בתנאים מסויימים כדלקמן: | 1016 | וניתנת להעתקה והפצת עותקים בתנאים מסויימים כדלקמן: |
| 1017 | 1017 | ||
| 1018 | Copyright (C) 2010-2025 Free Software Foundation, Inc. | 1018 | Copyright (C) 2010-2026 Free Software Foundation, Inc. |
| 1019 | 1019 | ||
| 1020 | GNU Emacs הינו תכנה חפשית; זכותכם להפיצו ו\או לשנותו בכפוף לתנאי | 1020 | GNU Emacs הינו תכנה חפשית; זכותכם להפיצו ו\או לשנותו בכפוף לתנאי |
| 1021 | הרשיון GNU General Public License, כפי שהוא יוצא לאור ע״י Free | 1021 | הרשיון GNU General Public License, כפי שהוא יוצא לאור ע״י Free |
diff --git a/etc/tutorials/TUTORIAL.it b/etc/tutorials/TUTORIAL.it index 405a1c6b340..82e1c36158a 100644 --- a/etc/tutorials/TUTORIAL.it +++ b/etc/tutorials/TUTORIAL.it | |||
| @@ -1219,7 +1219,7 @@ distribuito con il permesso di farne copie a determinate condizioni: | |||
| 1219 | indicativo, restando comunque inteso il fatto che è quella | 1219 | indicativo, restando comunque inteso il fatto che è quella |
| 1220 | originale a fare fede. | 1220 | originale a fare fede. |
| 1221 | 1221 | ||
| 1222 | Copyright (C) 2003-2025 Free Software Foundation, Inc. | 1222 | Copyright (C) 2003-2026 Free Software Foundation, Inc. |
| 1223 | 1223 | ||
| 1224 | È permesso a chiunque copiare e distribuire attraverso ogni mezzo | 1224 | È permesso a chiunque copiare e distribuire attraverso ogni mezzo |
| 1225 | copie fedeli di questo documento così come viene ricevuto, a | 1225 | copie fedeli di questo documento così come viene ricevuto, a |
diff --git a/etc/tutorials/TUTORIAL.ja b/etc/tutorials/TUTORIAL.ja index c6a0a29464d..d940a920a5f 100644 --- a/etc/tutorials/TUTORIAL.ja +++ b/etc/tutorials/TUTORIAL.ja | |||
| @@ -1062,7 +1062,7 @@ starting with the one written by Stuart Cracraft for the original Emacs. | |||
| 1062 | This version of the tutorial, like GNU Emacs, is copyrighted, and | 1062 | This version of the tutorial, like GNU Emacs, is copyrighted, and |
| 1063 | comes with permission to distribute copies on certain conditions: | 1063 | comes with permission to distribute copies on certain conditions: |
| 1064 | 1064 | ||
| 1065 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, Inc. | 1065 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, Inc. |
| 1066 | 1066 | ||
| 1067 | Permission is granted to anyone to make or distribute verbatim copies | 1067 | Permission is granted to anyone to make or distribute verbatim copies |
| 1068 | of this document as received, in any medium, provided that the | 1068 | of this document as received, in any medium, provided that the |
diff --git a/etc/tutorials/TUTORIAL.ko b/etc/tutorials/TUTORIAL.ko index 2212ff6f43a..6793d83c172 100644 --- a/etc/tutorials/TUTORIAL.ko +++ b/etc/tutorials/TUTORIAL.ko | |||
| @@ -980,7 +980,7 @@ C-x C-s와 (META쇠나 EDIT쇠 혹은 교체쇠가 있으면) <ESC>v와 같은 | |||
| 980 | GNU 이맥스와 같이 이 지침서 판은 저작권이 있으며 특정한 조건을 만족할 | 980 | GNU 이맥스와 같이 이 지침서 판은 저작권이 있으며 특정한 조건을 만족할 |
| 981 | 때에 복사본을 배포할 수 있는 허가를 갖고 나온 것이다: | 981 | 때에 복사본을 배포할 수 있는 허가를 갖고 나온 것이다: |
| 982 | 982 | ||
| 983 | Copyright (C) 1985, 1996, 2001-2025 Free Software Foundation, Inc. | 983 | Copyright (C) 1985, 1996, 2001-2026 Free Software Foundation, Inc. |
| 984 | 984 | ||
| 985 | 이 문서는 이 저작권 공고와 허용 공고가 그대로 유지되고, 배포자가 | 985 | 이 문서는 이 저작권 공고와 허용 공고가 그대로 유지되고, 배포자가 |
| 986 | 수취자에게 이 공고에 따라 허용되는 것처럼 또 재분배하는 것을 | 986 | 수취자에게 이 공고에 따라 허용되는 것처럼 또 재분배하는 것을 |
diff --git a/etc/tutorials/TUTORIAL.nl b/etc/tutorials/TUTORIAL.nl index 0a320825545..51d90a2b287 100644 --- a/etc/tutorials/TUTORIAL.nl +++ b/etc/tutorials/TUTORIAL.nl | |||
| @@ -1209,7 +1209,7 @@ Deze versie van de inleiding is onderdeel van GNU Emacs. Het valt | |||
| 1209 | onder copyright. Je mag deze inleiding verspreiden onder bepaalde | 1209 | onder copyright. Je mag deze inleiding verspreiden onder bepaalde |
| 1210 | voorwaarden: | 1210 | voorwaarden: |
| 1211 | 1211 | ||
| 1212 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, | 1212 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, |
| 1213 | Inc. | 1213 | Inc. |
| 1214 | 1214 | ||
| 1215 | Dit bestand is onderdeel van GNU Emacs. | 1215 | Dit bestand is onderdeel van GNU Emacs. |
| @@ -1239,7 +1239,7 @@ Engels origineel van de copyrightmelding en condities: | |||
| 1239 | This version of the tutorial is a part of GNU Emacs. It is copyrighted | 1239 | This version of the tutorial is a part of GNU Emacs. It is copyrighted |
| 1240 | and comes with permission to distribute copies on certain conditions: | 1240 | and comes with permission to distribute copies on certain conditions: |
| 1241 | 1241 | ||
| 1242 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, | 1242 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, |
| 1243 | Inc. | 1243 | Inc. |
| 1244 | 1244 | ||
| 1245 | This file is part of GNU Emacs. | 1245 | This file is part of GNU Emacs. |
diff --git a/etc/tutorials/TUTORIAL.pl b/etc/tutorials/TUTORIAL.pl index 27cae08b4bb..41b77c083ef 100644 --- a/etc/tutorials/TUTORIAL.pl +++ b/etc/tutorials/TUTORIAL.pl | |||
| @@ -1203,7 +1203,7 @@ z pomocą Ryszarda Kubiaka i Janusza S. Bienia <jsbien@mail.uw.edu.pl>. | |||
| 1203 | Ta wersja samouczka, podobnie jak GNU Emacs, jest chroniona prawem | 1203 | Ta wersja samouczka, podobnie jak GNU Emacs, jest chroniona prawem |
| 1204 | autorskim, ale wolno ją kopiować pod następującymi warunkami: | 1204 | autorskim, ale wolno ją kopiować pod następującymi warunkami: |
| 1205 | 1205 | ||
| 1206 | Copyright (C) 1985, 1994, 2001-2025 Free Software Foundation, Inc. | 1206 | Copyright (C) 1985, 1994, 2001-2026 Free Software Foundation, Inc. |
| 1207 | 1207 | ||
| 1208 | Zezwala się na wykonywanie lub rozpowszechnianie | 1208 | Zezwala się na wykonywanie lub rozpowszechnianie |
| 1209 | wiernych kopii tego dokumentu w otrzymanej formie, na dowolnym | 1209 | wiernych kopii tego dokumentu w otrzymanej formie, na dowolnym |
diff --git a/etc/tutorials/TUTORIAL.pt_BR b/etc/tutorials/TUTORIAL.pt_BR index 65bd08ecc00..576f4f0a3c6 100644 --- a/etc/tutorials/TUTORIAL.pt_BR +++ b/etc/tutorials/TUTORIAL.pt_BR | |||
| @@ -1056,7 +1056,7 @@ Essa versão do tutorial foi originalmente traduzida por Marcelo Toledo | |||
| 1056 | <marcelo@gnu.org> e como o GNU Emacs, tem um copyright, e vem | 1056 | <marcelo@gnu.org> e como o GNU Emacs, tem um copyright, e vem |
| 1057 | com uma permissão de distribuição de cópias nas seguintes condições: | 1057 | com uma permissão de distribuição de cópias nas seguintes condições: |
| 1058 | 1058 | ||
| 1059 | Copyright (C) 2004-2025 Free Software Foundation, Inc. | 1059 | Copyright (C) 2004-2026 Free Software Foundation, Inc. |
| 1060 | 1060 | ||
| 1061 | Permissão é garantida a qualquer um para fazer ou distribuir cópias | 1061 | Permissão é garantida a qualquer um para fazer ou distribuir cópias |
| 1062 | integrais deste documento como recebido, em qualquer meio, deixando | 1062 | integrais deste documento como recebido, em qualquer meio, deixando |
diff --git a/etc/tutorials/TUTORIAL.ro b/etc/tutorials/TUTORIAL.ro index 422048211fe..8716b5ebfc1 100644 --- a/etc/tutorials/TUTORIAL.ro +++ b/etc/tutorials/TUTORIAL.ro | |||
| @@ -4,7 +4,7 @@ Mulţumiri Aidei Hulubei <aida@chang.pub.ro> pentru corecturi şi sugestii. | |||
| 4 | 4 | ||
| 5 | Această versiune a fost produsă plecând de la versiunea în limba | 5 | Această versiune a fost produsă plecând de la versiunea în limba |
| 6 | engleză, care este | 6 | engleză, care este |
| 7 | Copyright (c) 1985, 2013-2025 Free Software Foundation, Inc. | 7 | Copyright (c) 1985, 2013-2026 Free Software Foundation, Inc. |
| 8 | 8 | ||
| 9 | Citiţi acum versiunea românească a tutorialului de Emacs. | 9 | Citiţi acum versiunea românească a tutorialului de Emacs. |
| 10 | 10 | ||
| @@ -1082,7 +1082,7 @@ continuare noţita de copyright originală în limba engleză. | |||
| 1082 | This version of the tutorial, like GNU Emacs, is copyrighted, and | 1082 | This version of the tutorial, like GNU Emacs, is copyrighted, and |
| 1083 | comes with permission to distribute copies on certain conditions: | 1083 | comes with permission to distribute copies on certain conditions: |
| 1084 | 1084 | ||
| 1085 | Copyright (c) 1985, 2013-2025 Free Software Foundation, Inc. | 1085 | Copyright (c) 1985, 2013-2026 Free Software Foundation, Inc. |
| 1086 | 1086 | ||
| 1087 | Permission is granted to anyone to make or distribute verbatim copies | 1087 | Permission is granted to anyone to make or distribute verbatim copies |
| 1088 | of this document as received, in any medium, provided that the | 1088 | of this document as received, in any medium, provided that the |
diff --git a/etc/tutorials/TUTORIAL.ru b/etc/tutorials/TUTORIAL.ru index 556e9868393..d011ce8239c 100644 --- a/etc/tutorials/TUTORIAL.ru +++ b/etc/tutorials/TUTORIAL.ru | |||
| @@ -1105,7 +1105,7 @@ Dired позволяет вам отображать список файлов | |||
| 1105 | (copyrighted) и приходит с ограничениями распространения копий со | 1105 | (copyrighted) и приходит с ограничениями распространения копий со |
| 1106 | следующими соглашениями: | 1106 | следующими соглашениями: |
| 1107 | 1107 | ||
| 1108 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, Inc. | 1108 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, Inc. |
| 1109 | 1109 | ||
| 1110 | Permission is granted to anyone to make or distribute verbatim copies | 1110 | Permission is granted to anyone to make or distribute verbatim copies |
| 1111 | of this document as received, in any medium, provided that the | 1111 | of this document as received, in any medium, provided that the |
diff --git a/etc/tutorials/TUTORIAL.sk b/etc/tutorials/TUTORIAL.sk index 2bec07f42de..9022eb52b12 100644 --- a/etc/tutorials/TUTORIAL.sk +++ b/etc/tutorials/TUTORIAL.sk | |||
| @@ -1074,7 +1074,7 @@ tútorialom napísaným Stuartom Cracraftom pre pôvodný Emacs. | |||
| 1074 | Táto verzia tútorialu je, podobne ako GNU Emacs, chránená copyrightom | 1074 | Táto verzia tútorialu je, podobne ako GNU Emacs, chránená copyrightom |
| 1075 | a je šírená s povolením distribuovať kópie za istých podmienok: | 1075 | a je šírená s povolením distribuovať kópie za istých podmienok: |
| 1076 | 1076 | ||
| 1077 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, Inc. | 1077 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, Inc. |
| 1078 | 1078 | ||
| 1079 | Každému je zaručené právo vytvárať a distribuovať presné kópie tohto | 1079 | Každému je zaručené právo vytvárať a distribuovať presné kópie tohto |
| 1080 | dokumentu tak, ako ho dostal, na akomkoľvek médiu, s tým, že bude | 1080 | dokumentu tak, ako ho dostal, na akomkoľvek médiu, s tým, že bude |
diff --git a/etc/tutorials/TUTORIAL.sl b/etc/tutorials/TUTORIAL.sl index 466490e7da6..3c5435ce1a8 100644 --- a/etc/tutorials/TUTORIAL.sl +++ b/etc/tutorials/TUTORIAL.sl | |||
| @@ -1119,7 +1119,7 @@ Emacs. V slovenščino ga je prevedel Primož Peterlin. | |||
| 1119 | To besedilo, kot sam GNU Emacs, je avtorsko delo, in njegovo | 1119 | To besedilo, kot sam GNU Emacs, je avtorsko delo, in njegovo |
| 1120 | razmnoževanje in razširjanje je dovoljeno pod naslednjimi pogoji: | 1120 | razmnoževanje in razširjanje je dovoljeno pod naslednjimi pogoji: |
| 1121 | 1121 | ||
| 1122 | Copyright © 1985, 1996, 1998, 2001-2025 Free Software Foundation, Inc. | 1122 | Copyright © 1985, 1996, 1998, 2001-2026 Free Software Foundation, Inc. |
| 1123 | 1123 | ||
| 1124 | Ta datoteka je del paketa GNU Emacs. | 1124 | Ta datoteka je del paketa GNU Emacs. |
| 1125 | 1125 | ||
diff --git a/etc/tutorials/TUTORIAL.sv b/etc/tutorials/TUTORIAL.sv index e5f6a480d4d..35cde5d92da 100644 --- a/etc/tutorials/TUTORIAL.sv +++ b/etc/tutorials/TUTORIAL.sv | |||
| @@ -1153,7 +1153,7 @@ Lidell översatte den till svenska. | |||
| 1153 | This version of the tutorial, like GNU Emacs, is copyrighted, and | 1153 | This version of the tutorial, like GNU Emacs, is copyrighted, and |
| 1154 | comes with permission to distribute copies on certain conditions: | 1154 | comes with permission to distribute copies on certain conditions: |
| 1155 | 1155 | ||
| 1156 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, Inc. | 1156 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, Inc. |
| 1157 | 1157 | ||
| 1158 | This file is part of GNU Emacs. | 1158 | This file is part of GNU Emacs. |
| 1159 | 1159 | ||
diff --git a/etc/tutorials/TUTORIAL.th b/etc/tutorials/TUTORIAL.th index aa9f07fe5f8..e9b8052b8c3 100644 --- a/etc/tutorials/TUTORIAL.th +++ b/etc/tutorials/TUTORIAL.th | |||
| @@ -964,7 +964,7 @@ starting with the one written by Stuart Cracraft for the original Emacs. | |||
| 964 | This version of the tutorial, like GNU Emacs, is copyrighted, and | 964 | This version of the tutorial, like GNU Emacs, is copyrighted, and |
| 965 | comes with permission to distribute copies on certain conditions: | 965 | comes with permission to distribute copies on certain conditions: |
| 966 | 966 | ||
| 967 | Copyright (C) 1985, 1996, 2001-2025 Free Software Foundation, Inc. | 967 | Copyright (C) 1985, 1996, 2001-2026 Free Software Foundation, Inc. |
| 968 | 968 | ||
| 969 | Permission is granted to anyone to make or distribute verbatim copies | 969 | Permission is granted to anyone to make or distribute verbatim copies |
| 970 | of this document as received, in any medium, provided that the | 970 | of this document as received, in any medium, provided that the |
diff --git a/etc/tutorials/TUTORIAL.translators b/etc/tutorials/TUTORIAL.translators index e81e6c665f4..2b1444b13b8 100644 --- a/etc/tutorials/TUTORIAL.translators +++ b/etc/tutorials/TUTORIAL.translators | |||
| @@ -39,6 +39,7 @@ Maintainer: Mohsen BANAN <emacs@mohsen.1.banan.byname.net> | |||
| 39 | * TUTORIAL.fr: | 39 | * TUTORIAL.fr: |
| 40 | Author: Éric Jacoboni <jaco@teaser.fr> | 40 | Author: Éric Jacoboni <jaco@teaser.fr> |
| 41 | Maintainer: Éric Jacoboni <jaco@teaser.fr> | 41 | Maintainer: Éric Jacoboni <jaco@teaser.fr> |
| 42 | Bastien Guerry <bzg@gnu.org> | ||
| 42 | 43 | ||
| 43 | * TUTORIAL.he | 44 | * TUTORIAL.he |
| 44 | Author: Eli Zaretskii <eliz@gnu.org> | 45 | Author: Eli Zaretskii <eliz@gnu.org> |
diff --git a/etc/tutorials/TUTORIAL.uk b/etc/tutorials/TUTORIAL.uk index d54914ff0ef..ee5fab46201 100644 --- a/etc/tutorials/TUTORIAL.uk +++ b/etc/tutorials/TUTORIAL.uk | |||
| @@ -1126,7 +1126,7 @@ list-packages. З'явиться екран, за допомогою якого | |||
| 1126 | Ця версія посібника — складник GNU Emacs. Її захищено авторським | 1126 | Ця версія посібника — складник GNU Emacs. Її захищено авторським |
| 1127 | правом. Розповсюджувати копії дозволено за певних умов: | 1127 | правом. Розповсюджувати копії дозволено за певних умов: |
| 1128 | 1128 | ||
| 1129 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, | 1129 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, |
| 1130 | Inc. (Фонд вільного програмного забезпечення, Inc.) | 1130 | Inc. (Фонд вільного програмного забезпечення, Inc.) |
| 1131 | 1131 | ||
| 1132 | Цей файл — складник GNU Emacs. | 1132 | Цей файл — складник GNU Emacs. |
diff --git a/etc/tutorials/TUTORIAL.zh b/etc/tutorials/TUTORIAL.zh index c70e95ad5bd..90a2dc38411 100644 --- a/etc/tutorials/TUTORIAL.zh +++ b/etc/tutorials/TUTORIAL.zh | |||
| @@ -1049,7 +1049,7 @@ issue here>」。 | |||
| 1049 | 這個版本的快速指南和 GNU Emacs 一樣都是版權化的,並且允許在某些條件下 | 1049 | 這個版本的快速指南和 GNU Emacs 一樣都是版權化的,並且允許在某些條件下 |
| 1050 | 散佈其拷貝: | 1050 | 散佈其拷貝: |
| 1051 | 1051 | ||
| 1052 | Copyright (C) 1985, 1996, 1998, 2001-2025 Free Software Foundation, Inc. | 1052 | Copyright (C) 1985, 1996, 1998, 2001-2026 Free Software Foundation, Inc. |
| 1053 | 1053 | ||
| 1054 | Permission is granted to anyone to make or distribute verbatim copies | 1054 | Permission is granted to anyone to make or distribute verbatim copies |
| 1055 | of this document as received, in any medium, provided that the | 1055 | of this document as received, in any medium, provided that the |
diff --git a/etc/w32-feature.el b/etc/w32-feature.el index e75c8d726d2..8850cc51f1d 100644 --- a/etc/w32-feature.el +++ b/etc/w32-feature.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; w32-feature.el --- Check Availability of Emacs Features -*- lexical-binding: t -*- | 1 | ;;; w32-feature.el --- Check Availability of Emacs Features -*- lexical-binding: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2020-2025 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2020-2026 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Phillip Lord <phillip.lord@russet.org.uk> | 5 | ;; Author: Phillip Lord <phillip.lord@russet.org.uk> |
| 6 | 6 | ||
diff --git a/etc/yow.lines b/etc/yow.lines deleted file mode 100644 index 7ed0c97d978..00000000000 --- a/etc/yow.lines +++ /dev/null | |||
| Binary files differ | |||