[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/edit-indirect b461e559e1 05/28: Don't retrieve the buffer-
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/edit-indirect b461e559e1 05/28: Don't retrieve the buffer-local hook values before actual uses. |
Date: |
Thu, 7 Jul 2022 11:59:13 -0400 (EDT) |
branch: elpa/edit-indirect
commit b461e559e149d7a03c615ec3d0a85f592033fb89
Author: Fanael Linithien <fanael4@gmail.com>
Commit: Fanael Linithien <fanael4@gmail.com>
Don't retrieve the buffer-local hook values before actual uses.
---
edit-indirect.el | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/edit-indirect.el b/edit-indirect.el
index b9eebe10ed..0aa51085ff 100644
--- a/edit-indirect.el
+++ b/edit-indirect.el
@@ -228,17 +228,24 @@ nil."
BEG..END is the parent buffer region to insert.
OVERLAY is the overlay, see `edit-indirect--overlay'."
(let ((buffer (generate-new-buffer (format "*edit-indirect %s*"
(buffer-name))))
- (parent-buffer (current-buffer))
- ;; So we can use the buffer-local values from the parent buffer.
- (guess-fn edit-indirect-guess-mode-function)
- (creation-hook edit-indirect-after-creation-hook))
+ (parent-buffer (current-buffer)))
(overlay-put overlay 'edit-indirect-buffer buffer)
(with-current-buffer buffer
(insert-buffer-substring-no-properties parent-buffer beg end)
(set-buffer-modified-p nil)
(edit-indirect--mode overlay)
- (funcall guess-fn parent-buffer beg end)
- (let ((edit-indirect-after-creation-hook creation-hook))
+ ;; Use the buffer-local values from the parent buffer. Don't retrieve the
+ ;; values before actual uses in case these variables are changed by some
+ ;; of the many possible hooks.
+ ;; `with-current-buffer' is used instead of `buffer-local-value' because
+ ;; the latter doesn't give warnings about free variables when
+ ;; byte-compiled.
+ (funcall (with-current-buffer parent-buffer
+ edit-indirect-guess-mode-function)
+ parent-buffer beg end)
+ (let ((edit-indirect-after-creation-hook
+ (with-current-buffer parent-buffer
+ edit-indirect-after-creation-hook)))
(run-hooks 'edit-indirect-after-creation-hook)))
buffer))
- [nongnu] elpa/edit-indirect e01e7eeb79 04/28: Extract a nested let into a function., (continued)
- [nongnu] elpa/edit-indirect e01e7eeb79 04/28: Extract a nested let into a function., ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect 273910a944 11/28: Ensure commit hooks are always called with the correct region., ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect 215d3a714a 16/28: Release version 0.1.3, ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect de645d8144 21/28: Add edit-indirect-save function and keybinding, ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect 2fc8f382ee 19/28: Add before-commit-hook, ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect bdc8f542fe 23/28: Don't run buffer-local after-creation-hook twice, ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect f80f63822f 28/28: Make edit-indirect--should-quit-window persistent, ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect 03b6ac9ed1 25/28: Use a remap binding for save-buffer instead of hardcoded C-x C-s, ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect 7fffd87ac3 24/28: Don't modify buffer if nothing changed, ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect 16bcdbdae6 27/28: Add an overlay keymap for easy switching to active edit-indirect buffers, ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect b461e559e1 05/28: Don't retrieve the buffer-local hook values before actual uses.,
ELPA Syncer <=
- [nongnu] elpa/edit-indirect 7d9bcfced3 06/28: Extract buffer-local value handling into a macro., ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect 6fa78ff6f1 07/28: Prohibit modification at the beginning of the overlay., ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect f43936b3a4 12/28: Use `quit-window' instead of `kill-buffer-and-window`., ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect d1ab87fdfb 14/28: Release version 0.1.2., ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect 032ac0ec69 20/28: Try to preserve markers when committing, ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect e3d86416bc 26/28: Offer to commit edit-indirect buffers on save-buffers-kill-emacs, ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect ce6e60c705 08/28: Require Emacs 24.3, for user-error., ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect a28aba75f8 13/28: Don't separate sentences with double spaces., ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect 523f84cb7e 10/28: Release version 0.1.1., ELPA Syncer, 2022/07/07
- [nongnu] elpa/edit-indirect 45c4c72864 09/28: Use our own error signals inheriting from user-error., ELPA Syncer, 2022/07/07