emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 280b40cd8a 2/2: Enable undo in eww buffers


From: Lars Ingebrigtsen
Subject: master 280b40cd8a 2/2: Enable undo in eww buffers
Date: Tue, 13 Sep 2022 08:33:29 -0400 (EDT)

branch: master
commit 280b40cd8a46b325768f757ae9b50064524a46e1
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Enable undo in eww buffers
    
    * lisp/net/eww.el (eww-render): Enable undo after rendering.  This
    allows using `undo' in text input boxes.
    (eww-setup-buffer): Disable undo before rendering (bug#57750).
    
    * lisp/net/shr.el (shr-image-fetched): Inhibit undo tracking.
---
 lisp/net/eww.el | 8 ++++++--
 lisp/net/shr.el | 2 ++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 6ed0719eca..35e5bdd734 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -626,7 +626,10 @@ The renaming scheme is performed in accordance with
            (setq eww-history-position 0)
            (and last-coding-system-used
                 (set-buffer-file-coding-system last-coding-system-used))
-           (run-hooks 'eww-after-render-hook)))
+           (run-hooks 'eww-after-render-hook)
+            ;; Enable undo again so that undo works in text input
+            ;; boxes.
+            (setq buffer-undo-list nil)))
       (kill-buffer data-buffer))))
 
 (defun eww-parse-headers ()
@@ -928,7 +931,8 @@ The renaming scheme is performed in accordance with
   ;; May be set later if there's a next/prev link.
   (setq-local multi-isearch-next-buffer-function nil)
   (unless (eq major-mode 'eww-mode)
-    (eww-mode)))
+    (eww-mode))
+  (buffer-disable-undo))
 
 (defun eww-current-url nil
   "Return URI of the Web page the current EWW buffer is visiting."
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 248faeb223..a06978d9ce 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -1019,6 +1019,8 @@ the mouse click event."
                (widen)
                (let ((alt (buffer-substring start end))
                      (properties (text-properties-at start))
+                      ;; We don't want to record these changes.
+                      (buffer-undo-list t)
                      (inhibit-read-only t))
                  (delete-region start end)
                  (goto-char start)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]