[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r115667: eww: minor code fixes and toolbar support
From: |
Teodor Zlatanov |
Subject: |
[Emacs-diffs] trunk r115667: eww: minor code fixes and toolbar support |
Date: |
Sat, 21 Dec 2013 20:12:18 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 115667
revision-id: address@hidden
parent: address@hidden
author: RĂ¼diger Sonderfeld <address@hidden>
committer: Ted Zlatanov <address@hidden>
branch nick: quickfixes
timestamp: Sat 2013-12-21 15:13:09 -0500
message:
eww: minor code fixes and toolbar support
* net/eww.el (eww-back-url, eww-forward-url, eww-next-url)
(eww-previous-url, eww-up-url, eww-top-url, eww-add-bookmark)
(eww-bookmark-prepare, eww-bookmark-kill, eww-bookmark-yank)
(eww-bookmark-browse, eww-next-bookmark, eww-previous-bookmark):
Use `user-error'.
(eww-bookmark-mode-map): Add menu.
(eww-render, eww-mode): Use `setq-local'.
(eww-tool-bar-map): New variable.
(eww-mode): Set `tool-bar-map'.
(eww-view-source): Check for `html-mode' with `fboundp'.
modified:
lisp/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1432
lisp/net/eww.el eww.el-20130610114603-80ap3gwnw4x4m5ix-1
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2013-12-21 17:54:16 +0000
+++ b/lisp/ChangeLog 2013-12-21 20:13:09 +0000
@@ -1,3 +1,16 @@
+2013-12-21 RĂ¼diger Sonderfeld <address@hidden>
+
+ * net/eww.el (eww-back-url, eww-forward-url, eww-next-url)
+ (eww-previous-url, eww-up-url, eww-top-url, eww-add-bookmark)
+ (eww-bookmark-prepare, eww-bookmark-kill, eww-bookmark-yank)
+ (eww-bookmark-browse, eww-next-bookmark, eww-previous-bookmark):
+ Use `user-error'.
+ (eww-bookmark-mode-map): Add menu.
+ (eww-render, eww-mode): Use `setq-local'.
+ (eww-tool-bar-map): New variable.
+ (eww-mode): Set `tool-bar-map'.
+ (eww-view-source): Check for `html-mode' with `fboundp'.
+
2013-12-21 Lars Magne Ingebrigtsen <address@hidden>
* net/shr.el (shr--extract-best-source): Don't bug out on audio
=== modified file 'lisp/net/eww.el'
--- a/lisp/net/eww.el 2013-12-19 16:25:25 +0000
+++ b/lisp/net/eww.el 2013-12-21 20:13:09 +0000
@@ -171,12 +171,12 @@
(let ((redirect (plist-get status :redirect)))
(when redirect
(setq url redirect)))
- (set (make-local-variable 'eww-next-url) nil)
- (set (make-local-variable 'eww-previous-url) nil)
- (set (make-local-variable 'eww-up-url) nil)
- (set (make-local-variable 'eww-home-url) nil)
- (set (make-local-variable 'eww-start-url) nil)
- (set (make-local-variable 'eww-contents-url) nil)
+ (setq-local eww-next-url nil)
+ (setq-local eww-previous-url nil)
+ (setq-local eww-up-url nil)
+ (setq-local eww-home-url nil)
+ (setq-local eww-start-url nil)
+ (setq-local eww-contents-url nil)
(let* ((headers (eww-parse-headers))
(content-type
(mail-header-parse-content-type
@@ -388,7 +388,7 @@
(delete-region (point-min) (point-max))
(insert (or eww-current-source "no source"))
(goto-char (point-min))
- (when (featurep 'html-mode)
+ (when (fboundp 'html-mode)
(html-mode)))
(view-buffer buf)))
@@ -438,18 +438,35 @@
["List cookies" url-cookie-list t]))
map))
+(defvar eww-tool-bar-map
+ (let ((map (make-sparse-keymap)))
+ (dolist (tool-bar-item
+ '((eww-quit . "close")
+ (eww-reload . "refresh")
+ (eww-back-url . "left-arrow")
+ (eww-forward-url . "right-arrow")
+ (eww-view-source . "show")
+ (eww-copy-page-url . "copy")
+ (eww-add-bookmark . "bookmark_add"))) ;; ...
+ (tool-bar-local-item-from-menu
+ (car tool-bar-item) (cdr tool-bar-item) map eww-mode-map))
+ map)
+ "Tool bar for `eww-mode'.")
+
(define-derived-mode eww-mode nil "eww"
"Mode for browsing the web.
\\{eww-mode-map}"
;; FIXME? This seems a strange default.
- (set (make-local-variable 'eww-current-url) 'author)
- (set (make-local-variable 'eww-current-dom) nil)
- (set (make-local-variable 'eww-current-source) nil)
- (set (make-local-variable 'browse-url-browser-function) 'eww-browse-url)
- (set (make-local-variable 'after-change-functions) 'eww-process-text-input)
- (set (make-local-variable 'eww-history) nil)
- (set (make-local-variable 'eww-history-position) 0)
+ (setq-local eww-current-url 'author)
+ (setq-local eww-current-dom nil)
+ (setq-local eww-current-source nil)
+ (setq-local browse-url-browser-function 'eww-browse-url)
+ (setq-local after-change-functions 'eww-process-text-input)
+ (setq-local eww-history nil)
+ (setq-local eww-history-position 0)
+ (when (boundp 'tool-bar-map)
+ (setq-local tool-bar-map eww-tool-bar-map))
(buffer-disable-undo)
;;(setq buffer-read-only t)
)
@@ -474,7 +491,7 @@
"Go to the previously displayed page."
(interactive)
(when (>= eww-history-position (length eww-history))
- (error "No previous page"))
+ (user-error "No previous page"))
(eww-save-history)
(setq eww-history-position (+ eww-history-position 2))
(eww-restore-history (elt eww-history (1- eww-history-position))))
@@ -483,7 +500,7 @@
"Go to the next displayed page."
(interactive)
(when (zerop eww-history-position)
- (error "No next page"))
+ (user-error "No next page"))
(eww-save-history)
(eww-restore-history (elt eww-history (1- eww-history-position))))
@@ -505,7 +522,7 @@
(interactive)
(if eww-next-url
(eww-browse-url (shr-expand-url eww-next-url eww-current-url))
- (error "No `next' on this page")))
+ (user-error "No `next' on this page")))
(defun eww-previous-url ()
"Go to the page marked `previous'.
@@ -514,7 +531,7 @@
(interactive)
(if eww-previous-url
(eww-browse-url (shr-expand-url eww-previous-url eww-current-url))
- (error "No `previous' on this page")))
+ (user-error "No `previous' on this page")))
(defun eww-up-url ()
"Go to the page marked `up'.
@@ -523,7 +540,7 @@
(interactive)
(if eww-up-url
(eww-browse-url (shr-expand-url eww-up-url eww-current-url))
- (error "No `up' on this page")))
+ (user-error "No `up' on this page")))
(defun eww-top-url ()
"Go to the page marked `top'.
@@ -535,7 +552,7 @@
eww-home-url)))
(if best-url
(eww-browse-url (shr-expand-url best-url eww-current-url))
- (error "No `top' for this page"))))
+ (user-error "No `top' for this page"))))
(defun eww-reload ()
"Reload the current page."
@@ -1073,7 +1090,7 @@
(dolist (bookmark eww-bookmarks)
(when (equal eww-current-url
(plist-get bookmark :url))
- (error "Already bookmarked")))
+ (user-error "Already bookmarked")))
(if (y-or-n-p "bookmark this page? ")
(progn
(let ((title (replace-regexp-in-string "[\n\t\r]" " "
eww-current-title)))
@@ -1106,8 +1123,8 @@
(defun eww-bookmark-prepare ()
(eww-read-bookmarks)
- (when (null eww-bookmarks)
- (error "No bookmarks are defined"))
+ (unless eww-bookmarks
+ (user-error "No bookmarks are defined"))
(set-buffer (get-buffer-create "*eww bookmarks*"))
(eww-bookmark-mode)
(let ((format "%-40s %s")
@@ -1135,7 +1152,7 @@
(bookmark (get-text-property start 'eww-bookmark))
(inhibit-read-only t))
(unless bookmark
- (error "No bookmark on the current line"))
+ (user-error "No bookmark on the current line"))
(forward-line 1)
(push (buffer-substring start (point)) eww-bookmark-kill-ring)
(delete-region start (point))
@@ -1146,7 +1163,7 @@
"Yank a previously killed bookmark to the current line."
(interactive)
(unless eww-bookmark-kill-ring
- (error "No previously killed bookmark"))
+ (user-error "No previously killed bookmark"))
(beginning-of-line)
(let ((inhibit-read-only t)
(start (point))
@@ -1170,7 +1187,7 @@
(interactive)
(let ((bookmark (get-text-property (line-beginning-position) 'eww-bookmark)))
(unless bookmark
- (error "No bookmark on the current line"))
+ (user-error "No bookmark on the current line"))
;; We wish to leave this window, but if it's the only window here,
;; just let it remain.
(ignore-errors
@@ -1192,7 +1209,7 @@
(setq bookmark (get-text-property (line-beginning-position)
'eww-bookmark))
(unless bookmark
- (error "No next bookmark")))
+ (user-error "No next bookmark")))
(eww-browse-url (plist-get bookmark :url))))
(defun eww-previous-bookmark ()
@@ -1211,7 +1228,7 @@
(when (eolp)
(forward-line -1))
(if (bobp)
- (error "No previous bookmark")
+ (user-error "No previous bookmark")
(forward-line -1))
(setq bookmark (get-text-property (line-beginning-position)
'eww-bookmark)))
@@ -1224,6 +1241,17 @@
(define-key map [(control k)] 'eww-bookmark-kill)
(define-key map [(control y)] 'eww-bookmark-yank)
(define-key map "\r" 'eww-bookmark-browse)
+
+ (easy-menu-define nil map
+ "Menu for `eww-bookmark-mode-map'."
+ '("Eww Bookmark"
+ ["Exit" eww-bookmark-quit t]
+ ["Browse" eww-bookmark-browse
+ :active (get-text-property (line-beginning-position) 'eww-bookmark)]
+ ["Kill" eww-bookmark-kill
+ :active (get-text-property (line-beginning-position) 'eww-bookmark)]
+ ["Yank" eww-bookmark-yank
+ :active eww-bookmark-kill-ring]))
map))
(define-derived-mode eww-bookmark-mode nil "eww bookmarks"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r115667: eww: minor code fixes and toolbar support,
Teodor Zlatanov <=