Hi Alan, Alan Schmitt <alan.schm...@polytechnique.org> writes:
> 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. OK. AFAIK it's OK to leave out the fromaddress and fromname. > 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))) > #+end_src How about: (let ((from-address (org-koma-letter--determine-to-and-from info 'from))) (and (org-string-nw-p from-address) (format "\\setkomavar{fromaddress}{%s}\n" from-address))) Or more explicitly (let ((from-address (org-koma-letter--determine-to-and-from info 'from))) (when (org-string-nw-p 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 > `org-koma-letter-prefer-special-headings'." > (let ((option (plist-get info (if (eq key 'to) :to-address :from-address))) > (headline (org-koma-letter--get-tagged-contents key))) > (replace-regexp-in-string > "\n" "\\\\\\\\\n" > (org-trim > (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)))))) > #+end_src I guess org-koma-letter-from-address can be left empty, but for instance 'to must have a value different from the empty string to not create a LaTeX error. As I said above, quick testing suggest this is not necessary for fromaddress. > As the empty string is considered as "true", we apply the format > function in the first code block. See below. > 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? You can use org-string-nw-p to test is S is only white-space. When Nicolas cleaned the file he made all (or most?) defaults into strings, so let's stick with that. Let me know if your happy with this. —Rasmus -- Summon the Mothership!