Rasmus <ras...@gmx.us> writes:

> -  (cdr (assoc (org-koma-letter--get-value key)
> -           org-koma-letter-special-contents)))
> +  (cdr (assoc-string (org-koma-letter--get-value key)
> +                  org-koma-letter-special-contents)))

AFAIU, this is a bugfix, so it should go in a separate commit.

> +  (let ((special-tag (car (org-koma-letter--special-headline headline 
> info))))
> +    (if special-tag
> +     (progn (push (cons special-tag contents) 
> org-koma-letter-special-contents)
> +            "")
> +      contents)))

Nitpick:

  (if (not special-tag) contents
    (push ...)
    "")

In this case, I suggest to change `org-koma-letter--special-headline'
into `org-koma-letter--special-tag', where the latter explicitly returns
special tag associated to the current headline, or nil (this skips the
`car' part).

> +(defun org-koma-letter--special-headline (headline info)
> +  "Nonnil if HEADLINE is a special headline."
> +  (let ((special-tags (plist-get info :special-tags)))
> +    (mapcar (lambda (tag) (assoc-string tag special-tags))
> +         (org-export-get-tags headline info))))

"Non-nil"

Also, the docstring should document INFO. Moreover, it isn't really
a predicate anymore, since you're using the value returned. Thus, that
value should be explained.

Eventually, since you're only interested in the first special tag
encountered, it may be cleaner to exit early, e.g.,

  (defun org-koma-letter--special-tag (headline info)
    "Return special tag associated to HEADLINE, as a symbol, or nil.
  INFO is the current state of the export process, as a plist."
    (let ((special-tags (plist-get info :special-tags)))
      (catch 'exit
        (dolist (tag (org-export-get-tags headline info))
          (let ((special-match (assoc-string tag special-tags)))
            (when special-match (throw 'exit (car special-match))))))))


> +   (format "\\opening{%s}\n\n"
> +        (org-export-data
> +         (or (org-string-nw-p (plist-get info :opening))
> +             (when (plist-get info :with-headline-opening)
> +               (org-element-map (org-element-parse-buffer) 'headline
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^
                                  (plist-get info :parse-tree)

Regards,

Reply via email to