diff --git a/0001-fix-ub-in-diff-gutter.patch b/0001-fix-ub-in-diff-gutter.patch deleted file mode 100644 index 2bad1e2..0000000 --- a/0001-fix-ub-in-diff-gutter.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 269f637847140ddb9537efde4968bd92c91c9e1e Mon Sep 17 00:00:00 2001 -From: Pascal Kuthe -Date: Sun, 4 Jun 2023 16:59:01 +0200 -Subject: [PATCH] fix UB in diff gutter - ---- - helix-vcs/src/diff/line_cache.rs | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/helix-vcs/src/diff/line_cache.rs b/helix-vcs/src/diff/line_cache.rs -index 8e48250f157e..460a2065e8ed 100644 ---- a/helix-vcs/src/diff/line_cache.rs -+++ b/helix-vcs/src/diff/line_cache.rs -@@ -20,8 +20,8 @@ use super::{MAX_DIFF_BYTES, MAX_DIFF_LINES}; - /// A cache that stores the `lines` of a rope as a vector. - /// It allows safely reusing the allocation of the vec when updating the rope - pub(crate) struct InternedRopeLines { -- diff_base: Rope, -- doc: Rope, -+ diff_base: Box, -+ doc: Box, - num_tokens_diff_base: u32, - interned: InternedInput>, - } -@@ -34,8 +34,8 @@ impl InternedRopeLines { - after: Vec::with_capacity(doc.len_lines()), - interner: Interner::new(diff_base.len_lines() + doc.len_lines()), - }, -- diff_base, -- doc, -+ diff_base: Box::new(diff_base), -+ doc: Box::new(doc), - // will be populated by update_diff_base_impl - num_tokens_diff_base: 0, - }; -@@ -44,19 +44,19 @@ impl InternedRopeLines { - } - - pub fn doc(&self) -> Rope { -- self.doc.clone() -+ Rope::clone(&*self.doc) - } - - pub fn diff_base(&self) -> Rope { -- self.diff_base.clone() -+ Rope::clone(&*self.diff_base) - } - - /// Updates the `diff_base` and optionally the document if `doc` is not None - pub fn update_diff_base(&mut self, diff_base: Rope, doc: Option) { - self.interned.clear(); -- self.diff_base = diff_base; -+ self.diff_base = Box::new(diff_base); - if let Some(doc) = doc { -- self.doc = doc -+ self.doc = Box::new(doc) - } - if !self.is_too_large() { - self.update_diff_base_impl(); -@@ -74,7 +74,7 @@ impl InternedRopeLines { - .interner - .erase_tokens_after(self.num_tokens_diff_base.into()); - -- self.doc = doc; -+ self.doc = Box::new(doc); - if self.is_too_large() { - self.interned.after.clear(); - } else {