Hello, Thanks. Some comments follow.
Jonas Bernoulli <jo...@bernoul.li> writes: > +In description lists the used bullet is significant when exporting to > +Texinfo; when in doubt, then use =-=. An item that uses =+= instead > +becomes a new entry in the first column of the table. The above > +output can also be produced with: > > #+begin_example > -#+ATTR_TEXINFO: :enum A > -1. Alpha > -2. Bravo > -3. Charlie > +,#+attr_texinfo: :table-type vtable :indic asis > +- foo :: > ++ bar :: > + This is the common text for foo and bar. > #+end_example The above is fragile, because pressing <C-c C-c> on an item will "repair" the bullets. Therefore, you cannot support mixed bullets in the same list. > *** Tables in Texinfo export > diff --git a/lisp/ox-texinfo.el b/lisp/ox-texinfo.el > index b0125894a..35862357d 100644 > --- a/lisp/ox-texinfo.el > +++ b/lisp/ox-texinfo.el > @@ -418,6 +418,11 @@ (defun org-texinfo--filter-section-blank-lines (headline > _backend _info) > "Filter controlling number of blank lines after a section." > (replace-regexp-in-string "\n\\(?:\n[ \t]*\\)*\\'" "\n\n" headline)) > > +(defun org-texinfo--filter-parse-tree (tree backend info) > + "Normalize headlines and items." > + (org-texinfo--normalize-headlines tree backend info) > + (org-texinfo--normalize-items tree info)) Could you expound the docstring? Arguments are missing, and "normalize" is vague. > + (org-element-map tree 'plain-list > + (lambda (plain-list) > + (when (eq (org-element-property :type plain-list) 'descriptive) > + (let ((contents (org-element-contents plain-list))) > + (while (setq item (pop contents)) > + (let ((next-item (car contents))) > + (when (and next-item > + (equal (org-element-property :bullet next-item) "+ > ")) The above will fail if `org-list-two-spaces-after-bullet-regexp' is non-nil. You should compare the trimmed bullet with "+". Anyhow, relying on mixed bullets is not great… Regards, -- Nicolas Goaziou