[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/auto-overlays 9fe619d 85/93: Fix bugs in auto-overlay s
From: |
Stefan Monnier |
Subject: |
[elpa] externals/auto-overlays 9fe619d 85/93: Fix bugs in auto-overlay saving/loading. |
Date: |
Mon, 14 Dec 2020 13:00:44 -0500 (EST) |
branch: externals/auto-overlays
commit 9fe619db3bfd05d000a4e59684bc7c69e1a940c8
Author: Toby S. Cubitt <toby-predictive@dr-qubit.org>
Commit: Toby S. Cubitt <toby-predictive@dr-qubit.org>
Fix bugs in auto-overlay saving/loading.
---
auto-overlays.el | 38 ++++++++++++++++++++------------------
1 file changed, 20 insertions(+), 18 deletions(-)
diff --git a/auto-overlays.el b/auto-overlays.el
index 205aa6d..60a2b80 100644
--- a/auto-overlays.el
+++ b/auto-overlays.el
@@ -1087,22 +1087,22 @@ other. TO-BUFFER defaults to the current buffer."
-(defun auto-overlay-start (set-id &optional buffer save-file no-regexp-check)
+(defun auto-overlay-start (set-id &optional buffer overlay-file
no-regexp-check)
"Activate the set of auto-overlay regexps identified by SET-ID
in BUFFER, or the current buffer if none is specified.
-If optional argument SAVE-FILE is nil, it will try to load the
-overlays from the default save file if it exists. If SAVE-FILE is
-a string, it specifies the location of the file (if only a
+If optional argument OVERLAY-FILE is nil, try to load the
+overlays from the default save file if it exists. If OVERLAY-FILE
+is a string, it specifies the location of the file (if only a
directory is given, it will look for the default filename in that
directory). Anything else will cause the save file to be ignored,
-and the buffer will be reparsed from scratch, as it will be if
-the save file does not exist.
+and the buffer will be reparsed from scratch, as if the save file
+did not exist.
If the overlays are being loaded from a save file, but optional
argument NO-REGEXP-CHECK is non-nil, the file of saved overlays
will be used, but no check will be made to ensure regexp
-refinitions are the same as when the overlays were saved."
+definitions are the same as when the overlays were saved."
(save-excursion
(when buffer (set-buffer buffer))
@@ -1125,8 +1125,8 @@ refinitions are the same as when the overlays were saved."
;; for the regexp set
(auto-o-enable-set set-id)
;; try to load overlays from file
- (unless (and (or (null save-file) (stringp save-file))
- (auto-overlay-load-overlays set-id nil save-file
+ (unless (and (or (null overlay-file) (stringp overlay-file))
+ (auto-overlay-load-overlays set-id nil overlay-file
no-regexp-check))
;; if loading from file was unsuccessful, search for new auto overlays
(auto-o-parse-buffer set-id)))
@@ -1229,9 +1229,14 @@ The overlays can be loaded again later using
;; get sorted list of all match overlays in set SET-ID
(setq overlay-list
- (auto-overlays-in (point-min) (point-max) :all-overlays t
- '(identity auto-overlay-match)
- `(eq set-id ,set-id)))
+ (sort (auto-overlays-in (point-min) (point-max)
+ :all-overlays t
+ 'auto-overlay-match
+ `(eq set-id ,set-id))
+ (lambda (a b)
+ (or (< (overlay-start a) (overlay-start b))
+ (and (= (overlay-start a) (overlay-start b))
+ (< (overlay-end a) (overlay-end b)))))))
;; write overlay data to temporary buffer
(mapc (lambda (o)
@@ -1279,8 +1284,8 @@ overlays were saved."
(when buffer (set-buffer buffer))
;; construct filename
- (let ((path (or (and file (file-name-directory file)) ""))
- (filename (and file (file-name-nondirectory file))))
+ (let ((path (or (and file (file-name-directory file)) ""))
+ (filename (or (and file (file-name-nondirectory file)) "")))
;; use default filename if none supplied
;; FIXME: should we throw error if buffer not associated with file?
(when (string= filename "")
@@ -1290,10 +1295,7 @@ overlays were saved."
;; return nil if file does not exist
- (if (not (file-exists-p file))
- nil
-
- ;; otherwise...
+ (when (file-exists-p file)
(let ((buff (find-file-noselect file t))
md5-buff md5-regexp data o-match o-new lines
(i 0))
- [elpa] externals/auto-overlays 55e868d 30/93: auto-o-suicide also needs to remove old properties., (continued)
- [elpa] externals/auto-overlays 55e868d 30/93: auto-o-suicide also needs to remove old properties., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 5d5e09e 45/93: trivial whitespace changes, Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 0936d26 39/93: Work around goto-line bug., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays ff75a63 49/93: Bug-fix in auto-overlay-load-definition, Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 9e8ef72 36/93: Modified interface functions for defining auto-overlay regexps., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 5539596 56/93: Added missing (eval-when-compile (require 'cl))., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 0f02ef9 57/93: Fixed minor spelling errors in docstrings., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays f66e655 66/93: Update package headers for ELPA., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays cdf4e6a 70/93: Fix copyright assignment in auto-overlays manual., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 464d9ea 77/93: Refactor auto-overlay-regexps format and implement match hooks., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 9fe619d 85/93: Fix bugs in auto-overlay saving/loading.,
Stefan Monnier <=
- [elpa] externals/auto-overlays e6e8a76 87/93: Fix auto-overlay package loading so requiring auto-overlayys pulls in all standard classes., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays c9abb18 15/93: Added "flat" regexp class to auto overlay package., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 90829f9 16/93: Miscelaneous minor corrections., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 878dfb6 28/93: More narrowing bugs., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 262dfd9 21/93: Brought docs up to date with latest auto-overlays.el changes., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 8d0dd07 26/93: Fixed bug due to narrowed buffer; improved update scheduling to avoid duplicate parses., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays bf24ebe 37/93: auto-overlay-unload functions now return regexp/definition being unloadewd., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 4d21f05 41/93: delete trailing whitespace, Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 6fb30c5 54/93: Compiler warning supression, and trivial code cleanup., Stefan Monnier, 2020/12/14
- [elpa] externals/auto-overlays 3b6c32d 76/93: Implement auto-overlay regexp :exclusive property., Stefan Monnier, 2020/12/14