| 
					
				 | 
			
			
				@@ -239,6 +239,32 @@ useful to make it ever so slightly different." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        (unless interruptp (cancel-timer org-indent-initial-timer)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (setq org-indent-initial-lock nil))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defsubst org-indent-set-line-properties (l w h) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Set prefix properties on current line an move to next one. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Prefix properties `line-prefix' and `wrap-prefix' in current line 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+are set to, respectively, length L and W. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+If H is non-nil, `line-prefix' will be starred.  If H is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+`inline', the first star will have `org-warning' face. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Assume point is at bol." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (let ((line (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       ((eq 'inline h) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(let ((stars (aref org-indent-stars 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				   (min l org-indent-max-levels)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  (and stars 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		       (concat org-indent-inlinetask-first-star 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			       (substring stars 1))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (h (aref org-indent-stars 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			(min l org-indent-max-levels))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (t (aref org-indent-strings 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			(min l org-indent-max))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(wrap (aref org-indent-strings (min w org-indent-max)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (add-text-properties (point) (point-at-eol) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 `(line-prefix ,line wrap-prefix ,wrap))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (forward-line 1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-indent-add-properties (beg end &optional async) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Add indentation properties between BEG and END. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -265,33 +291,10 @@ you want to use this feature." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (pf-inline (and (featurep 'org-inlinetask) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			    (org-inlinetask-in-task-p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			    (+ (* org-indent-indentation-per-level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				  (1- (org-inlinetask-get-task-level))) 2))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    (set-prop-and-move 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     (function 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      ;; Set prefix properties `line-prefix' and `wrap-prefix' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      ;; in current line to, respectively, length L and W and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      ;; move forward.  If H is non-nil, `line-prefix' will be 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      ;; starred.  If H is `inline', the first star will have 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      ;; `org-warning' face.  Assume point is at bol. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	      (lambda (l w h) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		(let ((line (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			     ((eq 'inline h) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			      (let ((stars (aref org-indent-stars 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						 (min l org-indent-max-levels)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				(and stars 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				     (concat org-indent-inlinetask-first-star 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					     (substring stars 1))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			     (h (aref org-indent-stars 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				      (min l org-indent-max-levels))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			     (t (aref org-indent-strings 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				      (min l org-indent-max))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      (wrap (aref org-indent-strings (min w org-indent-max)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (add-text-properties (point) (point-at-eol) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				       `(line-prefix ,line wrap-prefix ,wrap))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		(forward-line 1))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				  (1- (org-inlinetask-get-task-level))) 2)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ;; 2. For each line, set `line-prefix' and `wrap-prefix' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       ;;    properties depending on the type of line (headline, inline 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       ;;    task, item or other). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       ;;    properties depending on the type of line (headline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       ;;    inline task, item or other). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        (with-silent-modifications 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (while (< (point) end) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (cond 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -307,26 +310,26 @@ you want to use this feature." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	       (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		;; Headline: new value for PF. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		((looking-at limited-re) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (funcall set-prop-and-move line wrap t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		 (org-indent-set-line-properties line wrap t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 (setq pf wrap)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		;; End of inline task: PF-INLINE is now nil. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		((looking-at "\\*+ end[ \t]*$") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (funcall set-prop-and-move line wrap 'inline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		 (org-indent-set-line-properties line wrap 'inline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 (setq pf-inline nil)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		;; Start of inline task.  Determine if it contains 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		;; text, or if it is only one line long.  Set 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		;; PF-INLINE accordingly. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		(t (funcall set-prop-and-move line wrap 'inline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(t (org-indent-set-line-properties line wrap 'inline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   (setq pf-inline (and (org-inlinetask-in-task-p) wrap)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    ;; List item: `wrap-prefix' is set where body starts. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    ((org-at-item-p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	     (let* ((line (or pf-inline pf 0)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    (wrap (+ (org-list-item-body-column (point)) line))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	       (funcall set-prop-and-move line wrap nil))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (org-indent-set-line-properties line wrap nil))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    ;; Normal line: use PF-INLINE, PF or nil as prefixes. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (t (let* ((line (or pf-inline pf 0)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		      (wrap (+ line (org-get-indentation)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (funcall set-prop-and-move line wrap nil)))))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		 (org-indent-set-line-properties line wrap nil)))))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-indent-notify-modified-headline (beg end) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Set `org-indent-modified-headline-flag' depending on context. 
			 |