Re: [O] [PATCH (v5)][ox-latex.el] Allow AUTO argument to org-latex-guess-babel-language.

2013-06-12 Thread Rasmus
Nicolas Goaziou  writes:

> Applied. Thank you!
>
> Note that commit message's first line mustn't end with a period.
> Moreover, I slightly changed phrasing in `org-latex-classes' in order to
> insist on the fact that `org-export-default-language' is a language
> code, not a language /per se/. Eventually, I added TINYCHANGE since,
> AFAIK, you haven't signed FSF papers yet.

Yeah, it is a TINYCHANGE.  Anyway, papers are on their way to the FSF.

–Rasmus

-- 
Hvor meget poesi tror De kommer ud af et glas isvand?



Re: [O] [PATCH (v5)][ox-latex.el] Allow AUTO argument to org-latex-guess-babel-language.

2013-06-12 Thread Nicolas Goaziou
Hello,

Rasmus  writes:

> v5! Documentation added.  Let me know if more stuff needs to be
> polished.

Applied. Thank you!

Note that commit message's first line mustn't end with a period.
Moreover, I slightly changed phrasing in `org-latex-classes' in order to
insist on the fact that `org-export-default-language' is a language
code, not a language /per se/. Eventually, I added TINYCHANGE since,
AFAIK, you haven't signed FSF papers yet.


Regards,

-- 
Nicolas Goaziou



Re: [O] [PATCH (v5)][ox-latex.el] Allow AUTO argument to org-latex-guess-babel-language.

2013-06-11 Thread Rasmus
Nicolas Goaziou  writes:

> The patch looks good, but the feature needs to be documented. I think
> you could add a paragraph in `org-latex-classes' docstring, below the
> first reference to "AUTO".

v5! Documentation added.  Let me know if more stuff needs to be
polished.

–Rasmus

-- 
May contains speling mistake>From 7f1cc30ccbedfa7c5689dbf8408011e64db75230 Mon Sep 17 00:00:00 2001
From: "rasmus.pank" 
Date: Sat, 1 Jun 2013 00:20:18 +0200
Subject: [PATCH] Allow AUTO argument to org-latex-guess-babel-language.

* ox-latex.el (org-latex-guess-babel-language): replace AUTO with
  language if AUTO is the option of the LaTeX package Babel.  *
  (org-latex-classes): updated documentation with respect
  to =`org-latex-guess-babel-language'=
---
 lisp/ox-latex.el | 31 +++
 1 file changed, 23 insertions(+), 8 deletions(-)

diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index df3de4c..d409cf8 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -261,6 +261,14 @@ replaced with a coding system derived from
 `buffer-file-coding-system'.  See also the variable
 `org-latex-inputenc-alist' for a way to influence this mechanism.
 
+Likewise, if your header contains \"\\usepackage[AUTO]{babel}\",
+AUTO will be replaced with the export language as specified by
+the LANGUAGE keyword or `org-export-default-language'.  Note that
+constructions such as
+\"\\usepackage[french, AUTO, english]{babel}\"
+are permitted.  For more information refer to
+`org-latex-guess-babel-language'.
+
 The sectioning structure
 
 
@@ -910,6 +918,10 @@ Insertion of guessed language only happens when Babel package has
 explicitly been loaded.  Then it is added to the rest of
 package's options.
 
+The argument to Babel may be \"AUTO\" which is then replaced with
+the language of the document or `org-export-default-language'
+unless language in question is already loaded.
+
 Return the new header."
   (let ((language-code (plist-get info :language)))
 ;; If no language is set or Babel package is not loaded, return
@@ -918,16 +930,19 @@ Return the new header."
 	(not (string-match "usepackage\\[\\(.*\\)\\]{babel}" header)))
 	header
   (let ((options (save-match-data
-		   (org-split-string (match-string 1 header) ",")))
+		   (org-split-string (match-string 1 header) ",[ \t]*")))
 	(language (cdr (assoc language-code
   org-latex-babel-language-alist
-	;; If LANGUAGE is already loaded, return header.  Otherwise,
-	;; append LANGUAGE to other options.
-	(if (member language options) header
-	  (replace-match (mapconcat 'identity
-(append options (list language))
-",")
-			 nil nil header 1))
+	;; If LANGUAGE is already loaded, return header without AUTO.
+	;; Otherwise, replace AUTO with language or append language if
+	;; AUTO is not present.
+	(replace-match
+	 (mapconcat (lambda (option) (if (equal "AUTO" option) language option))
+		(cond ((member language options) (delete "AUTO" options))
+			  ((member "AUTO" options) options)
+			  (t (append options (list language
+		", ")
+	 t nil header 1)
 
 (defun org-latex--find-verb-separator (s)
   "Return a character not used in string S.
-- 
1.8.3