lisp/ox-ascii.el: Fix justification of special blocks

* lisp/ox-ascii.el (org-ascii--current-justification): Fix typos in
the code.
* testing/lisp/test-ox-ascii.el (test-ox-ascii/justify): Add test.

Reported-by: Gregor Zattler <telegraph@gmx.net>
Link: https://orgmode.org/list/87o7ft8gxo.fsf@no.lan
This commit is contained in:
Ihor Radchenko 2023-11-17 10:28:32 +02:00
parent 819cd73cb4
commit 0740e62df8
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
2 changed files with 26 additions and 10 deletions

View File

@ -633,16 +633,16 @@ INFO is a plist used as a communication channel."
Return value is a symbol among `left', `center', `right' and
`full'."
(or (org-element-lineage-map
element
(lambda (el)
(pcase (org-element-type el)
(`center-block 'center)
(`special-block
(let ((name (org-element-property :type element)))
(cond ((string= name "JUSTIFYRIGHT") 'right)
((string= name "JUSTIFYLEFT") 'left))))))
'(center-block 'special-block)
nil 'first-match)
element
(lambda (el)
(pcase (org-element-type el)
(`center-block 'center)
(`special-block
(let ((name (org-element-property :type el)))
(cond ((string= name "JUSTIFYRIGHT") 'right)
((string= name "JUSTIFYLEFT") 'left))))))
'(center-block special-block)
nil 'first-match)
;; default
'left))

View File

@ -66,5 +66,21 @@
(search-forward
"1. bar")))))
(ert-deftest test-ox-ascii/justify ()
"Test justification."
;; Right justify.
(org-test-with-exported-text
'ascii
"#+OPTIONS: author:nil *:t
#+BEGIN_JUSTIFYRIGHT
left or right
#+END_JUSTIFYRIGHT
"
(goto-char (point-min))
(search-forward
"left or right")
(should
(equal org-ascii-text-width (org-current-text-column)))))
(provide 'test-ox-ascii)
;;; test-ox-ascii.el ends here