<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/src/insdel.c, branch show</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>; Add 2024 to copyright years</title>
<updated>2024-01-02T01:47:10+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-01-02T01:47:10+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=8e1c56ae46754dd7baedff49a464f078f0e9912d'/>
<id>8e1c56ae46754dd7baedff49a464f078f0e9912d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Call treesit_record_change in insert_from_gap_1</title>
<updated>2023-02-03T02:31:19+00:00</updated>
<author>
<name>Yuan Fu</name>
</author>
<published>2023-02-03T01:22:22+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=8a6bdf88b4b665916cf74dee3a30e9136a9b6df8'/>
<id>8a6bdf88b4b665916cf74dee3a30e9136a9b6df8</id>
<content type='text'>
Before this change, insert_from_gap calls treesit_record_change but
insert_from_gap_1 doesn't.  However, insert_from_gap_1 is a public
function and is called in many other places outside of insdel.c.  This
could lead to tree-sitter's parse tree becoming out-of-sync with the
buffer content.

This change might fix bug#60650.

* src/insdel.c (insert_from_gap_1): Call treesit_record_change.
(insert_from_gap): Remove call to treesit_record_change.

* admin/notes/tree-sitter/treesit_record_change: New file.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before this change, insert_from_gap calls treesit_record_change but
insert_from_gap_1 doesn't.  However, insert_from_gap_1 is a public
function and is called in many other places outside of insdel.c.  This
could lead to tree-sitter's parse tree becoming out-of-sync with the
buffer content.

This change might fix bug#60650.

* src/insdel.c (insert_from_gap_1): Call treesit_record_change.
(insert_from_gap): Remove call to treesit_record_change.

* admin/notes/tree-sitter/treesit_record_change: New file.
</pre>
</div>
</content>
</entry>
<entry>
<title>; * src/insdel.c (insert_from_buffer): Fix assertions.</title>
<updated>2023-01-26T08:23:58+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2023-01-26T08:23:58+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ff9498624fcd15e2ab6264d259d089aa5f989ae6'/>
<id>ff9498624fcd15e2ab6264d259d089aa5f989ae6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix call to treesit_record_change in insdel.c</title>
<updated>2023-01-26T07:14:35+00:00</updated>
<author>
<name>Yuan Fu</name>
</author>
<published>2023-01-26T07:12:41+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=4bd06ce2a9fa1601aff5a5fcab7411e5fce20d28'/>
<id>4bd06ce2a9fa1601aff5a5fcab7411e5fce20d28</id>
<content type='text'>
The start position of the change shouldn't be PT_BYTE, IIUC PT_BYTE is
actually the end position.

* src/insdel.c (insert_from_buffer): Move to here.
(insert_from_buffer_1): Remove call to treesit_record_change.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The start position of the change shouldn't be PT_BYTE, IIUC PT_BYTE is
actually the end position.

* src/insdel.c (insert_from_buffer): Move to here.
(insert_from_buffer_1): Remove call to treesit_record_change.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Add 2023 to copyright years.</title>
<updated>2023-01-01T10:31:12+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2023-01-01T10:31:12+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=cae528457cb862dc886a34240c9d4c73035b6659'/>
<id>cae528457cb862dc886a34240c9d4c73035b6659</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'savannah/master' into feature/tree-sitter</title>
<updated>2022-11-21T20:54:35+00:00</updated>
<author>
<name>Yuan Fu</name>
</author>
<published>2022-11-21T20:54:35+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=aaeaa310f0391f5a5193e1a3d6e026986c4f2c0c'/>
<id>aaeaa310f0391f5a5193e1a3d6e026986c4f2c0c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>buffer.c: evaporate overlays in all indirect buffers</title>
<updated>2022-11-05T21:22:37+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2022-11-05T21:22:37+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=6e5ec085510ccf52ac6cb07c3a1a2778324a1d89'/>
<id>6e5ec085510ccf52ac6cb07c3a1a2778324a1d89</id>
<content type='text'>
This fixes bug#58928.  The patch works by moving the
`evaporate_overlays` check closer to `itree_delete_gap`.

