| 
					
				 | 
			
			
				@@ -162,7 +162,7 @@ All these properties should be back-end agnostic.  Back-end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 specific properties are set through `org-export-define-backend'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Properties redefined there have precedence over these.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defconst org-export-special-keywords '("SETUP_FILE" "OPTIONS") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defconst org-export-special-keywords '("FILETAGS" "SETUP_FILE" "OPTIONS") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "List of in-buffer keywords that require special treatment. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 These keywords are not directly associated to a property.  The 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 way they are handled must be hard-coded into 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1045,6 +1045,11 @@ structure of the values." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;   - category :: tree 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;   - type :: hash table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; + `:filetags' :: List of global tags for buffer.  Used by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;   `org-export-get-tags' to get tags with inheritance. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;   - category :: option 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;   - type :: list of strings 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; + `:footnote-definition-alist' :: Alist between footnote labels and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;     their definition, as parsed data.  Only non-inlined footnotes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;     are represented in this alist.  Also, every definition isn't 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1454,7 +1459,7 @@ Assume buffer is in Org mode.  Narrowing, if any, is ignored." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    (val (org-element-property :value element)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    (prop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		     (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      ((string= key "SETUP_FILE") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      ((equal key "SETUP_FILE") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		       (let ((file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			      (expand-file-name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			       (org-remove-double-quotes (org-trim val))))) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1465,8 +1470,13 @@ Assume buffer is in Org mode.  Narrowing, if any, is ignored." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			     (org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			     (org-export--get-inbuffer-options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			      backend (cons file files)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      ((string= key "OPTIONS") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		       (org-export--parse-option-keyword val backend))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      ((equal key "OPTIONS") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		       (org-export--parse-option-keyword val backend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      ((equal key "FILETAGS") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		       (list :filetags 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (org-uniquify 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			      (append (org-split-string val ":") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				      (plist-get plist :filetags)))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	       (setq plist (org-combine-plists plist prop))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ;; 2. Standard options, as in `org-export-options-alist'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      (let* ((all (append org-export-options-alist 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3186,7 +3196,7 @@ When non-nil, optional argument TAGS should be a list of strings. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Any tag belonging to this list will also be removed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 When optional argument INHERITED is non-nil, tags can also be 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-inherited from parent headlines.." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+inherited from parent headlines and FILETAGS keywords." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (org-remove-if 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    (lambda (tag) (or (member tag (plist-get info :select-tags)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		(member tag (plist-get info :exclude-tags)) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3203,7 +3213,8 @@ inherited from parent headlines.." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	       (push tag current-tag-list))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (org-element-property :tags parent))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(org-export-get-genealogy element)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       current-tag-list)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       ;; Add FILETAGS keywords and return results. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (org-uniquify (append (plist-get info :filetags) current-tag-list)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-export-get-node-property (property blob &optional inherited) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Return node PROPERTY value for BLOB. 
			 |