Просмотр исходного кода

ox-beamer: Do not ignore uppercase environements

* lisp/ox-beamer.el (org-beamer--frame-level): Small refactoring.
(org-beamer--format-block, org-beamer-headline): Do not systematically
downcase environment names as some require upper case in their
names (e.g. noteNH and CJK).

Thanks to James Harkins for reporting the bug.
Nicolas Goaziou 12 лет назад
Родитель
Сommit
bc8d34541b
1 измененных файлов с 5 добавлено и 5 удалено
  1. 5 5
      lisp/ox-beamer.el

+ 5 - 5
lisp/ox-beamer.el

@@ -421,19 +421,19 @@ INFO is a plist used as a communication channel."
    (catch 'exit
    (catch 'exit
      (mapc (lambda (parent)
      (mapc (lambda (parent)
 	     (let ((env (org-element-property :BEAMER_ENV parent)))
 	     (let ((env (org-element-property :BEAMER_ENV parent)))
-	       (when (and env (member (downcase env) '("frame" "fullframe")))
+	       (when (and env (member-ignore-case env '("frame" "fullframe")))
 		 (throw 'exit (org-export-get-relative-level parent info)))))
 		 (throw 'exit (org-export-get-relative-level parent info)))))
 	   (nreverse (org-export-get-genealogy headline)))
 	   (nreverse (org-export-get-genealogy headline)))
      nil)
      nil)
    ;; 2. Look for "frame" environment in HEADLINE.
    ;; 2. Look for "frame" environment in HEADLINE.
    (let ((env (org-element-property :BEAMER_ENV headline)))
    (let ((env (org-element-property :BEAMER_ENV headline)))
-     (and env (member (downcase env) '("frame" "fullframe"))
+     (and env (member-ignore-case env '("frame" "fullframe"))
 	  (org-export-get-relative-level headline info)))
 	  (org-export-get-relative-level headline info)))
    ;; 3. Look for "frame" environment in sub-tree.
    ;; 3. Look for "frame" environment in sub-tree.
    (org-element-map headline 'headline
    (org-element-map headline 'headline
      (lambda (hl)
      (lambda (hl)
        (let ((env (org-element-property :BEAMER_ENV hl)))
        (let ((env (org-element-property :BEAMER_ENV hl)))
-	 (when (and env (member (downcase env) '("frame" "fullframe")))
+	 (when (and env (member-ignore-case env '("frame" "fullframe")))
 	   (org-export-get-relative-level hl info))))
 	   (org-export-get-relative-level hl info))))
      info 'first-match)
      info 'first-match)
    ;; 4. No "frame" environment in tree: use default value.
    ;; 4. No "frame" environment in tree: use default value.
@@ -537,7 +537,7 @@ used as a communication channel."
 			 ;; "column" only.
 			 ;; "column" only.
 			 ((not env) "column")
 			 ((not env) "column")
 			 ;; Use specified environment.
 			 ;; Use specified environment.
-			 (t (downcase env)))))
+			 (t env))))
 	 (env-format (unless (member environment '("column" "columns"))
 	 (env-format (unless (member environment '("column" "columns"))
 		       (assoc environment
 		       (assoc environment
 			      (append org-beamer-environments-special
 			      (append org-beamer-environments-special
@@ -625,7 +625,7 @@ as a communication channel."
     (let ((level (org-export-get-relative-level headline info))
     (let ((level (org-export-get-relative-level headline info))
 	  (frame-level (org-beamer--frame-level headline info))
 	  (frame-level (org-beamer--frame-level headline info))
 	  (environment (let ((env (org-element-property :BEAMER_ENV headline)))
 	  (environment (let ((env (org-element-property :BEAMER_ENV headline)))
-			 (if (stringp env) (downcase env) "block"))))
+			 (or (org-string-nw-p env) "block"))))
       (cond
       (cond
        ;; Case 1: Resume frame specified by "BEAMER_ref" property.
        ;; Case 1: Resume frame specified by "BEAMER_ref" property.
        ((equal environment "againframe")
        ((equal environment "againframe")