diff --git a/org-ql-search.el b/org-ql-search.el index 2e75ded..d34e43d 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -299,19 +299,19 @@ For example, an org-ql dynamic block header could look like: (list (cons 'todo (lambda (element) (org-element-property :todo-keyword element))) (cons 'heading (lambda (element) - (cond - ((and org-id-link-to-org-use-id - (org-element-property :ID element)) - (org-make-link-string (format "id:%s" (org-element-property :ID element)) - (org-element-property :raw-value element))) - ((org-element-property :file element) - (org-make-link-string (format "file:%s::*%s" - (org-element-property :file element) - (org-element-property :raw-value element)) - (org-element-property :raw-value element))) - (t (org-make-link-string (org-element-property :raw-value element) - (org-link-display-format - (org-element-property :raw-value element))))))) + (org-make-link-string + (cond + ((or (eq org-id-link-to-org-use-id t) + (and org-id-link-to-org-use-id + (org-element-property :ID element))) + (format "id:%s" (org-element-property :ID element))) + ((string-equal (org-element-property :file element) (buffer-file-name)) + (org-element-property :raw-value element)) + (t + (format "file:%s::*%s" + (org-element-property :file element) + (org-element-property :raw-value element)))) + (org-link-display-format (org-element-property :raw-value element))))) (cons 'priority (lambda (element) (--when-let (org-element-property :priority element) (char-to-string it))))