2024-09-11 Yuan Fu Fix heex-ts-mode indentation following previews elixir-mode change After the previous fix in elixir-ts-mode (0fd259d166c), embedded heex code are indented like this: 1 defmodule Foo do 2 def foo(assigns) do 3 ~H""" 4 5 text 6 7 """ 8 end 9 end The indent rule finds the beginning of the parent heex node, and uses the indentation of that line as anchor with an offset of 0. Previously the parent heex node (fragment) starts at EOL of line 3; after the previous commit, it now starts at BOL of line 4. To fix the indentation, I changed the anchor to the beginning of the elixir (rather than heex) node at point, which is at EOL at line 3. * lisp/progmodes/heex-ts-mode.el (heex-ts--indent-rules): Use the elixir node that contains the heex code as the anchor, instead of the heex root node. 2024-09-10 Andrea Corallo * lisp/ldefs-boot.el: Update. 2024-09-10 Eli Zaretskii Fix use of Uniscribe font driver in MinGW build This was inadvertently broken when Windows 9X support was fixed in June 2024. * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper): Set 'uniscribe_available' non-zero in non-Cygwin builds. (Bug#73159) 2024-09-10 Eli Zaretskii Avoid crashes in redisplay in batch-mode testing * src/xdisp.c (try_window_id): Don't crash for "initial" frame. (Bug#72765) 2024-09-10 Dmitry Gutov eglot-test-rust-completion-exit-function: Fix failure in -Q session * test/lisp/progmodes/eglot-tests.el (eglot--call-with-fixture): Check for buffer liveness (https://debbugs.gnu.org/72765#29). (eglot-test-rust-completion-exit-function): Don't expect snippet expansion to happen (no yasnippet in batch mode). 2024-09-09 Eli Zaretskii Clarify the semantics of 'string-pixel-width' * doc/lispref/display.texi (Size of Displayed Text): * lisp/emacs-lisp/subr-x.el (string-pixel-width): * src/xdisp.c (Fwindow_text_pixel_size, Fbuffer_text_pixel_size): Doc fixes. (Bug#73129) 2024-09-09 Andrea Corallo * src/treesit.c (treesit_debug_print_parser_list): Fix format string. 2024-09-09 Yuan Fu Read more on each call to treesit's buffer reader * src/treesit.c (treesit_read_buffer): Read until the gap or visible end, instead of reading a single char. 2024-09-09 Yuan Fu Fix the range handling in treesit.c 1. In treesit_sync_visible_region, reduce the ranges for a parser so it doesn't go beyond the visible range. 2. To avoid possible infinite recursion, add a within_reparse field to parsers. Previously we were using the need_reparse field to avoid infinite recursion, but lisp programs in a parser's after change hook might make some buffer edit which turns need_reparse to true. To avoid that, we now use an explicit field. If a parser's after change function makes a buffer edit, lisp program ends up with a desynced parse tree, but that's better than possible infinite recursion. Also after change function shouldn't edit the buffer. 3. In treesit_make_ranges, use parser's visible_beg instead of buffer's BEGV. I mean technically whenever we make ranges, buffer's BEGV should be equal to parser's visible_beg, but better not take that uncertainty, also makes the code more readable. 4. In Ftreesit_parser_included_ranges, move visible region sync code before the body of the function. * src/treesit.c (treesit_sync_visible_region): Minimally fix ranges so it doesn't exceed parser's visible range. (treesit_call_after_change_functions): Update calling sigature to treesit_make_ranges. (treesit_ensure_parsed, make_treesit_parser): Use the new field within_reparse. (treesit_make_ranges): Use parser's visible_beg instead of buffer's BEGV. (Ftreesit_parser_included_ranges): Move visible region check before function body. * src/treesit.h (Lisp_TS_Parser): Add new field within_reparse. 2024-09-09 Yuan Fu Add debugging function for treesit.c * src/treesit.c (treesit_debug_print_parser_list): New function. 2024-09-09 Yuan Fu Fix elixir-ts-mode's range query * lisp/progmodes/elixir-ts-mode.el: (elixir-ts--treesit-range-rules): Add underscore in front of the name capture, so Emacs won't put heex parser on it. 2024-09-08 Mattias Engdegård Make json-serialize always return a unibyte string (bug#70007) The JSON format is defined as a byte sequence and will always be used as such, so returning a multibyte string makes little sense. * src/json.c (json_out_to_string): Remove. (Fjson_serialize): Return unibyte string. * test/src/json-tests.el (json-serialize/roundtrip) (json-serialize/roundtrip-scalars, json-serialize/string): Update tests. * doc/lispref/text.texi (Parsing JSON): Document. * etc/NEWS: Announce. 2024-09-07 Eli Zaretskii Fix a typo in ediff-init.el * lisp/vc/ediff-init.el (ediff-nonempty-string-p): Fix typo. Reported by Jurgen De Backer (bug#73042). 2024-09-07 Eli Zaretskii Fix 'chart-space-usage' on MS-Windows * lisp/emacs-lisp/chart.el (chart--file-size) (chart--directory-size): New functions. (chart-space-usage): Invoke 'du' correctly on MS-Windows. Provide alternative implementation in Lisp when 'du' is not installed, using 'chart--directory-size' and 'chart--file-size'. (Bug#72919) 2024-09-07 Eli Zaretskii Fix alignment and documentation of vtable.el * lisp/emacs-lisp/vtable.el (vtable--insert-header-line): Ensure proper alignment between the columns in header-line and in the body of the table. (Bug#73032) * doc/misc/vtable.texi (Making A Table): Document the defaults of the various keyword parameters. 2024-09-05 Ulrich Müller Fix test failure in erc-networks-tests * test/lisp/erc/erc-networks-tests.el (erc-networks--id-sort-buffers): Make sure that buffers have different timestamps. (Bug#73036) 2024-09-04 Eli Zaretskii Fix :hook in 'use-package' * lisp/use-package/use-package-core.el (use-package-handler/:hook): Support mode variables in :hook declarations. (Bug#72993) 2024-09-02 Stefan Kangas Update FSF's address * doc/emacs/emacs.texi (Distrib): * doc/lispintro/emacs-lisp-intro.texi: * doc/lispref/elisp.texi: * doc/misc/org.org (Link Abbreviations): * etc/tutorials/TUTORIAL.eo: * lisp/elide-head.el: * lisp/textmodes/page-ext.el: Update the FSF address to 31 Milk Street. 2024-09-02 Dmitry Gutov Support the new option in ruby-ts-mode too * etc/NEWS: Describe it here. * lisp/progmodes/ruby-ts-mode.el (ruby-ts--parent-call-or-bol): Support the option ruby-bracketed-args-indent here too (bug#60321). * test/lisp/progmodes/ruby-ts-mode-tests.el: Include ruby-bracketed-args-indent.rb as test examples. * test/lisp/progmodes/ruby-mode-resources/ruby-bracketed-args-indent.rb: Extend examples for better regression testing. 2024-09-02 Aaron Jensen Add new option ruby-bracketed-args-indent * lisp/progmodes/ruby-mode.el (ruby-bracketed-args-indent): New option. (ruby-smie-rules): Use it (bug#60321). * test/lisp/progmodes/ruby-mode-resources/ruby-bracketed-args-indent.rb: New file. * test/lisp/progmodes/ruby-mode-tests.el: Use it for new case. 2024-09-02 Eli Zaretskii Fix Rmail base64 and qp decoding of MIME payloads * lisp/mail/rmailmm.el (rmail-mime-insert-decoded-text) (rmail-mime-insert-html): Remove ^M characters left from DOS EOLs. This is what 'rmail-decode-region' does for non-MIME messages. 2024-09-01 Kyle Meyer Update to Org 9.7.11 2024-09-01 Juri Linkov * test/lisp/emacs-lisp/tabulated-list-tests.el: Add missing test. (tabulated-list-groups-with-path): Add test for tabulated-list-groups. 2024-08-31 Evgenii Klimov Make 'python-shell--with-environment' respect buffer-local vars * lisp/progmodes/python.el (python-shell--with-environment): Make `with-temp-buffer' respect buffer-local values of `process-environment' and `exec-path', if set. (Bug#72849) 2024-08-31 Evgenii Klimov Avoid ANSI escape characters in Python output (bug#45938) * lisp/progmodes/python.el (python-shell-completion-native-setup): Prevent Readline from emitting escape characters in comint output. 2024-08-31 John Wiegley Fix handling of hook variables in 'use-package' * lisp/use-package/use-package-core.el (use-package-handler/:hook): Append "-hook" to the symbol's name only if the named hook variable has no 'symbol-value'. (Bug#72818) 2024-08-31 Eli Zaretskii Work around Gnuplot bug in displaying plots * lisp/calc/calc-graph.el (calc-gnuplot-command): Prepend newline to Gnuplot command. Suggested by Visuwesh . (Bug#72778) 2024-08-31 Eli Zaretskii Revert "* lisp/help-fns.el (help-definition-prefixes): Don't delete the hashtable" This reverts commit 45ae4de0e7ce99c88c62f940f605bca693b8e33f. It did not fix a regression or even a user-visible bug, and it caused bug#72787. Do not merge to master. 2024-08-31 kobarity Make Python skeletons available in 'python-ts-mode' as well * lisp/progmodes/python.el (python-base-mode-abbrev-table): Renamed from 'python-mode-abbrev-table' to be available for both 'python-mode' and 'python-ts-mode'. (Bug#72298) 2024-08-30 Eli Zaretskii More accurate documentation of 'equal' in ELisp Reference * doc/lispref/objects.texi (Equality Predicates): Add lists and conses. (Bug#72888) 2024-08-30 Jim Porter Support "/dev/null" as a target when creating Eshell handles Previously, you could only use this when setting the handle afterwards. Do not merge to master. * lisp/eshell/esh-io.el (eshell-set-output-handle): Don't catch 'eshell-null-device' here... (eshell-get-target): ... catch it here. 2024-08-30 Jim Porter Fix redirecting Eshell output to symbols in some places Do not merge to master. * lisp/eshell/esh-io.el (eshell-output-object-to-target): Don't require TARGET to be bound. * lisp/eshell/em-script.el (eshell-execute-file): Quote the output/error targets. * test/lisp/eshell/em-script-tests.el (eshell-execute-file-output): New variable. (em-script-test/execute-file/output-file) (em-script-test/execute-file/output-symbol): New tests. * test/lisp/eshell/esh-io-tests.el (eshell-test-file-string): Move to... * test/lisp/eshell/eshell-tests-helpers.el (eshell-test-file-string): ... here. 2024-08-29 Eli Zaretskii Revert "; * admin/authors.el (authors-ignored-files): Add removed files." This reverts commit d809d53afc007574b3054027ff2eaf6c8d66996c. Not useful, for the same reason as the previously reverted commit. 2024-08-29 Eli Zaretskii Revert "; * admin/authors.el (authors-ignored-files): Ignore Unicode files." This reverts commit 0db53f14a2974de5209439326d4a9e4749462f42. It doesn't help, since existing files are considered worthy of mentioning regardless of the other lists. 2024-08-29 George Huebner (tiny change) xwidget: Fix xwidget-at misinterpreting non-xwidget text-properties 'xwidget-open' wrongly assumed the the text-property at min-position is an xwidget, if it exists; the fix is just returning nil if the text-property isn't an xwidget. * lisp/xwidget.el (xwidget-at): Use 'ignore-errors'. (Bug#72848) 2024-08-29 Eli Zaretskii Fix rare segfaults due to freed fontsets * src/xfaces.c (recompute_basic_faces): Force complete recalculation of non-ASCII faces and their fontsets if any non-ASCII faces are in the frame's face cache. (Bug#72692) 2024-08-28 Dmitry Gutov Eglot: fix completion highlighting (bug#72824) * lisp/progmodes/eglot.el (eglot-completion-at-point): Make sure to refer to 'completion-ignore-case' in the 'all-completions' method. 2024-08-27 Sean Whitton Discuss commit log messages on feature branches * admin/notes/git-workflow (Long-lived feature branches): New section, discussing commit log messages on feature branches. 2024-08-27 Sean Whitton * admin/authors.el (authors-fixed-entries): Update docstring. 2024-08-27 Yuan Fu More consistent treesit-forward-sexp around comments (bug#72525) * lisp/treesit.el (treesit-forward-sexp): Check if point is strictly inside a comment or string, only then use the default forward-sexp function; otherwise use tree-sitter's forward-sexp routine. 2024-08-26 Vincenzo Pupillo Improve php-ts-mode font lock and support latest grammar (bug#72796) * lisp/progmodes/php-ts-mode.el: (php-ts-mode--language-source-alist): Update the parser version. (php-ts-mode--parent-html-heuristic): Fix commentary. (php-ts-mode--keywords): Add "exit" keyword. (php-ts-mode--predefined-constant): Added math constant. (php-ts-mode--font-lock-settings): New and improved rules. 2024-08-26 Yuan Fu Fix tree-sitter local parser overlay cleanup routine Sorry for sneaking in a sizable commit so late. But I just found out about this bug and it has to be fixed. Before this change, we weren't properly cleaning up overlays that store local parsers. And in the case of doxygen local parser in C files, the doxygen local parser overlay sometimes bleeds out of comments and into other code, and interferes with font-lock and indentation. This commit adds a cleanup function that'll cleanup any overlays that aren't being used. I tested with doxygen in C files and everything works smoothly now, including tricky tests like removing the ending "*/" of a doxygen comment and adding it back. The idea is simple, at the end of each call to (treesit-update-ranges BEG END), we remove any overlay within BEG and END that wasn't touched by the range setting code. * lisp/treesit.el (treesit--cleanup-local-range-overlays): New function. (treesit--update-ranges-local): Remove code for cleaning up zero-length overlays since we have the cleanup function now. (treesit-update-ranges): Wrap the function body inside a let form, which defines modified-tick; and add a call to treesit--cleanup-local-range-overlays at the very end. 2024-08-26 Stefan Kangas Fix copyright years by hand (Bug#72809) These are dates that admin/update-copyright did not update. 2024-08-25 Eli Zaretskii Revert a recent change that caused redisplay slowdown * src/xfaces.c (recompute_basic_faces): Revert the change which caused recalculation of all the faces, as it made cursor motion too slow. Reported by Juri Linkov (bug#72692). 2024-08-25 F. Jason Park Indent ERT failure explanations rigidly This also affects the listing of `should' forms produced by hitting the L key on a test button in an ERT buffer. * lisp/emacs-lisp/ert.el (ert--pp-with-indentation-and-newline): Indent the pretty-printed result to match the caller's current column as a reference indentation. * test/lisp/emacs-lisp/ert-tests.el (ert--pp-with-indentation-and-newline): New test. (Bug#72561) 2024-08-25 Dmitry Gutov [Eglot] Stricter "expand common" behavior * lisp/progmodes/eglot.el (eglot--dumb-tryc): Check that the expanded string matches every completion strictly (bug#72705). And in the fallback case, check whether the table matches the original prefix at all. Return nil otherwise. * test/lisp/progmodes/eglot-tests.el (eglot-test-stop-completion-on-nonprefix) (eglot-test-try-completion-nomatch): Corresponding tests. * etc/EGLOT-NEWS: New entry. 2024-08-25 Dmitry Gutov eglot-tests.el: New tests for existing completion behavior * test/lisp/progmodes/eglot-tests.el (eglot-test-common-prefix-completion) (eglot-test-try-completion-inside-symbol) (eglot-test-rust-completion-exit-function): New tests. (eglot--wait-for-rust-analyzer): New function. 2024-08-25 Eli Zaretskii Remove dangerous HTML edit from admin.el * admin/admin.el (manual-html-fix-index-2): Avoid lax matches with "
    " which could mistakenly edit unrelated parts of HTML. (Bug#72761) 2024-08-24 Mattias Engdegård * etc/emacs_lldb.py (Lisp_Object): PVEC_COMPILED -> PVEC_CLOSURE 2024-08-24 Eli Zaretskii Fix rare segfaults due to freed fontsets * src/xfaces.c (recompute_basic_faces): Force complete recalculation of all the faces. (Bug#72692) 2024-08-23 Martin Rudalics Avoid putting a dead buffer in the minibuffer window (Bug#72487) * src/minibuf.c (minibuffer_unwind): Make sure that the buffer referenced by the first element of the list of previous buffers of the minibuffer window is live before assigning it to the minibuffer window (Bug#72487). * src/window.c (set_window_buffer): Assert that BUFFER is live. 2024-08-22 João Távora Eglot: bump version to 1.17.30 and update EGLOT-NEWS This is a change specific to emacs-30. Don't merge to master. * lisp/progmodes/eglot.el (Version): Mark it 1.17.30. * etc/EGLOT-NEWS (1.17.30): Fill in section. 2024-08-20 Andrea Corallo Update 'ldefs-boot.el' (don't merge) * lisp/ldefs-boot.el: Update. 2024-08-20 Andrea Corallo * doc/man/emacsclient.1: Bump date. 2024-08-20 Andrea Corallo Bump Emacs version to 30.0.90 * nt/README.W32: Update version. * msdos/sed2v2.inp: Likewise. * configure.ac: Likewise. * README: Likewise. 2024-08-20 Andrea Corallo Update Changelogs * ChangeLog.4: Re-generate. * ChangeLog.3: Fix some type and style. 2024-08-20 Andrea Corallo Update AUTHORS * etc/AUTHORS: Re-generate. * admin/authors.el (authors-fixed-entries): Add entry. 2024-08-20 Andrea Corallo * admin/authors.el (authors-aliases, authors-ignored-files): Update. * admin/authors.el: Pick-up version from emacs-29. 2024-08-20 Stefan Kangas Add missing :version tags in use-package * lisp/use-package/use-package-core.el (use-package-keywords) (use-package-deferring-keywords, use-package-ignore-unknown-keywords) (use-package-use-theme, use-package-verbose) (use-package-check-before-init, use-package-always-defer) (use-package-always-demand, use-package-defaults) (use-package-merge-key-alist, use-package-hook-name-suffix) (use-package-minimum-reported-time, use-package-inject-hooks) (use-package-expand-minimally, use-package-form-regexp-eval) (use-package-enable-imenu-support, use-package-compute-statistics): * lisp/use-package/use-package-ensure.el (use-package-always-ensure) (use-package-always-pin, use-package-ensure-function): Add missing :version tags. 2024-08-20 Michael Albinus Suppress shallow cloning on emba * test/infra/gitlab-ci.yml (variables): Set GIT_DEPTH to 0 in order to avoid shallow cloning. 2024-08-20 Po Lu Correct Android failure to open an old CJK font * src/sfnt.c (sfnt_read_cmap_format_2): Properly compute subtable count, and append the empty table at position 0. (sfnt_lookup_glyph_2): Update commentary. 2024-08-20 Stefan Monnier * lisp/help-fns.el (help-definition-prefixes): Don't delete the hashtable Fixes bug#72511. 2024-08-19 Kyle Meyer Update to Org 9.7.10 2024-08-18 Andrea Corallo Bump Emacs version to 30.0.90 * nt/README.W32: Update version. * msdos/sed2v2.inp: Likewise. * configure.ac: Likewise. * README: Likewise. 2024-08-18 Andrea Corallo Update AUTHORS * etc/AUTHORS: Re-generate. * admin/authors.el (authors-fixed-entries): Add entry. 2024-08-18 Andrea Corallo * admin/authors.el: Pick-up version from emacs-29. 2024-08-18 Michael Albinus * test/infra/gitlab-ci.yml (.tree-sitter-template): Adapt changes. 2024-08-18 Stefan Kangas Bump use-package version for Emacs 30.1 * lisp/use-package/use-package.el: Bump version to 2.4.6. 2024-08-18 Andrea Corallo * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump. 2024-08-17 Eli Zaretskii Avoid rare crashes due to clobbering of input events * src/keyboard.c (read_char): Declare C 'volatile', to prevent clobbering it by setjmp/longjmp. Do not merge to master. (Bug#71744) 2024-08-17 Stefan Monnier Further fix of reading and writing profiler data * lisp/profiler.el (profiler-report-make-entry-part): Print strings as-is. (Bug#72559) 2024-08-17 Andrea Corallo * Makefile.in (PREFERRED_BRANCH): Update to emacs-30. 2024-08-17 Po Lu Backport ed305c4b98cda5c6d479310e4ba350a17d901e75 to emacs-30 * src/xterm.c (x_construct_mouse_click): `||' → `|'. Typo found by clang 18.1.6 -Wbool-operation. Do not merge to master. 2024-08-17 Eli Zaretskii Fix a typo in Eglot manual * doc/misc/eglot.texi (Eglot and Buffers): Fix typo. Patch by david edmonds . (Bug#72634) 2024-08-17 Stefan Monnier Fix dumping of Lisp profiles * lisp/profiler.el (profiler-fixup-entry): New function. (profiler-fixup-backtrace): Use it. (Bug#72559) 2024-08-17 Stefan Monnier Fix 'apropos-library' for 'define-symbol-props' * lisp/apropos.el (apropos-library): Sanitize data to avoid signaling errors when 'define-symbol-props' is seen. (Bug#72616) 2024-08-17 Eli Zaretskii Fix 'forward-comment' in 'toml-ts-mode' * lisp/textmodes/toml-ts-mode.el (toml-ts-mode--syntax-table): Fix syntax of newline. Patch from Jostein Kjønigsen . (Bug#72489) 2024-08-17 Eli Zaretskii Document spell-checking of multiple languages * doc/emacs/fixit.texi (Spelling): Document spell-checking multi-lingual text with Hunspell. 2024-08-17 Peter Oliver Apply --display kluge for PGTK too * src/emacs.c (main): The --display option needs the same handling with the PGTK backend as it does with the X11 backends. (Bug#72118) 2024-08-15 Pip Cet * lisp/files.el (require-with-check): Improve error messages. 2024-08-15 Eli Zaretskii Improve documentation of ERT * doc/misc/ert.texi (Running Tests Interactively) (Test Selectors): * lisp/emacs-lisp/ert.el (ert-select-tests) (ert-run-tests-interactively, ert-run-tests-batch): Improve and clarify the documentation of the main ERT functions. 2024-08-15 Visuwesh Disambiguate minor-mode variable in its function docstring * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring) (easy-mmode--mode-docstring): Add "the variable" before the GETTER if it is a symbol to properly link to minor-mode variable in the *Help* buffer in the common case. (bug#72405) 2024-08-14 Arash Esbati Fix project-dired keybinding in manual * doc/emacs/maintaining.texi (Project File Commands): Fix the keybinding for `project-dired'. (Bug#72581) 2024-08-14 Eli Zaretskii Improve documentation of time-parsing functions * doc/lispref/os.texi (Time Parsing): * lisp/calendar/iso8601.el (iso8601-parse): * lisp/calendar/parse-time.el (parse-time-string): Document that these functions don't care about the distinction between local time and UTC. (Bug#72570) 2024-08-13 Dmitry Gutov (project-find-regexp): Fix the temporary value of DEFAULT-DIRECTORY * lisp/progmodes/project.el (project-find-regexp): Make sure the assigned value of DEFAULT-DIRECTORY ends with a slash. read-directory-name returns the name without it in certain cases. 2024-08-13 Michael Albinus Tag test in typescript-ts-mode-tests.el as unstable * test/lisp/progmodes/typescript-ts-mode-tests.el (typescript-ts-mode-test-indentation): Tag it as :unstable on emba. 2024-08-12 Gerd Möllmann macOS: Wrong frame rectangle after wake (bug#71912) * src/nsterm.m ([EmacsView windowDidBecomeKey]): Call adjustEmacsFrameRect. 2024-08-11 Pip Cet Fix format 2 cmap handling in sfnt.c This code is untested as no font with a format 2 cmap could be found. * src/sfnt.c (sfnt_lookup_glyph_2): Fix typos. Assume single-byte encodings use character codes 0, 1, ..., 255 rather than 0, 256, ..., 65280. 2024-08-11 Pip Cet Fix coordinate transformations in sfnt.c Backport. * src/sfnt.c (sfnt_transform_coordinates): (sfnt_transform_f26dot6): Fix calculation of transformed coordinates in the very rare case of arbitrary transformation matrices. 2024-08-10 Kazuhiro Ito * lisp/epg.el (epg--start): Don't convert EOL on encoding (bug#72542). 2024-08-09 Thomas Fitzsimmons Add PROBLEMS entry for bug#72517 * etc/PROBLEMS (X runtime problems): Document ssh -X session hang-on-exit after deletion of remote emacsclient -c frame. (bug#72517) (cherry picked from commit 9f03300c5c626bf6f8f839be4943cc20db89c24d) 2024-08-09 Gerd Möllmann NS: Fix scroll-bar setting code (bug#72331) * src/nsterm.m (ns_set_vertical_scroll_bar): Use WINDOW_SCROLL_AREA_WIDTH instead of NS_SCROLL_BAR_WIDTH. (ns_set_horizontal_scroll_bar): Use WINDOW_SCROLL_AREA_HEIGHT instead of NS_SCROLL_BAR_HEIGHT. Clear area differently if vertical scroll bars are present. * src/nsterm.h (NS_SCROLL_BAR_WIDTH, NS_SCROLL_BAR_HEIGHT): Remove. 2024-08-09 Po Lu Register for more Intents actions on Android * java/AndroidManifest.xml.in : Register for SEND Intents with mailto URIs. * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Use Intent constants rather than string literals. 2024-08-08 Paul W. Rankin * lisp/help-macro.el: Add 'help-for-help-use-variable-pitch' option. This makes 'variable-pitch-mode' optional, by default ON (to preserve previous behavior), in Help buffers. (Bug#72521) 2024-08-08 Ulrich Müller Remove manual entry for string-to-int * doc/lispref/strings.texi (String Conversion): Remove mention of 'string-to-int' which was dropped in Emacs 26. (Bug#72520) 2024-08-07 Spencer Baugh Support minibuffer-visible-completions in completing-read-multiple All that's required is to add minibuffer-visible-completions-map on top of the completing-read-multiple map; this is the same thing that minibuffer-visible-completions does in completing-read-default. * lisp/emacs-lisp/crm.el (completing-read-multiple): Add minibuffer-visible-completions-map (bug#69189) 2024-08-07 Juri Linkov * lisp/imenu.el (imenu-flatten): Fix doc about annotation/group limitations. 2024-08-07 Randy Taylor Fix cmake-ts-mode number fontification (Bug#72228) * lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode--constants): Remove "1" and "0". (cmake-ts-mode--font-lock-settings): Match negative numbers. 2024-08-07 Po Lu Prevent accesses to /content files without a GUI connection * src/androidvfs.c (android_content_name): Hide all subdirectories when `android_init_gui' is not set. 2024-08-06 Michael Albinus * lisp/net/tramp-integration.el (shortdoc): Use `tramp--with-startup'. 2024-08-06 Eli Zaretskii Avoid crashes in very large buffers with long lines * src/xdisp.c (get_large_narrowing_begv, get_large_narrowing_zv) (get_medium_narrowing_begv, get_medium_narrowing_zv): Use 'ptrdiff_t' instead of 'int', to prevent integer overflow in large buffers. (Bug#72497) 2024-08-06 Ulrich Müller Update description of string comparison functions * doc/lispref/strings.texi (Text Comparison): Swap descriptions of 'string-equal' (the function) and 'string=' (its alias). Same for 'string-lessp' and 'string<'. Document 'string>'. (Bug#72486) * doc/lispref/sequences.texi (Sequence Functions): Update cross reference to 'string-lessp'. 2024-08-05 Michael Albinus Add sanity check when adding Tramp functions to shortdoc * lisp/net/tramp-integration.el (shortdoc): Check, that Tramp isn't disabled. 2024-08-05 Damien Cassou js-ts-mode: Make jsdoc's "description" block a comment (bug#72461) * lisp/progmodes/js.el (js-ts-mode): Add "description" to `c-ts-common--comment-regexp'. 2024-08-05 Po Lu Also condition cjk-misc font-spec on Android * lisp/international/fontset.el (setup-default-fontset) : Don't search for matching scripts elsewhere than on Android. 2024-08-04 Eli Zaretskii Fix ':defer nil' in 'use-package' * lisp/use-package/use-package-core.el (use-package-normalize-keywords): Use 'plist-get' instead of 'plist-member'. (Bug#72414) 2024-08-04 Manuel Giraud Document unsupported color Emoji on OpenBSD Bug#72268 * etc/PROBLEMS (Runtime problems related to font handling): Document unsupported color Emoji on OpenBSD. 2024-08-04 Stephen Berman Fix regressions in Customize caused by 'widget-unselected' face * lisp/wid-edit.el (widget-checklist-add-item): Don't call 'widget-specify-selected'. (Bug#72404) (Bug#72156) 2024-08-04 David Ponce Avoid inserting extra space in SVG data * lisp/svg.el (svg-print): Remove useless extra space from the XML representation of child node. (Bug#72198) 2024-08-04 Damien Cassou Fix c-ts-common filling function (bug#71760) * lisp/progmodes/c-ts-common.el (c-ts-common--fill-block-comment): If masking hasn't been done, don't unmask. 2024-08-03 Mattias Engdegård Fix missing type checks before specbind This fixes bugs that crashed Emacs when the Lisp interpreter was fed bad code. * src/eval.c (FletX, Flet, internal_lisp_condition_case) (funcall_lambda): Hoist symbol-with-pos elimination and type checks to a dominating position for efficiency. This also plugs at least two typing holes. (Mea culpa.) * test/src/eval-tests.el (eval-bad-specbind): New regression test. 2024-08-03 Po Lu Revert "Remove redundant byte-swapping boundary" This reverts commit daefd6771a4879bb8e71ea67f69522700155df01. * src/sfnt.c (sfnt_read_OS_2_table): Restore realignment after s_family_class, as it occupies byte 32, not 34. Reported by Pip Cet . 2024-08-03 Po Lu Fix various typos reported by Pip Cet * src/ftfont.c (get_adstyle_property): * src/sfntfont.c (sfntfont_list_1): Correct typos. Reported by Pip Cet . 2024-08-03 Gerd Möllmann NS: Fix placement of candidate window (bug#72422) * src/nsterm.m ([EmacsView firstRectForCharacterRange:actualRange:]): Call method of NSTextInput. 2024-08-01 Eli Zaretskii Avoid aborts when buffer is modified during its redisplay * src/xdisp.c (redisplay_window): Restore point from saved byte position only if the buffer was not changed meanwhile. (Bug#72165) 2024-08-01 Yuan Fu Fix c++-ts-mode indentation for templace (bug#72263) * lisp/progmodes/c-ts-mode.el: (c-ts-mode--indent-styles): Add rule for template. * test/lisp/progmodes/c-ts-mode-resources/indent.erts: Add test. 2024-08-01 Po Lu Better resolve bug#72188 * lisp/international/fontset.el (setup-default-fontset) : Don't search for fonts matching the `han' script elsewhere than on Android, which restores the status quo existing in Emacs 29. (bug#72188) 2024-07-31 Gerd Möllmann MacOS: Let EmacsView implement NSTextInputClient * src/nsterm.h (@interface EmacsView): Implement NSTextInputClient protocol. * src/nsterm.m: Implement required NSTextInputClient methods, forwarding to existing NSTextInput methods. 2024-07-30 Gerd Möllmann NS: Set frame position when entering/exiting fullscreen (bug#71912) * src/nsterm.h ([EmacsView adjustEmacsRectRect]): Declare. * src/nsterm.m ([EmacsView windowDidEnterFullScreen]): New method. ([EmacsView windowDidEnterFullScreen]): Call it. ([EmacsView windowDidExitFullScreen]): Call it. 2024-07-29 Juri Linkov * lisp/tab-bar.el (tab-bar-move-tab-to-group): Fix for a new group's tab. Move tab with a new group to the end of the tab bar (bug#72352) Suggested by Ship Mints 2024-07-29 Po Lu Fix sporadic crashes and `select' failures in dumped images * src/process.c (init_process_emacs) [HAVE_UNEXEC]: Clear dumped values of child_signal_read_fd and child_signal_write_fd. 2024-07-29 Po Lu Correct display of Doc View documents after tab switching * lisp/doc-view.el (doc-view-new-window-function): Prevent creation of duplicate overlays for the same window after a window configuration change occasions a call to i-m-r-winprops. 2024-07-27 Jim Porter Use 'kill-process' as a fallback when a pipe gets broken in Eshell This is better than 'delete-process' since it will ensure that any stderr pipe-processes get stopped as well (bug#72117). * lisp/eshell/esh-proc.el (eshell-insertion-filter): Use 'kill-process' instead of 'delete-process'. 2024-07-27 Kyle Meyer Update to Org 9.7.9 2024-07-26 Philip Kaludercic Fix edge-case with 'which-key-dont-use-unicode' setter * lisp/which-key.el (which-key-dont-use-unicode): Check if the user options have a 'standard-value' before proceeding to reevaluate. This avoids accidentally setting the symbol value to nil, before the user option has been declared, overriding the actual non-nil, default values. (Bug#72077) 2024-07-26 Gerd Möllmann NS: prevent makeKeyWindow warnings (bug#69525) * src/nsterm.m (ns_raise_frame): Don't makeKeyWindow if frame has no_accept_focus set. 2024-07-26 Po Lu Add PROBLEMS entry for bug#72303 * etc/PROBLEMS (Runtime problems specific to PGTK build): Document that text mode sessions cannot be started without `-nw'. (bug#72303) 2024-07-26 Eli Zaretskii Improve documentation of '--init-directory' command-line option. * doc/emacs/custom.texi (Find Init): * doc/emacs/cmdargs.texi (Initial Options): More accurate and detailed description of what '--init-directory' does and how it affects the Emacs session. Add index entries and cross-references as needed. (Bug#72294) 2024-07-25 Andrea Corallo Fix bug in server.el introduced by 0d7d835902df 0d7d835902df renamed 'server--process-filter' into 'server--process-filter-1' but updated the corresponding 'cl-return-from' tag to 'server--process-filter'. * lisp/server.el (server--process-filter-1): Fix 'cl-return-from' tag. 2024-07-25 Stefan Monnier lisp/minibuffer.el (completion--sifn-requote): Fix bug#72176 2024-07-25 Stefan Kangas * admin/notes/spelling: Update note. 2024-07-25 Konstantin Kharlamov Don't produce invalid XML with multi-line commenting style Both XML and HTML forbid double hyphens inside comments. However, nxml-mode was using a `!--' as a comment padding if `comment-style' was set to any of the styles that supposed to add padding. This infix was auto-derived due to `comment-continue' being nil. To fix that set `comment-continue' explicitly. It's unclear what padding should be used, but from looking at other editors it seems they don't typically add padding in XML, so let's be simple for now and just set `comment-continue' to empty string. * lisp/nxml/nxml-mode.el (nxml-mode): Make 'comment-continue' a buffer-local variable set to the empty string. (Bug#71772) 2024-07-25 Stefan Kangas Standardize possessive apostrophe usage in manuals, docs, and comments See the note in admin/notes/documentation. Ref: https://lists.gnu.org/r/emacs-devel/2012-02/msg00649.html 2024-07-24 Stefan Kangas Don't refer to obsolete finder group "wp" * lisp/textmodes/rst.el: Don't refer to obsolete finder group "wp". 2024-07-24 Andrea Corallo Fix some function type declaration * lisp/window.el (get-lru-window, get-largest-window): Fix function type declaration. * lisp/subr.el (error): Likewise. 2024-07-24 Po Lu * src/image.c (gui_put_x_image): Avoid memory leak. 2024-07-24 Po Lu Adapt last change to non-NS systems * src/image.c (xpm_load_image): Also check whether mask_img is NULL. 2024-07-24 Po Lu Fix NULL pointer dereferences in xpm_load_image * src/image.c (x_destroy_x_image): Correct test condition. (xpm_load_image): Do not release image data if it is still to be created. 2024-07-24 Po Lu Fix bug#72255 * src/image.c (struct image_type): Minor grammatical corrections. (image_destroy_x_image): [HAVE_NS]: Do not release Emacs_Pix_Containers, which are identical to Emacs_Pixmaps and consequently always released with the `struct image'. (bug#72255) 2024-07-23 Stefan Kangas Delete redundant "a.k.a." in use-package.texi * doc/misc/use-package.texi (Getting Started): Delete redundant acronym "a.k.a.". (Bug#66350) 2024-07-23 Stefan Kangas Document (use-package 'emacs) declarations * doc/misc/use-package.texi (The @code{emacs} package): New node. (Bug#66350) 2024-07-23 Robert Pluim Improve 'emacs-news-view-mode' menus and bindings * lisp/textmodes/emacs-news-mode.el (emacs-news-mode-map): Move non-editing commands from here... (emacs-news-common-map): ... to here. (emacs-news-view-mode): Remove hard-coded 'special-mode' bindings. (emacs-news-view-mode-map): Inherit from 'special-mode-map' and 'emacs-news-common-map' here instead. (emacs-news-mode--menu-common-1): New defconst for menu items common to 'news-mode' and 'news-view-mode'. (emacs-news-mode--menu-common-2): Second new defconst for common items. (emacs-news-mode-menu): Use them. (emacs-news-view-mode-menu): New menu, which omits the buffer editing commands. This builds on the fix for Bug#72080. 2024-07-23 Gerd Möllmann Fix disappearing bar cursor on Hebrew text (bug#72230) * src/nsterm.m (ns_draw_window_cursor): Compute the correct bar cursor rectangle for R2L before setting the clipping. 2024-07-22 Manuel Giraud Fix DocView with DVI files * lisp/doc-view.el (doc-view-pdf/ps->png): Use `doc-view-pdf->png-converter-function' for DVI files, too, since they are converted to PDF earlier. 2024-07-22 Alan Mackenzie FIx spurious fontification of variable in Java Mode This fixes bug#72126. * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove tentative type identifier from c-record-type-identifiers should it turn out not to be a type. 2024-07-22 Stefan Kangas Correctly typeset nil and t in texinfo * doc/emacs/package.texi (Fetching Package Sources): * doc/lispref/display.texi (Image Descriptors): * doc/lispref/windows.texi (Buffer Display Action Alists): * doc/misc/gnus-faq.texi (FAQ 5-4): Correctly typeset nil and t. 2024-07-22 Michael Albinus Fix Tramp IPv6 handling in tests * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Improve message. * lisp/net/tramp-integration.el (shortdoc): Add further examples of `file-remote-p'. * lisp/net/tramp.el (tramp-handle-file-remote-p): Extend docstring. * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect) (tramp-test02-file-name-dissect-simplified) (tramp-test02-file-name-dissect-separate): Extend tests. (tramp-test06-directory-file-name) (tramp-test26-file-name-completion) (tramp-test26-interactive-file-name-completion): Better handling of IPv6 hosts. 2024-07-22 Kyle Meyer Update to Org 9.7.8-5-gfdf0e0 2024-07-22 Yuan Fu Fix Ftreesit_parser_create * src/treesit.c (Ftreesit_parser_create): Use the buffer given by the caller rather than the current buffer. 2024-07-22 Yuan Fu Fix segfault when deleting tree-sitter query (bug#72238) * src/treesit.c (treesit_delete_query): Only delete query and cursor when they are non-NULL. 2024-07-21 Stefan Kangas Improve treesit-node-child-by-field-name docstring * src/treesit.c (Ftreesit_node_child_by_field_name): Improve docstring. 2024-07-21 Stefan Kangas Minor copyedits in tree-sitter starting guide * admin/notes/tree-sitter/starter-guide: Minor copyedits. Reflow some paragraphs. 2024-07-21 Stefan Kangas Update tag for prebuilt tree-sitter grammars * admin/notes/tree-sitter/starter-guide: Update tag for prebuilt tree-sitter grammars to point to 2.4. 2024-07-21 Stefan Kangas Fix punctuation and doc style in treesit.c * src/treesit.c (Ftreesit_parser_included_ranges) (Ftreesit_query_capture, treesit_traverse_sibling_helper) (treesit_traverse_match_predicate): Fix punctuation and documentation style in comments and docstrings. 2024-07-21 Manuel Giraud Fix DocView with PostScript files * lisp/doc-view.el (doc-view-set-up-single-converter): Produce PNG from PS in a file with ".png" extension. (Bug#72193) 2024-07-20 Liu Hui Fix bibtex validation for non-file buffers * lisp/textmodes/bibtex.el (bibtex-validate): Use buffer name to show errors in non-file buffers. (Bug#71946) 2024-07-20 Eli Zaretskii Fix Imenu in 'emacs-news-view-mode' * lisp/textmodes/emacs-news-mode.el (emacs-news-view-mode): Make it derived from emacs-news-mode. Add useful key bindings. (Bug#72080) 2024-07-20 Eli Zaretskii Avoid errors in 'icomplete-vertical-mode' * lisp/minibuffer.el (completion--hilit-from-re): Avoid signaling an error if STRING does not match REGEXP. Fix doc string and indentation. (Bug#72176) 2024-07-20 Stefan Kangas Document GNU ELPA copyright in tips.texi * doc/lispref/tips.texi (Library Headers): Document that GNU ELPA packages should have their copyright assigned to the FSF. 2024-07-20 Stefan Kangas Improve register-use-preview docstring * lisp/register.el (register-use-preview): Improve docstring. 2024-07-20 Stefan Kangas Miscellaneous checkdoc fixes * lisp/ansi-color.el (ansi-color--ensure-context): * lisp/doc-view.el (doc-view-svg-face): * lisp/external-completion.el (external-completion-table): * lisp/ffap.el (ffap-ro-mode-hook, ffap-gnus-hook): * lisp/find-file.el: * lisp/flow-ctrl.el (flow-control-c-s-replacement) (flow-control-c-q-replacement): * lisp/forms.el (forms-multi-line): * lisp/help.el (search-forward-help-for-help): * lisp/hi-lock.el (hi-lock-use-overlays): * lisp/image.el (find-image): * lisp/isearch.el (isearch-forward, isearch-forward-regexp) (isearch-lazy-count-format): * lisp/jsonrpc.el (jsonrpc--continue, initialize-instance): * lisp/mouse-copy.el (mouse-kill-preserving-secondary): * lisp/pixel-scroll.el (pixel-bob-at-top-p) (pixel-scroll-down-and-set-window-vscroll): * lisp/printing.el (pr-gv-command, pr-gs-command) (pr-gs-switches): * lisp/register.el (register-use-preview): * lisp/repeat.el (repeat-check-key): * lisp/saveplace.el (save-place-abbreviate-file-names): * lisp/select.el (gui--clipboard-selection-unchanged-p): * lisp/ses.el (ses-header-row): * lisp/simple.el (transpose-sexps-default-function) (normal-erase-is-backspace, normal-erase-is-backspace-mode): * lisp/sqlite-mode.el (sqlite-mode): * lisp/tempo.el (tempo-insert-region): * lisp/term.el (term-mode-map, term-mode, term-char-mode): Checkdoc fixes. 2024-07-19 Stefan Monnier * lisp/progmodes/peg.el (peg-syntax-classes): Typo (bug#72131) 2024-07-19 Jonas Bernoulli * lisp/transient.el (static-if): Remove duplicated definition. (Bug#72182) This should have been removed when the standalone version was merged into Emacs. 2024-07-19 Michael Albinus Adapt file-remote-p doc * doc/lispref/files.texi (Magic File Names): Adapt file-remote-p. * lisp/files.el (file-remote-p): Adapt docstring. 2024-07-18 Stefan Kangas * etc/TODO: Delete item about merging Magit. Change requested by Jonas Bernoulli . 2024-07-18 Stefan Kangas * doc/man/emacs.1.in: Add "No warranty" notice. 2024-07-18 Stefan Kangas Improve emacs man page description of --user flag * doc/man/emacs.1.in: Improve --user flag description. (Bug#72169) 2024-07-18 Stefan Kangas Checkdoc fixes in allout-widgets.el * lisp/allout-widgets.el (allout-widgets-setup) (allout-widgets-tally-string, allout-widgets-mode-inhibit): (allout-widgets-hook-error-handler): Checkdoc fixes. 2024-07-18 Stefan Kangas Checkdoc fixes in subr.el * lisp/subr.el (ctl-x-4-map, ctl-x-map) (touch-screen-events-received): Checkdoc fixes. 2024-07-18 Stefan Kangas Checkdoc fixes in touch-screen.el * lisp/touch-screen.el (touch-screen-handle-touch): Checkdoc fixes. 2024-07-18 Stefan Kangas Checkdoc fixes in treesit.el * lisp/treesit.el (treesit-add-font-lock-rules) (treesit--font-lock-mark-ranges-to-fontify): Checkdoc fixes. 2024-07-18 Stefan Kangas Avoid overflow in pgtk_is_numeric_char * src/pgtkfns.c (parse_resource_key): Avoid overflow by making array larger, if a key is RESOURCE_KEY_MAX_LEN long. Do not merge to master, since it's fixed in a different way there. 2024-07-18 Po Lu Port better to Android 3.0 * java/org/gnu/emacs/EmacsNoninteractive.java (main): Use the old getPackageInfo calling convention if it exists rather than on Android 2.3.3 and earlier. 2024-07-17 Michael Albinus New Tramp tests * test/lisp/net/tramp-tests.el (tramp-test41-special-characters-direct-async) (tramp-test42-utf8-direct-async): New tests. 2024-07-17 Michael Albinus Update Tramp manual * doc/misc/tramp.texi (Remote processes): Add another reason why a direct asynchronous process could fail. 2024-07-17 Robert Pluim Fix 'toggle-window-dedicated' documentation * doc/emacs/windows.texi (Displaying Buffers): Fix the cross reference to the elisp manual. Add missing 'toggle-window-dedicated'. * doc/lispref/windows.texi (Dedicated Windows): Mention 'toggle-window-dedicated'. 2024-07-16 Stefan Kangas Checkdoc fixes in transient.el * lisp/transient.el (transient-format-description): Checkdoc fixes. 2024-07-15 Peter Oliver Fix intermittent failure of dired-test-bug27243-02 * test/lisp/dired-tests.el (dired-test-bug27243-02): Exclude free disk space from dired listing in this test, in case it changes while it's running and confuses the result. (Bug#72120) 2024-07-15 Stefan Kangas * etc/TODO: Refer to Bug#72127 for Magit assignments. 2024-07-15 Michael Albinus Rename treesitter test * test/lisp/align-tests.el (align-ts-lua): Rename test in order to fit to treesitter tests on EMBA. 2024-07-15 Michael Albinus Adapt tressitter tests on EMBA * test/infra/Makefile.in (TREE-SITTER-FILES): Simplify. * test/infra/test-jobs.yml: Regenerate. 2024-07-15 Jim Porter Support passing signals like 'SIGCODE' to 'tramp-signal-process' POSIX specifies that "kill" should take signal names without the "SIG" prefix. * lisp/net/tramp.el (tramp-signal-process): Strip the "SIG" prefix when present. 2024-07-15 Jim Porter Don't save to history from 'eshell-command' when aborting * lisp/eshell/eshell.el (eshell-add-input-to-history) (eshell--save-history): Declare. (eshell-command-mode-exit): New function... (eshell-command-mode): ... use it. * lisp/eshell/em-hist.el (eshell-hist-initialize): Don't handle minibuffer logic here. Always read history file (this ensures that 'eshell-command' can see the history, too). (eshell-add-command-to-history): Remove. 2024-07-14 Kyle Meyer Update to Org 9.7.7-2-gf308d3 2024-07-14 Eli Zaretskii Fix decoding 'display' properties with SVG images in Enriched mode * lisp/textmodes/enriched.el (enriched-next-annotation): Reject matches of 'enriched-annotation-regexp' inside strings. Reported by Christopher Howard in https://lists.gnu.org/archive/html/help-gnu-emacs/2024-06/msg00178.html. 2024-07-14 Pip Cet * configure.ac (D8): Fix typo. 2024-07-14 Po Lu Do not set LD_LIBRARY_PATH during Android initialization * doc/emacs/android.texi (Android Environment): Adjust documentation to match. * java/org/gnu/emacs/EmacsNoninteractive.java (main1): New function. Remove initialization of EmacsNative hither. (main): Acquire an ApplicationInfo or LoadedApk, as the case may be on the host system, derive a ClassLoader from the result, and load and call `main1' from within this class loader. * src/android-emacs.c (main): * src/android.c (setEmacsParams): Do not override LD_LIBRARY_PATH or set EMACS_LD_LIBRARY_PATH. This enables Emacs to execute subprocesses in certain "fortified" Android systems, amongst other things. 2024-07-13 Eli Zaretskii * test/lisp/wdired-tests.el (wdired-test-bug34915): Fix for MS-Windows. 2024-07-13 Peter Oliver Fix 'wdired-test-unfinished-edit-01' * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01): Don't modify the random directory name if, by chance, it happens to contain the substring "foo" anywhere but immediately after the slash. (Bug#72073) 2024-07-13 Vincenzo Pupillo Fontify destructor in c++-ts-mode * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Add a rule for destructors. (Bug#71872) 2024-07-12 F. Jason Park Fix invalid defcustom type for erc-buffers option * lisp/erc/erc.el (erc-ensure-target-buffer-on-privmsg): Change invalid inner `choice' to a `const' for the third-state `status' variant, which is new in ERC 5.6 and Emacs 30. Thanks to Mattias Engdegård for catching this. 2024-07-12 Eli Zaretskii Fix infloop in 'shell-resync-dirs' * lisp/shell.el (shell-eval-command): Fix detection of newline after last output line. (Bug#71896) (shell-resync-dirs): Make sure the inner loop never infloops. Suggested by Troy Hinckley . 2024-07-12 Po Lu Render more Android functions safe to execute in a batch session * src/androidfns.c (Fx_display_mm_width, Fx_display_mm_height) (Fandroid_display_monitor_attributes_list) (Fandroid_external_storage_available_p) (Fandroid_request_storage_access): Verify that a display connection or service object is available. * src/androidselect.c (Fandroid_get_clipboard) (Fandroid_browse_url_internal, Fandroid_get_clipboard_targets) (Fandroid_get_clipboard_data, Fandroid_notifications_notify): Moderate tone of error messages. 2024-07-12 Po Lu Document means of executing Emacs from unrelated Android applications * doc/emacs/android.texi (Android Environment): Document significance, effect and purpose of EMACS_CLASS_PATH and EMACS_LD_LIBRARY_PATH, and the utility of `pm path org.gnu.emacs'. 2024-07-12 Jim Porter Don't emit a prompt in Eshell when a background command is killed * lisp/eshell/esh-cmd.el (eshell-resume-command): Check for background-ness before resetting the prompt. * test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/background/simple-command): Make the regexp a bit stricter. (esh-cmd-test/background/kill): New test. 2024-07-11 Daniel Martín Fix reference from buffer-stale-function docstring * lisp/files.el (buffer-stale-function): Fix reference to a non-existent Info node in doc string. (Bug#72049) 2024-07-11 Po Lu Take precautions against ill-formed content URIs * java/org/gnu/emacs/EmacsService.java (openContentUri) (checkContentUri): Verify that URIs derived from user-provided file names can be parsed before attempting to open them. 2024-07-11 Dmitry Gutov etags-regen-mode: Handle TAGS buffer being killed * lisp/progmodes/etags-regen.el (etags-regen--visit-table): Use kill-buffer-hook to ensure a refresh if the TAGS buffer is killed manually (bug#71727). (etags-regen--tags-cleanup): Bind the hook var to nil to avoid an infloop. 2024-07-10 Robert Pluim Improve 'put-image' documentation * doc/lispref/display.texi (Showing Images): Mention that it returns the created overlay. * lisp/image.el (put-image): And here. 2024-07-10 Robert Pluim Improve 'set-fontset-font' documentation * doc/emacs/mule.texi (Modifying Fontsets): Add an 'emoji' example. 2024-07-10 Michael Albinus Adapt Tramp's "run0" method * doc/misc/tramp.texi (Inline methods): * etc/NEWS: Adapt "run0" entry. * lisp/net/tramp-sh.el (tramp-enable-run0-method): Adapt "run0" arguments. 2024-07-10 Andrea Corallo * test/src/sqlite-tests.el (sqlite-execute-batch): Declare to wave warning. 2024-07-10 Stefan Kangas Capitalize "Dired" and "Lisp" in docstrings * lisp/desktop.el (desktop-no-desktop-file-hook): * lisp/dired-x.el (dired-mark-sexp): * lisp/dired.el (dired-make-directory-clickable) (dired-map-over-marks, dired-file-name-at-point) (dired-save-positions, dired-buffers-for-dir) (dired-buffers-for-dir-or-subdir, dired-fun-in-all-buffers) (dired-remove-entry, dired-delete-entry, dired-jump): * lisp/files.el (save-buffer): * lisp/find-dired.el (find-ls-option): * lisp/hilit-chg.el: * lisp/locate.el (locate-mode): * lisp/msb.el (msb-dired-item-handler, msb-sort-by-directory): * lisp/printing.el (pr-ps-printer-alist, pr-ps-utility-alist): * lisp/uniquify.el (uniquify-trailing-separator-p): * lisp/wdired.el (wdired, wdired-change-to-dired-mode, wdired-exit): * lisp/woman.el (woman-dired-define-keys, woman-dired-find-file): Capitalize "Dired" and "Lisp" in docstrings. Found with checkdoc. 2024-07-09 Jim Porter Document Eshell entry points * doc/misc/eshell.texi (Entry Points): New chapter. (Scripts): Move under Entry Points. Expand documentation. 2024-07-09 Po Lu Fix bug#71929 * src/image.c (free_image_cache): Unconditionally release image cache, as this function is only called with its existence already established. * src/xfaces.c (free_frame_faces): Clear FRAME_IMAGE_CACHE (f). (bug#71929) 2024-07-09 Po Lu Fix bug#70697 with respect to fringe bitmaps * src/pgtkterm.c (pgtk_draw_fringe_bitmap): Always call `fill_background_by_face' for clearing backgrounds of fringe bitmaps. (bug#70697) 2024-07-09 Po Lu Fix byte-compiler warning in calc.el * lisp/calc/calc.el (calc-embedded-open-close-new-formula-alist): Remove previously introduced quotation marks, as they bring the width of the doc string past 80. 2024-07-08 Stefan Monnier editorconfig-core-handle.el: Fix regressions in fnmatch handling * lisp/editorconfig-core-handle.el (editorconfig-core-handle-get-properties-hash): Fix computation of relative file name. (editorconfig-core-handle--fnmatch-p): Handle the case when `pattern` doesn't have a `/` but does match the `/` character. 2024-07-08 Stefan Kangas Checkdoc fixes in `url/*.el` * lisp/url/url-util.el (url-query-key-value-allowed-chars): * lisp/url/url.el (url-retrieve-synchronously): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `term/*.el` * lisp/term/android-win.el (android-clear-preedit-text): * lisp/term/pgtk-win.el (featurep): * lisp/term/x-win.el (x-clear-preedit-text): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `mh-e/*.el` * lisp/mh-e/mh-e.el (mh-tool-bar): * lisp/mh-e/mh-folder.el (mh-folder-mode): * lisp/mh-e/mh-search.el (mh-pick-menu, mh-search-mode): * lisp/mh-e/mh-show.el (mh-show-mode): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `calc/*.el` * lisp/calc/calc.el (calc-embedded-open-close-new-formula-alist): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `textmodes/*.el` * lisp/textmodes/ispell.el (ispell-command-loop): * lisp/textmodes/mhtml-mode.el (mhtml--construct-submode): * lisp/textmodes/page-ext.el (pages-set-delimiter): * lisp/textmodes/refbib.el (r2b-get-field, r2b-put-field): * lisp/textmodes/refer.el (refer-cache-bib-files): * lisp/textmodes/reftex-index.el (reftex-index-phrase-selection-or-word): (reftex-index-phrases-mode): * lisp/textmodes/table.el (table-insert, table--fill-region-strictly): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `gnus/*.el` * lisp/gnus/gnus-agent.el (gnus-agent-enable-expiration) (gnus-agent-with-refreshed-group, gnus-agentize) (gnus-agent-fetch-headers, gnus-agent-update-files-total-fetched-for) (gnus-agent-update-view-total-fetched-for): * lisp/gnus/gnus-art.el (gnus-article-address-banner-alist) (gnus-default-article-saver, gnus-mime-view-part-as-charset) (gnus-block-private-groups, gnus-article-edit-mode): * lisp/gnus/gnus-dired.el (gnus-dired-mode, gnus-dired-attach) (gnus-dired-find-file-mailcap, gnus-dired-print): * lisp/gnus/gnus-msg.el (gnus-summary-attach-article): * lisp/gnus/gnus-score.el (gnus-home-score-file): * lisp/gnus/gnus-search.el (gnus-search-ignored-newsgroups) (gnus-search-mu-switches, gnus-search-mu-remove-prefix) (gnus-search-thread): * lisp/gnus/gnus-sieve.el (gnus-sieve-string-list): * lisp/gnus/message.el (message-beginning-of-line): * lisp/gnus/mm-url.el: * lisp/gnus/mm-view.el (mm-w3m-setup, mm-setup-w3m): * lisp/gnus/mml-sec.el (mml-signencrypt-style): * lisp/gnus/nndiary.el: * lisp/gnus/nnimap.el (nnimap-server-port, nnimap-use-namespaces) (nnimap-expunge): * lisp/gnus/nnmail.el (nnmail-incoming-coding-system): (nnmail-ignore-broken-references): * lisp/gnus/nnmairix.el (nnmairix-default-group): * lisp/gnus/nntp.el (nntp-report): * lisp/gnus/nnvirtual.el (nnvirtual-update-read-and-marked): (nnvirtual-partition-sequence): * lisp/gnus/spam-stat.el (spam-stat-process-directory-age) (spam-stat-last-saved-at, spam-stat-save): * lisp/gnus/spam.el (spam-enter-ham-BBDB, spam-check-BBDB): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `eshell/*.el` * lisp/eshell/em-elecslash.el: * lisp/eshell/em-extpipe.el: * lisp/eshell/em-pred.el (eshell-get-delimited-modifier-argument): * lisp/eshell/esh-cmd.el (eshell--unmark-deferrable) (eshell-named-command-hook): * lisp/eshell/esh-module.el (eshell-module--feature-name): * lisp/eshell/esh-util.el (eshell-find-delimiter): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `emulation/*.el` * lisp/emulation/cua-base.el: * lisp/emulation/viper-mous.el (viper-parse-mouse-key): * lisp/emulation/viper.el (viper-major-mode-modifier-list): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `erc/*.el` * lisp/erc/erc-backend.el (erc-server-parameters): * lisp/erc/erc-button.el (erc-button--display-error-with-buttons): * lisp/erc/erc-dcc.el (erc-dcc-member): * lisp/erc/erc-fill.el (erc-fill-wrap-refill-buffer): * lisp/erc/erc-speedbar.el (erc-speedbar--last-ran): * lisp/erc/erc-stamp.el (erc-stamp--current-time): * lisp/erc/erc-track.el (erc-make-mode-line-buffer-name): * lisp/erc/erc.el (erc-interactive-display, erc-modules, erc-cmd-CLEAR) (erc-update-current-channel-member, erc--format-user-modes) (erc-check-text-conversion): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `vc/*.el` * lisp/vc/ediff-init.el (ediff-start-narrowed) (ediff-buffer-values-orig-A, ediff-buffer-values-orig-B) (ediff-buffer-values-orig-C, ediff-buffer-values-orig-Ancestor): * lisp/vc/ediff-mult.el: * lisp/vc/ediff-ptch.el (ediff-get-patch-buffer): * lisp/vc/emerge.el (emerge-before-flag, emerge-after-flag): * lisp/vc/vc-dav.el (vc-dav-checkin): * lisp/vc/vc-git.el (vc-git-command): * lisp/vc/vc-hg.el (vc-hg-command): * lisp/vc/vc-src.el (vc-src-command): * lisp/vc/vc-svn.el (vc-svn-command): * lisp/vc/vc.el (vc-checkin): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `emacs-lisp/*.el` * lisp/emacs-lisp/bytecomp.el (byte-compile-free-vars-warn) (byte-compile-out): * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): * lisp/emacs-lisp/find-func.el (find-ert-deftest-regexp): * lisp/emacs-lisp/macroexp.el (byte-compile-form-stack): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `mail/*.el` * lisp/mail/feedmail.el (feedmail-mail-send-hook-splitter) (feedmail-queue-runner-message-sender): * lisp/mail/mail-extr.el (mail-extr-nuke-outside-range): * lisp/mail/rmail.el (rmail-automatic-folder-directives) (rmail-summary-displayed): * lisp/mail/rmailmm.el (rmail-mime-searching): * lisp/mail/sendmail.el (mail-mode): * lisp/mail/supercite.el (sc-mail-last-header-nuked-p): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `net/*.el` * lisp/net/ange-ftp.el: * lisp/net/dictionary.el (dictionary-tool-bar-map): * lisp/net/eudc.el (eudc-translate-query) (eudc-translate-attribute-list) (eudc-format-inline-expansion-result, eudc-bookmark-server): * lisp/net/eww.el (eww-check-text-conversion): * lisp/net/rcirc.el (rcirc-server-name): * lisp/net/tramp-adb.el (tramp-adb-handle-get-remote-uid): * lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p): * lisp/net/tramp-crypt.el (tramp-crypt-command-completion-p): * lisp/net/tramp-message.el (tramp-debug-buffer-command-completion-p): * lisp/net/tramp-sh.el (tramp-use-connection-share): * lisp/net/tramp.el (tramp-command-completion-p): Checkdoc fixes. 2024-07-08 Stefan Kangas Improve `use-package-vc-valid-keywords` docstring format * lisp/use-package/use-package-core.el (use-package-vc-valid-keywords): Improve docstring format. 2024-07-08 Stefan Kangas Revert "Fix link to major mode variable in docstring" This reverts commit 73c1252bb6b7cc61d9f992818568d3c57de4ff67. This will sometimes say "the variable `(default-value 'global-auto-revert-mode)'". Problem reported by Eshel Yaron . 2024-07-08 Stefan Kangas * etc/TODO: Add item to convert documentation to 'setopt'. 2024-07-08 Stefan Kangas Prefer 'setopt' in browse-url docs * lisp/net/browse-url.el: (browse-url-filename-alist): Doc fix; prefer 'setopt'. 2024-07-08 Po Lu Correct conditions for iconification on Android * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity) : Rename to . (attachWindow): Adjust to match. (onPause): Delete function. (onStop): Deem frames iconified after calls to onStop instead. 2024-07-08 Jim Porter Fix execution of MS-Windows app execution aliases in Eshell * lisp/eshell/esh-ext.el (eshell-script-interpreter): Check for 0-size files (bug#71655). 2024-07-07 Eval EXEC (tiny change) Improve 'tab-line-tabs-fixed-window-buffers' sorting performance * lisp/tab-line.el (tab-line-tabs-fixed-window-buffers): Enhance 'tab-line-tabs-fixed-window-buffers' performance by optimizing buffer sorting mechanism. Replace inefficient 'seq-position' calls with a hash table to cache buffer positions, significantly improving speed when handling large buffer lists (bug#71958). 2024-07-07 Michael Albinus Adapt Tramp version (don't merge) * doc/misc/trampver.texi: * lisp/net/trampver.el (tramp-version): Adapt Tramp versions. 2024-07-07 Michael Albinus Fix Tramp parser * lisp/net/tramp.el (tramp-host-with-port-regexp): Declare. (tramp-set-syntax): Set also `tramp-host-with-port-regexp'. (tramp-build-host-with-port-regexp): New defun. (tramp-host-with-port-regexp): Make it a defvar. (Bug#71972) * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax) (tramp-test01-file-name-syntax-simplified) (tramp-test01-file-name-syntax-separate): Adapt tests. 2024-07-07 Stefan Kangas Checkdoc fixes in progmodes * lisp/progmodes/cperl-mode.el (cperl-file-style) (cperl-continued-brace-offset, cperl-tips-faces): * lisp/progmodes/eglot.el (eglot-confirm-server-edits, eglot) (eglot-list-connections-mode, eglot--outstanding-inlay-hints-region) (eglot--outstanding-inlay-regions-timer): * lisp/progmodes/etags.el (etags-goto-tag-location) (etags--xref-apropos-additional): * lisp/progmodes/flymake.el (flymake-autoresize-margins): * lisp/progmodes/gdb-mi.el (gdb-mouse-until, gdb-mouse-jump): * lisp/progmodes/hideif.el (hif-parse-macro-arglist): * lisp/progmodes/idlw-help.el (idlwave-html-help-location): * lisp/progmodes/idlwave.el (idlwave-reserved-word-upcase): * lisp/progmodes/java-ts-mode.el (java-ts-mode--string-highlight-helper): * lisp/progmodes/js.el (js--chained-expression-p): * lisp/progmodes/pascal.el (pascal-mode, pascal-comment-area): * lisp/progmodes/python.el (python--treesit-fontify-union-types): * lisp/progmodes/ruby-mode.el (ruby-align-chained-calls) (ruby-block-indent, ruby-rubocop-use-bundler): * lisp/progmodes/rust-ts-mode.el (rust-ts-mode--prettify-symbols-compose-p): * lisp/progmodes/verilog-mode.el (verilog-cache-has-lisp) (verilog-auto-insert-lisp, verilog-highlight-region): * lisp/progmodes/xref.el (xref--get-history): Various checkdoc fixes. 2024-07-07 Stefan Kangas Checkdoc fixes in Org Mode * lisp/org/ob-core.el: * lisp/org/ob-exp.el: * lisp/org/ob-lob.el: * lisp/org/ob-plantuml.el (org-babel-execute:plantuml): * lisp/org/ob-python.el (org-babel-python--command) (org-babel-python-initiate-session-by-key) (org-babel-python-initiate-session): * lisp/org/ob-scheme.el (org-babel-scheme-make-session-name): * lisp/org/ob-tangle.el (org-babel-find-file-noselect-refresh) (org-babel-interpret-file-mode): * lisp/org/ob.el: * lisp/org/org-agenda.el (org-agenda-mouse-1-follows-link) (org-agenda-start-with-archives-mode) (org-agenda-previous-line): * lisp/org/org-clock.el (org-clock-save, org-clock-load): * lisp/org/org-element-ast.el (org-element-type-p): * lisp/org/org-faces.el (org-cycle-level-faces): * lisp/org/org-fold-core.el (org-fold-core--isearch-overlays): * lisp/org/org-fold.el (org-fold--extend-changed-region): * lisp/org/org-goto.el: * lisp/org/org-habit.el (org-habit-show-all-today): * lisp/org/org-inlinetask.el (org-inlinetask-in-task-p): * lisp/org/org-macs.el (org-current-text-column): * lisp/org/org-mobile.el (org-mobile-check-setup): * lisp/org/org-mouse.el (org-mouse-bolp): * lisp/org/org-refile.el (org-refile): * lisp/org/org-src.el (org-src-do-key-sequence-at-code-block): * lisp/org/org-table.el (orgtbl-after-send-table-hook) (orgtbl-self-insert-command, orgtbl-to-orgtbl): * lisp/org/org.el (org-read-date-popup-calendar, org-finish-function) (org-occur-parameters, org-self-insert-command, org-ctrl-c-ctrl-c-hook) (org-ctrl-c-ctrl-c-final-hook, org-submit-bug-report) (org--single-lines-list-is-paragraph): * lisp/org/ox-icalendar.el (org-icalendar--vtodo): * lisp/org/ox-latex.el (org-latex-generate-engraved-preamble): (org-latex-src--engrave-code): * lisp/org/ox-publish.el (org-publish-project-alist): * lisp/org/ox.el (org-export-data): Various checkdoc fixes. 2024-07-07 Stefan Kangas Clarify `checkdoc-max-keyref-before-warn` docstring * lisp/emacs-lisp/checkdoc.el (checkdoc-max-keyref-before-warn): Clarify and reflow docstring. Fix warning about overly long docstring. 2024-07-07 Juri Linkov * lisp/files.el (insert-directory): Quote switches in wildcard case. Use shell-quote-wildcard-pattern on the switches string split by split-string-and-unquote. This helps to quote such switches as "--block-size='1" (bug#71935). 2024-07-07 Juri Linkov Fix uses of 'dired-omit-mode' (bug#71905) * lisp/dired.el (dired-jump): Disable dired-omit-mode with -1. * lisp/files.el (recover-session): Disable dired-omit-mode explicitly afterwards instead of modifying dired-mode-hook that fails when it contains a lambda. 2024-07-07 Po Lu * src/androidvfs.c (android_saf_check_nonnull): Fix typo. 2024-07-07 Po Lu Correct JNI string error checking and miscellaneous corrections * src/android-emacs.c (main): Do not attempt to load the bootstrap class path, which is redundant on all Android releases. * src/android.c (initEmacs, android_browse_url): Do not assume exceptions will be raised if GetStringUTFChars fails. Decode Android JNI strings as Qandroid_jni. * src/androidvfs.c (android_saf_check_nonnull): New function. (android_saf_new_mkdir): Likewise. 2024-07-07 Stefan Kangas Correctly highlight SYMTAB in `awk-mode` * lisp/progmodes/cc-awk.el (awk-font-lock-keywords): Fix typo for "SYMTAB" (see Info node '(gawk) Auto-set'). 2024-07-06 JD Smith <93749+jdtsmith@users.noreply.github.com> Fix formatting of tables with thead/tfoot but no tbody Correctly handle formatting of tables containing thead and/or tfoot, but without any tbody, to prevent including thead/tfoot content twice within the table's derived body. * lisp/net/shr.el (shr--fix-tbody): Omit 'thead' and 'tfoot' from implicit body. (Bug#71685) * test/lisp/net/shr-resources/table.html: * test/lisp/net/shr-resources/table.txt: New tests for table rendering. 2024-07-06 Stefan Monnier (buf_bytepos_to_charpos): Fix mixup introduced in commit b300052fb4ef Backport of commit 1b595b4598e7 since it turns out this "minor typo" had disastrous consequences in pathological cases and explains some of the problems seen in bug#71644 and bug#63040. * src/marker.c (buf_bytepos_to_charpos): Don't compare byte-positions with char-positions. 2024-07-06 Stefan Kangas package-buffer-info: Move 'require' earlier * lisp/emacs-lisp/package.el (package-buffer-info): Move 'require' earlier, before it is needed. 2024-07-06 Vincenzo Pupillo Fix treesit range rule for jsdoc The parser for jsdoc is local, so it is necessary for the range rule to take this into account. * lisp/progmodes/js.el (js-ts-mode): Add ':local' keyword. (js-ts-language-at-point): Remove 'js-ts-language-at-point'. (Bug#71776) 2024-07-06 Eli Zaretskii Fix documentation of 'balance-windows' * lisp/window.el (balance-windows): Doc fix. * doc/emacs/windows.texi (Change Window): Make the description of 'balance-windows' more accurate. (Bug#71915) 2024-07-06 Daniel Semyonov nnatom: Ensure some parsed values are one line * lisp/gnus/nnatom.el (nnatom--dom-line): New function. (nnatom--read-title, nnatom--read-description) (nnatom--read-article-or-group-authors, nnatom--read-subject) (nnatom--read-id, nnatom--read-publish, nnatom--read-update) (nnatom--read-links): Read text using `nnatom--dom-line'. (Bug#71889) 2024-07-06 Daniel Semyonov nnfeed: (Mostly) fix group descriptions * lisp/gnus/nnfeed.el (nnfeed--group-description): New function. (nnfeed-request-group-description, nnfeed-request-list-newsgroups): Use `nnfeed--group-description' and always return t if group data is found. (Bug#71888) 2024-07-06 João Távora Eglot: support deprecated MarkedString (bug#71353) * lisp/progmodes/eglot.el: Make a markdown code block if MarkedString passed. 2024-07-06 Eli Zaretskii Fix returning to original TTY frame after 'rmail-reply' * lisp/mail/rmail.el (rmail-start-mail): Record the frame from which an Rmail command, such as 'rmail-mail' or 'rmail-reply', was invoked. (rmail--find-orig-rmail-frame): New function. (rmail-mail-return): Use 'rmail--find-orig-rmail-frame' to find the original frame, and make it the top frame on its TTY terminal. (Bug#69738) 2024-07-05 Eli Zaretskii Improve warnings from native compiler * src/comp.c (syms_of_comp) : Rename from 'comp'. * src/lread.c (maybe_swap_for_eln): * lisp/emacs-lisp/comp.el (comp--fwprop): * lisp/emacs-lisp/comp-run.el (comp--accept-and-process-async-output, native--compile-async): Adjust to the new symbol. 2024-07-05 Stefan Kangas Document adding package dependency on Emacs version * doc/lispref/package.texi (Simple Packages, Multi-file Packages): Document how to make a package depend on a specific version of Emacs. 2024-07-05 Eli Zaretskii Fix file-name detection in Dired under -F * lisp/files.el (insert-directory-clean): Support all the symbols appended to file names by the -F/--classify option of 'ls'. See https://lists.gnu.org/archive/html/emacs-devel/2024-07/msg00366.html for the details. 2024-07-04 Stefan Monnier (edebug--called-interactively-skip): Fix bug#71934 * lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): Adjust to new interpreted functions. 2024-07-03 Eli Zaretskii Fix MS-Windows build with native-compilation * src/w32.c (globals_of_w32): Move re-initialization of Vlibrary_cache from here... * src/emacs.c (main): ...to here, as it must be after load_pdump. (Bug#71916) 2024-07-03 Andrea Corallo Tag dbus-test05-register-signal-with-nils as unstable * test/lisp/net/dbus-tests.el (dbus-test05-register-signal-with-nils): Tag it as unstable. 2024-07-03 Yuan Fu Fix treesit test (bug#71907) * test/src/treesit-tests.el (treesit-node-check): Re-parse buffer before checking for node outdated-ness. 2024-07-03 Stefan Kangas Focus more on MS-Windows than MS-DOS in FAQ * doc/misc/efaq.texi (Editing Windows files): Rename section from "Editing MS-DOS files", and update the text to focus on Windows. * doc/misc/efaq.texi (Colors on a TTY) (Emacs does not display 8-bit characters): Mention MS-Windows before MS-DOS. 2024-07-03 Stefan Kangas Autoload some string functions These functions are documented in both `(elisp) Creating Strings' and 'M-x shortdoc RET string RET', so users will expect them to be available without having to require 'subr-x'. * lisp/emacs-lisp/subr-x.el (string-fill, string-limit, string-pad) (string-chop-newline): Autoload. 2024-07-02 Michael Albinus * etc/NEWS: Fix typos. 2024-07-01 Alan Mackenzie Remove a reference to a non-existent variable from a docstring * lisp/progmodes/cc-langs.el (c-opt-extra-label-key): Remove reference to c-nonlabel-decl-prefix-re from the doc string. 2024-07-01 Po Lu * java/res/mipmap-v26/emacs_icon.xml: Define monospace icon. 2024-07-01 Stefan Kangas Improve `sentence-end-double-space` docstring * lisp/textmodes/paragraphs.el (sentence-end-double-space): Improve and expand docstring. 2024-07-01 Stefan Kangas Backport file backup FAQ item to Emacs <28 * doc/misc/efaq.texi (Not writing files to the current directory): Backport recommendation to Emacs 27 or older. Problem reported by David Hedlund . 2024-06-30 Eli Zaretskii More updates of documentation for Emacs 30 * etc/NEWS: Improve wording and move/mark entries. * doc/lispref/positions.texi (List Motion): Document 'forward-sentence-function'. * doc/lispref/functions.texi (What Is a Function): Document 'primitive-function-p' and 'cl-functionp'. * doc/emacs/misc.texi (Saving Emacs Sessions): Improve wording and indexing. * doc/lispref/tips.texi (Documentation Tips): Adapt to the new value of 'emacs-lisp-docstring-fill-column'. * doc/emacs/fixit.texi (Spelling): Document 'flyspell-check-changes'. 2024-06-30 Mattias Engdegård Revert "; * etc/NEWS: Move items to "Incompatible Lisp Changes"." This reverts commit 000ef8876ae9e2098cf98e1b1c468c09be3acd43. Most of the moved items weren't actually incompatible changes. 2024-06-30 Po Lu Improve Android "adaptive icon" * java/res/drawable/emacs_background.xml: * java/res/drawable/emacs_foreground.xml: Transform borders and gradient colors to better align with the original. 2024-06-30 Eli Zaretskii Fix documentation for Emacs 30 * etc/NEWS: Mark entries and improve wording. * doc/emacs/dired.texi (Operating on Files): Document 'dired-do-open'. Fix indexing. * doc/emacs/files.texi (Diff Mode): Document 'diff-apply-buffer'. Fix indexing. * doc/emacs/maintaining.texi (Project File Commands) (Project Buffer Commands): Document 'project-any-command'. * doc/emacs/building.texi (Other GDB Buffers): Document the user option 'gdb-display-io-buffer'. (Grep Searching): Document 'grep-use-headings'. * doc/emacs/text.texi (Outline Visibility): Document Outline commands that hide/show by heading regexp. * doc/emacs/killing.texi (Kill Options): Document 'kill-ring-deindent-mode'. * doc/emacs/basic.texi (Continuation Lines): Improve wording. 2024-06-30 Robert Church Add D-Bus test * test/lisp/net/dbus-tests.el (dbus-test05-register-signal-with-nils): New test. (Bug#69926) 2024-06-30 Po Lu Merge remote-tracking branch 'savannah/scratch/windows-98' into emacs-30 * configure.ac (W32_LIBS): Don't link with -lusp10 on non-Cygwin systems. * src/emacs.c (main): Call globals_of_w32 before the startup directory is initialized. * src/w32.c (maybe_load_unicows_dll): Call load_unicows_dll_for_w32fns. * src/w32.h: Update prototypes. * src/w32fns.c (Fx_create_frame, w32_create_tip_frame): Do not register the Uniscribe font driver when unavailable. (pfnSHFileOperationW): New function pointer. (Fsystem_move_file_to_trash): Load UNICOWS.DLL if not yet loaded. Call SHFileOperationW through said function pointer. (pfnShellExecuteExW): New function pointer. (Fw32_shell_execute) [!CYGWIN]: Load UNICOWS.DLL if not yet loaded. Call ShellExecuteExW through said function pointer. (pfnShell_NotifyIconW): New function pointer. (add_tray_notification, delete_tray_notification): Call Shell_NotifyIconW through said function pointer. (Fw32_notification_notify): Load UNICOWS.DLL. (Fw32_notification_close): Return if Shell_NotifyIconW is unavailable, as when UNICOWS.DLL has yet to be loaded. (load_unicows_dll_for_w32fns): New function. * src/w32notify.c (pfnReadDirectoryChangesW): New function pointer. (watch_completion, remove_watch, Fw32notify_add_watch) (Fw32notify_rm_watch, Fw32notify_valid_p): Call ReadDirectoryChangesW through said function pointer, and assert its presence. (globals_of_w32notify): Load ReadDirectoryChangesW from KERNEL32.DLL. * src/w32uniscribe.c (pfnScriptItemize, pfnScriptShape) (pfnScriptPlace, pfnScriptGetGlyphABCWidth, pfnScriptFreeCache) (pfnScriptGetCMap): New function pointers. (uniscribe_close, uniscribe_shape, uniscribe_encode_char) (uniscribe_check_otf_1): Call Uniscribe functions through the same. (syms_of_w32uniscribe_for_pdumper): Load Uniscribe library and required functions from the same, and if unavailable, return while leaving uniscribe_available intact. On Cygwin, simply assign USP10.DLL functions to the said new function pointers. 2024-06-30 Po Lu Inaccuracy in efaq.texi Mac OS separately. 2024-06-30 Yuan Fu Fix treesit crash (bug#71681) To reproduce the problem: 0. emacs -Q 1. eval: (add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode)) 2. C-x v L 3. in the *vc-change-log* buffer move point to the commit 20af58d3a13 4. type D 5. crash caused by diff-font-lock-syntax fontification that uses treesit Emacs: 6f2036243f2 (2024-06-23, latest master) Tree-sitter: 3da7deed (2024-06-08, version 0.22.6) The immediate cause of the crash is that tree-sitter accessed a node's tree, but the tree is already deleted. Commenting out the ts_tree_delete line in treesit_ensure_parsed can "fix" the crash. What happened, I think, is this: 1. Buffer modified, parser->need_reparse set to true, parser->timestamp incremented. 2. A node is created from the parser, this node has the old tree but the new timestamp (bad!). 3. Parser re-parses (treesit_ensure_parsed), new tree created, old tree deleted. 4. Ftreesit_query_capture accessed the old node, and the old tree, crash. We shouldn't bump the parser timestamp when we set parser->need_reparse to true; instead, we should bump the timestamp when we actually reparsed and created a new tree. * src/treesit.c (treesit_record_change): Don't bump parser timestamp. (treesit_sync_visible_region): Don't bump parser timestamp. (Ftreesit_parser_set_included_ranges): Don't bump parser timestamp. (treesit_ensure_parsed): Bump parser timestamp. (Ftreesit_query_capture): Add node check. 2024-06-29 Stefan Kangas Delete redundant mention of `with-eval-after-load' * lisp/progmodes/dcl-mode.el (dcl-mode): Delete redundant mention of `with-eval-after-load'. 2024-06-29 Michael Albinus * doc/misc/efaq.texi (New in Emacs 30): Fix typos. 2024-06-29 Stefan Kangas Document security fixes in FAQ * doc/misc/efaq.texi (New in Emacs 29): Recommend using Emacs 29.4. * doc/misc/efaq.texi (Security risks with Emacs): New item with a recommendation to upgrade Emacs for improved security. 2024-06-29 Stefan Kangas Add "New in Emacs 30" to FAQ * doc/misc/efaq.texi (New in Emacs 30): New section. 2024-06-29 Kazuhiro Ito Fix non-ASCII filename operatiion on EasyPG (bug#71500) * lisp/epg.el (epg--start): Don't encode command-line arguments for gpg2 program in raw-text. 2024-06-29 Stefan Kangas Silence warning with global minor mode :predicate * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Silence byte-compiler warning when :predicate is used. 2024-06-29 George Huebner (tiny change) Fix: make 'xwidget-webkit-scroll-backward' scroll backwards * lisp/xwidget.el (xwidget-webkit-scroll-backward): Move hyphen out of %-formatter, changing semantics from a padding specifier to a negative sign. (Bug#71792) 2024-06-29 Vincenzo Pupillo Add jsdoc support to php-ts-mode in