GNU bug report logs -
#16279
24.3.50; [PATCH] eww: eww-history-mode fixup.
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#16279: 24.3.50; [PATCH] eww: eww-history-mode fixup.
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 16279 <at> debbugs.gnu.org.
--
16279: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16279
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
>>>>> Kenjiro NAKAYAMA <nakayamakenjiro <at> gmail.com> writes:
> Date: Sun, 29 Dec 2013 00:00:52 +0900
> Since current eww-history does not work well, I fixed. Please review
> and install it to the official tree if appreciated.
> Signed-off-by: Kenjiro NAKAYAMA <nakayamakenjiro <at> gmail.com>
> * net/eww.el (eww-list-histories,eww-history-browse): Fixup.
> (eww-history-quit): Delete and use quit-window.
> (eww-history-kill): Delete, because it doesn't work well and
> not necessary.
> (eww-history-mode-map): Delete some keys and add easy-menu.
[…]
Except for the line numbers and such, this exact diff was
applied as e8fcf8ca81c8 back in January. Thus I guess this bug
report may safely be closed.
That being said, I’d disagree that eww-history-kill is not
necessary: the eww-history records contain pages’ DOMs, sources,
and rendered texts (as :dom, :source and :text properties,
respectively), and the only currently “supported” way to clear
that is to kill a specific EWW buffer and create one anew, which
isn’t all that fine-grained, as it seems.
--
FSF associate member #7257 http://boycottsystemd.org/
[Message part 4 (application/octet-stream, inline)]
[Message part 5 (message/rfc822, inline)]
Since current eww-history does not work well, I fixed.
Please review and install it to the official tree if appreciated.
Signed-off-by: Kenjiro NAKAYAMA <nakayamakenjiro <at> gmail.com>
* net/eww.el (eww-list-histories,eww-history-browse): Fixup.
(eww-history-quit): Delete and use quit-window.
(eww-history-kill): Delete, because it doesn't work well and
not necessary.
(eww-history-mode-map): Delete some keys and add easy-menu.
---
lisp/net/eww.el | 90 +++++++++++++++++++++++----------------------------------
1 file changed, 36 insertions(+), 54 deletions(-)
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 25309d1..2fc30b7 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -1282,32 +1282,30 @@ Differences in #targets are ignored."
(interactive)
(when (null eww-history)
(error "No eww-histories are defined"))
- (set-buffer (get-buffer-create "*eww history*"))
- (eww-history-mode)
- (let ((inhibit-read-only t)
- (domain-length 0)
- (title-length 0)
- url title format start)
- (erase-buffer)
- (dolist (history eww-history)
- (setq start (point))
- (setq domain-length (max domain-length (length (plist-get history :url))))
- (setq title-length (max title-length (length (plist-get history :title))))
- )
- (setq format (format "%%-%ds %%-%ds" title-length domain-length)
- header-line-format
- (concat " " (format format "Title" "URL")))
-
- (dolist (history eww-history)
- (setq url (plist-get history :url))
- (setq title (plist-get history :title))
- (insert (format format title url))
- (insert "\n")
- (put-text-property start (point) 'eww-history history)
- )
- (goto-char (point-min)))
- (pop-to-buffer "*eww history*")
- )
+ (let ((eww-history-trans eww-history))
+ (set-buffer (get-buffer-create "*eww history*"))
+ (eww-history-mode)
+ (let ((inhibit-read-only t)
+ (domain-length 0)
+ (title-length 0)
+ url title format start)
+ (erase-buffer)
+ (dolist (history eww-history-trans)
+ (setq start (point))
+ (setq domain-length (max domain-length (length (plist-get history :url))))
+ (setq title-length (max title-length (length (plist-get history :title)))))
+ (setq format (format "%%-%ds %%-%ds" title-length domain-length)
+ header-line-format
+ (concat " " (format format "Title" "URL")))
+ (dolist (history eww-history-trans)
+ (setq start (point))
+ (setq url (plist-get history :url))
+ (setq title (plist-get history :title))
+ (insert (format format title url))
+ (insert "\n")
+ (put-text-property start (1+ start) 'eww-history history))
+ (goto-char (point-min)))
+ (pop-to-buffer "*eww history*")))
(defun eww-history-browse ()
"Browse the history under point in eww."
@@ -1315,39 +1313,23 @@ Differences in #targets are ignored."
(let ((history (get-text-property (line-beginning-position) 'eww-history)))
(unless history
(error "No history on the current line"))
- (eww-history-quit)
- (pop-to-buffer "*eww*")
- (eww-browse-url (plist-get history :url))))
-
-(defun eww-history-quit ()
- "Kill the current buffer."
- (interactive)
- (kill-buffer (current-buffer)))
-
-(defvar eww-history-kill-ring nil)
-
-(defun eww-history-kill ()
- "Kill the current history."
- (interactive)
- (let* ((start (line-beginning-position))
- (history (get-text-property start 'eww-history))
- (inhibit-read-only t))
- (unless history
- (error "No history on the current line"))
- (forward-line 1)
- (push (buffer-substring start (point)) eww-history-kill-ring)
- (delete-region start (point))
- (setq eww-history (delq history eww-history))
- ))
+ (quit-window)
+ (eww-restore-history history)))
(defvar eww-history-mode-map
(let ((map (make-sparse-keymap)))
(suppress-keymap map)
- (define-key map "q" 'eww-history-quit)
- (define-key map [(control k)] 'eww-history-kill)
+ (define-key map "q" 'quit-window)
(define-key map "\r" 'eww-history-browse)
- (define-key map "n" 'next-error-no-select)
- (define-key map "p" 'previous-error-no-select)
+;; (define-key map "n" 'next-error-no-select)
+;; (define-key map "p" 'previous-error-no-select)
+
+ (easy-menu-define nil map
+ "Menu for `eww-history-mode-map'."
+ '("Eww History"
+ ["Exit" quit-window t]
+ ["Browse" eww-history-browse
+ :active (get-text-property (line-beginning-position) 'eww-history)]))
map))
(define-derived-mode eww-history-mode nil "eww history"
--
1.8.3.1
Kenjiro
This bug report was last modified 10 years and 315 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.