Function: org-link-get-description

org-link-get-description is a byte-compiled function defined in ol.el.gz.

Signature

(org-link-get-description LINK &optional DEFAULT-DESCRIPTION)

Documentation

Return description for LINK.

When link has :insert-description link property defined, set description accordingly. Otherwise, try org-link-make-description-function. When the above two methods are not defined, return DEFAULT-DESCRIPTION.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ol.el.gz
(defun org-link-get-description (link &optional default-description)
  "Return description for LINK.
When link has :insert-description link property defined, set description
accordingly.  Otherwise, try `org-link-make-description-function'.
When the above two methods are not defined, return DEFAULT-DESCRIPTION."
  (let* ((abbrevs org-link-abbrev-alist-local)
         (all-prefixes (append (mapcar #'car abbrevs)
			       (mapcar #'car org-link-abbrev-alist)
			       (org-link-types)))
         (type
          (cond
           ((and all-prefixes
                 (string-match (rx-to-string `(: string-start (submatch (or ,@all-prefixes)) ":")) link))
            (match-string 1 link))
           ((file-name-absolute-p link) "file")
           ((string-match "\\`\\.\\.?/" link) "file"))))
    (cond
     ((org-link-get-parameter type :insert-description)
      (let ((def (org-link-get-parameter type :insert-description)))
        (condition-case nil
            (cond
             ((stringp def) def)
             ((functionp def)
              (funcall def link default-description)))
          (error
           (message "Can't get link description from org link parameter `:insert-description': %S"
                    def)
           (sit-for 2)
           nil))))
     (org-link-make-description-function
      (condition-case nil
          (funcall org-link-make-description-function link default-description)
        (error
         (message "Can't get link description from %S"
                  org-link-make-description-function)
         (sit-for 2)
         nil)))
     (t default-description))))