Function: org-ascii--describe-datum

org-ascii--describe-datum is a byte-compiled function defined in ox-ascii.el.gz.

Signature

(org-ascii--describe-datum DATUM INFO)

Documentation

Describe DATUM object or element.

If DATUM is a string, consider it to be a file name, per org-export-resolve-id-link. INFO is the communication channel, as a plist.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ox-ascii.el.gz
(defun org-ascii--describe-datum (datum info)
  "Describe DATUM object or element.
If DATUM is a string, consider it to be a file name, per
`org-export-resolve-id-link'.  INFO is the communication channel,
as a plist."
  (pcase (org-element-type datum)
    (`plain-text (format "See file %s" datum)) ;External file
    (`headline
     (format (org-ascii--translate "See section %s" info)
	     (if (org-export-numbered-headline-p datum info)
		 (mapconcat #'number-to-string
			    (org-export-get-headline-number datum info)
			    ".")
	       (org-export-data (org-element-property :title datum) info))))
    (_
     (let ((number (org-export-get-ordinal
		    datum info nil #'org-ascii--has-caption-p))
	   ;; If destination is a target, make sure we can name the
	   ;; container it refers to.
	   (enumerable
	    (org-element-lineage datum
				 '(headline paragraph src-block table) t)))
       (pcase (org-element-type enumerable)
	 (`headline
	  (format (org-ascii--translate "See section %s" info)
		  (if (org-export-numbered-headline-p enumerable info)
		      (mapconcat #'number-to-string number ".")
		    (org-export-data
		     (org-element-property :title enumerable) info))))
	 ((guard (not number))
	  (org-ascii--translate "Unknown reference" info))
	 (`paragraph
	  (format (org-ascii--translate "See figure %s" info) number))
	 (`src-block
	  (format (org-ascii--translate "See listing %s" info) number))
	 (`table
	  (format (org-ascii--translate "See table %s" info) number))
	 (_ (org-ascii--translate "Unknown reference" info)))))))