| 
					
				 | 
			
			
				@@ -540,6 +540,10 @@ inlinetask within the section." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   (org-export-get-node-property 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    :LOCATION entry 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    (org-property-inherit-p "LOCATION")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (class (org-icalendar-cleanup-string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		     (org-export-get-node-property 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      :CLASS entry 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      (org-property-inherit-p "CLASS")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     ;; Build description of the entry from associated section 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     ;; (headline) or contents (inlinetask). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     (desc 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -568,14 +572,14 @@ inlinetask within the section." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		       org-icalendar-use-deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 (org-icalendar--vevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  entry deadline (concat "DL-" uid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (concat "DL: " summary) loc desc cat tz))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  (concat "DL: " summary) loc desc cat tz class))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (let ((scheduled (org-element-property :scheduled entry))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (and scheduled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 (memq (if todo-type 'event-if-todo 'event-if-not-todo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		       org-icalendar-use-scheduled) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 (org-icalendar--vevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  entry scheduled (concat "SC-" uid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (concat "S: " summary) loc desc cat tz))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  (concat "S: " summary) loc desc cat tz class))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  ;; When collecting plain timestamps from a headline and its 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  ;; title, skip inlinetasks since collection will happen once 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  ;; ENTRY is one of them. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -593,7 +597,7 @@ inlinetask within the section." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			   ((t) t))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   (let ((uid (format "TS%d-%s" (cl-incf counter) uid))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		     (org-icalendar--vevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      entry ts uid summary loc desc cat tz)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      entry ts uid summary loc desc cat tz class)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	       info nil (and (eq type 'headline) 'inlinetask)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     "")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  ;; Task: First check if it is appropriate to export it.  If 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -607,7 +611,7 @@ inlinetask within the section." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			     (not (org-icalendar-blocked-headline-p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   entry info)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		       ((t) (eq todo-type 'todo)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    (org-icalendar--vtodo entry uid summary loc desc cat tz)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    (org-icalendar--vtodo entry uid summary loc desc cat tz class)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  ;; Diary-sexp: Collect every diary-sexp element within ENTRY 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  ;; and its title, and transcode them.  If ENTRY is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  ;; a headline, skip inlinetasks: they will be handled 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -638,7 +642,7 @@ inlinetask within the section." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        contents)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-icalendar--vevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (entry timestamp uid summary location description categories timezone) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (entry timestamp uid summary location description categories timezone class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Create a VEVENT component. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ENTRY is either a headline or an inlinetask element.  TIMESTAMP 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -648,7 +652,9 @@ summary or subject for the event.  LOCATION defines the intended 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 venue for the event.  DESCRIPTION provides the complete 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 description of the event.  CATEGORIES defines the categories the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 event belongs to.  TIMEZONE specifies a time zone for this event 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-only. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+only.  CLASS contains the visibility attribute.  Three of them 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(\"PUBLIC\", \"CONFIDENTIAL\", and \"PRIVATE\") are predefined, others 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+should be treated as \"PRIVATE\" if they are unknown to the iCalendar server. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Return VEVENT component as a string." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (org-icalendar-fold-string 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -669,6 +675,7 @@ Return VEVENT component as a string." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		       (org-element-property :repeater-value timestamp))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     "SUMMARY:" summary "\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     (and (org-string-nw-p location) (format "LOCATION:%s\n" location)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (and (org-string-nw-p class) (format "CLASS:%s\n" class)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     (and (org-string-nw-p description) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  (format "DESCRIPTION:%s\n" description)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     "CATEGORIES:" categories "\n" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -677,7 +684,7 @@ Return VEVENT component as a string." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     "END:VEVENT")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-icalendar--vtodo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (entry uid summary location description categories timezone) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (entry uid summary location description categories timezone class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Create a VTODO component. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ENTRY is either a headline or an inlinetask element.  UID is the 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -712,6 +719,7 @@ Return VTODO component as a string." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  "\n")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     "SUMMARY:" summary "\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     (and (org-string-nw-p location) (format "LOCATION:%s\n" location)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     (and (org-string-nw-p class) (format "CLASS:%s\n" class)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     (and (org-string-nw-p description) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  (format "DESCRIPTION:%s\n" description)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     "CATEGORIES:" categories "\n" 
			 |