emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Rasmus <rasmus@gmx.us>
To: emacs-orgmode@gnu.org
Subject: Re: [PATCH (v3)][ox-latex.el] Allow AUTO argument to org-latex-guess-babel-language.
Date: Thu, 06 Jun 2013 23:30:33 +0200	[thread overview]
Message-ID: <87txlbylja.fsf_-_@pank.eu> (raw)
In-Reply-To: 87y5aollyh.fsf@gmail.com

[-- Attachment #1: Type: text/plain, Size: 381 bytes --]


Hi, 

Nicolas Goaziou <n.goaziou@gmail.com> writes:

> Thanks for your patch. Here are a few comments:

is the attached patch better?

It replaced AUTO with LANG when LANG is recognized and preserve
position and LANG is the argument to LANGUAGE.  I don't know if this
patch uses the most efficient way of replacing AUTO with LANG (see the
dotimes).

–Rasmus

-- 
C is for Cookie

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Allow-AUTO-argument-to-org-latex-guess-babel-languag.patch --]
[-- Type: text/x-patch, Size: 2451 bytes --]

From 8c97851cb499280bee035d835783bbf17943334e Mon Sep 17 00:00:00 2001
From: "rasmus.pank" <rasmus.pank@gmail.com>
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.

* ox-latex.el (org-latex-guess-babel-language): retain case in final
replace-match of the function.
---
 lisp/ox-latex.el | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index ff0ca1d..0628514 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -910,6 +910,9 @@ 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'.
+
 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 +921,24 @@ 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))
+	;; If LANGUAGE is already loaded, return header without AUTO.
+	;; Otherwise, replace AUTO with language or append language if
+	;; no AUTO is not present.
+	(replace-match (mapconcat 'identity
+				  (if language
+				      (cond ((member language options)
+					     (delete "AUTO") options)
+					    ((member "AUTO" options)
+					     (dotimes (n (length options) options)
+					       (if (equal "AUTO" (nth n options))
+						   (setf (nth n options) language))))
+					    (t (append options (list language))))
+				    (delete "AUTO" options))
 				    ",")
-			 nil nil header 1))))))
+				  t nil header 1)))))
 
 (defun org-latex--find-verb-separator (s)
   "Return a character not used in string S.
-- 
1.8.3


  parent reply	other threads:[~2013-06-06 21:30 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-31 22:33 [PATCH][ox-latex.el] Allow AUTO argument to org-latex-guess-babel-language Rasmus
2013-06-01  5:31 ` Achim Gratz
2013-06-01 13:59   ` Rasmus
2013-06-01 14:07     ` Rasmus
2013-06-03  7:44 ` Sebastien Vauban
2013-06-03 13:47   ` Rasmus
2013-06-03 14:08     ` Sebastien Vauban
2013-06-03 15:10       ` Rasmus
2013-06-04  6:45         ` Sebastien Vauban
2013-06-04  9:25           ` [PATCH (new version)][ox-latex.el] " Rasmus
2013-06-05 13:35             ` Nicolas Goaziou
2013-06-06  7:46               ` Sebastien Vauban
2013-06-06  9:28                 ` Rasmus
2013-06-06  9:36               ` Rasmus
2013-06-06 21:30               ` Rasmus [this message]
2013-06-07 12:35                 ` [PATCH (v3)][ox-latex.el] " Nicolas Goaziou
2013-06-07 13:16                   ` Rasmus
2013-06-07 13:25                     ` Nicolas Goaziou
2013-06-07 15:26                   ` Rasmus
2013-06-09  7:55                     ` Nicolas Goaziou
2013-06-11 23:12                       ` [PATCH (v5)][ox-latex.el] " Rasmus
2013-06-12 13:27                         ` Nicolas Goaziou
2013-06-12 14:32                           ` Rasmus

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=87txlbylja.fsf_-_@pank.eu \
    --to=rasmus@gmx.us \
    --cc=emacs-orgmode@gnu.org \
    /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).