monnier pushed a commit to branch externals/auctex
in repository elpa.

commit 499541320502079d72d29313d6365b70fa9f834c
Author: Mosè Giordano <giordano.m...@libero.it>
Date:   Thu Apr 25 20:34:45 2013 +0200

    Add new variable `LaTeX-default-document-environment'.
    
    * latex.el (LaTeX-default-document-environment): New buffer-local
    variable.
    (LaTeX-default-environment): Mention
    `LaTeX-default-document-environment' in doc-string.
    (LaTeX-environment): Use `LaTeX-default-document-environment'.
    
    * style/beamer.el ("beamer"): Use
    `LaTeX-default-document-environment' instead of
    `LaTeX-default-environment'.
    
    * style/letter.el ("letter"): Ditto.
    
    * style/slides.el ("slides"): Ditto.
---
 ChangeLog       |   16 ++++++++++++++++
 latex.el        |   37 ++++++++++++++++++++++---------------
 style/beamer.el |    2 +-
 style/letter.el |    2 +-
 style/slides.el |    2 +-
 5 files changed, 41 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 0aa4d00..c1ce656 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2013-04-25  Mos� Giordano  <giordano.m...@libero.it>
+
+       * latex.el (LaTeX-default-document-environment): New buffer-local
+       variable.
+       (LaTeX-default-environment): Mention
+       `LaTeX-default-document-environment' in doc-string.
+       (LaTeX-environment): Use `LaTeX-default-document-environment'.
+
+       * style/beamer.el ("beamer"): Use
+       `LaTeX-default-document-environment' instead of
+       `LaTeX-default-environment'.
+
+       * style/letter.el ("letter"): Ditto.
+
+       * style/slides.el ("slides"): Ditto.
+
 2013-04-24  Mos� Giordano  <giordano.m...@libero.it>
 
        * style/acro.el (LaTeX-acro-acronym-history): New variable.
diff --git a/latex.el b/latex.el
index db9b459..c8aa77d 100644
--- a/latex.el
+++ b/latex.el
@@ -490,10 +490,18 @@ The behaviour of this hook is controlled by variable 
`LaTeX-section-label'."
   :group 'LaTeX-macro)
 
 (defcustom LaTeX-default-environment "itemize"
-  "*The default environment when creating new ones with `LaTeX-environment'."
+  "*The default environment when creating new ones with `LaTeX-environment'.
+It is overridden by `LaTeX-default-document-environment' when it
+is non-nil and the current environment is \"document\"."
   :group 'LaTeX-environment
   :type 'string)
- (make-variable-buffer-local 'LaTeX-default-environment)
+(make-variable-buffer-local 'LaTeX-default-environment)
+
+(defvar LaTeX-default-document-environment nil
+  "The default environment when creating new ones with
+`LaTeX-environment' and the current one is \"document\".  This
+variable overrides `LaTeX-default-environment'.")
+(make-variable-buffer-local 'LaTeX-default-document-environment)
 
 (defvar LaTeX-environment-history nil)
 
@@ -520,20 +528,19 @@ It may be customized with the following variables:
 `LaTeX-default-position'          Position for array and tabular."
 
   (interactive "*P")
-  (let ((environment (completing-read (concat "Environment type: (default "
-                                              (if (TeX-near-bobp)
-                                                  "document"
-                                                LaTeX-default-environment)
-                                              ") ")
-                                     (LaTeX-environment-list)
-                                     nil nil nil
-                                     'LaTeX-environment-history)))
+  (let* ((default (cond
+                  ((TeX-near-bobp) "document")
+                  ((and LaTeX-default-document-environment
+                        (string-equal (LaTeX-current-environment) "document"))
+                   LaTeX-default-document-environment)
+                  (t LaTeX-default-environment)))
+    (environment (completing-read (concat "Environment type: (default "
+                                         default ") ")
+                                 (LaTeX-environment-list) nil nil nil
+                                 'LaTeX-environment-history)))
     ;; Get default
-    (cond ((and (zerop (length environment))
-               (TeX-near-bobp))
-          (setq environment "document"))
-         ((zerop (length environment))
-          (setq environment LaTeX-default-environment))
+    (cond ((zerop (length environment))
+          (setq environment default))
          (t
           (setq LaTeX-default-environment environment)))
 
diff --git a/style/beamer.el b/style/beamer.el
index d41c553..d79c0a4 100644
--- a/style/beamer.el
+++ b/style/beamer.el
@@ -74,7 +74,7 @@
                   ("enumerate" . LaTeX-item-beamer))
                 LaTeX-item-list))
 
-   (setq LaTeX-default-environment "frame")
+   (setq LaTeX-default-document-environment "frame")
 
    (LaTeX-paragraph-commands-add-locally "frametitle")
 
diff --git a/style/letter.el b/style/letter.el
index de7abba..a5bbc71 100644
--- a/style/letter.el
+++ b/style/letter.el
@@ -42,7 +42,7 @@
    (LaTeX-add-environments
     '("letter" LaTeX-env-recipient))
    (LaTeX-add-pagestyles "headings" "firstpage")
-   (setq LaTeX-default-environment "letter")
+   (setq LaTeX-default-document-environment "letter")
    (TeX-add-symbols
     '("name" "Sender: ")
     '("address" "Sender address: ")
diff --git a/style/slides.el b/style/slides.el
index e873a6a..0094616 100644
--- a/style/slides.el
+++ b/style/slides.el
@@ -45,6 +45,6 @@
                           "note")
    (LaTeX-add-counters "minutes" "seconds")
    (LaTeX-add-pagestyles "headings" "slide" "overlay" "note")
-   (setq LaTeX-default-environment "slide")))
+   (setq LaTeX-default-document-environment "slide")))
 
 ;;; slides.el ends here

Reply via email to