From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: vibhavp@gmail.com Newsgroups: gmane.emacs.bugs Subject: bug#19863: 20.0.50; browse-url.el: Add support for Conkeror Date: Sat, 14 Feb 2015 12:06:35 +0530 Message-ID: <87twypov7w.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1423898248 30222 80.91.229.3 (14 Feb 2015 07:17:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 14 Feb 2015 07:17:28 +0000 (UTC) To: 19863@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Feb 14 08:17:18 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YMWyb-0004mo-AH for geb-bug-gnu-emacs@m.gmane.org; Sat, 14 Feb 2015 08:17:17 +0100 Original-Received: from localhost ([::1]:58983 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMWya-0003DI-H3 for geb-bug-gnu-emacs@m.gmane.org; Sat, 14 Feb 2015 02:17:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53524) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMWyS-0003CL-8a for bug-gnu-emacs@gnu.org; Sat, 14 Feb 2015 02:17:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMWyM-0002oT-U1 for bug-gnu-emacs@gnu.org; Sat, 14 Feb 2015 02:17:08 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:51396) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMWyM-0002oN-QU for bug-gnu-emacs@gnu.org; Sat, 14 Feb 2015 02:17:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YMWyM-0005nO-30 for bug-gnu-emacs@gnu.org; Sat, 14 Feb 2015 02:17:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: vibhavp@gmail.com Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 Feb 2015 07:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 19863 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.142389821422259 (code B ref -1); Sat, 14 Feb 2015 07:17:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 14 Feb 2015 07:16:54 +0000 Original-Received: from localhost ([127.0.0.1]:42636 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMWyC-0005mw-RN for submit@debbugs.gnu.org; Sat, 14 Feb 2015 02:16:53 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:48964) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMWLV-0004sa-Kz for submit@debbugs.gnu.org; Sat, 14 Feb 2015 01:36:54 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMWLO-0001AY-SO for submit@debbugs.gnu.org; Sat, 14 Feb 2015 01:36:48 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:36731) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMWLO-0001AP-Ov for submit@debbugs.gnu.org; Sat, 14 Feb 2015 01:36:46 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50686) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMWLN-0003tj-2W for bug-gnu-emacs@gnu.org; Sat, 14 Feb 2015 01:36:46 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMWLJ-00012c-Sl for bug-gnu-emacs@gnu.org; Sat, 14 Feb 2015 01:36:45 -0500 Original-Received: from mail-pa0-x233.google.com ([2607:f8b0:400e:c03::233]:57904) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMWLJ-00012V-GO for bug-gnu-emacs@gnu.org; Sat, 14 Feb 2015 01:36:41 -0500 Original-Received: by mail-pa0-f51.google.com with SMTP id eu11so23467134pac.10 for ; Fri, 13 Feb 2015 22:36:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type; bh=bl4cXrHWV2G9JgA2RoImqiwLdcyHBiST4BUlI2w/3Do=; b=BL2M9QjGZ+zU9uU88+xlDnqsfBDD2SBMnzJb2Gzt1tFxBDYQHqmCqWg3YxwNZ3RJc/ YmnBAQ+v5U8v63ijy1qyV+HN/cEt92kHxgT9G+ogblpccI3Ow5NpK9tCwW/AZgALueFA nRp059UGnD9v5XA8SJUQ3H9Tf45kmTuKYhZBRfW/Mhf5c/1/PvQ32F/ca+bHO22XGz8r j4aW/RbyGfOiPSt9nqSAEfO1JptagJKXkkQWwzgybzOYG+NFElRr4L9/uH8Z8ABeLLy6 J3MLGwvkSYhgMRmUvlWpqCQ/Qi8zMAvUR9dal809XWXYh4PRDXJjR30P4xWe9cJQka+z ZG8A== X-Received: by 10.70.4.226 with SMTP id n2mr7176517pdn.11.1423895799780; Fri, 13 Feb 2015 22:36:39 -0800 (PST) Original-Received: from lenovog410 ([117.208.69.247]) by mx.google.com with ESMTPSA id pm2sm8395839pbb.81.2015.02.13.22.36.38 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 13 Feb 2015 22:36:39 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Mailman-Approved-At: Sat, 14 Feb 2015 02:16:50 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:99356 Archived-At: --=-=-= Content-Type: text/plain Conkeror[1] is a web browser with an Emacs-like navigation interface. The following patch add's support for Conkeror to browse-url.el. The code uses the words "buffer" instead of "tabs", to keep consistency with Conkeror's interface. [1]: http://conkeror.org/ --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=browse-url-conkeror.patch diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 24cf80a..cccd57f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2015-02-14 Vibhav Pant + + * net/browse-url.el (browse-url-browser-function): Add "Conkeror". + (browse-url-conkeror-program, browse-url-conkeror-arguments) + (browse-url-conkeror-new-window-is-buffer): New defcustoms. + (browse-url-default-browser): Check for `browse-url-conkeror' + and call `browse-url-conkeror-program'. + (browse-url-conkeror): New command. + 2015-02-14 Stefan Monnier * emacs-lisp/cl-preloaded.el (cl-struct-define): Register as children diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index 42fb954..6cbf393 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el @@ -42,6 +42,7 @@ ;; browse-url-netscape Netscape 1.1b1 ;; browse-url-mosaic XMosaic/mMosaic <= 2.4 ;; browse-url-cci XMosaic 2.5 +;; browse-url-conkeror Conkeror Dont know ;; browse-url-w3 w3 0 ;; browse-url-w3-gnudoit w3 remotely ;; browse-url-text-* Any text browser 0 @@ -236,6 +237,7 @@ regexp should probably be \".\" to specify a default browser." (function-item :tag "Netscape" :value browse-url-netscape) (function-item :tag "Mosaic" :value browse-url-mosaic) (function-item :tag "Mosaic using CCI" :value browse-url-cci) + (function-item :tag "Conkeror" :value browse-url-conkeror) (function-item :tag "Text browser in an xterm window" :value browse-url-text-xterm) (function-item :tag "Text browser in an Emacs window" @@ -413,6 +415,13 @@ functionality is not available there." :type 'boolean :group 'browse-url) +(defcustom browse-url-conkeror-new-window-is-buffer nil + "Whether to open up new windows in a buffer or a new window. +If non-nill, then open the URL in a new buffer rather than a new window if +`browse-url-conkeror' is asked to open it in a new window" + :type 'boolean + :group 'browse-url) + (defcustom browse-url-galeon-new-window-is-tab nil "Whether to open up new windows in a tab or a new window. If non-nil, then open the URL in a new tab rather than a new window if @@ -459,6 +468,17 @@ commands reverses the effect of this variable. Requires Netscape version :type 'string :group 'browse-url) +(defcustom browse-url-conkeror-program "conkeror" + "The name by which to invoke Conkeror." + :type 'string + :version "25.1" + :group 'browse-url) + +(defcustom browse-url-conkeror-arguments nil + "A list of strings to pass to Conkeror as arguments." + :type '(repeat (string :tag "Argument")) + :group 'browse-url) + (defcustom browse-url-filename-alist `(("^/\\(ftp@\\|anonymous@\\)?\\([^:]+\\):/*" . "ftp://\\2/") ;; The above loses the username to avoid the browser prompting for @@ -933,6 +953,7 @@ used instead of `browse-url-new-window-flag'." ((executable-find browse-url-kde-program) 'browse-url-kde) ((executable-find browse-url-netscape-program) 'browse-url-netscape) ((executable-find browse-url-mosaic-program) 'browse-url-mosaic) + ((executable-find browse-url-conkeror-program) 'browse-url-conkeror) ((executable-find browse-url-xterm-program) 'browse-url-text-xterm) ((locate-library "w3") 'browse-url-w3) (t @@ -1392,6 +1413,41 @@ used instead of `browse-url-new-window-flag'." (process-send-string "browse-url" "disconnect\r\n") (delete-process "browse-url")) +;; --- Conkeror --- +;;;###autoload +(defun browse-url-conkeror (url &optional new-window) + "Ask the Conkeror WWW browser to load URL. +Default to the URL around or before point. The strings in the variable +`browse-url-conkeror-arguments' are also passed to Conkeror. + +When called interactively, if variable `browse-url-new-window-flag' +is non-nil, load the document in a new Conkeror window, otherwise use a random +existing one. A non-nil interactive prefix argument reverses the effect of +`browse-url-new-window-flag' + +If `browse-url-conkeror-new-window-is-buffer' then whenever a document would +otherwise be loaded in a new window, it is loaded in a new buffer in an existing +window instead. + +When called non-interatively, optional second argument NEW-WINDOW is used instead of +`browse-url-new-window-flag'" + (interactive (browse-url-interactive-arg "URL: ")) + (setq url (browse-url-encode-url url)) + (let* ((process-environment (browse-url-process-environment))) + (apply 'start-process (format "conkeror %s" url) + nil + browse-url-conkeror-program + (append + browse-url-conkeror-arguments + (list + "-e" + (format "load_url_in_new_%s('%s')" + (if (browse-url-maybe-new-window new-window) + (if browse-url-conkeror-new-window-is-buffer + "buffer" + "window") + "buffer") + url)))))) ;; --- W3 --- ;; External. --=-=-=--