(eww-quit): New command.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 10 Jun 2013 09:53:44 +0000 (11:53 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 10 Jun 2013 09:53:44 +0000 (11:53 +0200)
lisp/ChangeLog
lisp/eww.el

index 0bd0fe8..8193f93 100644 (file)
@@ -2,6 +2,7 @@
 
        * eww.el: Start writing a new, tiny web browser.
        (eww-previous-url): New command.
+       (eww-quit): New command.
 
 2013-06-10  Albert Krewinkel  <krewinkel@moltkeplatz.de>
 
index b43586b..c637154 100644 (file)
@@ -31,7 +31,6 @@
 
 (defvar eww-current-url nil)
 (defvar eww-history nil)
-(defvar eww-current-page nil)
 
 (defun eww (url)
   "Fetch URL and render the page."
          (libxml-parse-html-region (point) (point-max)))))
     (eww-setup-buffer)
     (setq eww-current-url url)
-    (shr-insert-document document)
+    (let ((inhibit-read-only t))
+      (shr-insert-document document))
     (goto-char (point-min))))
 
 (defun eww-display-raw (charset)
   (let ((data (buffer-substring (point) (point-max))))
     (eww-setup-buffer)
-    (insert data)
+    (let ((inhibit-read-only t))
+      (insert data))
     (goto-char (point-min))))
 
 (defun eww-display-image ()
   (let ((data (buffer-substring (point) (point-max))))
     (eww-setup-buffer)
-    (shr-put-image data nil)
+    (let ((inhibit-read-only t))
+      (shr-put-image data nil))
     (goto-char (point-min))))
 
 (defun eww-setup-buffer ()
   (pop-to-buffer (get-buffer-create "*eww*"))
-  (erase-buffer)
+  (let ((inhibit-read-only t))
+    (erase-buffer))
   (eww-mode))
 
 (defvar eww-mode-map
   (let ((map (make-sparse-keymap)))
+    (suppress-keymap map)
     (define-key map "q" 'eww-quit)
     (define-key map [tab] 'widget-forward)
     (define-key map [backtab] 'widget-backward)
+    (define-key map [delete] 'scroll-down-command)
+    (define-key map "\177" 'scroll-down-command)
+    (define-key map " " 'scroll-up-command)
     (define-key map "p" 'eww-previous-url)
     ;;(define-key map "n" 'eww-next-url)
     map))
        mode-name "eww")
   (set (make-local-variable 'eww-current-url) 'author)
   (set (make-local-variable 'browse-url-browser-function) 'eww-browse-url)
+  (setq buffer-read-only t)
   (use-local-map eww-mode-map))
 
 (defun eww-browse-url (url &optional new-window)
        eww-history)
   (eww url))
 
+(defun eww-quit ()
+  "Exit the Emacs Web Wowser."
+  (interactive)
+  (setq eww-history nil)
+  (kill-buffer (current-buffer)))
+
 (defun eww-previous-url ()
   "Go to the previously displayed page."
   (interactive)