mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-11-21 06:55:35 +00:00
ox-texinfo: Fix automatic @ref titles
* lisp/ox-texinfo.el (org-texinfo--@ref): Fix an incorrect assumption that Texinfo uses node names for automatic link text. It does not. Instead, it uses the corresponding section title. For example, if a node is named `a' its section is named `A', the Org link to the node `a' written as `[[...][xxx]]' ends up being rendered as "A", which means the link description the Org user provided is ignored.
This commit is contained in:
parent
07dd3bcae6
commit
4829bacffe
@ -1311,7 +1311,7 @@ nil."
|
||||
(replace-regexp-in-string
|
||||
"[ \t]*:+" ""
|
||||
(replace-regexp-in-string "," "@comma{}" description)))))
|
||||
(if (or (not title) (equal title node-name))
|
||||
(if (not title)
|
||||
(format "@ref{%s}" node-name)
|
||||
(format "@ref{%s, , %s}" node-name title))))
|
||||
|
||||
|
@ -345,5 +345,34 @@ body
|
||||
(should-not (org-element-contents section))
|
||||
(should (eq first-heading (org-element-parent section)))))))
|
||||
|
||||
|
||||
;;; References
|
||||
|
||||
(ert-deftest test-ox-texinfo/references ()
|
||||
"Test references with manual and automatic descriptions."
|
||||
(should
|
||||
(org-test-with-temp-text
|
||||
(string-join
|
||||
(list "* A"
|
||||
":PROPERTIES:"
|
||||
":ALT_TITLE: B"
|
||||
":END:"
|
||||
"[[A]]"
|
||||
"[[A][B]]"
|
||||
"[[A][C]]"
|
||||
" ....")
|
||||
"\n")
|
||||
(let ((export-buffer "*Test Texinfo Export*")
|
||||
(org-export-show-temporary-export-buffer nil))
|
||||
(org-export-to-buffer 'texinfo export-buffer
|
||||
nil nil nil nil nil
|
||||
#'texinfo-mode)
|
||||
(with-current-buffer export-buffer
|
||||
(goto-char (point-min))
|
||||
(and
|
||||
(re-search-forward "@ref{B}")
|
||||
(re-search-forward "@ref{B, , B}")
|
||||
(re-search-forward "@ref{B, , C}")))))))
|
||||
|
||||
(provide 'test-ox-texinfo)
|
||||
;;; test-ox-texinfo.el end here
|
||||
|
Loading…
Reference in New Issue
Block a user