From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bastien Guerry Subject: [Accepted] PATCH: org-open-at-point curation Date: Sat, 12 Feb 2011 23:59:02 +0100 (CET) Message-ID: <20110212225902.28D708860@myhost.localdomain> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from [140.186.70.92] (port=60885 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PoOQi-0005Q3-4V for emacs-orgmode@gnu.org; Sat, 12 Feb 2011 17:59:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PoOQc-0002wn-BV for emacs-orgmode@gnu.org; Sat, 12 Feb 2011 17:58:59 -0500 Received: from mail-fx0-f41.google.com ([209.85.161.41]:60773) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PoOQc-0002wR-0Z for emacs-orgmode@gnu.org; Sat, 12 Feb 2011 17:58:58 -0500 Received: by fxm12 with SMTP id 12so4169995fxm.0 for ; Sat, 12 Feb 2011 14:58:57 -0800 (PST) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Patch 564 (http://patchwork.newartisans.com/patch/564/) is now "Accepted". Maintainer comment: none This relates to the following submission: http://mid.gmane.org/%3Cm1lj22z7wo.fsf%40gmail.com%3E Here is the original message containing the patch: > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > Subject: [Orgmode] PATCH: org-open-at-point curation > Date: Sun, 30 Jan 2011 21:13:43 -0000 > From: Dan Davison > X-Patchwork-Id: 564 > Message-Id: > To: emacs org-mode mailing list > > While fiddling with the way babel uses org-open-at-point, I noticed a > coupe of things: > > 1. There's a bug when using the prefix arg with a text search > link. E.g. try C-u C-c C-o on [[foo]] > 2. The prefix arg is used in three different ways (two of them > undocumented), not all of which correspond to the variable name used > for the prefix arg. I'm leaving the extra uses undocumented, but have renamed the > prefix arg with a more generic name. > > Dan > > ~~~~~~~~~~~~~ > > Some curation of `org-open-at-point' > > * lisp/org.el (org-open-at-point): Fix bug when using prefix arg to > construct `org-link-search' call. Rename prefix arg with a more > generic name, to reflect its diverse uses in this function. > > > #+begin_src diff > #+end_src > > > diff --git a/lisp/org.el b/lisp/org.el > index a49d3e2..186af9d 100644 > --- a/lisp/org.el > +++ b/lisp/org.el > @@ -9084,12 +9084,12 @@ Functions in this hook must return t if they identify and follow > a link at point. If they don't find anything interesting at point, > they must return nil.") > > -(defun org-open-at-point (&optional in-emacs reference-buffer) > +(defun org-open-at-point (&optional arg reference-buffer) > "Open link at or after point. > If there is no link at point, this function will search forward up to > the end of the current line. > Normally, files will be opened by an appropriate application. If the > -optional argument IN-EMACS is non-nil, Emacs will visit the file. > +optional prefix argument ARG is non-nil, Emacs will visit the file. > With a double prefix argument, try to open outside of Emacs, in the > application the system uses for this file type." > (interactive "P") > @@ -9107,7 +9107,7 @@ application the system uses for this file type." > org-angle-link-re "\\|" > "[ \t]:[^ \t\n]+:[ \t]*$"))) > (not (get-text-property (point) 'org-linked-text))) > - (or (org-offer-links-in-entry in-emacs) > + (or (org-offer-links-in-entry arg) > (progn (require 'org-attach) (org-attach-reveal 'if-exists)))) > ((run-hook-with-args-until-success 'org-open-at-point-functions)) > ((org-at-timestamp-p t) (org-follow-timestamp-link)) > @@ -9212,7 +9212,7 @@ application the system uses for this file type." > (browse-url (concat type ":" path))) > > ((string= type "tags") > - (org-tags-view in-emacs path)) > + (org-tags-view arg path)) > > ((string= type "tree-match") > (org-occur (concat "\\[" (regexp-quote path) "\\]"))) > @@ -9226,7 +9226,7 @@ application the system uses for this file type." > path (substring path 0 (match-beginning 0))))) > (if (string-match "[*?{]" (file-name-nondirectory path)) > (dired path) > - (org-open-file path in-emacs line search))) > + (org-open-file path arg line search))) > > ((string= type "shell") > (let ((cmd path)) > @@ -9258,14 +9258,14 @@ application the system uses for this file type." > 'org-open-link-functions path))) > > ((string= type "thisfile") > - (if in-emacs > + (if arg > (switch-to-buffer-other-window > (org-get-buffer-for-internal-link (current-buffer))) > (org-mark-ring-push)) > (let ((cmd `(org-link-search > ,path > - ,(cond ((equal in-emacs '(4)) 'occur) > - ((equal in-emacs '(16)) 'org-occur) > + ,(cond ((equal arg '(4)) ''occur) > + ((equal arg '(16)) ''org-occur) > (t nil)) > ,pos))) > (condition-case nil (eval cmd) >