[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master updated (69121c33e4 -> 71589b101c)
From: |
Stefan Monnier |
Subject: |
master updated (69121c33e4 -> 71589b101c) |
Date: |
Fri, 28 Oct 2022 17:44:50 -0400 (EDT) |
monnier pushed a change to branch master.
from 69121c33e4 Fix warning in xsettings.c
adds 8d7bdfa3fc Provide a new tree data-structure for overlays.
adds 7c0824a1d0 Add test regarding overlay and buffer encoding
adds 342fc823a6 Add test exposing overlay bug
adds 828552916e Add offsets when inspecting a node's children's values
adds bb9ab6f5c0 Fix assignment of offset to newly inserted nodes.
adds 3945c019ec Add a function collecting all interval nodes
adds c2826d9a03 Adapt overlays when multibyteness changes
adds 1ebc62c41e Expand overlay multibyte tests
adds 46a3a8f6ed Make boolean struct member use one bit
adds 55ac6f2105 Optimize struct layout for space
adds a38c38c052 Make boolean struct member use one bit
adds 8869332684 Remove redundant checks for the empty overlay tree
adds 650c20f1ca Merge 'master' into noverlay
adds 409327ff68 Fix macOS build (bug#58108)
adds 8173a292e7 Fix last change
adds 498d331b07 Add debugging help for nested iterators (nug#58144)
adds 17ba7ac5d9 Avoid nested iteration over intervals (bug#58144)
adds 1a77f09f3c * src/buffer.c (overlays_in): Fix confusion Z-vs-ZV
adds 800ecd4767 Merge remote-tracking branch
'origin/scratch/noverlay-wip' into noverlay
adds ea8daec9bb itree.[ch]: Add sanity checks, comments, and minor tweaks
adds 5b954f8f9d alloc.c: Avoid nested overlay iterations (bug#58158)
adds 8e61648693 * src/itree.c (interval_tree_iter_start): Improve error
message
adds 757c116f6b free_buffer_overlays: Move nearer to its sole caller
adds a7ad0f806c itree: Remove the `visited` flag from the tree nodes
adds 009249e0c6 Remove the per-tree null node
adds ab2926aad3 itree.c: Improve division between tree and iterator
adds 1303f55161 New ITREE_FOREACH macro
adds c55254dccc Make it compile with ITREE_DEBUG defined
adds c3eb6c0563 Merge remote-tracking branch 'origin/feature/noverlay'
into noverlay
adds ba5fe8e789 itree.c: Remove `tree` field from iterator
adds b8fbd42f0a mark_overlays: Use the normal ITREE_FOREACH
adds 2c4a3910b3 itree: Use a single iterator object
adds 4f4327c0b0 itree.c: Remove some unnecessary `tree` arguments
adds aa5a32ca2c itree.c: Clarify how the sentinel is used
adds 5642b4a255 itree.c: Fix incomplete update of `limit`s in corner
cases
adds 1f31534f51 itree.c: Fix corner case errors in offsets
adds a1f1fdd291 * src/itree.c (interval_tree_remove_fix): Move before
first use
adds 8bd114b98a itree.c: Get rid of the trick using null->parent
adds 6dff825a99 ; * src/itree.h: include "lisp.h" for Lisp_Object
adds 0fcd6de93b ; * src/itree.h (struct interval_node): document field
invariants.
adds cab3b67652 ; * src/itree.c: change comments for clarity.
adds c0d5026321 Use a bool instead of a bitfield
adds 780d3d8df2 ; * src/itree.c: Add comment describing when noverlay is
O(N)
adds 208de5de59 itree: Try and detect non-local exits during itree
iterations
adds 30f5220277 Comment change: explain inheriting "dirty" offsets
adds 92a0bf6ce2 ; * test/src/buffer-tests.el (test-overlay-randomly):
new test.
adds fe14454101 Debug check overlay tree invariants
adds 4f3f7aebc9 itree.c: Use `interval_tree_inherit_offset`
adds 7cbeeabc7e Tighten up handling of `otick`
adds 246acbddbe ; * test/src/buffer-tests.el: Remove unecessary
`message' calls.
adds 67b9e89a5a Improve check_subtree
adds 51a8e375eb Check red-black invariants in most places
adds a154259bfa Simplify itree_null initialization
adds da0387f0fe Stop reading and writing the itree_null.parent field
entirely.
adds 12836db6e4 itree.c (check_tree): Simplify
adds 034d504158 ; * .clang-format: Add ITREE_FOREACH.
adds fda8723be6 ; * src/itree.c (check_tree): assert that the tree root
is black
adds 65a7b5a802 ; * src/itree.c (check_subtree): fix logical error in
eassert
adds b865053874 src/textprop.c (get_char_property_and_overlay): Fix
bug#58479
adds 258e618364 Delete the itree_null sentinel node, use NULL everywhere.
adds 4020dde296 ; * src/itree.c: remove 'inline' from functions with
extern linkage
adds 75bfb2614d Rename itree iterators with itree_iterator prefix
adds 19f5431cf6 * src/itree.c: Eliminate all prototypes for static
functions
adds 1c44f6c83d ; * src/buffer.c (set_overlay_region): remove unused
function.
adds 8159d8b1a7 Remove the ITREE_NULL macro and use NULL everywhere.
adds 06252617b2 Revert "mark_overlays: Use the normal ITREE_FOREACH"
adds f421b58db5 Prefix all itree.h type names with itree_
adds 37a1145410 Rename all exported itree.h functions with the itree_
prefix
adds a2fde77b5c Fix handling of overlays that begin at END in
'overlays_in'
adds f2a51774a9 Fix a narrow-to-region vs. overlays-at bug
adds 555bc1f8b3 Add `get-pos-property' tests covering bug#58706
adds b78be2bf7a Fix `get-pos-property' for the new overlay
implementation.
adds 9d7ba2b199 Fix compiler warning about possible null pointer
dereference
new 71589b101c Merge remote-tracking branch 'origin/feature/noverlay'
Summary of changes:
.clang-format | 2 +-
configure.ac | 1 +
src/Makefile.in | 39 +-
src/alloc.c | 60 +-
src/buffer.c | 1505 +++-----
src/buffer.h | 110 +-
src/editfns.c | 67 +-
src/eval.c | 1 +
src/fileio.c | 3 +-
src/fns.c | 15 +-
src/indent.c | 5 +-
src/insdel.c | 12 -
src/intervals.c | 4 +-
src/itree.c | 1421 +++++++
src/itree.h | 181 +
src/keyboard.c | 4 +-
src/lisp.h | 9 +-
src/pdumper.c | 68 +-
src/print.c | 14 +-
src/textprop.c | 57 +-
src/window.h | 10 +
src/xdisp.c | 195 +-
src/xfaces.c | 17 +-
test/manual/noverlay/.gitignore | 1 +
test/manual/noverlay/Makefile.in | 32 +
test/manual/noverlay/check-sanitize.sh | 11 +
test/manual/noverlay/emacs-compat.h | 52 +
test/manual/noverlay/itree-tests.c | 1381 +++++++
test/manual/noverlay/many-errors.py | 2480 ++++++++++++
test/manual/noverlay/overlay-perf.el | 764 ++++
test/src/buffer-tests.el | 6665 ++++++++++++++++++++++++++++++++
31 files changed, 13775 insertions(+), 1411 deletions(-)
create mode 100644 src/itree.c
create mode 100644 src/itree.h
create mode 100644 test/manual/noverlay/.gitignore
create mode 100644 test/manual/noverlay/Makefile.in
create mode 100755 test/manual/noverlay/check-sanitize.sh
create mode 100644 test/manual/noverlay/emacs-compat.h
create mode 100644 test/manual/noverlay/itree-tests.c
create mode 100644 test/manual/noverlay/many-errors.py
create mode 100644 test/manual/noverlay/overlay-perf.el
- master updated (69121c33e4 -> 71589b101c),
Stefan Monnier <=