--- 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)