| 
					
				 | 
			
			
				@@ -200,6 +200,16 @@ because otherwise all these markers will point to nowhere." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   `(let (pop-up-frames display-buffer-alist) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ,@body)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defmacro org-table-with-shrunk-field (&rest body) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Save field shrunk state, execute BODY and restore state." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (declare (debug (body))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (org-with-gensyms (end shrunk size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    `(let* ((,shrunk (save-match-data (org-table--shrunk-field))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    (,end (and ,shrunk (copy-marker (overlay-end ,shrunk) t))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    (,size (and ,shrunk (- ,end (overlay-start ,shrunk))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (when ,shrunk (delete-overlay ,shrunk)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (unwind-protect (progn ,@body) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (when ,shrunk (move-overlay ,shrunk (- ,end ,size) ,end)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;; Buffer and windows 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1035,23 +1045,6 @@ move it back by one char before doing this check." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (backward-char 1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (org-invisible-p))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-;;; Tables 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-;; This macro is placed here because it is used in org.el. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-;; org-table.el requires org.el.  So, if we put this macro in its 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-;; natural place (org-table), a require loop would result. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defmacro org-table-with-shrunk-field (&rest body) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  "Save field shrunk state, execute BODY and restore state." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (declare (debug (body))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (org-with-gensyms (end shrunk size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    `(let* ((,shrunk (save-match-data (org-table--shrunk-field))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    (,end (and ,shrunk (copy-marker (overlay-end ,shrunk) t))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    (,size (and ,shrunk (- ,end (overlay-start ,shrunk))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       (when ,shrunk (delete-overlay ,shrunk)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       (unwind-protect (progn ,@body) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (when ,shrunk (move-overlay ,shrunk (- ,end ,size) ,end)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;; Time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |