Ignore `org-open-at-point' when point is on white spaces
authorNicolas Goaziou <n.goaziou@gmail.com>
Thu, 27 Feb 2014 17:28:46 +0000 (27 18:28 +0100)
committerNicolas Goaziou <n.goaziou@gmail.com>
Thu, 27 Feb 2014 17:38:39 +0000 (27 18:38 +0100)
* lisp/org.el (org-open-at-point): Do not do anything when point is on
  white spaces after an object.
* testing/lisp/test-org.el (test-org/custom-id): Modify test.

lisp/org.el
testing/lisp/test-org.el

index 3800d80..836935f 100644 (file)
@@ -10482,6 +10482,17 @@ is used internally by `org-open-link-from-string'."
            (require 'org-attach)
            (org-attach-reveal 'if-exists))))
        ((run-hook-with-args-until-success 'org-open-at-point-functions))
+       ;; Do nothing on white spaces after an object.
+       ((let ((end (org-element-property :end context)))
+         (= (save-excursion
+              ;; Make sure we're not on invisible text, as it would
+              ;; make the check unpredictable on object's borders.
+              (when (invisible-p (point))
+                (goto-char
+                 (next-single-property-change (point) 'invisible nil end)))
+              (skip-chars-forward " \t" end) (point))
+            end))
+       (user-error "No link found"))
        ((eq type 'timestamp) (org-follow-timestamp-link))
        ;; On tags within a headline or an inlinetask.
        ((save-excursion (beginning-of-line)
index 57e3d53..e3436e6 100644 (file)
   (should
    (org-test-with-temp-text
        "* H1\n:PROPERTIES:\n:CUSTOM_ID: custom\n:END:\n* H2\n[[#custom]]"
-     (goto-char (point-max))
+     (goto-char (1- (point-max)))
      (org-open-at-point)
      (org-looking-at-p "\\* H1"))))