From: Stefan Kangas Date: Sat, 29 Jun 2024 14:41:18 +0000 (+0200) Subject: Add "New in Emacs 30" to FAQ X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=237517ff13d049a64260a59bb427da9919265ae4;p=emacs.git Add "New in Emacs 30" to FAQ * doc/misc/efaq.texi (New in Emacs 30): New section. (cherry picked from commit d063af203c893354d1b02399502ff5be3f3eb36b) --- diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 965c9a1c25a..cb80591b403 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -837,6 +837,7 @@ in the Emacs development repository (@pxref{Latest version of Emacs}). @menu * Origin of the term Emacs:: * Latest version of Emacs:: +* New in Emacs 30:: * New in Emacs 29:: * New in Emacs 28:: * New in Emacs 27:: @@ -910,6 +911,90 @@ Emacs, type @kbd{C-h C-n} (@kbd{M-x view-emacs-news}). You can give this command a prefix argument to read about which features were new in older versions. + +@node New in Emacs 30 +@section What is different about Emacs 30? +@cindex Differences between Emacs 29 and Emacs 30 +@cindex Emacs 30, new features in + +Here's a list of the most important changes in Emacs 30 as compared to +Emacs 29. The full list is too long to fit here, but can be read in the +Emacs @file{NEWS} file by typing @kbd{C-h n} inside Emacs. + +@itemize +@item +Native compilation is now enabled by default. When Emacs is built on a +machine with @samp{libgccjit}, this will improve Emacs performance in +many typical workloads. + +@item +Emacs has been ported to the Android operating system. See the file +@file{java/INSTALL} in the Emacs source distribution for details on how +to build it. + +@item +Numerous performance improvements, for example in parsing JSON, reading +data from subprocesses, handling output from Eshell and in Shell mode, X +selection requests, remote files, and so on. + +@item +Native JSON support is now always available; libjansson is no longer +used. + +@item +New major modes based on the +@uref{https://tree-sitter.github.io/tree-sitter/, tree-sitter library} +library for editing Elixir, HTML, Lua, HEEx, and PHP. + +@item +Support for the EditorConfig standard has been added, an editor-neutral +way to provide directory local (project-wide) settings. It is enabled +via a new global minor mode 'editorconfig-mode' which makes Emacs obey +the '.editorconfig' files. + +@item +Support for touchscreens has been improved. On systems that understand +them (at present X, Android, PGTK, and MS-Windows), many touch screen +gestures are now implemented and translated into mouse or gesture +events, and support for tapping tool bar buttons and opening menus has +been added. + +@item +Tool bar tweaks. The new minor mode 'window-tool-bar-mode' provides a +per-window toolbar. Toolbars can be placed on the bottom of a frame by +setting the @code{tool-bar-position} variable on all window systems but +NextStep and macOS. + +@item +The @samp{which-key} package from GNU ELPA is now included in Emacs. +After enabling the minor mode mode @code{which-key-mode}, if you enter +@kbd{C-x} and wait for one second, the minibuffer will expand with all +available key bindings that follow @kbd{C-x} (or as many as space +allows). + +@item +New global minor mode @code{kill-ring-deindent-mode}. When enabled, +text being saved to the kill ring will be de-indented by the column +number at its start. + +@item +New minor mode @code{visual-wrap-prefix-mode}. Unlike @kbd{M-q}, the +indentation only happens on display, and doesn't change the buffer text +in any way. + +@item +Automatic regeneration of TAGS files using the new global minor mode +@code{etags-regen-mode}. + +@item +Improved warnings from the byte-code compiler to aid Lisp developers. + +@item +Support for underline colors on TTY frames. + +@end itemize + + @node New in Emacs 29 @section What is different about Emacs 29? @cindex Differences between Emacs 28 and Emacs 29