aboutsummaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorPo Lu2024-06-30 23:12:09 +0800
committerPo Lu2024-06-30 23:12:09 +0800
commit7c8d4e96ba6db19bdca20a87bafed024a84eb517 (patch)
treefbab938bf8f25d5634912a58260f9d1c517d6737 /etc
parent7f89fe8a342d7b4e8800d0ef333fb6759b58ccb5 (diff)
parent64851d101a854e00c68f3e9259d70777e7b26cb2 (diff)
downloademacs-7c8d4e96ba6db19bdca20a87bafed024a84eb517.tar.gz
emacs-7c8d4e96ba6db19bdca20a87bafed024a84eb517.zip
Merge from savannah/emacs-30
64851d101a8 Improve Android "adaptive icon" 9b294059d71 Fix documentation for Emacs 30 f50167ab95e ; Update NEWS and corresponding manuals 4e22ef870c4 Add D-Bus test f784d946d44 ; Repair corruption in etc/DEBUG c750fbb539e ; * etc/DEBUG: Advice for debugging Emacs on OpenBSD (bug... 38179f85f8f Merge remote-tracking branch 'savannah/scratch/windows-98... 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 2d8881d5267 Fix typo incurring leaks of face structures 219501dd629 ; Fix use of @footnote in cc-mode.texi c7be2dcac44 Merge branch 'emacs-30' of git.sv.gnu.org:/srv/git/emacs ... f0a48799756 Sync with Tramp 2.7.1 53dcf2b9492 ; * etc/NEWS: Move the mwheel entry to a better place. a5726782d03 ; Sort tree-sitter modes in NEWS daa89dc939e ; * etc/NEWS: Rearrange "New Modes and Packages in Emacs ... 4ddbf4f70ef ; * etc/NEWS: Move many items. 437b1ced268 ; * etc/NEWS: Copy-edits. 7372b2eb302 Expand docstring of which-key-mode df0eb5be1ea Improve documentation of 'remove-overlays' in ELisp manual 73c1252bb6b Fix link to major mode variable in docstring c4ad54812ac Make `shell-mode' more robust c4ec905c9a9 Correct ommissions in rmc.el bf862fc2770 * lisp/hi-lock.el: More fixes related to revert-buffer. 6cc8ffae9a6 Update to Org 9.7.5-9-ga091ca c477443ab80 ; Fix typo in lua-ts-mode.el 6e5e4d61939 ; Add 'eglot-ensure' option to 'lua-ts-mode-hook' 58a2f36a8b9 ; * etc/NEWS: Copy edit. df53ef176ac Merge branch 'emacs-30' of git.savannah.gnu.org:/srv/git/... 039e6ffd866 Write Antinews for Emacs 30 ELisp Reference bf8c9f702ba (eval-last-sexp): Fix bug#71774 6d94090cadc * lisp/hi-lock.el: More fixes for revert-buffer (bug#57534) 280c91782af * lisp/hi-lock.el (hi-lock-revert-buffer-rehighlight): Im... 339310d0205 * lisp/tab-bar.el (tab-bar-select-restore-windows): Impro... c1e7569a925 Write Antinews for Emacs 30 user manual 233f683da8f ; * lisp/erc/erc-backend.el (erc-server-reconnect-timeout... 20a672b3b2b Change ERC version for Emacs 30 to 5.6.0.30.1 cbede3d43df * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper): ... 6f9f9a21555 Fix two tests for --without-all build 98daa10f065 ; * etc/PROBLEMS (PGTK): Remove redundant 2nd PGTK section. ced33bc2397 Fix handling of non-nil 'dired-movement-style' b1e9b6fd67d ; * lisp/gnus/message.el (message-idna-to-ascii-rhs): Doc... 5eb9a0d2c79 ; * etc/NEWS: Fix last change (bug#71720). 6ec77f580dd Do not prematurely truncate python eldoc string f475a1a2544 ; Fix simple-tests as fallout of last change aa10d0c5ac1 Add tests for `kill-whole-line' (bug#65734) 058bb4ca25a kill-whole-line: Honor visibility; fix kill-ring when rea... e45173d114e * lisp/hi-lock.el (hi-lock-file-patterns-policy): Add val... d6afb017deb * lisp/progmodes/xref.el (xref-revert-buffer-restore-poin... 8d55b38e2a1 Fix Cygwin build 82125b1a661 Use 'revert-function' in *xref* buffer 860840621a1 Prevent crashes and related issues if initial activity is... d5c6eb1f964 Doc fix in 'php-ts-mode' fb15affde8c Avoid compiler warnings in the Cygwin-w32 build 8d354925ddb Add new face 'widget-unselected' to wid-edit.el 1809f6a93ef Always perform Eshell process cleanup runs in the Eshell ... 8b1841021c0 Avert crash in store_mode_line_string on Android 5.0 and ... e7c85f9235a Use HarfBuzz in Cygwin-w32 build 8e3e206bd32 ; * src/buffer.c (syms_of_buffer) <mode-line-format>: ASC... fe0d9dfb3b1 ; * lisp/treesit.el (treesit--syntax-propertize-start): F... 2f18929319a Fix tabbing between widgets (bug#70594) 6ad6507532b ; * lisp/which-key.el (which-key-dont-use-unicode): Add :... 60b38c317bb * lisp/touch-screen.el (touch-screen-inhibit-drag): Anoth... a4ca30ac2e0 Fix rescaling of images via 'text-scale-mode' in EWW 0e43606b20d * lisp/touch-screen.el (touch-screen-inhibit-drag): Fix t... 1b4c5627211 Fix latent side-effects of respecting field boundaries in... e4046f33ab8 ; * lisp/simple.el (undo-auto--boundaries): Doc fix (bug#... 008eeb21fdb ; * lisp/language/cyrillic.el: Delete obsolete commentary... 680155d3f03 Add missing builtin package declarations ce4f56caf71 Extend treesitter tests on emba 7e8a97ac788 Show entries from key-translation-map in which-key mode 4a0958642d9 * lisp/tab-bar.el (tab-bar-tab-group-face-function): Impr... a769f171e7e ; Fix flymake tests with GCC 14. 96e27c2ecf9 Don't show char name for multi-char translations 0715abfa86a Reset ls-lisp-use-string-collate when ls-lisp-emulation c... 4fcc38966bf Update to Transient v0.7.2-1-gf273c0c8 b7d5ca3a8fb * doc/misc/calc.texi (Musical Notes): Fix typo. 164f75822b2 ; Fix typos 768e92b9c02 Update options that depend on 'which-key-dont-use-unicode' 4b2682b17cd ; Remove debugging message in Completion Preview test 73a58329a69 Fix omission of updates to child frames on Android 0edacf2aa7e Add jsdoc support to js-ts-mode cace0cbee93 ; Restore inadvertently removed line. 2b04effb13d ; * test/lisp/net/shr-tests.el (shr-test--rendering-check... 6619aec6bca ; Don't run new 'shr-test/zoom-image' when built without ... 5d19bfda321 ; * admin/release-branch.txt: Update and fix typo. fb11294d415 ; Fix typos d9bd1718f9a Backport: Minor changes in tramp-tests.el 1728de5a776 Backport: Tramp: Fix bug#71709, and other minor changes dd0fc6aff60 New branch emacs-30 bc72c33ac38 * admin/admin.el: (set-version): Fix regexp for configure... 60475a73d17 Disable Ffile_system_info for Android special directories 18e7a9f3d0c Restore functionality on Windows 98 5f8a9cd4b6f Fix a bug in 'switch-to-buffer' 5f9b5803bea Fix zooming images in SHR 6f2036243f2 ; Doc fix in 'php-ts-mode'. 2f1c882a16e Colorize CSS property value like `css--fontify-region' dd0994aa36c Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 486ea8ef5ac * configure.ac: Disable kqueue on Haiku. 737fa7c5292 Fix 'Customize' menu entry for 'php-ts-mode' cb7be6035ee Fix compilation on prerelease versions of Haiku 2b848a4e504 Fix FIXME in comment 77e3a56507d Update SKK-JISYO.L from upstream e5bae788614 Update publicsuffix.txt from upstream bf5f74288b7 Add assignment form as `etc/copyright-assign.txt` fcd37988048 ; Merge from origin/emacs-29 0f01cb0ebd1 Bump Emacs version to 29.4.50 014aab9847a Fix for grammar change of keyword "virtual" in tree-sitte... fa364a0d469 Revert "; * etc/HISTORY: Delete never-released Emacs 28.3." a81417e5766 Update Tramp version (don't merge to master) ff389163ee8 Manually merge NEWS.29 from emacs-29 ea057131220 ; * etc/HISTORY: Delete never-released Emacs 28.3. d3469978b89 Merge from origin/emacs-29 3739342a4e9 ; Merge from origin/emacs-29 38e738a35eb Merge from origin/emacs-29 4c4c94fa105 ; Merge from origin/emacs-29 1313b8966ae Merge from origin/emacs-29 4a76af51bb6 Replace literal whitespace with `\s` e41dd2241f7 ; Merge from origin/emacs-29 8520ec829d3 ; * lisp/editorconfig.el (editorconfig-indentation-alist)... 99161fb7140 Fix non-existing `editorconfig-set-indentation-python-mode` fd15d89ec51 Merge remote-tracking branch 'origin/emacs-29' into emacs-29 6a299b3cace Release Emacs 29.4 3f3c08bcc76 Add before-save-hook to man page files 7b0e6cb3ffa Use UTC when generating man page timestamps a7cb642a9fc Merge from origin/emacs-29 6491d11b53a ; Merge from origin/emacs-29 2f39a4b28a9 Merge from origin/emacs-29 150e2b979c1 ; * src/xfns.c (unwind_create_frame): Add missing definit... 75fdeef7b49 Allow to expand truncated long lines in *Compilation* buf... fb1b188e1ad Eglot: Fix command execution (bug#71642) 155cc89de02 Support for indentation of PHP alternative syntax control... 7f7b28a2500 ; Wayland SECONDARY selection problem 11fb3510f48 Prevent auto-revert when deleting entry (bug#71264) a4fe4ca93cf Fix font lock regex for user defined constant in PHP e1ba4ebb495 Make Compilation mode recognize non-legacy Kotlin/Gradle ... 4f030834994 ; Improve documentation of EditorConfig support c0bfe429485 List Andrea Corallo as co-maintainer in ack.texi b3d6880512f * admin/MAINTAINERS: Add myself in (co-)maintainers. 7cc939bf27e ; * lisp/ldefs-boot.el: Regenerated for Emacs 29.4 959eacc2a70 Bump Emacs version to 29.4 9a02fce714c Update files for Emacs 29.4 d96c54d3883 * admin/authors.el: Update for Emacs 29.4 fd207432e50 * etc/NEWS: Update for Emacs 29.4 c645e1d8205 org-link-expand-abbrev: Do not evaluate arbitrary unsafe ... 50a237c4689 Update Tramp version (don't merge to master) f3e80dd0f70 * admin/emacs-shell-lib: Backport to Bash 4.4 or older. ce85d3811da Fix bug#49289 also for other auth-source backends # Conflicts: # etc/NEWS
Diffstat (limited to 'etc')
-rw-r--r--etc/DEBUG72
-rw-r--r--etc/NEWS.30129
2 files changed, 127 insertions, 74 deletions
diff --git a/etc/DEBUG b/etc/DEBUG
index 4eae090621f..06544674e5d 100644
--- a/etc/DEBUG
+++ b/etc/DEBUG
@@ -1157,6 +1157,12 @@ Please refer to the LLDB reference on the web for more information
1157about LLDB. If you already know GDB, you will also find a mapping 1157about LLDB. If you already know GDB, you will also find a mapping
1158from GDB commands to corresponding LLDB commands there. 1158from GDB commands to corresponding LLDB commands there.
1159 1159
1160** Debugging Emacs on OpenBSD
1161
1162To debug Emacs on OpenBSD, use the 'egdb' command from the 'gdb'
1163package. This reportedly works both if Emacs was compiled with GCC and
1164if it was compiled with clang.
1165
1160** Debugging Emacs on Android. 1166** Debugging Emacs on Android.
1161 1167
1162A script located in the java/ directory automates the procedures 1168A script located in the java/ directory automates the procedures
@@ -1282,39 +1288,39 @@ the crash.
1282The third form is printed when Emacs misuses the JVM in some fashion 1288The third form is printed when Emacs misuses the JVM in some fashion
1283that is detected by the Android CheckJNI facility. It looks like: 1289that is detected by the Android CheckJNI facility. It looks like:
1284 1290
1285A/art art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: ... 1291A/art: art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: ...
1286A/art art/runtime/check_jni.cc:65] in call to CallVoidMethodV 1292A/art: art/runtime/check_jni.cc:65] in call to CallVoidMethodV
1287A/art art/runtime/check_jni.cc:65] from void android.os.MessageQueue.nativePollOnce(long, int) 1293A/art: art/runtime/check_jni.cc:65] from void android.os.MessageQueue.nativePollOnce(long, int)
1288A/art art/runtime/check_jni.cc:65] "main" prio=5 tid=1 Runnable 1294A/art: art/runtime/check_jni.cc:65] "main" prio=5 tid=1 Runnable
1289A/art art/runtime/check_jni.cc:65] | group="main" sCount=0 dsCount=0 obj=0x87d30ef0 self=0xb4f07800 1295A/art: art/runtime/check_jni.cc:65] | group="main" sCount=0 dsCount=0 obj=0x87d30ef0 self=0xb4f07800
1290A/art art/runtime/check_jni.cc:65] | sysTid=18828 nice=-11 cgrp=apps sched=0/0 handle=0xb6fdeec8 1296A/art: art/runtime/check_jni.cc:65] | sysTid=18828 nice=-11 cgrp=apps sched=0/0 handle=0xb6fdeec8
1291A/art art/runtime/check_jni.cc:65] | state=R schedstat=( 2249126546 506089308 3210 ) utm=183 stm=41 core=3 HZ=100 1297A/art: art/runtime/check_jni.cc:65] | state=R schedstat=( 2249126546 506089308 3210 ) utm=183 stm=41 core=3 HZ=100
1292A/art art/runtime/check_jni.cc:65] | stack=0xbe0c8000-0xbe0ca000 stackSize=8MB 1298A/art: art/runtime/check_jni.cc:65] | stack=0xbe0c8000-0xbe0ca000 stackSize=8MB
1293A/art art/runtime/check_jni.cc:65] | held mutexes= "mutator lock"(shared held) 1299A/art: art/runtime/check_jni.cc:65] | held mutexes= "mutator lock"(shared held)
1294A/art﹕ art/runtime/check_jni.cc:65] native: #00 pc 00004640 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+23) 1300A/art: art/runtime/check_jni.cc:65] native: #00 pc 00004640 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+23)
1295A/art﹕ art/runtime/check_jni.cc:65] native: #01 pc 00002e8d /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+8) 1301A/art: art/runtime/check_jni.cc:65] native: #01 pc 00002e8d /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+8)
1296A/art﹕ art/runtime/check_jni.cc:65] native: #02 pc 00248381 /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::mirror::ArtMethod*)+68) 1302A/art: art/runtime/check_jni.cc:65] native: #02 pc 00248381 /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::mirror::ArtMethod*)+68)
1297A/art﹕ art/runtime/check_jni.cc:65] native: #03 pc 0022cd0b /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+146) 1303A/art: art/runtime/check_jni.cc:65] native: #03 pc 0022cd0b /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+146)
1298A/art﹕ art/runtime/check_jni.cc:65] native: #04 pc 000b189b /system/lib/libart.so (art::JniAbort(char const*, char const*)+582) 1304A/art: art/runtime/check_jni.cc:65] native: #04 pc 000b189b /system/lib/libart.so (art::JniAbort(char const*, char const*)+582)
1299A/art﹕ art/runtime/check_jni.cc:65] native: #05 pc 000b1fd5 /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+60) 1305A/art: art/runtime/check_jni.cc:65] native: #05 pc 000b1fd5 /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+60)
1300A/art﹕ art/runtime/check_jni.cc:65] native: #06 pc 000b50e5 /system/lib/libart.so (art::ScopedCheck::ScopedCheck(_JNIEnv*, int, char const*)+1284) 1306A/art: art/runtime/check_jni.cc:65] native: #06 pc 000b50e5 /system/lib/libart.so (art::ScopedCheck::ScopedCheck(_JNIEnv*, int, char const*)+1284)
1301A/art﹕ art/runtime/check_jni.cc:65] native: #07 pc 000bc59f /system/lib/libart.so (art::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+30) 1307A/art: art/runtime/check_jni.cc:65] native: #07 pc 000bc59f /system/lib/libart.so (art::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+30)
1302A/art art/runtime/check_jni.cc:65] native: #08 pc 00063803 /system/lib/libandroid_runtime.so (???) 1308A/art: art/runtime/check_jni.cc:65] native: #08 pc 00063803 /system/lib/libandroid_runtime.so (???)
1303A/art﹕ art/runtime/check_jni.cc:65] native: #09 pc 000776bd /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync(long long, int, unsigned int)+40) 1309A/art: art/runtime/check_jni.cc:65] native: #09 pc 000776bd /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync(long long, int, unsigned int)+40)
1304A/art﹕ art/runtime/check_jni.cc:65] native: #10 pc 00077885 /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::handleEvent(int, int, void*)+80) 1310A/art: art/runtime/check_jni.cc:65] native: #10 pc 00077885 /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::handleEvent(int, int, void*)+80)
1305A/art art/runtime/check_jni.cc:65] native: #11 pc 00010f6f /system/lib/libutils.so (android::Looper::pollInner(int)+482) 1311A/art: art/runtime/check_jni.cc:65] native: #11 pc 00010f6f /system/lib/libutils.so (android::Looper::pollInner(int)+482)
1306A/art﹕ art/runtime/check_jni.cc:65] native: #12 pc 00011019 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92) 1312A/art: art/runtime/check_jni.cc:65] native: #12 pc 00011019 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
1307A/art﹕ art/runtime/check_jni.cc:65] native: #13 pc 000830c1 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22) 1313A/art: art/runtime/check_jni.cc:65] native: #13 pc 000830c1 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
1308A/art﹕ art/runtime/check_jni.cc:65] native: #14 pc 000b22d7 /system/framework/arm/boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+102) 1314A/art: art/runtime/check_jni.cc:65] native: #14 pc 000b22d7 /system/framework/arm/boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+102)
1309A/art art/runtime/check_jni.cc:65] at android.os.MessageQueue.nativePollOnce(Native method) 1315A/art: art/runtime/check_jni.cc:65] at android.os.MessageQueue.nativePollOnce(Native method)
1310A/art art/runtime/check_jni.cc:65] at android.os.MessageQueue.next(MessageQueue.java:143) 1316A/art: art/runtime/check_jni.cc:65] at android.os.MessageQueue.next(MessageQueue.java:143)
1311A/art art/runtime/check_jni.cc:65] at android.os.Looper.loop(Looper.java:130) 1317A/art: art/runtime/check_jni.cc:65] at android.os.Looper.loop(Looper.java:130)
1312A/art art/runtime/check_jni.cc:65] at android.app.ActivityThread.main(ActivityThread.java:5832) 1318A/art: art/runtime/check_jni.cc:65] at android.app.ActivityThread.main(ActivityThread.java:5832)
1313A/art art/runtime/check_jni.cc:65] at java.lang.reflect.Method.invoke!(Native method) 1319A/art: art/runtime/check_jni.cc:65] at java.lang.reflect.Method.invoke!(Native method)
1314A/art art/runtime/check_jni.cc:65] at java.lang.reflect.Method.invoke(Method.java:372) 1320A/art: art/runtime/check_jni.cc:65] at java.lang.reflect.Method.invoke(Method.java:372)
1315A/art art/runtime/check_jni.cc:65] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 1321A/art: art/runtime/check_jni.cc:65] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
1316A/art art/runtime/check_jni.cc:65] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 1322A/art: art/runtime/check_jni.cc:65] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
1317A/art art/runtime/check_jni.cc:65] 1323A/art: art/runtime/check_jni.cc:65]
1318 1324
1319In such situations, the first line explains what infraction Emacs 1325In such situations, the first line explains what infraction Emacs
1320committed, while the ensuing ones print backtraces for each running 1326committed, while the ensuing ones print backtraces for each running
diff --git a/etc/NEWS.30 b/etc/NEWS.30
index d5409d139dc..a6eda6afddd 100644
--- a/etc/NEWS.30
+++ b/etc/NEWS.30
@@ -58,6 +58,7 @@ ALSA on these operating systems instead.
58 58
59* Startup Changes in Emacs 30.1 59* Startup Changes in Emacs 30.1
60 60
61---
61** On GNU/Linux, Emacs is now the default application for 'org-protocol'. 62** On GNU/Linux, Emacs is now the default application for 'org-protocol'.
62Org mode provides a way to quickly capture bookmarks, notes, and links 63Org mode provides a way to quickly capture bookmarks, notes, and links
63using 'emacsclient': 64using 'emacsclient':
@@ -71,7 +72,7 @@ arranges for Emacs to be the default application for the 'org-protocol'
71URI scheme. See the Org mode manual, Info node "(org) Protocols" for 72URI scheme. See the Org mode manual, Info node "(org) Protocols" for
72more details. 73more details.
73 74
74--- 75+++
75** New variable lets Lisp code read emacsclient arguments. 76** New variable lets Lisp code read emacsclient arguments.
76When '--eval' is passed to emacsclient and Emacs is evaluating each 77When '--eval' is passed to emacsclient and Emacs is evaluating each
77argument, the new variable 'server-eval-args-left' is set to those 78argument, the new variable 'server-eval-args-left' is set to those
@@ -84,6 +85,7 @@ escaping (to protect them from the shell).
84 85
85* Incompatible Changes in Emacs 30.1 86* Incompatible Changes in Emacs 30.1
86 87
88---
87** Tree-Sitter modes are now declared as submodes of the non-TS modes. 89** Tree-Sitter modes are now declared as submodes of the non-TS modes.
88In order to help the use of those Tree-Sitter modes, they are now 90In order to help the use of those Tree-Sitter modes, they are now
89declared to have the corresponding non-Tree-Sitter mode as an 91declared to have the corresponding non-Tree-Sitter mode as an
@@ -94,6 +96,7 @@ collections of snippets automatically apply to the new Tree-Sitter modes.
94Note that those modes still do not inherit from the non-TS mode, so 96Note that those modes still do not inherit from the non-TS mode, so
95configuration settings installed via mode hooks are not affected. 97configuration settings installed via mode hooks are not affected.
96 98
99---
97** Mouse wheel events should now always be 'wheel-up/down/left/right'. 100** Mouse wheel events should now always be 'wheel-up/down/left/right'.
98At those places where the old 'mouse-4/5/6/7' events could still occur 101At those places where the old 'mouse-4/5/6/7' events could still occur
99(i.e., X11 input in the absence of XInput2, and 'xterm-mouse-mode'), 102(i.e., X11 input in the absence of XInput2, and 'xterm-mouse-mode'),
@@ -124,6 +127,7 @@ to your init file:
124 127
125 (advice-add 'completion-at-point :after #'minibuffer-hide-completions) 128 (advice-add 'completion-at-point :after #'minibuffer-hide-completions)
126 129
130---
127** The default process filter was rewritten in native code. 131** The default process filter was rewritten in native code.
128The round-trip through the Lisp function 132The round-trip through the Lisp function
129'internal-default-process-filter' is skipped when the process filter is 133'internal-default-process-filter' is skipped when the process filter is
@@ -158,6 +162,7 @@ see the variable 'url-request-extra-headers'.
158 162
159* Changes in Emacs 30.1 163* Changes in Emacs 30.1
160 164
165---
161** Emacs now supports Unicode Standard version 15.1. 166** Emacs now supports Unicode Standard version 15.1.
162 167
163+++ 168+++
@@ -184,20 +189,23 @@ TTY frames.
184 189
185--- 190---
186** Support for underline colors on TTY frames. 191** Support for underline colors on TTY frames.
187Colors specified in face underlines will now also be displayed in TTY 192Colors specified in the underline face will now also be displayed on TTY
188frames with the previously mentioned capabilities. 193frames on terminals that support the 'Su' or 'Smulx' capabilities.
189 194
195+++
190** Modeline elements can now be right-aligned. 196** Modeline elements can now be right-aligned.
191Anything following the symbol 'mode-line-format-right-align' in 197Anything following the symbol 'mode-line-format-right-align' in
192'mode-line-format' will be right-aligned. Exactly where it is 198'mode-line-format' will be right-aligned. Exactly where it is
193right-aligned to is controlled by the new user option 199right-aligned to is controlled by the new user option
194'mode-line-right-align-edge'. 200'mode-line-right-align-edge'.
195 201
202---
196** X selection requests are now handled much faster and asynchronously. 203** X selection requests are now handled much faster and asynchronously.
197This means it should be less necessary to disable the likes of 204This means it should be less necessary to disable the likes of
198'select-active-regions' when Emacs is running over a slow network 205'select-active-regions' when Emacs is running over a slow network
199connection. 206connection.
200 207
208---
201** Emacs now updates invisible frames that are made visible by a compositor. 209** Emacs now updates invisible frames that are made visible by a compositor.
202If an invisible or an iconified frame is shown to the user by the 210If an invisible or an iconified frame is shown to the user by the
203compositing manager, Emacs will now redisplay such a frame even though 211compositing manager, Emacs will now redisplay such a frame even though
@@ -209,8 +217,8 @@ example, as part of preview for iconified frames.
209The only exception is w32notify. 217The only exception is w32notify.
210 218
211+++ 219+++
212** Image ':map' property is now recomputed when image is transformed. 220** The ':map' property of images is now recomputed when image is transformed.
213Now images with clickable maps work as expected after you run commands 221Images with clickable maps now work as expected after you run commands
214such as 'image-increase-size', 'image-decrease-size', 'image-rotate', 222such as 'image-increase-size', 'image-decrease-size', 'image-rotate',
215'image-flip-horizontally', and 'image-flip-vertically'. 223'image-flip-horizontally', and 'image-flip-vertically'.
216Set the new user option 'image-recompute-map-p' to nil to prevent Emacs 224Set the new user option 'image-recompute-map-p' to nil to prevent Emacs
@@ -218,11 +226,13 @@ from recomputing image maps.
218 226
219** Minibuffer and Completions 227** Minibuffer and Completions
220 228
229+++
221*** New commands 'previous-line-completion' and 'next-line-completion'. 230*** New commands 'previous-line-completion' and 'next-line-completion'.
222Bound to '<up>' and '<down>' arrow keys, respectively, they navigate 231Bound to '<up>' and '<down>' arrow keys, respectively, they navigate
223the "*Completions*" buffer vertically by lines, wrapping at the 232the "*Completions*" buffer vertically by lines, wrapping at the
224top/bottom when 'completion-auto-wrap' is non-nil. 233top/bottom when 'completion-auto-wrap' is non-nil.
225 234
235+++
226*** New user option 'minibuffer-visible-completions'. 236*** New user option 'minibuffer-visible-completions'.
227When customized to non-nil, you can use arrow keys in the minibuffer 237When customized to non-nil, you can use arrow keys in the minibuffer
228to navigate the completions displayed in the "*Completions*" window. 238to navigate the completions displayed in the "*Completions*" window.
@@ -231,6 +241,7 @@ completions window. When the completions window is not visible,
231then all these keys have their usual meaning in the minibuffer. 241then all these keys have their usual meaning in the minibuffer.
232This option is supported for in-buffer completion as well. 242This option is supported for in-buffer completion as well.
233 243
244---
234*** Selected completion candidates are deselected on typing. 245*** Selected completion candidates are deselected on typing.
235When you type at the minibuffer prompt, the current completion 246When you type at the minibuffer prompt, the current completion
236candidate will be un-highlighted, and point in the "*Completions*" window 247candidate will be un-highlighted, and point in the "*Completions*" window
@@ -242,6 +253,7 @@ the minibuffer contents instead. This deselection behavior can be
242controlled with the new user option 'completion-auto-deselect', which 253controlled with the new user option 'completion-auto-deselect', which
243is t by default. 254is t by default.
244 255
256+++
245*** New value 'historical' for user option 'completions-sort'. 257*** New value 'historical' for user option 'completions-sort'.
246When 'completions-sort' is set to 'historical', completion candidates 258When 'completions-sort' is set to 'historical', completion candidates
247will be first sorted alphabetically, and then re-sorted by their order 259will be first sorted alphabetically, and then re-sorted by their order
@@ -304,6 +316,7 @@ It specifies how 'set-window-configuration' and 'window-state-put'
304should proceed with windows whose buffer was killed after the 316should proceed with windows whose buffer was killed after the
305corresponding configuration or state was recorded. 317corresponding configuration or state was recorded.
306 318
319---
307*** New variable 'window-point-context-set-function'. 320*** New variable 'window-point-context-set-function'.
308It can be used to set a context for window point in all windows by 321It can be used to set a context for window point in all windows by
309'window-point-context-set' before calling 'current-window-configuration' 322'window-point-context-set' before calling 'current-window-configuration'
@@ -336,8 +349,9 @@ window systems other than macOS and GNUstep (Nextstep).
336 349
337+++ 350+++
338*** New global minor mode 'modifier-bar-mode'. 351*** New global minor mode 'modifier-bar-mode'.
339When this minor mode is enabled, buttons representing modifier keys 352When this minor mode is enabled, the tool bar displays buttons
340are displayed along the tool bar. 353representing modifier keys. Clicking on these buttons applies the
354corresponding modifiers to the next input event.
341 355
342+++ 356+++
343*** New user option 'tool-bar-always-show-default'. 357*** New user option 'tool-bar-always-show-default'.
@@ -413,10 +427,12 @@ Switch to a buffer visiting the source of what is being described in
413This user option controls outline visibility in the output buffer of 427This user option controls outline visibility in the output buffer of
414'describe-bindings' when 'describe-bindings-outline' is non-nil. 428'describe-bindings' when 'describe-bindings-outline' is non-nil.
415 429
430---
416*** 'describe-function' shows function inferred type when available. 431*** 'describe-function' shows function inferred type when available.
417For native compiled Lisp functions 'describe-function' prints (after 432For native compiled Lisp functions 'describe-function' prints (after
418the signature) the automatically inferred function type as well. 433the signature) the automatically inferred function type as well.
419 434
435---
420*** 'describe-function' now shows the type of the function object. 436*** 'describe-function' now shows the type of the function object.
421The text used to say things like "car is is a built-in function" whereas 437The text used to say things like "car is is a built-in function" whereas
422it now says "car is a primitive-function" where "primitive-function" is 438it now says "car is a primitive-function" where "primitive-function" is
@@ -427,6 +443,7 @@ get information about that type.
427*** 'C-h m' ('describe-mode') uses outlining by default. 443*** 'C-h m' ('describe-mode') uses outlining by default.
428Set 'describe-mode-outline' to nil to get back the old behavior. 444Set 'describe-mode-outline' to nil to get back the old behavior.
429 445
446---
430*** 'C-h k' ('describe-key') shows Unicode name. 447*** 'C-h k' ('describe-key') shows Unicode name.
431For keybindings which produce single characters via translation or input 448For keybindings which produce single characters via translation or input
432methods, 'C-h k' now shows the Unicode name of the produced character in 449methods, 'C-h k' now shows the Unicode name of the produced character in
@@ -436,6 +453,7 @@ addition to the character itself, e.g.
436 453
437 € 'EURO SIGN' (translated from C-x 8 E) 454 € 'EURO SIGN' (translated from C-x 8 E)
438 455
456---
439*** 'C-h b' ('describe-bindings') shows Unicode names. 457*** 'C-h b' ('describe-bindings') shows Unicode names.
440For keybindings which produce single characters via translation (such as 458For keybindings which produce single characters via translation (such as
441those using the 'C-x 8' or 'A-' prefix, or 'dead-acute', 'dead-grave', 459those using the 'C-x 8' or 'A-' prefix, or 'dead-acute', 'dead-grave',
@@ -465,8 +483,10 @@ This command can toggle boolean options for the duration of a session.
465*** New prefix argument for modifying directory-local variables. 483*** New prefix argument for modifying directory-local variables.
466The commands 'add-dir-local-variable', 'delete-dir-local-variable' and 484The commands 'add-dir-local-variable', 'delete-dir-local-variable' and
467'copy-file-locals-to-dir-locals' now take an optional prefix argument, 485'copy-file-locals-to-dir-locals' now take an optional prefix argument,
468to enter the file name you want to modify. 486to enter the file name where you want to modify directory-local
487variables.
469 488
489+++
470*** New user option 'safe-local-variable-directories'. 490*** New user option 'safe-local-variable-directories'.
471This user option names directories in which Emacs will treat all 491This user option names directories in which Emacs will treat all
472directory-local variables as safe. 492directory-local variables as safe.
@@ -475,6 +495,10 @@ directory-local variables as safe.
475** CL Print 495** CL Print
476 496
477+++ 497+++
498*** There is a new chapter in the CL manual documenting cl-print.el.
499See the Info node "(cl) Printing".
500
501+++
478*** You can expand the "..." truncation everywhere. 502*** You can expand the "..." truncation everywhere.
479The code that allowed "..." to be expanded in the "*Backtrace*" buffer 503The code that allowed "..." to be expanded in the "*Backtrace*" buffer
480should now work anywhere the data is generated by 'cl-print'. 504should now work anywhere the data is generated by 'cl-print'.
@@ -494,13 +518,9 @@ This setting causes byte-compiled functions to be printed in full by
494'prin1'. A button on this output can be activated to disassemble the 518'prin1'. A button on this output can be activated to disassemble the
495function. 519function.
496 520
497+++
498*** There is a new chapter in the CL manual documenting cl-print.el.
499See the Info node "(cl) Printing".
500
501** Miscellaneous 521** Miscellaneous
502 522
503--- 523+++
504*** New command 'kill-matching-buffers-no-ask'. 524*** New command 'kill-matching-buffers-no-ask'.
505This works like 'kill-matching-buffers', but without asking for 525This works like 'kill-matching-buffers', but without asking for
506confirmation. 526confirmation.
@@ -512,9 +532,9 @@ between the auto save file and the current file.
512 532
513+++ 533+++
514*** 'read-passwd' can toggle the visibility of passwords. 534*** 'read-passwd' can toggle the visibility of passwords.
515Use 'TAB' in the minibuffer to show or hide the password. Likewise, 535Use 'TAB' in the minibuffer to show or hide the password.
516there is an icon on the mode-line, which toggles the visibility of the 536Alternatively, click the new show-password icon on the mode-line with
517password when clicking with 'mouse-1'. 537'mouse-1' to toggle the visibility of the password.
518 538
519*** 'advice-remove' is now an interactive command. 539*** 'advice-remove' is now an interactive command.
520When called interactively, 'advice-remove' now prompts for an advised 540When called interactively, 'advice-remove' now prompts for an advised
@@ -541,8 +561,8 @@ remote buffers. The default is nil.
541 561
542+++ 562+++
543*** New user option 'remote-file-name-access-timeout'. 563*** New user option 'remote-file-name-access-timeout'.
544When a positive number, this option limits the call of 'access-file' 564If a positive number, this option limits the call of 'access-file'
545for remote files to this number of seconds. Default is nil. 565for remote files to that number of seconds. Default is nil.
546 566
547+++ 567+++
548*** New user option 'yes-or-no-prompt'. 568*** New user option 'yes-or-no-prompt'.
@@ -554,7 +574,8 @@ This allows the user to customize the prompt that is appended by
554*** New user option 'menu-bar-close-window'. 574*** New user option 'menu-bar-close-window'.
555When non-nil, selecting "Close" from the "File" menu or clicking 575When non-nil, selecting "Close" from the "File" menu or clicking
556"Close" in the tool bar will result in the current window being 576"Close" in the tool bar will result in the current window being
557closed, if possible. 577deleted, if possible. The default is nil, and these gestures kill the
578buffer shown in the current window, but don't delete the window.
558 579
559--- 580---
560*** New face 'display-time-date-and-time'. 581*** New face 'display-time-date-and-time'.
@@ -585,8 +606,9 @@ Homebrew.
585 606
586+++ 607+++
587*** 'write-region-inhibit-fsync' now defaults to t in interactive mode, 608*** 'write-region-inhibit-fsync' now defaults to t in interactive mode,
588as it has in batch mode since Emacs 24. 609as it did in batch mode since Emacs 24.
589 610
611---
590*** The default value of 'read-process-output-max' was increased to 65536. 612*** The default value of 'read-process-output-max' was increased to 65536.
591 613
592+++ 614+++
@@ -613,11 +635,11 @@ buffers.
613(This minor mode is the 'adaptive-wrap' ELPA package renamed and 635(This minor mode is the 'adaptive-wrap' ELPA package renamed and
614lightly edited for inclusion in Emacs.) 636lightly edited for inclusion in Emacs.)
615 637
616--- 638+++
617** New global minor mode 'kill-ring-deindent-mode'. 639** New global minor mode 'kill-ring-deindent-mode'.
618When enabled, text being saved to the kill ring will be de-indented by 640When enabled, text being saved to the kill ring will be de-indented by
619the column number at its start. For example, saving the entire 641the column number at its start. For example, saving the entire
620function call within: 642function call within an indented block:
621 643
622foo () 644foo ()
623{ 645{
@@ -626,16 +648,16 @@ foo ()
626 argument_3_compute ()); 648 argument_3_compute ());
627} 649}
628 650
629will save: 651will save this to the kill ring:
630 652
631long_function_with_several_arguments (argument_1_compute (), 653long_function_with_several_arguments (argument_1_compute (),
632 argument_2_compute (), 654 argument_2_compute (),
633 argument_3_compute ()) 655 argument_3_compute ())
634 656
635to the kill ring, omitting the two columns of extra indentation that 657This omits the two columns of extra indentation that would otherwise be
636would otherwise be present in the second and third lines of the 658copied from the second and third lines and saved to the kill ring.
637function call.
638 659
660---
639** New command 'replace-regexp-as-diff'. 661** New command 'replace-regexp-as-diff'.
640It reads a regexp to search for and a string to replace with, then 662It reads a regexp to search for and a string to replace with, then
641displays a buffer with replacements as diffs. After reviewing the 663displays a buffer with replacements as diffs. After reviewing the
@@ -706,6 +728,7 @@ whereas if the mouse pointer is in the left half of a glyph, point
706will be put in front the buffer position corresponding to that glyph. 728will be put in front the buffer position corresponding to that glyph.
707By default this is disabled. 729By default this is disabled.
708 730
731---
709** New pre-defined values for 'electric-quote-chars'. 732** New pre-defined values for 'electric-quote-chars'.
710The available customization options for 'electric-quote-chars' have been 733The available customization options for 'electric-quote-chars' have been
711updated with common pairs of quotation characters, including "‘", "’", 734updated with common pairs of quotation characters, including "‘", "’",
@@ -713,7 +736,7 @@ updated with common pairs of quotation characters, including "‘", "’",
713The default is unchanged. 736The default is unchanged.
714 737
715+++ 738+++
716** 'M-TAB' now invokes 'completion-at-point' also in Text mode. 739** 'M-TAB' now invokes 'completion-at-point' in Text mode.
717By default, Text mode no longer binds 'M-TAB' to 'ispell-complete-word'. 740By default, Text mode no longer binds 'M-TAB' to 'ispell-complete-word'.
718Instead, this mode arranges for 'completion-at-point', globally bound to 741Instead, this mode arranges for 'completion-at-point', globally bound to
719'M-TAB', to perform word completion as well. You can have Text mode 742'M-TAB', to perform word completion as well. You can have Text mode
@@ -764,14 +787,17 @@ These languages are spoken in Pakistan and Afghanistan.
764*** New input method "english-colemak". 787*** New input method "english-colemak".
765This input method supports the Colemak keyboard layout. 788This input method supports the Colemak keyboard layout.
766 789
790---
767*** Additional 'C-x 8' key translations for "æ" and "Æ". 791*** Additional 'C-x 8' key translations for "æ" and "Æ".
768These characters can now be input with 'C-x 8 a e' and 'C-x 8 A E', 792These characters can now be input with 'C-x 8 a e' and 'C-x 8 A E',
769respectively, in addition to the existing translations 'C-x 8 / e' and 793respectively, in addition to the existing translations 'C-x 8 / e' and
770'C-x 8 / E'. 794'C-x 8 / E'.
771 795
796---
772*** New 'C-x 8' key translations for "low" quotes "„", and "‚". 797*** New 'C-x 8' key translations for "low" quotes "„", and "‚".
773These can now be entered with 'C-x , "' and 'C-x , ''. 798These can now be entered with 'C-x , "' and 'C-x , ''.
774 799
800---
775*** New German language 'C-x 8' key translations for quotation marks. 801*** New German language 'C-x 8' key translations for quotation marks.
776The characters "„", "“", and "”" can now be entered with 'C-x 8 v', 802The characters "„", "“", and "”" can now be entered with 'C-x 8 v',
777'C-x 8 b' and 'C-x 8 n'. The single versions "‚", "‘", and "’" can now 803'C-x 8 b' and 'C-x 8 n'. The single versions "‚", "‘", and "’" can now
@@ -779,6 +805,7 @@ be entered with 'C-x 8 V', 'C-x 8 B' and 'C-x 8 N'. These characters
779are used for the official German quoting style. Using them requires 805are used for the official German quoting style. Using them requires
780activating German language support via 'iso-transl-set-language'. 806activating German language support via 'iso-transl-set-language'.
781 807
808---
782*** "latin-prefix" and "latin-postfix" quotation marks additions. 809*** "latin-prefix" and "latin-postfix" quotation marks additions.
783These input methods can now produce single, double and "low" left and 810These input methods can now produce single, double and "low" left and
784right quotation marks: 811right quotation marks:
@@ -788,17 +815,20 @@ right quotation marks:
788by using "[", "]", and "," for "left", "right", and "low" respectively 815by using "[", "]", and "," for "left", "right", and "low" respectively
789to modify "'" and """. 816to modify "'" and """.
790 817
818---
791*** "latin-prefix" and "latin-postfix" guillemets support. 819*** "latin-prefix" and "latin-postfix" guillemets support.
792These input methods can now produce single guillemets "‹" and "›". For 820These input methods can now produce single guillemets "‹" and "›". For
793"latin-prefix" use "~~<" and "~~>", for "latin-postfix" use "<~" and 821"latin-prefix" use "~~<" and "~~>", for "latin-postfix" use "<~" and
794">~". Double guillemets ("«" and "»") were already supported. 822">~". Double guillemets ("«" and "»") were already supported.
795 823
824---
796*** New French language 'C-x 8' key translations for "‹" and "›". 825*** New French language 'C-x 8' key translations for "‹" and "›".
797These characters can now be entered using 'C-x 8 ~ <' and 'C-x 8 ~ >' 826These characters can now be entered using 'C-x 8 ~ <' and 'C-x 8 ~ >'
798respectively, after activating French language support via 827respectively, after activating French language support via
799'iso-transl-set-language'. Double guillemets were already supported via 828'iso-transl-set-language'. Double guillemets were already supported via
800'C-x 8 <' and 'C-x 8 >' 829'C-x 8 <' and 'C-x 8 >'
801 830
831---
802*** Additional 'C-x 8' key translation for Euro "€" currency symbol. 832*** Additional 'C-x 8' key translation for Euro "€" currency symbol.
803This can now be entered using 'C-x 8 E' in addition to the existing 833This can now be entered using 'C-x 8 E' in addition to the existing
804'C-x 8 * E' translation. 834'C-x 8 * E' translation.
@@ -808,11 +838,12 @@ This can now be entered using 'C-x 8 E' in addition to the existing
808 838
809** Outline mode 839** Outline mode
810 840
841+++
811*** New commands to show/hide outlines by regexp. 842*** New commands to show/hide outlines by regexp.
812'/ h' ('outline-hide-by-heading-regexp') asks for a regexp and then 843'C-c / h' ('outline-hide-by-heading-regexp') asks for a regexp and then
813hides the body lines of all outlines whose heading lines match the 844hides the body lines of all outlines whose heading lines match the
814regexp. '/ s' ('outline-show-by-heading-regexp') does the same but 845regexp. 'C-c / s' ('outline-show-by-heading-regexp') does the inverse:
815shows the matched outlines. 846it shows the bodies of outlines that matched a regexp.
816 847
817+++ 848+++
818*** 'outline-minor-mode' is supported in tree-sitter major modes. 849*** 'outline-minor-mode' is supported in tree-sitter major modes.
@@ -828,6 +859,7 @@ This user option associates manual names with URLs. It affects the
828Emacs-included manuals are set. Further associations can be added for 859Emacs-included manuals are set. Further associations can be added for
829arbitrary Info manuals. 860arbitrary Info manuals.
830 861
862---
831*** Emacs can now display Info manuals compressed with 'lzip'. 863*** Emacs can now display Info manuals compressed with 'lzip'.
832This requires the 'lzip' program to be installed on your system. 864This requires the 'lzip' program to be installed on your system.
833 865
@@ -859,7 +891,7 @@ If you want to get back the old behavior, set the user option to the value
859 (setopt gdb-locals-table-row-config 891 (setopt gdb-locals-table-row-config
860 `((type . 0) (name . 0) (value . ,gdb-locals-value-limit))) 892 `((type . 0) (name . 0) (value . ,gdb-locals-value-limit)))
861 893
862--- 894+++
863*** New user option 'gdb-display-io-buffer'. 895*** New user option 'gdb-display-io-buffer'.
864If this is nil, 'M-x gdb' will neither create nor display a separate 896If this is nil, 'M-x gdb' will neither create nor display a separate
865buffer for the I/O of the program being debugged, but will instead 897buffer for the I/O of the program being debugged, but will instead
@@ -868,11 +900,13 @@ default is t, to preserve previous behavior.
868 900
869** Grep 901** Grep
870 902
903+++
871*** New user option 'grep-use-headings'. 904*** New user option 'grep-use-headings'.
872When non-nil, the output of Grep is split into sections, one for each 905When non-nil, the output of Grep is split into sections, one for each
873file, instead of having file names prefixed to each line. It is 906file, instead of having file names prefixed to each line. It is
874equivalent to the "--heading" option of some tools such as 'git grep' 907equivalent to the "--heading" option of some tools such as 'git grep'
875and 'rg'. The headings are displayed using the new 'grep-heading' face. 908and 'rg'. The headings are displayed using the new 'grep-heading' face.
909The default is nil.
876 910
877** Compilation mode 911** Compilation mode
878 912
@@ -882,6 +916,7 @@ This is because it partly acts by modifying other rules which may
882occasionally be surprising. It can be re-enabled by adding 'omake' to 916occasionally be surprising. It can be re-enabled by adding 'omake' to
883'compilation-error-regexp-alist'. 917'compilation-error-regexp-alist'.
884 918
919---
885*** Lua errors and stack traces are now recognized. 920*** Lua errors and stack traces are now recognized.
886Compilation mode now recognizes Lua language errors and stack traces. 921Compilation mode now recognizes Lua language errors and stack traces.
887Every Lua error is recognized as a compilation error, and every Lua 922Every Lua error is recognized as a compilation error, and every Lua
@@ -895,22 +930,26 @@ When non-nil, display the name of the current project on the mode
895line. Clicking 'mouse-1' on the project name pops up the project 930line. Clicking 'mouse-1' on the project name pops up the project
896menu. The default value is nil. 931menu. The default value is nil.
897 932
933---
898*** New user option 'project-file-history-behavior'. 934*** New user option 'project-file-history-behavior'.
899Customizing it to 'relativize' makes commands like 'project-find-file' 935Customizing it to 'relativize' makes commands like 'project-find-file'
900and 'project-find-dir' display previous history entries relative to 936and 'project-find-dir' display previous history entries relative to
901the current project. 937the current project.
902 938
939--
903*** New user option 'project-key-prompt-style'. 940*** New user option 'project-key-prompt-style'.
904The look of the key prompt in the project switcher has been changed 941The look of the key prompt in the project switcher has been changed
905slightly. To get the previous one, set this option to 'brackets'. 942slightly. To get the previous one, set this option to 'brackets'.
906 943
944---
907*** 'project-try-vc' tries harder to find the responsible VCS. 945*** 'project-try-vc' tries harder to find the responsible VCS.
908When 'project-vc-extra-root-markers' is non-nil, and causes a 946When 'project-vc-extra-root-markers' is non-nil, and causes a
909subdirectory project to be detected which is not a VCS root, we now 947subdirectory project to be detected which is not a VCS root, Project now
910additionally traverse the parent directories until a VCS root is found 948additionally traverses the parent directories until a VCS root is found
911(if any), so that the ignore rules for that repository are used, and 949(if any), so that the ignore rules for that repository are used, and
912the file listing's performance is still optimized. 950the file listing's performance is still optimized.
913 951
952+++
914*** New commands 'project-any-command' and 'project-prefix-or-any-command'. 953*** New commands 'project-any-command' and 'project-prefix-or-any-command'.
915The former is now bound to 'C-x p o' by default. 954The former is now bound to 'C-x p o' by default.
916The latter is designed primarily for use as a value of 955The latter is designed primarily for use as a value of
@@ -948,15 +987,16 @@ With this value only the revision number is displayed on the mode-line.
948*** Obsolete command 'vc-switch-backend' re-added as 'vc-change-backend'. 987*** Obsolete command 'vc-switch-backend' re-added as 'vc-change-backend'.
949The command was previously obsoleted and unbound in Emacs 28. 988The command was previously obsoleted and unbound in Emacs 28.
950 989
990---
951*** Support for viewing VC change history across renames. 991*** Support for viewing VC change history across renames.
952When a fileset's VC change history ('C-x v l') ends at a rename, we 992When a fileset's VC change history ends at a rename, ('C-x v l') now
953now print the old name(s) and a button which jumps to their history. 993prints the old name(s) and shows a button which jumps to the history of
954Git and Hg are supported. Naturally, 'vc-git-print-log-follow' should 994the files under the old names. This feature is supported for Git and
955be nil for this to work (or '--follow' should not be in 995Hg. Naturally, 'vc-git-print-log-follow' should be nil for this to work
956'vc-hg-print-log-switches', in Hg's case). Unlike when the '--follow' 996(or '--follow' should not be in 'vc-hg-print-log-switches', in Hg's
957switch is used, commands to see the diff of the old revision ('d'), 997case). Unlike when the '--follow' switch is used, commands to see the
958check out an old file version ('f') or annotate it right away ('a'), 998diff of the old revision ('d'), to check out an old file version ('f')
959also work on revisions which precede renames. 999or to annotate it ('a'), also work on revisions which precede renames.
960 1000
961--- 1001---
962*** 'vc-annotate' now abbreviates the Git revision in the buffer name. 1002*** 'vc-annotate' now abbreviates the Git revision in the buffer name.
@@ -964,6 +1004,7 @@ When using the Git backend, 'vc-annotate' will use an abbreviated
964revision identifier in its buffer name. To restore the previous 1004revision identifier in its buffer name. To restore the previous
965behavior, set 'vc-annotate-use-short-revision' to nil. 1005behavior, set 'vc-annotate-use-short-revision' to nil.
966 1006
1007---
967*** New option 'vc-git-file-name-changes-switches'. 1008*** New option 'vc-git-file-name-changes-switches'.
968It allows tweaking the thresholds for rename and copy detection. 1009It allows tweaking the thresholds for rename and copy detection.
969 1010
@@ -989,6 +1030,7 @@ This allows changing which type of whitespace changes are ignored when
989regenerating hunks with 'diff-ignore-whitespace-hunk'. Defaults to 1030regenerating hunks with 'diff-ignore-whitespace-hunk'. Defaults to
990the previously hard-coded "-b". 1031the previously hard-coded "-b".
991 1032
1033+++
992*** New command 'diff-apply-buffer' bound to 'C-c RET a'. 1034*** New command 'diff-apply-buffer' bound to 'C-c RET a'.
993It applies the diff in the entire diff buffer and 1035It applies the diff in the entire diff buffer and
994saves all modified file buffers. 1036saves all modified file buffers.
@@ -1003,6 +1045,7 @@ It also controls how to move point when encountering a boundary
1003(e.g., if every line is visible, invoking 'dired-next-line' at 1045(e.g., if every line is visible, invoking 'dired-next-line' at
1004the last line will move to the first line). The default is nil. 1046the last line will move to the first line). The default is nil.
1005 1047
1048---
1006*** New user option 'dired-filename-display-length'. 1049*** New user option 'dired-filename-display-length'.
1007It is an integer representing the maximum display length of filenames. 1050It is an integer representing the maximum display length of filenames.
1008The middle part of a filename whose length exceeds the restriction is 1051The middle part of a filename whose length exceeds the restriction is
@@ -1010,6 +1053,7 @@ hidden and an ellipsis is displayed instead. A value of 'window'
1010means using the right edge of window as the display restriction. The 1053means using the right edge of window as the display restriction. The
1011default is nil. 1054default is nil.
1012 1055
1056---
1013*** New user option 'shell-command-guess-functions'. 1057*** New user option 'shell-command-guess-functions'.
1014It defines how to populate a list of commands available 1058It defines how to populate a list of commands available
1015for 'M-!', 'M-&', '!', '&' and the context menu "Open With" 1059for 'M-!', 'M-&', '!', '&' and the context menu "Open With"
@@ -1018,16 +1062,19 @@ based on marked files in Dired. Possible backends are
1018and a universal command such as "open" or "start" 1062and a universal command such as "open" or "start"
1019that delegates to the OS. 1063that delegates to the OS.
1020 1064
1065+++
1021*** New command 'dired-do-open'. 1066*** New command 'dired-do-open'.
1022This command is bound to 'E' (mnemonics "External"). Also it can be 1067This command is bound to 'E' (mnemonics "External"). Also it can be
1023used by clicking "Open" in the context menu; it "opens" the marked or 1068used by clicking "Open" in the context menu; it "opens" the marked or
1024clicked on files according to the OS conventions. For example, on 1069clicked on files according to the OS conventions. For example, on
1025systems supporting XDG, this runs 'xdg-open' on the files. 1070systems supporting XDG, this runs 'xdg-open' on the files.
1026 1071
1072+++
1027*** New variable 'dired-guess-shell-alist-optional'. 1073*** New variable 'dired-guess-shell-alist-optional'.
1028It contains commands for external viewers and players for various media 1074It contains commands for external viewers and players for various media
1029formats, moved to this list from 'dired-guess-shell-alist-default'. 1075formats, moved to this list from 'dired-guess-shell-alist-default'.
1030 1076
1077---
1031*** The default value of 'dired-omit-size-limit' was increased. 1078*** The default value of 'dired-omit-size-limit' was increased.
1032After performance improvements to omitting in large directories, the new 1079After performance improvements to omitting in large directories, the new
1033default value is 300k, up from 100k. This means 'dired-omit-mode' will 1080default value is 300k, up from 100k. This means 'dired-omit-mode' will