1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-25 07:28:20 +00:00
Commit Graph

13450 Commits

Author SHA1 Message Date
Mattias Engdegård
59e0b82776 Better ad-hoc Emacs release of symbol introduction override
The file etc/symbol-releases.eld now contains explicit version
information for selected symbols that our NEWS* scraper doesn't
resolve correctly.

* etc/NEWS.unknown: Remove this file, replaced with...
* etc/symbol-releases.eld: ...this new file.
* lisp/help-fns.el (help-fns--first-release-override)
(help-fns--mention-first-function-release)
(help-fns--mention-first-variable-release): New.
(help-fns--mention-first-release): Try the override information first
before scraping the NEWS* files.
2024-08-31 18:46:36 +02:00
Eli Zaretskii
ca8170d906 ; Fix merge problem in etc/NEWS.30.
Author:
2024-08-31 08:20:44 -04:00
Eli Zaretskii
d1f896b5f8 Merge from origin/emacs-30
4b60267d83 Make Python skeletons available in 'python-ts-mode' as well
62dcbfb776 Merge branch 'emacs-30' of git.savannah.gnu.org:/srv/git/...
1baa62b2ac ; * etc/NEWS: Fix typos.
dfcfaa0ef5 More accurate documentation of 'equal' in ELisp Reference
baaf97ce1a ; Fix some ungrammatical uses of "allows to"