* src/buffer.c (adjust_overlays_for_delete_in_buffer): New function,
integrating the functionality of `evaporate_overlays`.
(adjust_overlays_for_delete): Use it.
(evaporate_overlays): Delete function.

* src/buffer.h (evaporate_overlays): Delete declaration.

* src/insdel.c (adjust_markers_for_replace): Minor optimization.
(adjust_after_replace, replace_range, replace_range_2, del_range_2):
Don't call `evaporate_overlays`.

* test/src/buffer-tests.el (buffer-tests--overlays-indirect-evaporate):
Remove the `:expected-result :failed` attribute.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes bug#58928.  The patch works by moving the
`evaporate_overlays` check closer to `itree_delete_gap`.

* src/buffer.c (adjust_overlays_for_delete_in_buffer): New function,
integrating the functionality of `evaporate_overlays`.
(adjust_overlays_for_delete): Use it.
(evaporate_overlays): Delete function.

* src/buffer.h (evaporate_overlays): Delete declaration.

* src/insdel.c (adjust_markers_for_replace): Minor optimization.
(adjust_after_replace, replace_range, replace_range_2, del_range_2):
Don't call `evaporate_overlays`.

* test/src/buffer-tests.el (buffer-tests--overlays-indirect-evaporate):
Remove the `:expected-result :failed` attribute.
</pre>
</div>
</content>
</entry>
<entry>
<title>itree: Reproduce markers's behavior more faithfully (bug#58928)</title>
<updated>2022-11-04T02:44:55+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2022-11-04T02:44:55+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ff679e16f8bf8a9876fc1a980c372d4e55f3745d'/>
<id>ff679e16f8bf8a9876fc1a980c372d4e55f3745d</id>
<content type='text'>
The most obvious problem was the lack of support for
`insert-before-markers`, but the behavior was also different in a few
other cases.

* src/itree.h (itree_insert_gap):
* src/itree.c (itree_insert_gap): Add `before_markers` arg.
* src/lisp.h (adjust_overlays_for_insert):
* src/buffer.c (adjust_overlays_for_insert): Add `before_markers` arg.

* src/insdel.c (adjust_markers_for_replace, adjust_markers_for_insert)
(adjust_markers_for_delete): Adjust overlays directly from here.
(insert_1_both, insert_from_string_1, insert_from_gap)
(insert_from_buffer_1, adjust_after_replace, replace_range)
(replace_range_2, del_range_2): Don't adjust overlays explicitly here
any more.

* test/src/buffer-tests.el (test-overlay-insert-before-markers-empty)
(test-overlay-insert-before-markers-non-empty): New tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The most obvious problem was the lack of support for
`insert-before-markers`, but the behavior was also different in a few
other cases.

* src/itree.h (itree_insert_gap):
* src/itree.c (itree_insert_gap): Add `before_markers` arg.
* src/lisp.h (adjust_overlays_for_insert):
* src/buffer.c (adjust_overlays_for_insert): Add `before_markers` arg.

* src/insdel.c (adjust_markers_for_replace, adjust_markers_for_insert)
(adjust_markers_for_delete): Adjust overlays directly from here.
(insert_1_both, insert_from_string_1, insert_from_gap)
(insert_from_buffer_1, adjust_after_replace, replace_range)
(replace_range_2, del_range_2): Don't adjust overlays explicitly here
any more.

* test/src/buffer-tests.el (test-overlay-insert-before-markers-empty)
(test-overlay-insert-before-markers-non-empty): New tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Rename ts_* symbols in treesit.c</title>
<updated>2022-10-17T10:11:13+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2022-10-17T10:11:13+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=02f78c09b0a97ba044a43682a366a9d7732b885d'/>
<id>02f78c09b0a97ba044a43682a366a9d7732b885d</id>
<content type='text'>
* src/treesit.c: Rename all ts_* functions and variables to
treesit_*; all references changed.  Fix whitespace.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/treesit.c: Rename all ts_* functions and variables to
treesit_*; all references changed.  Fix whitespace.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge 'master' into noverlay</title>
<updated>2022-09-25T20:15:16+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2022-09-25T20:15:16+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=650c20f1ca4e07591a727e1cfcc74b3363d15985'/>
<id>650c20f1ca4e07591a727e1cfcc74b3363d15985</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
