forked from mirrors/org-mode
org-list: Fix `org-list-demote-modify-bullet' with alpha bullets
* lisp/org-list.el (org-list-struct-indent): Match case-sensitively against current bullet in order the tell the difference between "a." and "A.". * testing/lisp/test-org-list.el (test-org-list/indent-item): Add test.
This commit is contained in:
parent
08cb207b38
commit
6b8fb446b6
|
@ -1569,22 +1569,21 @@ bullets between START and END."
|
|||
(let* (acc
|
||||
(set-assoc (lambda (cell) (push cell acc) cell))
|
||||
(change-bullet-maybe
|
||||
(function
|
||||
(lambda (item)
|
||||
(let ((new-bul-p
|
||||
(cdr (assoc
|
||||
;; Normalize ordered bullets.
|
||||
(let ((bul (org-trim
|
||||
(org-list-get-bullet item struct))))
|
||||
(cond ((string-match "[A-Z]\\." bul) "A.")
|
||||
((string-match "[A-Z])" bul) "A)")
|
||||
((string-match "[a-z]\\." bul) "a.")
|
||||
((string-match "[a-z])" bul) "a)")
|
||||
((string-match "[0-9]\\." bul) "1.")
|
||||
((string-match "[0-9])" bul) "1)")
|
||||
(t bul)))
|
||||
org-list-demote-modify-bullet))))
|
||||
(when new-bul-p (org-list-set-bullet item struct new-bul-p))))))
|
||||
(lambda (item)
|
||||
(let ((new-bul
|
||||
(cdr (assoc
|
||||
;; Normalize ordered bullets.
|
||||
(let ((bul (org-list-get-bullet item struct))
|
||||
(case-fold-search nil))
|
||||
(cond ((string-match "[A-Z]\\." bul) "A.")
|
||||
((string-match "[A-Z])" bul) "A)")
|
||||
((string-match "[a-z]\\." bul) "a.")
|
||||
((string-match "[a-z])" bul) "a)")
|
||||
((string-match "[0-9]\\." bul) "1.")
|
||||
((string-match "[0-9])" bul) "1)")
|
||||
(t (org-trim bul))))
|
||||
org-list-demote-modify-bullet))))
|
||||
(when new-bul (org-list-set-bullet item struct new-bul)))))
|
||||
(ind
|
||||
(lambda (cell)
|
||||
(let* ((item (car cell))
|
||||
|
|
|
@ -270,6 +270,18 @@
|
|||
(org-list-demote-modify-bullet '(("1." . "+"))))
|
||||
(org-indent-item))
|
||||
(buffer-string))))
|
||||
(should
|
||||
(equal "
|
||||
a. Item 1
|
||||
- Item 2"
|
||||
(org-test-with-temp-text "
|
||||
a. Item 1
|
||||
b. Item 2<point>"
|
||||
(let ((org-plain-list-ordered-item-terminator t)
|
||||
(org-list-allow-alphabetical t)
|
||||
(org-list-demote-modify-bullet '(("A." . "a.") ("a." . "-"))))
|
||||
(org-indent-item))
|
||||
(buffer-string))))
|
||||
;; When a region is selected, indent every item within.
|
||||
(should
|
||||
(equal "
|
||||
|
|
Loading…
Reference in a new issue