--- browse-url.el 2007-10-19 18:18:50.000000000 -0400
+++ browse-url.original.el 2007-10-19 18:19:04.000000000 -0400
@@ -48,6 +48,7 @@
;; browse-url-w3-gnudoit w3 remotely
;; browse-url-iximosaic IXI Mosaic ?
;; browse-url-lynx-* Lynx 0
+;; browse-url-grail Grail 0.3b1
;; browse-url-mmm MMM ?
;; browse-url-generic arbitrary
;; browse-url-default-windows-browser MS-Windows browser
@@ -79,6 +80,14 @@
;; Emacs process is available from
;; .
+;; Grail is the freely available WWW browser implemented in Python, a
+;; cool object-oriented freely available interpreted language. Grail
+;; 0.3b1 was the first version to have remote control as distributed.
+;; For more information on Grail see
+;; and for more information on
+;; Python see . Grail support in
+;; browse-url.el written by Barry Warsaw .
+
;; Lynx is now distributed by the FSF. See also
;; .
@@ -253,6 +262,7 @@
:value browse-url-lynx-xterm)
(function-item :tag "Lynx in an Emacs window"
:value browse-url-lynx-emacs)
+ (function-item :tag "Grail" :value browse-url-grail)
(function-item :tag "MMM" :value browse-url-mmm)
(function-item :tag "KDE" :value browse-url-kde)
(function-item :tag "Elinks" :value browse-url-elinks)
@@ -1247,6 +1257,28 @@
(append browse-url-mosaic-arguments (list url)))
(message "Starting %s...done" browse-url-mosaic-program))))
+;; --- Grail ---
+
+(defvar browse-url-grail
+ (concat (or (getenv "GRAILDIR") "~/.grail") "/user/rcgrail.py")
+ "Location of Grail remote control client script `rcgrail.py'.
+Typically found in $GRAILDIR/rcgrail.py, or ~/.grail/user/rcgrail.py.")
+
+;;;###autoload
+(defun browse-url-grail (url &optional new-window)
+ "Ask the Grail WWW browser to load URL.
+Default to the URL around or before point. Runs the program in the
+variable `browse-url-grail'."
+ (interactive (browse-url-interactive-arg "Grail URL: "))
+ (message "Sending URL to Grail...")
+ (with-current-buffer (get-buffer-create " *Shell Command Output*")
+ (erase-buffer)
+ ;; don't worry about this failing.
+ (if (browse-url-maybe-new-window new-window)
+ (call-process browse-url-grail nil 0 nil "-b" url)
+ (call-process browse-url-grail nil 0 nil url))
+ (message "Sending URL to Grail... done")))
+
;; --- Mosaic using CCI ---
;;;###autoload
@@ -1352,6 +1384,7 @@
used instead of `browse-url-new-window-flag'."
(interactive (browse-url-interactive-arg "Lynx URL: "))
(let* ((system-uses-terminfo t) ; Lynx uses terminfo
+ ;; (term-term-name "vt100") ; ??
(buf (get-buffer "*lynx*"))
(proc (and buf (get-buffer-process buf)))
(n browse-url-lynx-input-attempts))
@@ -1486,7 +1519,7 @@
(defun browse-url-elinks-new-window (url)
"Ask the Elinks WWW browser to load URL in a new window."
- (let ((process-environment (browse-url-process-environment)))
+ (let ((process-environment (browse-url-process-environment)))
(apply #'start-process
(append (list (concat "elinks:" url)
nil)