changeset 24010:9eb02fa0c314

1999-01-06 Dave Love <fx@gnu.org> * browse-url.el: Require (noerror) w3-auto when compiling. (browse-url-maybe-new-window): Make it a macro and revert last change to callers. (browse-url-w3): Require w3 for w3-fetch-other-window. 1999-01-06 Markus Rost <markus.rost@mathematik.uni-regensburg.de> * browse-url.el (browse-url-w3): Give w3-fetch-other-window the argument.
author Dave Love <fx@gnu.org>
date Wed, 06 Jan 1999 14:57:58 +0000
parents d026025237b5
children f36caedebd5f
files lisp/browse-url.el
diffstat 1 files changed, 17 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/browse-url.el	Wed Jan 06 10:37:07 1999 +0000
+++ b/lisp/browse-url.el	Wed Jan 06 14:57:58 1999 +0000
@@ -222,7 +222,8 @@
 ;; Variables
 
 (eval-when-compile (require 'thingatpt)
-                   (require 'term))
+                   (require 'term)
+		   (require 'w3-auto nil t))
 
 (defgroup browse-url nil
   "Use a web browser to look at a URL."
@@ -491,10 +492,12 @@
 	(not (eq (null browse-url-new-window-p)
 		 (null current-prefix-arg)))))
 
-(defun browse-url-maybe-new-window (arg interactive)
-  (if interactive
-      arg
-    browse-url-new-window-p))
+;; interactive-p needs to be called at a function's top-level, hence
+;; the macro.
+(defmacro browse-url-maybe-new-window (arg)
+  `(if (interactive-p)
+       'arg
+     browse-url-new-window-p))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Browse current buffer
@@ -713,7 +716,7 @@
 				  (list "-remote"
 					(concat "openURL(" url
 						(if (browse-url-maybe-new-window
-						     new-window (interactive-p))
+						     new-window)
 						    ",new-window")
 						")")))))))
     (set-process-sentinel process
@@ -780,7 +783,7 @@
 	(save-excursion
 	  (find-file (format "/tmp/Mosaic.%d" pid))
 	  (erase-buffer)
-	  (insert (if (browse-url-maybe-new-window new-window (interactive-p))
+	  (insert (if (browse-url-maybe-new-window new-window)
 		      "newwin\n"
 		      "goto\n")
 		  url "\n")
@@ -847,8 +850,7 @@
   ;; Todo: start browser if fails
   (process-send-string "browse-url"
 		       (concat "get url (" url ") output "
-			       (if (browse-url-maybe-new-window
-				    new-window (interactive-p))
+			       (if (browse-url-maybe-new-window new-window)
 				   "new"
 				 "current")
 			       "\r\n"))
@@ -880,8 +882,9 @@
 When called non-interactively, optional second argument NEW-WINDOW is
 used instead of `browse-url-new-window-p'."
   (interactive (browse-url-interactive-arg "W3 URL: "))
-  (if (browse-url-maybe-new-window new-window (interactive-p))
-      (w3-fetch-other-window)
+  (require 'w3)				; w3-fetch-other-window not autoloaded
+  (if (browse-url-maybe-new-window new-window)
+      (w3-fetch-other-window url)
     (w3-fetch url)))
 
 ;;;###autoload
@@ -929,13 +932,13 @@
 	 (buf (get-buffer "*lynx*"))
 	 (proc (and buf (get-buffer-process buf)))
 	 (n browse-url-lynx-input-attempts))
-    (if (and (browse-url-maybe-new-window new-buffer (interactive-p)) buf)
+    (if (and (browse-url-maybe-new-window new-buffer) buf)
 	;; Rename away the OLD buffer. This isn't very polite, but
 	;; term insists on working in a buffer named *lynx* and would
 	;; choke on *lynx*<1>
 	(progn (set-buffer buf)
 	       (rename-uniquely)))
-    (if (or (browse-url-maybe-new-window new-buffer (interactive-p))
+    (if (or (browse-url-maybe-new-window new-buffer)
 	    (not buf)
 	    (not proc)
 	    (not (memq (process-status proc) '(run stop))))
@@ -1014,7 +1017,7 @@
     (let ((to (if (string-match "^mailto:" url)
 		  (substring url 7)
 		url)))
-      (if (browse-url-maybe-new-window new-window (interactive-p))
+      (if (browse-url-maybe-new-window new-window)
 	  (compose-mail-other-window to nil nil nil
 				     (list 'insert-buffer (current-buffer)))
 	(compose-mail to nil nil nil nil