From: Viktor Rosenfeld <listuser36@gmail.com>
To: emacs-orgmode@gnu.org
Cc: Rasmus <rasmus@gmx.us>
Subject: [PATCH] ox-koma-letter.el: Reintroduce variables removed in commit 832c6fd with proper defaults (was Re: [patch] ox-koma-letter.el: clean-up/semantic bug [4/4])
Date: Thu, 23 May 2013 00:06:50 +0200 [thread overview]
Message-ID: <20130522220650.GB68001@kenny.local> (raw)
In-Reply-To: <20130522143923.GA61443@kenny.local>
[-- Attachment #1: Type: text/plain, Size: 2488 bytes --]
Hi Rasmus,
Viktor Rosenfeld wrote:
> Hi Rasmus,
>
> Rasmus wrote:
>
> > Viktor Rosenfeld <listuser36@gmail.com> writes:
> >
> > > Or 5, keep the change from SENDER to AUTHOR but revert the default
> > > values to `org-koma-letter-*' variables. (Right now the AUTHOR and EMAIL
> > > lines could be removed because they duplicate the derived latex
> > > backend.)
> >
> > I once had a teacher who talked about the optimal degree of
> > conservatism (as well speaking positively about being in the infamoues
> > ivory tower). 5. is fine with me. So I guess the deal is
> > 1. default value is the same as in ox-latex.
> > 2. . . . but it's kept in a seperete variable ox-kl variable.
> >
> > > I think that switching from SENDER to AUTHOR, keeping the
> > > `org-koma-letter-{author,email}' variables in the KOMA backend, but
> > > setting them per default to `user-full-name' and `user-mail-address',
> > > would solve both your problems and let me keep LCO files. I would then
> > > simply set these `org-koma-letter-*' variables to `nil' and document
> > > this setup in the docstring. I'll see tomorrow if this is feasable.
> >
> > Does the attached patch work for you (also with ps tags?)
>
> It works, but I noticed the following problem: According to the Emacs
> documentation `user-mail-address' is only set by Emacs after the
> initialization process has completed and if it is not explicitly set
> during initialization [1]. So, the defcustom of org-koma-letter-email
> does not work as expected if the user has not set `user-mail-address'
> before. Instead it is set to the empty string, which according to the
> code setting `user-mail-address' means "not set yet."
>
> This can be taking care of by using `after-init-hook' as in the example
> below. It has the added advantage that the value of `user-mail-address'
> will be picked up regardless of whether it is set before or after
> require'ing ox-koma-letter.
>
> Note that this creates a slight inconsistency with regard to
> `user-full-name' which is only picked up correctly if it is set before
> require'ing ox-koma-letter. I've fixed this by a slightly complicated
> defcustom definition of `org-koma-letter-author' and another
> after-init-hook.
>
> I've also changed the docstring to indicate what are the default values
> and added the :group and :type flags again.
I've put my changes into a patch against the current master (commit
06cdb2d2). Could you check it with your setup?
Cheers,
Viktor
[-- Attachment #2: 0001-ox-koma-letter.el-Reintroduce-variables-removed-in-c.patch --]
[-- Type: text/plain, Size: 4180 bytes --]
From 271c6548aa1f0b61763c30b7116dbb3325364683 Mon Sep 17 00:00:00 2001
From: Viktor Rosenfeld <listuser36@gmail.com>
Date: Thu, 23 May 2013 00:00:38 +0200
Subject: [PATCH] ox-koma-letter.el: Reintroduce variables removed in commit
832c6fd with proper defaults.
* ox-koma-letter.el (org-koma-letter-author): Dedicated
variable to set the KOMA variable fromname; initialized to
`user-full-name' using `after-init-hook' if not set
explicitly.
(org-koma-letter-email): Dedicated variable to set the KOMA
variable fromemail; initialized to `user-mail-address' using
`after-init-hook' if not set explicitly.
(koma-letter): Use dedicated variables for AUTHOR and EMAIL.
(org-koma-letter-template): Variable name change.
Setting the variables `org-koma-letter-author' and `org-koma-letter-email' to the values of `user-full-name' and `user-mail-address' respectively, allows the user to skip =#+AUTHOR:= and =#+EMAIL:= lines when configuring a letter. However, if the user wishes to set this information in LCO files, these variables need to be set to nil.
---
contrib/lisp/ox-koma-letter.el | 37 +++++++++++++++++++++++++++++++------
1 file changed, 31 insertions(+), 6 deletions(-)
diff --git a/contrib/lisp/ox-koma-letter.el b/contrib/lisp/ox-koma-letter.el
index 4318db1..b56dadb 100644
--- a/contrib/lisp/ox-koma-letter.el
+++ b/contrib/lisp/ox-koma-letter.el
@@ -80,6 +80,32 @@
:group 'org-export-koma-letter
:type 'string)
+(defcustom org-koma-letter-author (if (boundp 'org-koma-letter-author)
+ user-full-name
+ ;; Empty string means "not set yet."
+ "")
+ "The sender's name.
+
+This variable defaults to the value of `user-full-name'."
+ :group 'org-export-koma-letter
+ :type 'string)
+
+(add-hook 'after-init-hook
+ (lambda ()
+ (if (string= org-koma-letter-author "")
+ (setq org-koma-letter-author user-full-name))))
+
+(defcustom org-koma-letter-email user-mail-address
+ "The sender's email address.
+
+This variable defaults to the value of `user-mail-address'."
+ :group 'org-export-koma-letter
+ :type 'string)
+
+(add-hook 'after-init-hook
+ (lambda ()
+ (if (string= org-koma-letter-email "")
+ (setq org-koma-letter-email user-mail-address))))
(defcustom org-koma-letter-from-address nil
"Sender's address, as a string."
@@ -91,7 +117,6 @@
:group 'org-export-koma-letter
:type 'string)
-
(defcustom org-koma-letter-place nil
"Place from which the letter is sent."
:group 'org-export-koma-letter
@@ -153,10 +178,10 @@ Use `foldmarks:true' to activate default fold marks or
(org-export-define-derived-backend 'koma-letter 'latex
:options-alist
'((:lco "LCO" nil org-koma-letter-class-option-file)
- (:sender "AUTHOR" nil user-full-name t)
+ (:author "AUTHOR" nil org-koma-letter-author t)
(:from-address "FROM_ADDRESS" nil org-koma-letter-from-address newline)
(:phone-number "PHONE_NUMBER" nil org-koma-letter-phone-number)
- (:email "EMAIL" nil user-mail-address t)
+ (:email "EMAIL" nil org-koma-letter-email t)
(:to-address "TO_ADDRESS" nil nil newline)
(:place "PLACE" nil org-koma-letter-place)
(:opening "OPENING" nil org-koma-letter-opening)
@@ -250,7 +275,7 @@ holding export options."
(plist-get info :latex-header-extra))))
info)))))
(let ((lco (plist-get info :lco))
- (sender (plist-get info :sender))
+ (author (plist-get info :author))
(from-address (plist-get info :from-address))
(phone-number (plist-get info :phone-number))
(email (plist-get info :email))
@@ -264,8 +289,8 @@ holding export options."
(setq lco-def (format "%s\\LoadLetterOption{%s}\n" lco-def lco-file)))
lco-def))
;; Define "From" data.
- (when sender (format "\\setkomavar{fromname}{%s}\n"
- (org-export-data sender info)))
+ (when author (format "\\setkomavar{fromname}{%s}\n"
+ (org-export-data author info)))
(when from-address (format "\\setkomavar{fromaddress}{%s}\n" from-address))
(when phone-number (format "\\setkomavar{fromphone}{%s}\n" phone-number))
(when email (format "\\setkomavar{fromemail}{%s}\n" email))
--
1.8.2.3
next prev parent reply other threads:[~2013-05-22 22:07 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-20 0:28 [patch] ox-koma-letter.el: credit [1/4] Rasmus
2013-05-20 0:40 ` [patch] ox-koma-letter.el: subject changes [2/4] Rasmus
2013-05-20 15:49 ` Alan Schmitt
2013-05-20 18:23 ` Rasmus
2013-05-21 7:24 ` Alan Schmitt
2013-05-21 15:52 ` Viktor Rosenfeld
2013-05-21 17:48 ` Rasmus
2013-05-20 0:51 ` [patch] ox-koma-letter.el: credit [3/4] Rasmus
2013-05-20 15:52 ` Alan Schmitt
2013-05-21 16:56 ` Viktor Rosenfeld
2013-05-21 17:35 ` Rasmus
2013-05-21 20:06 ` Viktor Rosenfeld
[not found] ` <87zjvo7xkl.fsf@pank.eu>
[not found] ` <20130522145312.GB61443@kenny.local>
2013-05-22 17:16 ` Rasmus
2013-05-22 17:38 ` Viktor Rosenfeld
2013-05-20 0:54 ` [patch] ox-koma-letter.el: clean-up/semantic bug [4/4] Rasmus
[not found] ` <m2ehd1tziq.fsf@polytechnique.org>
2013-05-21 9:05 ` Rasmus
2013-05-21 11:32 ` Alan Schmitt
2013-05-21 12:22 ` Rasmus
2013-05-21 17:02 ` Viktor Rosenfeld
2013-05-21 18:13 ` Rasmus
2013-05-21 19:54 ` Viktor Rosenfeld
2013-05-21 23:23 ` Rasmus
2013-05-22 14:39 ` Viktor Rosenfeld
2013-05-22 22:06 ` Viktor Rosenfeld [this message]
2013-05-25 5:13 ` [PATCH] ox-koma-letter.el: Reintroduce variables removed in commit 832c6fd with proper defaults (was Re: [patch] ox-koma-letter.el: clean-up/semantic bug [4/4]) Robert Klein
2013-05-25 8:05 ` Viktor Rosenfeld
2013-05-25 9:20 ` Alan Schmitt
2013-05-25 13:57 ` Rasmus
2013-05-25 17:03 ` Viktor Rosenfeld
2013-05-25 17:48 ` [PATCH][ox-koma-letter]: sender, email and cleanup (was: [PATCH] ox-koma-letter.el: Reintroduce variables removed in commit 832c6fd with proper defaults) Rasmus
2013-05-25 21:27 ` [PATCH][ox-koma-letter]: sender, email and cleanup Rasmus
2013-05-26 10:58 ` Viktor Rosenfeld
2013-05-26 14:38 ` Rasmus
2013-05-26 10:54 ` [PATCH][ox-koma-letter]: sender, email and cleanup (was: [PATCH] ox-koma-letter.el: Reintroduce variables removed in commit 832c6fd with proper defaults) Viktor Rosenfeld
2013-05-26 14:36 ` [PATCH][ox-koma-letter]: sender, email and cleanup Rasmus
2013-05-27 6:25 ` Alan Schmitt
2013-05-27 9:22 ` Xavier Garrido
2013-05-27 9:51 ` Rasmus
2013-05-27 18:31 ` Viktor Rosenfeld
2013-05-27 20:42 ` Xavier Garrido
2013-05-26 14:51 ` Rasmus
2013-05-25 20:51 ` [PATCH] ox-koma-letter.el: Reintroduce variables removed in commit 832c6fd with proper defaults (was Re: [patch] ox-koma-letter.el: clean-up/semantic bug [4/4]) Robert Klein
2013-05-25 21:41 ` [PATCH] ox-koma-letter.el: Reintroduce variables removed in commit 832c6fd with proper defaults Rasmus
2013-05-26 11:04 ` [PATCH] ox-koma-letter.el: Reintroduce variables removed in commit 832c6fd with proper defaults (was Re: [patch] ox-koma-letter.el: clean-up/semantic bug [4/4]) Viktor Rosenfeld
2013-05-20 15:44 ` [patch] ox-koma-letter.el: credit [1/4] Alan Schmitt
2013-05-20 15:49 ` Rasmus
2013-05-20 16:01 ` Alan Schmitt
2013-05-21 17:06 ` Viktor Rosenfeld
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130522220650.GB68001@kenny.local \
--to=listuser36@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=rasmus@gmx.us \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).