diff options
| author | Po Lu | 2024-06-30 10:06:09 +0800 |
|---|---|---|
| committer | Po Lu | 2024-06-30 10:06:09 +0800 |
| commit | e2561e267fd2eb37b140a293baec79096f03290b (patch) | |
| tree | 937291ce231a708b51541bbce5f76151b344a0e0 /doc/misc | |
| parent | f0f883da4b410c606b46b61c80b874ead08335ea (diff) | |
| parent | 72cf9964f3c0fd63332884b8145399f1784de7f1 (diff) | |
| download | emacs-e2561e267fd2eb37b140a293baec79096f03290b.tar.gz emacs-e2561e267fd2eb37b140a293baec79096f03290b.zip | |
Merge from savannah/emacs-30
72cf9964f3c Inaccuracy in efaq.texi
fc48e9e8ed5 ; Fix typos in DOS Makefile scripts
9b8d754579f ; * etc/NEWS: Explain Nextstep.
8819e5a45d5 Fix treesit crash (bug#71681)
eaf2dc96c1f ; Fix SHR test on MS-Windows
57880f597c5 Delete redundant mention of `with-eval-after-load'
ea8ce984342 * doc/misc/efaq.texi (New in Emacs 30): Fix typos.
45a20d781a9 ; Fix typos in symbols
d95f039af43 Document security fixes in FAQ
d063af203c8 Add "New in Emacs 30" to FAQ
ca6b484162b ; * etc/NEWS: Move "Minibuffer and Completions"
35c46663e49 ; * etc/NEWS: Move item to "Lisp Changes".
0515b38d289 ; * etc/NEWS: Move keyboard macro items closer together.
22af3a71039 ; * etc/NEWS: More copy-edits.
000ef8876ae ; * etc/NEWS: Move items to "Incompatible Lisp Changes".
4088dc8e4ce ; * etc/NEWS: Rearrange "Incompatible Lisp Changes".
179800f36bb ; * lisp/epg.el (epg--start): Add commentary about encoding.
73898f0214c Fix non-ASCII filename operatiion on EasyPG (bug#71500)
a65b6aac6b5 Silence warning with global minor mode :predicate
f5f7343ac41 ; * etc/NEWS: Move an item to "Startup Changes"
c95066bf188 ; * etc/NEWS: Move some Lisp items to better place.
bf7db88ce1f ; * etc/NEWS: Rearrange "Editing Changes in Emacs 30.1"
000424eb9eb ; * etc/NEWS: Make touch screen support more prominent.
5b5671587fb ; * etc/NEWS: Rearrange "Changes in Emacs 30.1".
31124abdefe ; * lisp/thingatpt.el (sexp-at-point): Doc fix (bug#71777).
44f269d6e60 Fix: make 'xwidget-webkit-scroll-backward' scroll backwards
358085997c6 Merge branch 'emacs-30' of git.savannah.gnu.org:/srv/git/...
736b7cad406 Add jsdoc support to php-ts-mode in <script> element
5f3d964e397 Update to Transient v0.7.2-4-gf75bc48d
# Conflicts:
# etc/NEWS
Diffstat (limited to 'doc/misc')
| -rw-r--r-- | doc/misc/efaq.texi | 103 | ||||
| -rw-r--r-- | doc/misc/transient.texi | 31 |
2 files changed, 133 insertions, 1 deletions
diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 5b722f9fd77..7ab9731ff8f 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi | |||
| @@ -847,6 +847,7 @@ in the Emacs development repository (@pxref{Latest version of Emacs}). | |||
| 847 | @menu | 847 | @menu |
| 848 | * Origin of the term Emacs:: | 848 | * Origin of the term Emacs:: |
| 849 | * Latest version of Emacs:: | 849 | * Latest version of Emacs:: |
| 850 | * New in Emacs 30:: | ||
| 850 | * New in Emacs 29:: | 851 | * New in Emacs 29:: |
| 851 | * New in Emacs 28:: | 852 | * New in Emacs 28:: |
| 852 | * New in Emacs 27:: | 853 | * New in Emacs 27:: |
| @@ -920,6 +921,90 @@ Emacs, type @kbd{C-h C-n} (@kbd{M-x view-emacs-news}). You can give | |||
| 920 | this command a prefix argument to read about which features were new | 921 | this command a prefix argument to read about which features were new |
| 921 | in older versions. | 922 | in older versions. |
| 922 | 923 | ||
| 924 | |||
| 925 | @node New in Emacs 30 | ||
| 926 | @section What is different about Emacs 30? | ||
| 927 | @cindex Differences between Emacs 29 and Emacs 30 | ||
| 928 | @cindex Emacs 30, new features in | ||
| 929 | |||
| 930 | Here's a list of the most important changes in Emacs 30 as compared to | ||
| 931 | Emacs 29. The full list is too long to fit here, but can be read in the | ||
| 932 | Emacs @file{NEWS} file by typing @kbd{C-h n} inside Emacs. | ||
| 933 | |||
| 934 | @itemize | ||
| 935 | @item | ||
| 936 | Native compilation is now enabled by default. When Emacs is built on a | ||
| 937 | machine with @samp{libgccjit}, this will improve Emacs performance in | ||
| 938 | many typical workloads. | ||
| 939 | |||
| 940 | @item | ||
| 941 | Emacs has been ported to the Android operating system. See the file | ||
| 942 | @file{java/INSTALL} in the Emacs source distribution for details on how | ||
| 943 | to build it. | ||
| 944 | |||
| 945 | @item | ||
| 946 | Numerous performance improvements, for example in parsing JSON, reading | ||
| 947 | data from subprocesses, handling output from Eshell and in Shell mode, X | ||
| 948 | selection requests, remote files, and so on. | ||
| 949 | |||
| 950 | @item | ||
| 951 | Native JSON support is now always available; libjansson is no longer | ||
| 952 | used. | ||
| 953 | |||
| 954 | @item | ||
| 955 | New major modes based on the | ||
| 956 | @uref{https://tree-sitter.github.io/tree-sitter/, tree-sitter library} | ||
| 957 | library for editing Elixir, HTML, Lua, HEEx, and PHP. | ||
| 958 | |||
| 959 | @item | ||
| 960 | Support for the EditorConfig standard has been added, an editor-neutral | ||
| 961 | way to provide directory local (project-wide) settings. It is enabled | ||
| 962 | via a new global minor mode @code{editorconfig-mode} which makes Emacs | ||
| 963 | obey the @file{.editorconfig} files. | ||
| 964 | |||
| 965 | @item | ||
| 966 | Support for touchscreens has been improved. On systems that understand | ||
| 967 | them (at present X, Android, PGTK, and MS-Windows), many touch screen | ||
| 968 | gestures are now implemented and translated into mouse or gesture | ||
| 969 | events, and support for tapping tool bar buttons and opening menus has | ||
| 970 | been added. | ||
| 971 | |||
| 972 | @item | ||
| 973 | Tool bar tweaks. The new minor mode @code{window-tool-bar-mode} | ||
| 974 | provides a per-window toolbar. Toolbars can be placed on the bottom of | ||
| 975 | a frame by setting the @code{tool-bar-position} variable on all window | ||
| 976 | systems but GNUStep and macOS. | ||
| 977 | |||
| 978 | @item | ||
| 979 | The @samp{which-key} package from GNU ELPA is now included in Emacs. | ||
| 980 | After enabling the minor mode mode @code{which-key-mode}, if you enter | ||
| 981 | @kbd{C-x} and wait for one second, the minibuffer will expand with all | ||
| 982 | available key bindings that follow @kbd{C-x} (or as many as space | ||
| 983 | allows). | ||
| 984 | |||
| 985 | @item | ||
| 986 | New global minor mode @code{kill-ring-deindent-mode}. When enabled, | ||
| 987 | text being saved to the kill ring will be de-indented by the column | ||
| 988 | number at its start. | ||
| 989 | |||
| 990 | @item | ||
| 991 | New minor mode @code{visual-wrap-prefix-mode}. Unlike @kbd{M-q}, the | ||
| 992 | indentation only happens on display, and doesn't change the buffer text | ||
| 993 | in any way. | ||
| 994 | |||
| 995 | @item | ||
| 996 | Automatic regeneration of TAGS files using the new global minor mode | ||
| 997 | @code{etags-regen-mode}. | ||
| 998 | |||
| 999 | @item | ||
| 1000 | Improved warnings from the byte-code compiler to aid Lisp developers. | ||
| 1001 | |||
| 1002 | @item | ||
| 1003 | Support for underline colors on TTY frames. | ||
| 1004 | |||
| 1005 | @end itemize | ||
| 1006 | |||
| 1007 | |||
| 923 | @node New in Emacs 29 | 1008 | @node New in Emacs 29 |
| 924 | @section What is different about Emacs 29? | 1009 | @section What is different about Emacs 29? |
| 925 | @cindex Differences between Emacs 28 and Emacs 29 | 1010 | @cindex Differences between Emacs 28 and Emacs 29 |
| @@ -929,6 +1014,9 @@ Here's a list of the most important changes in Emacs 29 as compared to | |||
| 929 | Emacs 28 (the full list is too long, and can be read in the Emacs | 1014 | Emacs 28 (the full list is too long, and can be read in the Emacs |
| 930 | @file{NEWS} file by typing @kbd{C-h n} inside Emacs). | 1015 | @file{NEWS} file by typing @kbd{C-h n} inside Emacs). |
| 931 | 1016 | ||
| 1017 | Note that Emacs 29.3 and 29.4 both contained important security fixes. | ||
| 1018 | Upgrading is particularly important if you use Emacs as a mail client. | ||
| 1019 | |||
| 932 | @itemize | 1020 | @itemize |
| 933 | @item | 1021 | @item |
| 934 | Emacs can now be built with the | 1022 | Emacs can now be built with the |
| @@ -3577,6 +3665,21 @@ you use the package system (e.g. @code{M-x list-packages}) with third | |||
| 3577 | party archives. Use only third parties that you can trust! | 3665 | party archives. Use only third parties that you can trust! |
| 3578 | 3666 | ||
| 3579 | @item | 3667 | @item |
| 3668 | Using an out-of-date Emacs version. | ||
| 3669 | |||
| 3670 | For security purposes, we recommend always using the latest officially | ||
| 3671 | released version of Emacs. Using old versions of Emacs might put your | ||
| 3672 | security at risk, as newer versions occasionally include important | ||
| 3673 | security fixes. Please review the Emacs release notes and the | ||
| 3674 | @file{etc/NEWS} file for details. | ||
| 3675 | |||
| 3676 | Upgrading to the most recent version is particularly important if you | ||
| 3677 | use Emacs as a mail client, or to edit files that come from untrusted | ||
| 3678 | sources. You should be able to install the latest version of Emacs | ||
| 3679 | through your system's package manager, and it is always available at | ||
| 3680 | @uref{https://www.gnu.org/software/emacs/, the Emacs website}. | ||
| 3681 | |||
| 3682 | @item | ||
| 3580 | The @code{file-local-variable} feature. (Yes, a risk, but easy to | 3683 | The @code{file-local-variable} feature. (Yes, a risk, but easy to |
| 3581 | change.) | 3684 | change.) |
| 3582 | 3685 | ||
diff --git a/doc/misc/transient.texi b/doc/misc/transient.texi index 407b55ee017..22db4e82143 100644 --- a/doc/misc/transient.texi +++ b/doc/misc/transient.texi | |||
| @@ -1208,7 +1208,10 @@ prefix's @code{transient--layout} property, but it is often more convenient | |||
| 1208 | to use the same form as understood by @code{transient-define-prefix}, | 1208 | to use the same form as understood by @code{transient-define-prefix}, |
| 1209 | described below. If you use the latter approach, you can use the | 1209 | described below. If you use the latter approach, you can use the |
| 1210 | @code{transient-parse-suffixes} and @code{transient-parse-suffix} functions to | 1210 | @code{transient-parse-suffixes} and @code{transient-parse-suffix} functions to |
| 1211 | transform them from the convenient to the expected form. | 1211 | transform them from the convenient to the expected form. Depending |
| 1212 | on the used group class, @code{transient-parse-suffixes}'s SUFFIXES must be | ||
| 1213 | a list of group vectors (for @code{transient-columns}) or a list of suffix | ||
| 1214 | lists (for all other group classes). | ||
| 1212 | 1215 | ||
| 1213 | If you explicitly specify children and then transform them using | 1216 | If you explicitly specify children and then transform them using |
| 1214 | @code{:setup-children}, then the class of the group is determined as usual, | 1217 | @code{:setup-children}, then the class of the group is determined as usual, |
| @@ -1220,6 +1223,32 @@ For backward compatibility, if you fail to do so, @code{transient-column} | |||
| 1220 | is used and a warning is displayed. This warning will eventually | 1223 | is used and a warning is displayed. This warning will eventually |
| 1221 | be replaced with an error. | 1224 | be replaced with an error. |
| 1222 | 1225 | ||
| 1226 | @lisp | ||
| 1227 | (transient-define-prefix my-finder-by-keyword () | ||
| 1228 | "Select a keyword and list matching packages." | ||
| 1229 | ;; The real `finder-by-keyword' is more convenient | ||
| 1230 | ;; of course, but that is not the point here. | ||
| 1231 | [:class transient-columns | ||
| 1232 | :setup-children | ||
| 1233 | (lambda (_) | ||
| 1234 | (transient-parse-suffixes | ||
| 1235 | 'my-finder-by-keyword | ||
| 1236 | (let ((char (1- ?A))) | ||
| 1237 | (mapcar ; a list ... | ||
| 1238 | (lambda (partition) | ||
| 1239 | (vconcat ; of group vectors ... | ||
| 1240 | (mapcar (lambda (elt) | ||
| 1241 | (let ((keyword (symbol-name (car elt)))) | ||
| 1242 | ; ... where each suffix is a list | ||
| 1243 | (list (format "%c" (cl-incf char)) | ||
| 1244 | keyword | ||
| 1245 | (lambda () | ||
| 1246 | (interactive) | ||
| 1247 | (finder-list-matches keyword))))) | ||
| 1248 | partition))) | ||
| 1249 | (seq-partition finder-known-keywords 7)))))]) | ||
| 1250 | @end lisp | ||
| 1251 | |||
| 1223 | @item | 1252 | @item |
| 1224 | The boolean @code{:pad-keys} argument controls whether keys of all suffixes | 1253 | The boolean @code{:pad-keys} argument controls whether keys of all suffixes |
| 1225 | contained in a group are right padded, effectively aligning the | 1254 | contained in a group are right padded, effectively aligning the |