[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/dslide df1fca1b87 167/230: animations are set up without r
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/dslide df1fca1b87 167/230: animations are set up without restriction |
Date: |
Sun, 7 Jul 2024 19:00:32 -0400 (EDT) |
branch: elpa/dslide
commit df1fca1b873423dd39807412a664980a84a6d866
Author: Psionik K <73710933+psionic-k@users.noreply.github.com>
Commit: Psionik K <73710933+psionic-k@users.noreply.github.com>
animations are set up without restriction
this enables the newline search and other functions to succeed even though
the
animation might be added to a region that is outside the current
restriction.
Same with setting invisibility spec to nil, though that will only apply to
folding iirc
Signed-off-by: Psionik K <73710933+psionic-k@users.noreply.github.com>
---
dslide.el | 53 +++++++++++++++++++++++++++--------------------------
1 file changed, 27 insertions(+), 26 deletions(-)
diff --git a/dslide.el b/dslide.el
index ad9d3122c0..52aee22696 100644
--- a/dslide.el
+++ b/dslide.el
@@ -2260,32 +2260,33 @@ assumes the buffer is restricted and that there is a
first tree."
Everything after BEG will be animated. The region between BEG
and the value of `point-max' should contain a newline somewhere."
(dslide--ensure-slide-buffer)
- (let* ((timer (timer-create))
- (goal-time (time-add (current-time)
- dslide-animation-duration))
- (newline-region (save-match-data
- (save-excursion
- ;; TODO invalid search range (point in wrong
place)
- (goto-char beg)
- (if (re-search-forward "\n" end t)
- (list (match-beginning 0)
- (match-end 0))
- (error "No newline in region")))))
- (overlay (apply #'make-overlay newline-region))
- (initial-line-height
- (or (plist-get
- (text-properties-at (car newline-region))
- 'line-height)
- 1.0)))
- (overlay-put overlay 'line-height dslide-slide-in-blank-lines)
- (overlay-put overlay 'priority 10)
- (push timer dslide--animation-timers)
- (push overlay dslide--animation-overlays)
- (timer-set-time timer (current-time)
- dslide-animation-frame-duration)
- (timer-set-function timer #'dslide--animate
- (list timer goal-time overlay initial-line-height))
- (timer-activate timer)))
+ (without-restriction
+ (let* ((buffer-invisibility-spec nil)
+ (timer (timer-create))
+ (goal-time (time-add (current-time)
+ dslide-animation-duration))
+ (newline-region (save-match-data
+ (save-excursion
+ (goto-char beg)
+ (if (re-search-forward "\n" end t)
+ (list (match-beginning 0)
+ (match-end 0))
+ (error "No newline in region")))))
+ (overlay (apply #'make-overlay newline-region))
+ (initial-line-height
+ (or (plist-get
+ (text-properties-at (car newline-region))
+ 'line-height)
+ 1.0)))
+ (overlay-put overlay 'line-height dslide-slide-in-blank-lines)
+ (overlay-put overlay 'priority 10)
+ (push timer dslide--animation-timers)
+ (push overlay dslide--animation-overlays)
+ (timer-set-time timer (current-time)
+ dslide-animation-frame-duration)
+ (timer-set-function timer #'dslide--animate
+ (list timer goal-time overlay initial-line-height))
+ (timer-activate timer))))
(defun dslide--animate (timer goal-time overlay initial-line-height)
(if (time-less-p goal-time (current-time))
- [nongnu] elpa/dslide 7e0cf003b0 092/230: don't log feedback messages to the message log, (continued)
- [nongnu] elpa/dslide 7e0cf003b0 092/230: don't log feedback messages to the message log, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide 1472ac4601 137/230: package lint, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide d33205f260 138/230: soft-require hide-mode-line, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide c131653996 139/230: Remove extraneous +1, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide 76ff3c1b06 151/230: - dumping off some minor cleanup line noise, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide bdc16a2b5d 148/230: multiple animation timers, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide ccb8064891 152/230: ensure-slide-buffer only displays when not already displayed, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide cd785d24b3 160/230: Override default dbase-end implementation for image action, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide 24253f64c0 157/230: introducing reverse-in-place, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide dbcf00d38d 161/230: allow inclusive matching in section mapping, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide df1fca1b87 167/230: animations are set up without restriction,
ELPA Syncer <=
- [nongnu] elpa/dslide 659a5d1429 169/230: inline child action overhaul. much better, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide 90f9ff272d 175/230: correcting some mininformation, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide 0f123e3638 177/230: Rename DSLIDE_SECTION_ACTIONS -> DSLIDE_ACTIONS, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide fd7acfa477 186/230: fix item reveal progress indication (broken a bit in recent rewrite), ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide afff88a6ca 202/230: Update following buffers even in different frames, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide 57eca5d498 203/230: dslide-develop initialization was not quite complete, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide 8a893d858b 215/230: Proper generic methods for eldoc completions, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide 8f2a651695 212/230: cleanups-for-elpa, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide 299a4de7da 220/230: replace video link with github asset, ELPA Syncer, 2024/07/07
- [nongnu] elpa/dslide 164392855b 227/230: Small fixups for the readme rendering, ELPA Syncer, 2024/07/07