| 
					
				 | 
			
			
				@@ -1881,6 +1881,8 @@ Return a string." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		(cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 ;; Ignored element/object. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 ((memq data (plist-get info :ignore-list)) nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 ;; Raw code. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 ((eq type 'raw) (car (org-element-contents data))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 ;; Plain text. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 ((eq type 'plain-text) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  (org-export-filter-apply-functions 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1947,7 +1949,7 @@ Return a string." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    ((not results) "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    ((memq type '(org-data plain-text nil)) results) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    ((memq type '(nil org-data plain-text raw)) results) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    ;; Append the same white space between elements or objects 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    ;; as in the original buffer, and call appropriate filters. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (t 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3668,7 +3670,8 @@ the communication channel used for export, as a plist." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (when (symbolp backend) (setq backend (org-export-get-backend backend))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (org-export-barf-if-invalid-backend backend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (let ((type (org-element-type data))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (when (memq type '(nil org-data)) (error "No foreign transcoder available")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (when (memq type '(nil org-data raw)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (error "No foreign transcoder available")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (let* ((all-transcoders (org-export-get-all-transcoders backend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (transcoder (cdr (assq type all-transcoders)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (unless (functionp transcoder) (error "No foreign transcoder available")) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4562,6 +4565,17 @@ objects of the same type." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    ((funcall predicate el info) (cl-incf counter) nil))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 info 'first-match))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;;; For Raw objects 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; `org-export-raw-string' builds a pseudo-object out of a string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; that any export back-end returns as-is. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-export-raw-string (s) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Return a raw object containing string S. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+A raw string is exported as-is, with no additional processing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from the export back-end." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (unless (stringp s) (error "Wrong raw contents type: %S" s)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (org-element-create 'raw nil s)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;;; For Src-Blocks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; 
			 |