| 
					
				 | 
			
			
				@@ -1456,69 +1456,58 @@ key." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; Folding in outline-mode is not compatible with org-mode folding 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; anymore. Working around to avoid breakage of external packages 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; assuming the compatibility. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defadvice outline-flag-region (around outline-flag-region@fix-for-org-fold (from to flag) activate) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(define-advice outline-flag-region (:around (oldfun from to flag) fix-for-org-fold) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Run `org-fold-region' when in org-mode." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (if (eq major-mode 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (setq ad-return-value (org-fold-region (max from (point-min)) (min to (point-max)) flag 'headline)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ad-do-it)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (if (derived-mode-p 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (org-fold-region (max from (point-min)) (min to (point-max)) flag 'headline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (apply oldfun from to flag))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defadvice outline-next-visible-heading (around outline-next-visible-heading@fix-for-org-fold (arg) activate) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(define-advice outline-next-visible-heading (:around (oldfun arg) fix-for-org-fold) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Run `org-next-visible-heading' when in org-mode." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (interactive "p") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (if (eq major-mode 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (setq ad-return-value (org-next-visible-heading arg)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ad-do-it)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (if (derived-mode-p 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (org-next-visible-heading arg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (apply oldfun arg))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defadvice outline-back-to-heading (around outline-back-to-heading@fix-for-org-fold (&optional invisible-ok) activate) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(define-advice outline-back-to-heading (:around (oldfun &optional invisible-ok) fix-for-org-fold) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Run `org-back-to-heading' when in org-mode." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (if (eq major-mode 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (setq ad-return-value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            (progn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              (beginning-of-line) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              (or (org-at-heading-p (not invisible-ok)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  (let (found) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	            (save-excursion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	              (while (not found) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	                (or (re-search-backward (concat "^\\(?:" outline-regexp "\\)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				                nil t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            (signal 'outline-before-first-heading nil)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	                (setq found (and (or invisible-ok (not (org-fold-folded-p))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			                 (point))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	            (goto-char found) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	            found)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ad-do-it)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defadvice outline-on-heading-p (around outline-on-heading-p@fix-for-org-fold (&optional invisible-ok) activate) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (if (derived-mode-p 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (progn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (beginning-of-line) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (or (org-at-heading-p (not invisible-ok)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            (let (found) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (save-excursion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	        (while (not found) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	          (or (re-search-backward (concat "^\\(?:" outline-regexp "\\)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				          nil t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      (signal 'outline-before-first-heading nil)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	          (setq found (and (or invisible-ok (not (org-fold-folded-p))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			           (point))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (goto-char found) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      found))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (apply oldfun invisible-ok))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(define-advice outline-on-heading-p (:around (oldfun &optional invisible-ok) fix-for-org-fold) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Run `org-at-heading-p' when in org-mode." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (if (eq major-mode 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (setq ad-return-value (org-at-heading-p (not invisible-ok))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ad-do-it)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (if (derived-mode-p 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (org-at-heading-p (not invisible-ok)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (apply oldfun invisible-ok))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defadvice outline-hide-sublevels (around outline-hide-sublevels@fix-for-org-fold (levels) activate) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(define-advice outline-hide-sublevels (:around (oldfun levels) fix-for-org-fold) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Run `org-fold-hide-sublevels' when in org-mode." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (interactive (list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		(cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (current-prefix-arg (prefix-numeric-value current-prefix-arg)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 ((save-excursion (beginning-of-line) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				  (looking-at outline-regexp)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		  (funcall outline-level)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 (t 1)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (if (eq major-mode 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (setq ad-return-value (org-fold-hide-sublevels levels)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ad-do-it)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defadvice outline-toggle-children (around outline-toggle-children@fix-for-org-fold () activate) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (if (derived-mode-p 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (org-fold-hide-sublevels levels) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (apply oldfun levels))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(define-advice outline-toggle-children (:around (oldfun) fix-for-org-fold) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Run `org-fold-hide-sublevels' when in org-mode." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (interactive) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  (if (eq major-mode 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (setq ad-return-value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            (save-excursion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              (org-back-to-heading) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              (if (not (org-fold-folded-p (line-end-position))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  (org-fold-hide-subtree) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                (org-fold-show-children) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                (org-fold-show-entry 'hide-drawers)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ad-do-it)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (if (derived-mode-p 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (save-excursion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (org-back-to-heading) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (if (not (org-fold-folded-p (line-end-position))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            (org-fold-hide-subtree) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          (org-fold-show-children) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          (org-fold-show-entry 'hide-drawers))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (apply oldfun))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; TODO: outline-headers-as-kill 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |