| 
					
				 | 
			
			
				@@ -584,6 +584,14 @@ table.el tables." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defconst org-level-max 20) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defvar org-export-current-backend nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "During export, this will be bound to a symbol such as 'html, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  'latex, 'docbook, 'ascii, etc, indicating which of the export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  backends is in use. Otherwise it has the value nil. Users 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  should not attempt to change the value of this variable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  directly, but it can be used in code to test whether export is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  in progress, and if so, what the backend is.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defvar org-current-export-file nil) ; dynamically scoped parameter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defvar org-current-export-dir nil) ; dynamically scoped parameter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defvar org-export-opt-plist nil 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1033,7 +1041,7 @@ to export.  It then creates a temporary buffer where it does its job. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 The result is then again returned as a string, and the exporter works 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 on this string to produce the exported version." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (let* ((backend (plist-get parameters :for-backend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (let* ((org-export-current-backend (plist-get parameters :for-backend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (archived-trees (plist-get parameters :archived-trees)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (inhibit-read-only t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (drawers org-drawers) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1091,22 +1099,22 @@ on this string to produce the exported version." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Change lists ending. Other parts of export may insert blank 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; lines and lists' structure could be altered. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (org-export-mark-list-end backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (org-export-mark-list-end) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Export code blocks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (org-export-blocks-preprocess) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Mark lists with properties 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (org-export-mark-list-properties backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (org-export-mark-list-properties) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Handle source code snippets 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (org-export-replace-src-segments-and-examples backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (org-export-replace-src-segments-and-examples) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Protect short examples marked by a leading colon 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (org-export-protect-colon-examples) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Protected spaces 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (org-export-convert-protected-spaces backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (org-export-convert-protected-spaces) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Normalize footnotes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (when (plist-get parameters :footnotes) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1122,7 +1130,7 @@ on this string to produce the exported version." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Get rid of drawers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (org-export-remove-or-extract-drawers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       drawers (plist-get parameters :drawers) backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       drawers (plist-get parameters :drawers)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Get the correct stuff before the first headline 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (when (plist-get parameters :skip-before-1st-heading) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1145,7 +1153,7 @@ on this string to produce the exported version." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Select and protect backend specific stuff, throw away stuff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; that is specific for other backends 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (run-hooks 'org-export-preprocess-before-selecting-backend-code-hook) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (org-export-select-backend-specific-text backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (org-export-select-backend-specific-text) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Protect quoted subtrees 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (org-export-protect-quoted-subtrees) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1165,8 +1173,7 @@ on this string to produce the exported version." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(org-export-remove-timestamps)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Attach captions to the correct object 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (setq target-alist (org-export-attach-captions-and-attributes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			  backend target-alist)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (setq target-alist (org-export-attach-captions-and-attributes target-alist)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Find matches for radio targets and turn them into internal links 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (org-export-mark-radio-links) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1198,7 +1205,7 @@ on this string to produce the exported version." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (run-hooks 'org-export-preprocess-before-backend-specifics-hook) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Backend-specific preprocessing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (let* ((backend-name (symbol-name backend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (let* ((backend-name (symbol-name org-export-current-backend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     (f (intern (format "org-export-%s-preprocess" backend-name)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(require (intern (concat "org-" backend-name)) nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(funcall f parameters)) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1374,17 +1381,16 @@ the current file." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 The function must accept three parameters: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NAME     the drawer name, like \"PROPERTIES\" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   CONTENT  the content of the drawer. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  BACKEND  one of the symbols html, docbook, latex, ascii, xoxo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+You can check the export backend through `org-export-current-backend'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 The function should return the text to be inserted into the buffer. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 If this is nil, `org-export-format-drawer' is used as a default.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defun org-export-remove-or-extract-drawers (all-drawers exp-drawers backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-export-remove-or-extract-drawers (all-drawers exp-drawers) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Remove drawers, or extract and format the content. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ALL-DRAWERS is a list of all drawer names valid in the current buffer. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 EXP-DRAWERS can be t to keep all drawer contents, or a list of drawers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 whose content to keep.  Any drawers that are in ALL-DRAWERS but not in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-EXP-DRAWERS will be removed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-BACKEND is the current export backend." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+EXP-DRAWERS will be removed." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (goto-char (point-min)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (let ((re (concat "^[ \t]*:\\(" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    (mapconcat 'identity all-drawers "\\|") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1408,10 +1414,10 @@ BACKEND is the current export backend." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   (member name exp-drawers)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (setq content (funcall (or org-export-format-drawer-function 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				      'org-export-format-drawer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				  name content backend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				  name content)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (insert content))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defun org-export-format-drawer (name content backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-export-format-drawer (name content) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Format the content of a drawer as a colon example." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (if (string-match "[ \t]+\\'" content) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (setq content (substring content (match-beginning 0)))) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1547,7 +1553,7 @@ from the buffer." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (add-text-properties (point) (org-end-of-subtree t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			   '(org-protected t))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defun org-export-convert-protected-spaces (backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-export-convert-protected-spaces () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Convert strings like \\____ to protected spaces in all backends." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (goto-char (point-min)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (while (re-search-forward "\\\\__+" nil t) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1555,13 +1561,13 @@ from the buffer." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      (replace-match 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (org-add-props 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   ((eq backend 'latex) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   ((eq org-export-current-backend 'latex) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (format "\\hspace{%dex}" (- (match-end 0) (match-beginning 0)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   ((eq backend 'html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   ((eq org-export-current-backend 'html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (org-add-props (match-string 0) nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      'org-whitespace (- (match-end 0) (match-beginning 0)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   ;; ((eq backend 'docbook)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   ((eq backend 'ascii) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   ;; ((eq org-export-current-backend 'docbook)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   ((eq org-export-current-backend 'ascii) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (org-add-props (match-string 0) '(org-whitespace t))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (t (make-string (- (match-end 0) (match-beginning 0)) ?\ ))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  '(org-protected t)) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1589,7 +1595,7 @@ from the buffer." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (add-text-properties beg (if (bolp) (1- (point)) (point)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			   '(org-protected t))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defun org-export-select-backend-specific-text (backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-export-select-backend-specific-text () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (let ((formatters 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 '((docbook "DOCBOOK" "BEGIN_DOCBOOK" "END_DOCBOOK") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (html "HTML" "BEGIN_HTML" "END_HTML") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1605,7 +1611,7 @@ from the buffer." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (goto-char (point-min)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (while (re-search-forward (concat "^\\([ \t]*\\)#\\+" (cadr fmt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					":[ \t]*\\(.*\\)") nil t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(if (not (eq (car fmt) backend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(if (not (eq (car fmt) org-export-current-backend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (delete-region (point-at-bol) (min (1+ (point-at-eol)) (point-max))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (replace-match "\\1\\2" t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (add-text-properties 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1618,7 +1624,7 @@ from the buffer." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (while (re-search-forward (concat "^\\([ \t]*\\)#\\+attr_" (cadr fmt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					":[ \t]*\\(.*\\)") nil t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(setq ind (org-get-indentation)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(when (not (eq (car fmt) backend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(when (not (eq (car fmt) org-export-current-backend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (delete-region (point-at-bol) (min (1+ (point-at-eol)) (point-max))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Handle #+begin_backend and #+end_backend stuff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (goto-char (point-min)) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1629,7 +1635,7 @@ from the buffer." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(when (re-search-forward (concat "^[ \t]*#\\+" (cadddr fmt) "\\>.*\n?") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				 nil t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (setq end (match-end 0) end-content (match-beginning 0)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (if (eq (car fmt) backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (if (eq (car fmt) org-export-current-backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      ;; yes, keep this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (progn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		(add-text-properties 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1666,9 +1672,9 @@ These special cookies will later be interpreted by the backend." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(delete-region beg end) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(insert (org-add-props content nil 'original-indentation ind)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defun org-export-mark-list-end (backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-export-mark-list-end () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Mark all list endings with a special string." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (unless (eq backend 'ascii) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (unless (eq org-export-current-backend 'ascii) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (mapc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      (lambda (e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ;; For each type allowing list export, find every list, remove 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1697,7 +1703,7 @@ These special cookies will later be interpreted by the backend." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 (list 'original-indentation top-ind))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      (cons nil org-list-export-context)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defun org-export-mark-list-properties (backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-export-mark-list-properties () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Mark list with special properties. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 These special properties will later be interpreted by the backend." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (let ((mark-list 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1750,7 +1756,7 @@ These special properties will later be interpreted by the backend." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      ;; Following property is used by LaTeX exporter. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (add-text-properties top (point) (list 'list-context ctxt))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ;; Mark lists except for backends not interpreting them. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (unless (eq backend 'ascii) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (unless (eq org-export-current-backend 'ascii) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (let ((org-list-end-re "^ORG-LIST-END-MARKER\n")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(mapc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (lambda (e) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1759,7 +1765,7 @@ These special properties will later be interpreted by the backend." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     (when (eq (nth 2 (org-list-context)) e) (funcall mark-list e)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (cons nil org-list-export-context)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defun org-export-attach-captions-and-attributes (backend target-alist) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-export-attach-captions-and-attributes (target-alist) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Move #+CAPTION, #+ATTR_BACKEND, and #+LABEL text into text properties. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 If the next thing following is a table, add the text properties to the first 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 table line.  If it is a link, add it to the line containing the link." 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1769,7 +1775,7 @@ table line.  If it is a link, add it to the line containing the link." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (let ((case-fold-search t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(re (concat "^[ \t]*#\\+caption:[ \t]+\\(.*\\)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    "\\|" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    "^[ \t]*#\\+attr_" (symbol-name backend) ":[ \t]+\\(.*\\)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    "^[ \t]*#\\+attr_" (symbol-name org-export-current-backend) ":[ \t]+\\(.*\\)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    "\\|" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    "^[ \t]*#\\+label:[ \t]+\\(.*\\)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    "\\|" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2318,7 +2324,7 @@ in the list) and remove property and value from the list in LISTVAR." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defvar org-export-last-code-line-counter-value 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defun org-export-replace-src-segments-and-examples (backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-export-replace-src-segments-and-examples () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Replace source code segments with special code for export." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (setq org-export-last-code-line-counter-value 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (let ((case-fold-search t) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2351,7 +2357,7 @@ in the list) and remove property and value from the list in LISTVAR." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               caption (get-text-property 0 'org-caption (match-string 0)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (setq trans (org-export-format-source-code-or-example 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		   backend lang code opts indent caption)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   lang code opts indent caption)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (replace-match trans t t)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defvar org-export-latex-verbatim-wrap) ;; defined in org-latex.el 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2364,7 +2370,7 @@ in the list) and remove property and value from the list in LISTVAR." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defvar org-export-latex-minted-options) ;; defined in org-latex.el 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-export-format-source-code-or-example 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (backend lang code &optional opts indent caption) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (lang code &optional opts indent caption) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Format CODE from language LANG and return it formatted for export. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 If LANG is nil, do not add any fontification. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 OPTS contains formatting options, like `-n' for triggering numbering lines, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2390,7 +2396,7 @@ INDENT was the original indentation of the block." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   (org-count-lines code)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    fmt (if (string-match "-l[ \t]+\"\\([^\"\n]+\\)\"" opts) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    (match-string 1 opts))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (when (and textareap (eq backend 'html)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (when (and textareap (eq org-export-current-backend 'html)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	;; we cannot use numbering or highlighting. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(setq num nil cont nil lang nil)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (if keepp (setq rpllbl 'keep)) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2410,15 +2416,15 @@ INDENT was the original indentation of the block." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; Now backend-specific coding 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (setq rtn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     ((eq backend 'docbook) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      (setq rtn (org-export-number-lines rtn 'docbook 0 0 num cont rpllbl fmt)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     ((eq org-export-current-backend 'docbook) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (setq rtn (org-export-number-lines rtn 0 0 num cont rpllbl fmt)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (concat "\n#+BEGIN_DOCBOOK\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		      (org-add-props (concat "<programlisting><![CDATA[" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					     rtn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					     "]]></programlisting>\n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  '(org-protected t org-example t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		      "#+END_DOCBOOK\n")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     ((eq backend 'html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     ((eq org-export-current-backend 'html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      ;; We are exporting to HTML 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (when lang 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		(if (featurep 'xemacs) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2482,13 +2488,12 @@ INDENT was the original indentation of the block." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    (setq rtn (buffer-string))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  (setq rtn (concat "<pre class=\"example\">\n" rtn "</pre>\n")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (unless textareap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		(setq rtn (org-export-number-lines rtn 'html 1 1 num 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						   cont rpllbl fmt))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(setq rtn (org-export-number-lines rtn 1 1 num cont rpllbl fmt))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (if (string-match "\\(\\`<[^>]*>\\)\n" rtn) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  (setq rtn (replace-match "\\1" t nil rtn))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (concat "\n#+BEGIN_HTML\n" (org-add-props rtn '(org-protected t org-example t)) "\n#+END_HTML\n\n")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     ((eq backend 'latex) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      (setq rtn (org-export-number-lines rtn 'latex 0 0 num cont rpllbl fmt)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     ((eq org-export-current-backend 'latex) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (setq rtn (org-export-number-lines rtn 0 0 num cont rpllbl fmt)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (concat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	       "#+BEGIN_LaTeX\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	       (org-add-props 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2544,9 +2549,9 @@ INDENT was the original indentation of the block." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                rtn (cdr org-export-latex-verbatim-wrap)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    '(org-protected t org-example t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "#+END_LaTeX\n")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             ((eq backend 'ascii) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             ((eq org-export-current-backend 'ascii) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               ;; This is not HTML or LaTeX, so just make it an example. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              (setq rtn (org-export-number-lines rtn 'ascii 0 0 num cont rpllbl fmt)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              (setq rtn (org-export-number-lines rtn 0 0 num cont rpllbl fmt)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               (concat caption "\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       "#+BEGIN_ASCII\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       (org-add-props 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2560,8 +2565,7 @@ INDENT was the original indentation of the block." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       "#+END_ASCII\n")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (org-add-props rtn nil 'original-indentation indent)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defun org-export-number-lines (text backend 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				     &optional skip1 skip2 number cont 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-export-number-lines (text &optional skip1 skip2 number cont 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				     replace-labels label-format) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (setq skip1 (or skip1 0) skip2 (or skip2 0)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (if (not cont) (setq org-export-last-code-line-counter-value 0)) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2577,11 +2581,11 @@ INDENT was the original indentation of the block." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (fmt (format "%%%dd:  " (length (number-to-string nmax)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (fm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     ((eq backend 'html) (format "<span class=\"linenr\">%s</span>" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     ((eq org-export-current-backend 'html) (format "<span class=\"linenr\">%s</span>" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					 fmt)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     ((eq backend 'ascii) fmt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     ((eq backend 'latex) fmt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     ((eq backend 'docbook) fmt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     ((eq org-export-current-backend 'ascii) fmt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     ((eq org-export-current-backend 'latex) fmt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     ((eq org-export-current-backend 'docbook) fmt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     (t ""))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (label-format (or label-format org-coderef-label-format)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (label-pre (if (string-match "%s" label-format) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2626,7 +2630,7 @@ INDENT was the original indentation of the block." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 (delete-region (match-beginning 2) (match-end 2)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 (insert "(" ref ")") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 (push (cons ref (concat "(" ref ")")) org-export-code-refs))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (when (eq backend 'html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (when (eq org-export-current-backend 'html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (save-excursion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (beginning-of-line 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      (insert (format "<span id=\"coderef-%s\" class=\"coderef-off\">" 
			 |