[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/auto-overlays 1d15f76 71/93: Do perform self-cascade on
From: |
Stefan Monnier |
Subject: |
[elpa] externals/auto-overlays 1d15f76 71/93: Do perform self-cascade on overlays overlapping but not strictly before point. |
Date: |
Mon, 14 Dec 2020 13:00:41 -0500 (EST) |
branch: externals/auto-overlays
commit 1d15f76ab99d82b9d06c155c848fc83893235a26
Author: Toby S. Cubitt <toby-predictive@dr-qubit.org>
Commit: Toby S. Cubitt <toby-predictive@dr-qubit.org>
Do perform self-cascade on overlays overlapping but not strictly before
point.
Ensures overlay covering point is correctly end-matched before buffer
modification at point.
---
auto-overlay-self.el | 34 +++++++++++++++++++---------------
1 file changed, 19 insertions(+), 15 deletions(-)
diff --git a/auto-overlay-self.el b/auto-overlay-self.el
index b5c61cd..72c86e6 100644
--- a/auto-overlay-self.el
+++ b/auto-overlay-self.el
@@ -30,6 +30,7 @@
(provide 'auto-overlay-self)
(defvar auto-o-pending-self-cascade nil)
+(make-variable-buffer-local 'auto-o-pending-self-cascade)
;; set self overlay parsing and suicide functions
(put 'self 'auto-overlay-parse-function 'auto-o-parse-self-match)
@@ -54,9 +55,7 @@
(defun auto-o-self-unload ()
;; Remove `auto-o-perform-self-cascades' from `before-change-functions'.
- (remove-hook 'before-change-functions 'auto-o-perform-self-cascades t)
-)
-
+ (remove-hook 'before-change-functions 'auto-o-perform-self-cascades t))
@@ -110,6 +109,9 @@
;; end match which is now matched with start of new one
(auto-o-match-overlay o nil o-match 'no-props nil 'protect-match))
+ ;; cascade new overlay one step
+ (when overlay-list (auto-o-self-cascade (list o-new (car
overlay-list))))
+
;; return newly created overlay
o-new))
))
@@ -153,8 +155,7 @@
'unmatched)))
;; add parent to uncascaded overlay list
(push o-parent auto-o-pending-self-cascade))
- ))
-)
+ )))
@@ -200,9 +201,14 @@
(lambda (a b) (< (overlay-start a) (overlay-start b)))))
;; if buffer modification occurs after the end of an overlay waiting to be
;; cascaded, cascade all overlays between it and the modified text
- (when (and (overlay-end o) (< (overlay-end o) end))
- (auto-o-self-cascade (auto-o-self-list (overlay-get o 'start) end))))
-)
+ (when (and (overlay-start o) (<= (overlay-start o) beg))
+ (auto-o-self-cascade (auto-o-self-list
+ (overlay-get o 'start)
+ (max (save-excursion
+ (goto-char (overlay-end o))
+ (line-end-position))
+ end))))
+ ))
@@ -297,7 +303,6 @@
;; is null, all overlays after O-START are included.
(when (null end) (setq end (point-max)))
-
(let (overlay-list)
;; create list of all overlays corresponding to same entry between O-START
;; and END
@@ -308,14 +313,13 @@
;; (above) in all circumstances.
(auto-overlays-in
(1- (overlay-get o-start 'delim-start)) (1+ end)
- (list
- '(identity auto-overlay)
- (list 'eq 'set-id (overlay-get o-start 'set-id))
- (list 'eq 'definition-id (overlay-get o-start 'definition-id)))))
+ `((identity auto-overlay)
+ (eq set-id ,(overlay-get o-start 'set-id))
+ (eq definition-id ,(overlay-get o-start 'definition-id)))))
;; sort the list by start position, from first to last
(sort overlay-list
- (lambda (a b) (< (overlay-start a) (overlay-start b)))))
-)
+ (lambda (a b) (< (overlay-start a) (overlay-start b))))
+ ))
;;; auto-overlay-self.el ends here
- [elpa] externals/auto-overlays 39cb421 38/93: Save predictive mode auxiliary files to a subdirectory,, (continued)
- [elpa] externals/auto-overlays 39cb421 38/93: Save predictive mode auxiliary files to a subdirectory,, Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 6290c58 46/93: Added/modified local variables section to switch on predictive-mode automatically, Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 8859d17 35/93: Minor bug fixes., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 31a4d46 48/93: Bug-fixes in auto-overlay-load-overlays and auto-overlay-save-overlays, Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 68c4640 59/93: Updated Package-Version, Package-Requires, and Keywords package headers., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 2860354 58/93: Fixed obsolete functions and other compiler warnings., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 216dbc9 55/93: Use 'push' instead of 'add-to-line' in auto-o-schedule-extend-line, Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 9894591 63/93: Remove undo marker entry hacks, in the hope that things work correctly now!, Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays c34178b 68/93: Add auto-overlays autoloads., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 276e955 75/93: Add auto-overlay-load-set convenience function., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 1d15f76 71/93: Do perform self-cascade on overlays overlapping but not strictly before point.,
Stefan Monnier <=
- [elpa] externals/auto-overlays 02278f0 69/93: Fix direntry sections in texinfo files and dir file generation., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays f17a94b 88/93: Switch auto-overlays over to cl-lib and lexical binding., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 19de2f7 02/93: Version 0.8 of the predictive completion package., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 6c24aa3 10/93: Fixed minor bug in auto-overlay-save-overlays., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 36efcfd 89/93: Handle empty group in auto-o-regexp-match., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 5996143 73/93: Refactor auto-overlays-(in|[highest-priority-]at-point) search functions:, Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays c795dc2 81/93: Fix bug in auto-overlay-trigger-update., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 00fb155 91/93: * auto-overlay: Mark or remove unused vars, Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays d207912 93/93: * docs/auto-overlay-manual.texinfo: Move as a consequence of the git split, Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 0f1ee97 08/93: Version 0.12.2 of the predictive completion package., Stefan Monnier, 2020/12/14