# Conflicts:
#	etc/NEWS
2024-08-31 08:14:13 -04:00
Eli Zaretskii
a18c29a7eb Merge from origin/emacs-30
a0f740c88d ; * lisp/progmodes/flymake.el: Fix "Maintainer" header
a943385813 ; * etc/AUTHORS: Update.
762b85be27 ; Revert "; * admin/authors.el (authors-valid-file-names)...
e24d568b56 ; Revert "Revert "; * admin/authors.el (authors-ignored-f...
2d723a280b Revert "; * admin/authors.el (authors-ignored-files): Add...
2a5b129509 Revert "; * admin/authors.el (authors-ignored-files): Ign...
0db53f14a2 ; * admin/authors.el (authors-ignored-files): Ignore Unic...
6734b60c0c ; * admin/authors.el (authors-valid-file-names): Ignore U...
d809d53afc ; * admin/authors.el (authors-ignored-files): Add removed...
766f69bab1 ; * etc/NEWS: Announce VC-dir "Tracking" header. (bug#68183)
37a097d866 ; * admin/authors.el (authors-aliases): Fix regexps.
0fb50e2631 ; * admin/MAINTAINERS: Spencer Baugh maintains flymake.el.
d05d8c336c xwidget: Fix xwidget-at misinterpreting non-xwidget text-...
13f69f254c Fix rare segfaults due to freed fontsets
427fb319da ; * lisp/simple.el (use-region-beginning, use-region-end)...

# Conflicts:
#	admin/MAINTAINERS
#	etc/NEWS
2024-08-31 08:14:03 -04:00
Eli Zaretskii
deb31ba825 ; * etc/NEWS: Move last added entry to its proper place (bug#72827). 2024-08-31 13:38:45 +03:00
xenodium
c36ff7d8e4 Adds NSSpeechRecognitionUsageDescription to Info.plist.in
Without this, we cannot launch processes that use macOS's
speech recognition APIs.
With NSSpeechRecognitionUsageDescription in place, macOS displays the
dialog asking the user to grant permission and allows the speech APIs
to be used from the process.
* nextstep/templates/Info.plist.in: Add
NSSpeechRecognitionUsageDescription key.  (Bug#72827)

* etc/NEWS: Announce the change.

Copyright-paperwork-exempt: yes
2024-08-31 13:36:05 +03:00
David Ponce
b930a698f2 New macro `with-work-buffer'.
* lisp/emacs-lisp/subr-x.el (work-buffer--list)
(work-buffer-limit): New variables.
(work-buffer--get, work-buffer--release): New function.
(with-work-buffer): New macro.  (Bug#72689)

* etc/NEWS: Announce 'with-work-buffer'.
2024-08-31 11:21:42 +03:00
Eli Zaretskii
b25da8729d ; * etc/NEWS: Minor rewording of last change. 2024-08-31 10:05:01 +03:00
Michael Albinus
1baa62b2ac ; * etc/NEWS: Fix typos. 2024-08-30 14:00:47 +02:00
Sean Whitton
ad18b145a5 ; * etc/NEWS: Grammar fixes. 2024-08-30 11:50:19 +01:00
Sean Whitton
baaf97ce1a ; Fix some ungrammatical uses of "allows to"
* doc/emacs/anti.texi (Antinews):
* etc/NEWS:
* etc/NEWS.29:
* lib/cdefs.h:
* lisp/tab-bar.el (tab-bar-select-restore-windows):
* lisp/vc/vc-git.el (vc-git-print-log-follow):
* m4/gnulib-common.m4 (gl_CHECK_FUNCS_SET_RESULTS):
(gl_CHECK_FUNCS_ANDROID): Fix ungrammatical uses of "allows to".
2024-08-30 11:47:35 +01:00
Eli Zaretskii
a943385813 ; * etc/AUTHORS: Update. 2024-08-29 14:43:45 -04:00
Kévin Le Gouguec
766f69bab1 ; * etc/NEWS: Announce VC-dir "Tracking" header. (bug#68183) 2024-08-29 17:36:21 +01:00
Michael Albinus
00f9927693 ; Fix typos
* doc/lispref/control.texi (cond* Macro):
* etc/NEWS: Fix typos.
2024-08-29 15:52:16 +02:00
Eli Zaretskii
38650b630b Document 'cond*'
* doc/lispref/control.texi (cond* Macro): New subsection.
Text written by Richard Stallman <rms@gnu.org>.
* etc/NEWS: Document 'cond*'.
2024-08-29 12:02:08 +03:00
Po Lu
413489fe80 Merge from savannah/emacs-30
e6c72aec9d ; Fix typos
9ffa38d392 Eglot: fix completion highlighting (bug#72824)
d6880bc24d ; * admin/make-tarball.txt: Document gotcha.
afee71273b Discuss commit log messages on feature branches
77302ccb6a * admin/authors.el (authors-fixed-entries): Update docstr...
3a4839d142 More consistent treesit-forward-sexp around comments (bug...
3129315587 Improve php-ts-mode font lock and support latest grammar ...
b8c05d73a1 Fix tree-sitter local parser overlay cleanup routine
aa6ed7f67e Fix copyright years by hand (Bug#72809)
2024-08-29 08:53:52 +08:00
Eli Zaretskii
6827335538 ; Merge changes to files modified on the release branch
* ChangeLog.4:
* etc/AUTHORS: merge changes mistakenly skipped by gitmerge.el
Reported by Stefan Kangas <stefankangas@gmail.com>.
2024-08-27 15:52:13 +03:00
Stefan Kangas
aa6ed7f67e Fix copyright years by hand (Bug#72809)
These are dates that admin/update-copyright did not update.
2024-08-26 02:50:24 +02:00
Eli Zaretskii
d4bd5a3cba Merge from origin/emacs-30
9b299dd79c Revert a recent change that caused redisplay slowdown
4eaab54896 ; * doc/lispref/display.texi (Low-Level Font): Fix wordin...
0a50019308 Indent ERT failure explanations rigidly
713069dd7a [Eglot] Stricter "expand common" behavior
096730510c eglot-tests.el: New tests for existing completion behavior
969498c25d Remove dangerous HTML edit from admin.el

# Conflicts:
#	etc/EGLOT-NEWS
2024-08-25 14:54:03 -04:00
Eli Zaretskii
99f2354696 Merge from origin/emacs-30
8c251a4c41 ; Mention in PROBLEMS issues with long popup menus
0a626a64c7 * etc/emacs_lldb.py (Lisp_Object): PVEC_COMPILED -> PVEC_...
2024-08-25 14:53:04 -04:00
Dmitry Gutov
713069dd7a [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 18:23:51 +03:00
Eli Zaretskii
71505b723c Fix handling of 'min-width' display property
* src/xdisp.c (get_display_property, display_min_width): Rename
BUFPOS to CHARPOS, to avoid confusion (it is not necessarily a
buffer position).  Suggested by Jim Porter <jporterbugs@gmail.com>.
(get_display_property): Call 'Fget_char_property' to support
'min-width' properties of overlays as well.
(display_min_width): Handle the buffer and string cases more
accurately, without relying only on the values of positions.
(handle_display_prop, handle_single_display_spec): Pass correct
position to 'display_min_width', when iterating over a string.
(handle_display_prop): When OBJECT is a window, pass it to
display_min_width.
(set_iterator_to_next): Call 'display_min_width' when at end of a
display or overlay string.  (Bug#72721)

* etc/NEWS: Announce the support for overlays.
2024-08-25 10:24:35 +03:00
Eli Zaretskii
8c251a4c41 ; Mention in PROBLEMS issues with long popup menus
* etc/PROBLEMS: Problems with very long popup menus on Lucid
builds.  (Bug#72791)
2024-08-25 09:04:21 +03:00
Mattias Engdegård
0a626a64c7 * etc/emacs_lldb.py (Lisp_Object): PVEC_COMPILED -> PVEC_CLOSURE 2024-08-24 14:41:41 +02:00
Michael Albinus
f41614ad54 ; * etc/NEWS: Fix typos. 2024-08-24 12:49:48 +02:00
Spencer Baugh
69ec333eab Allow customizing partial-completion to be more like substring
The substring completion style completes "foo-bar" as "*foo-bar*".  The
partial-completion completion style completes "foo-bar" as "foo*bar*".

Previously, it was not possible to get completion of "foo-bar" to act as
"*foo*bar*", e.g. combining the partial-completion and substring styles.
This would be especially useful for things like project-find-file.

Now it is possible by customizing the completion-pcm-leading-wildcard variable
to a non-nil value.

Furthermore, it's convenient to be able to run
regular (completion-pcm-leading-wildcard=t, non-substring)
partial-completion before running completion-pcm-leading-wildcard=nil
partial-completion, since the former provides more narrowly targeted
completions.

It's possible to do this by customizing completion-styles.  Just add
'(partial-completion ((completion-pcm-leading-wildcard t))) and
'(partial-completion ((completion-pcm-leading-wildcard nil))) in that
order.  Then the completion machinery will first run partial-completion
with completion-pcm-leading-wildcard=t, and if that returns no
completions, run partial-completion with
completion-pcm-leading-wildcard=nil.

* lisp/minibuffer.el (completion--nth-completion): Allow an element of
completion-styles to contain a list of bindings.
(completion-styles): Document that.
(completion-pcm-leading-wildcard): Add.
(completion-pcm--string->pattern): Check completion-pcm-leading-wildcard.
(bug#70217)
2024-08-24 12:20:56 +03:00
Philip Kaludercic
f8d42e29a5
Add command to copy contents in a diff-mode buffer
* lisp/vc/diff-mode.el (diff-mode-shared-map): Bind 'diff-kill-ring-save'.
(diff-mode-map): Ensure the "w" binding does not get prefixed.
(diff-kill-ring-save): Add the command.
* etc/NEWS: Mention 'diff-kill-ring-save'.  (Bug#65380)
2024-08-22 20:58:39 +02:00
João Távora
cfcba7ddc4 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-22 17:28:11 +01:00
Martin Rudalics
bd647f3614 Fix two issues with 'window-deletable-p'
* lisp/window.el (window-deletable-functions): Clarify
doc-string.
(window-deletable-p): Handle check whether WINDOW's frame can be
deleted via new function 'frame-deletable-p' (a comparison with
the frame returned by 'next-frame' fails in too many cases).  Do
not try to run 'window-deletable-functions' in WINDOW's buffer
when WINDOW is internal.
* lisp/frame.el (frame-deletable-p): New function.
* doc/lispref/frames.texi (Deleting Frames): Describe new
function 'frame-deletable-p'.
* etc/NEWS: Mention 'frame-deletable-p'.
2024-08-21 10:54:53 +02:00
Protesilaos Stavrou
3efb89ddb9
Update to modus-themes version 4.5.0
* doc/misc/modus-themes.org (COPYING): Update the version headers.
(Option to extend the palette): Document new user options.
(Full support for packages or face groups): Document more
packages that are explicitly supported by the themes.
(Acknowledgements): Update the list of people who have
contributed to the project in one way or another.

* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-tinted-theme.el:
* etc/themes/modus-operandi-tritanopia-theme.el:
* etc/themes/modus-vivendi-deuteranopia-theme.el:
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-vivendi-tinted-theme.el:
* etc/themes/modus-vivendi-tritanopia-theme.el: Update the
  palette of each theme and include the new user option to extend
  its palette.

* etc/themes/modus-themes.el: Cover more faces and include user
  option for common extension to all theme palettes.

Detailed release notes:
<https://protesilaos.com/codelog/2024-08-21-modus-themes-4-5-0/>.
2024-08-21 11:07:47 +03:00
Andrea Corallo
f9d229e925 Update AUTHORS
* etc/AUTHORS: Re-generate.
* admin/authors.el (authors-fixed-entries): Add entry.
2024-08-20 20:26:36 +02:00
Po Lu
a268496727 Merge from savannah/emacs-30
3419e7ea52 Correct Android failure to open an old CJK font
45ae4de0e7 * lisp/help-fns.el (help-definition-prefixes): Don't dele...
fc7581ae2e ; Fix documentation of secure-hash functions
21be5cadaf ; * lisp/subr.el (sha1): Fix typo in docstring.
8715619d48 ; * etc/NEWS: Fix wording of last change.
023d387a7b Update to Org 9.7.10
b54e8b3741 ; * etc/NEWS: Announce 'shr-fill-text'.
acfd91bc0c ; * lisp/emacs-lisp/compat.el: Fix header style.
55337dc36a * test/infra/gitlab-ci.yml (.tree-sitter-template): Adapt...
d8e9eb73c2 Bump use-package version for Emacs 30.1
4d9d3fec1b * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump.
502285e84a ; * admin/make-tarball.txt: Some clarifications.
2024-08-20 21:57:25 +08:00
Joseph Turner
9ed761a793 Add abnormal hook to determine which tabs to auto-widen
* lisp/tab-bar.el (tab-bar-auto-width-predicate-default):  Default value
for tab-bar-auto-width-functions.
(tab-bar-auto-width-functions): New abnormal hook.
(tab-bar-auto-width): Run new abnormal hook until success instead of
comparing text properties.
2024-08-19 19:50:02 +03:00
Michael Albinus
8715619d48 ; * etc/NEWS: Fix wording of last change. 2024-08-19 09:37:55 +02:00
Kyle Meyer
023d387a7b Update to Org 9.7.10 2024-08-18 20:54:39 -04:00
Jim Porter
a876c4d7a1 Improve SHR/EWW support for 'visual-wrap-prefix-mode'
* lisp/visual-wrap.el (visual-wrap--apply-to-line): Use
'add-display-text-property' so we don't clobber other display
properties.
(visual-wrap--content-prefix): Remove special-case for spaces-only
indent prefix; this was an attempt to be helpful for variable-pitch
fonts, but in practice just interferes with matters.  This case now
falls back to the one immediately following it (return the string of
spaces).  Use 'string-pixel-width' instead of 'string-width'.

* lisp/net/shr.el (shr-indent): Set 'shr-prefix-length' here to help
keep track of the prefixes of nestedly-indented elements.  Set the
specified space width in terms of the default width of the current face.
* lisp/net/shr.el (shr-adaptive-fill-function): Use 'shr-prefix-length'
as set above to return a fill prefix.

* lisp/net/eww.el (eww-render): Enable 'visual-wrap-prefix-mode'
alongside of 'visual-line-mode'.
(eww-mode): Set 'adaptive-fill-function' to
'shr-adaptive-fill-function'.

* etc/NEWS: Announce this change (bug#72485).
2024-08-18 15:53:26 -07:00
Jim Porter
b54e8b3741 ; * etc/NEWS: Announce 'shr-fill-text'. 2024-08-18 14:33:43 -07:00
Po Lu
03a791556a ; * etc/NEWS: Restore reference to Linux kernel. 2024-08-15 20:00:39 +08:00
Ulrich Müller
dcd5b80b09 ; * etc/NEWS: Fix typo. 2024-08-15 11:13:38 +02:00
Ulrich Müller
62067d2ae7 ; * etc/NEWS: Update wording of last change 2024-08-15 09:28:48 +02:00
Ulrich Müller
49e7f1b92d Drop fallback code in date-to-time, update documentation
* lisp/calendar/time-date.el (date-to-time): Drop fallback code.
Document that the default timezone is local time, rather than GMT.
* test/lisp/calendar/time-date-tests.el (test-date-to-time):
Add more test cases.
* doc/lispref/os.texi (Time Parsing): Document that 'date-to-time'
defaults to local time.
* etc/NEWS: Announce the change.  (Bug#72570)
2024-08-15 08:17:15 +02:00
Thomas Fitzsimmons
5cace09ed0 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 9f03300c5c)
2024-08-09 09:03:01 +03:00
Thomas Fitzsimmons
9f03300c5c 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)
2024-08-08 22:58:48 -04:00
Po Lu
1a4c26d413 Merge from savannah/emacs-30
679f7ccc49 Prevent accesses to /content files without a GUI connection
f0a7eec5a7 * lisp/net/tramp-integration.el (shortdoc): Use `tramp--w...
fb642d9cf5 Merge branch 'emacs-30' of git.savannah.gnu.org:/srv/git/...
f1e37ae423 Avoid crashes in very large buffers with long lines
4dc9e99349 Update description of string comparison functions
3817355aed Add sanity check when adding Tramp functions to shortdoc
1bbb322017 ; * lisp/erc/erc-fill.el (erc-fill-wrap-mode): Doc fix.
3f6e7e1da6 js-ts-mode: Make jsdoc's "description" block a comment (b...
1c7e00f4f6 Also condition cjk-misc font-spec on Android
b89d65df5f ; * etc/PROBLEMS: How to install sources on SUSE Linux (b...
729b17c202 ; * src/lread.c (Fload): Add comment.  (Bug#72433)
bfb1aee998 Fix ':defer nil' in 'use-package'
d787817076 Document unsupported color Emoji on OpenBSD
db1f749db5 Fix regressions in Customize caused by 'widget-unselected...
f94d58008e Avoid inserting extra space in SVG data
292fcd2009 Fix c-ts-common filling function (bug#71760)
e50d597f45 Fix missing type checks before specbind

# Conflicts:
#	lisp/progmodes/c-ts-common.el
2024-08-07 09:21:27 +08:00
Jim Porter
f70a6ea0ea Add support for variable-pitch fonts in 'visual-wrap-prefix-mode'
* lisp/emacs-lisp/subr-x.el (string-pixel-width): Allow passing BUFFER
to use the face remappings from that buffer when calculating the width.

* lisp/visual-wrap.el (visual-wrap--prefix): Rename to...
(visual-wrap--adjust-prefix): ... this, and support PREFIX as a number.
(visual-wrap-fill-context-prefix): Make obsolete in favor of...
(visual-wrap--content-prefix): ... this.
(visual-wrap-prefix-function): Extract inside of loop into...
(visual-wrap--apply-to-line): ... this.

* doc/lispref/display.texi (Size of Displayed Text): Update
documentation for 'string-pixel-width'.

* etc/NEWS: Announce this change.
2024-08-04 10:46:28 -07:00
Björn Bidar
b89d65df5f ; * etc/PROBLEMS: How to install sources on SUSE Linux (bug#72465). 2024-08-04 19:23:40 +03:00
Manuel Giraud
d787817076 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 11:18:30 +03:00
Mattias Engdegård
4437d730a5 Remove misspelled rx category chinse-two-byte
* lisp/emacs-lisp/rx.el (rx--categories): Remove misspelled variant
present in Emacs 21-1-24.3, correct name since 24.4.
* etc/NEWS: Announce.
2024-08-01 10:42:24 +02:00
Martin Rudalics
27381d71c6 Improve window/buffer handling code
The purpose of these changes is to improve the code handling the
display of buffers in windows, switching to previous and next
buffers in windows and restoring a previous state after quitting
or killing buffers.  In particular it does:

- Add a new window parameter 'quit-restore-prev' so a window can
keep its initial 'quit-restore' parameter and undoing a sequence
of quit window operations becomes more reliable (Bug#59862).

- Optionally have 'kill-buffer' call 'quit-restore-window' for
all windows showing the argument buffer (Bug#59862).

- Add a new hook so it's possible to avoid that a window gets
deleted implicitly by functions like 'kill-buffer' (Bug#71386).

- Add a new option to make 'quit-restore-window' delete windows
more aggressively (Bug#59862).

- Immediately remove killed buffers from all windows' previous
and next buffers.  For windows that are already dead, use a weak
hash table to be used by 'kill-buffer'.  This avoids any special
handling of such windows by the garbage collector.

- Immediately remove 'quit-restore' and 'quit-restore-prev'
window parameters that reference killed buffers.  These
parameters have no more use once their buffers got killed.

- Make sure that internal windows do not have any previous and
next buffers.  This fixes a silly memory leak.

- Make sure that after set_window_buffer and some wset_buffer
calls the buffer now shown in the window does not appear in the
lists of that window's previous and next buffers.  The old
behavior could make functions investigating these lists
erroneously believe that there still existed some other buffer
to switch to.

* src/alloc.c (mark_discard_killed_buffers): Remove function.
(mark_window): No more filter previous and next buffer lists.
* src/window.h (struct window): Move up prev_buffers and
next-buffers in structure; they are now treated by the collector
as usual.
* src/window.c (window_discard_buffer_from_alist)
(window_discard_buffer_from_list)
(window_discard_buffer_from_window)
(window_discard_buffer_from_dead_windows)
(Fwindow_discard_buffer): New functions.
(set_window_buffer): Discard BUFFER from WINDOW's previous and
next buffers.
(make_parent_window): Make sure internal windows have no previous
and next buffers.
(make_window): Don't initialize window's previous and next
buffers, they are handled by allocate_window now.
(Fdelete_window_internal): Add WINDOW to window_dead_windows_table.
(Fset_window_configuration): Remove resurrected window from
window_dead_windows_table.  Make sure buffers set by wset_buffer
calls are not recorded in window's previous and next buffers.
(delete_all_child_windows): Add deleted windows to
window_dead_windows_table.
(window_dead_windows_table): New weak hash table to record dead
windows that are stored in saved window configurations.
* src/buffer.c (Fkill_buffer): Call new function
'window_discard_buffer_from_dead_windows'.
* lisp/window.el (window-deletable-functions): New hook.
(window-deletable-p): Update doc-string.  Run
'window-deletable-functions' (Bug#71386).
(unrecord-window-buffer): New argument ALL.  Move body to
'window-discard-buffer-from-window' so that if ALL is non-nil,
WINDOW's 'quit-restore' and 'quit-restore-prev' parameters get
removed too.
(switch-to-prev-buffer): Don't care about killed buffers here;
'replace-buffer-in-windows' should have done that already.  Use
'unrecord-window-buffer'.
(switch-to-next-buffer): Don't care about killed buffers here;
'replace-buffer-in-windows' should do that now.
(kill-buffer-quit-windows): New option.
(delete-windows-on): Update doc-string.  Handle new option
'kill-buffer-quit-windows'.  Update 'unrecord-window-buffer'
calls.
(replace-buffer-in-windows): Update doc-string.  Handle new
option 'kill-buffer-quit-windows' (Bug#59862).  Update call to
'unrecord-window-buffer'.
(quit-restore-window-no-switch): New option.
(quit-restore-window): Update doc-string.  Handle additional
values of BURY-OR-KILL so to not kill a buffer about to be
killed by the caller.  Handle 'quit-restore-prev' parameter
(Bug#59862).  Handle new option 'quit-restore-window-no-switch'
(Bug#59862).
(quit-windows-on): Update doc-string.  Call 'quit-window-hook'
and call 'quit-restore-window' directly so that the buffer does
not get buried or killed by the latter.  Update
'unrecord-window-buffer' call.
(display-buffer-record-window): Update doc-string.  Handle new
`quit-restore-prev' parameter (Bug#59862).
(switch-to-buffer): Call 'display-buffer-record-window' so a
latter 'quit-restore-window' can use its parameters.
* doc/lispref/windows.texi (Deleting Windows): Describe implicit
deletion of windows and new hook 'window-deletable-functions'.
(Buffers and Windows): Update description of
'replace-buffer-in-windows'.  Describe new option
'kill-buffer-quit-windows'.
(Quitting Windows): Describe 'quit-restore-prev' parameter and
new option 'quit-restore-window-no-switch'.  Update description
of 'quit-restore-window'.
(Window Parameters): Mention 'quit-restore-prev' parameter.
* etc/NEWS: Add entries for 'window-deletable-functions',
'kill-buffer-quit-windows', 'quit-restore-window-no-switch'.
mention new parameter 'quit-restore-prev' and new argument
values for 'quit-restore-window'.
2024-08-01 09:37:50 +02:00
Yuan Fu
e4cd26defc
"Separate" tree-sitter parser list for indirect buffers
When create a parser for the indirect buffer, set the buffer field of
the parser to the indirect buffer, but add the parser to the base
buffer's parser list.  This way, all the parsers still get buffer
updates, but indirect buffer's parsers can have different narrowing than
the parsers of the base buffer.

When returning the parser list of a buffer, do filtering and only return
the parser for that buffer.

From user's POV, indirect buffers appear to have their own parser list.

* doc/lispref/parsing.texi (Using Parser): Remove the text describing
indirect buffer's special case.
* src/treesit.c (Ftreesit_parser_create): When create a parser for the
indirect buffer, set the buffer field of the parser to the indirect
buffer, but add the parser to the base buffer's parser list.
(Ftreesit_parser_list): Filter parser list, only return parsers for this
buffer.

xx
2024-07-30 17:09:57 -07:00