Hello Rasmus and all,

I think I have found a small bug in ox-koma-letter, but to fix it I
would like your input.

The bug: if "from-address" is not specified in the file, then it will be
set unconditionally to the empty string, even if it is specified in an
lco file.

The reason of the bug is as follows.

To set up the from address, we call this:

#+begin_src emacs-lisp
   (let ((from-address (org-koma-letter--determine-to-and-from info 'from)))
     (and from-address (format "\\setkomavar{fromaddress}{%s}\n" from-address)))

This uses this function:
#+begin_src emacs-lisp
(defun org-koma-letter--determine-to-and-from (info key)
  "Given INFO determine KEY for the letter.
KEY should be `to' or `from'.

`ox-koma-letter' allows two ways to specify TO and FROM.  If both
are present return the preferred one as determined by
  (let ((option (plist-get info (if (eq key 'to) :to-address :from-address)))
        (headline (org-koma-letter--get-tagged-contents key)))
     "\n" "\\\\\\\\\n"
      (or (if (plist-get info :special-headings) (or headline option)
            (or option headline))
          ;; Fallback values.
          (if (eq key 'to) "\\mbox{}" org-koma-letter-from-address))))))

Note that in the default case we return "org-koma-letter-from-address",
which is set to the empty string by default:
#+begin_src emacs-lisp
(defcustom org-koma-letter-from-address ""
  "Sender's address, as a string.
This option can also be set with one or more FROM_ADDRESS
  :group 'org-export-koma-letter
  :type 'string)

As the empty string is considered as "true", we apply the format
function in the first code block.

I would suggest to have "org-koma-letter-from-address" begin "nil" as
default. My question is: is it an allowed value for a string?



Reply via email to