|
@@ -1469,19 +1469,23 @@ key."
|
|
|
;; Folding in outline-mode is not compatible with org-mode folding
|
|
|
;; anymore. Working around to avoid breakage of external packages
|
|
|
;; assuming the compatibility.
|
|
|
-(define-advice outline-flag-region (:around (oldfun from to flag) fix-for-org-fold)
|
|
|
+(define-advice outline-flag-region (:around (oldfun from to flag &rest extra) fix-for-org-fold)
|
|
|
"Run `org-fold-region' when in org-mode."
|
|
|
(if (derived-mode-p 'org-mode)
|
|
|
(org-fold-region (max from (point-min)) (min to (point-max)) flag 'headline)
|
|
|
- (funcall oldfun from to flag)))
|
|
|
+ ;; Apply EXTRA to avoid breakages if adviced function definition
|
|
|
+ ;; changes.
|
|
|
+ (apply oldfun from to flag extra)))
|
|
|
|
|
|
-(define-advice outline-next-visible-heading (:around (oldfun arg) fix-for-org-fold)
|
|
|
+(define-advice outline-next-visible-heading (:around (oldfun arg &rest extra) fix-for-org-fold)
|
|
|
"Run `org-next-visible-heading' when in org-mode."
|
|
|
(if (derived-mode-p 'org-mode)
|
|
|
(org-next-visible-heading arg)
|
|
|
- (funcall oldfun arg)))
|
|
|
+ ;; Apply EXTRA to avoid breakages if adviced function definition
|
|
|
+ ;; changes.
|
|
|
+ (apply oldfun arg extra)))
|
|
|
|
|
|
-(define-advice outline-back-to-heading (:around (oldfun &optional invisible-ok) fix-for-org-fold)
|
|
|
+(define-advice outline-back-to-heading (:around (oldfun &optional invisible-ok &rest extra) fix-for-org-fold)
|
|
|
"Run `org-back-to-heading' when in org-mode."
|
|
|
(if (derived-mode-p 'org-mode)
|
|
|
(progn
|
|
@@ -1497,21 +1501,27 @@ key."
|
|
|
(point)))))
|
|
|
(goto-char found)
|
|
|
found)))
|
|
|
- (funcall oldfun invisible-ok)))
|
|
|
+ ;; Apply EXTRA to avoid breakages if adviced function definition
|
|
|
+ ;; changes.
|
|
|
+ (apply oldfun invisible-ok extra)))
|
|
|
|
|
|
-(define-advice outline-on-heading-p (:around (oldfun &optional invisible-ok) fix-for-org-fold)
|
|
|
+(define-advice outline-on-heading-p (:around (oldfun &optional invisible-ok &rest extra) fix-for-org-fold)
|
|
|
"Run `org-at-heading-p' when in org-mode."
|
|
|
(if (derived-mode-p 'org-mode)
|
|
|
(org-at-heading-p (not invisible-ok))
|
|
|
- (funcall oldfun invisible-ok)))
|
|
|
+ ;; Apply EXTRA to avoid breakages if adviced function definition
|
|
|
+ ;; changes.
|
|
|
+ (apply oldfun invisible-ok extra)))
|
|
|
|
|
|
-(define-advice outline-hide-sublevels (:around (oldfun levels) fix-for-org-fold)
|
|
|
+(define-advice outline-hide-sublevels (:around (oldfun levels &rest extra) fix-for-org-fold)
|
|
|
"Run `org-fold-hide-sublevels' when in org-mode."
|
|
|
(if (derived-mode-p 'org-mode)
|
|
|
(org-fold-hide-sublevels levels)
|
|
|
- (funcall oldfun levels)))
|
|
|
+ ;; Apply EXTRA to avoid breakages if adviced function definition
|
|
|
+ ;; changes.
|
|
|
+ (apply oldfun levels extra)))
|
|
|
|
|
|
-(define-advice outline-toggle-children (:around (oldfun) fix-for-org-fold)
|
|
|
+(define-advice outline-toggle-children (:around (oldfun &rest extra) fix-for-org-fold)
|
|
|
"Run `org-fold-hide-sublevels' when in org-mode."
|
|
|
(if (derived-mode-p 'org-mode)
|
|
|
(save-excursion
|
|
@@ -1520,7 +1530,9 @@ key."
|
|
|
(org-fold-hide-subtree)
|
|
|
(org-fold-show-children)
|
|
|
(org-fold-show-entry 'hide-drawers)))
|
|
|
- (funcall oldfun)))
|
|
|
+ ;; Apply EXTRA to avoid breakages if adviced function definition
|
|
|
+ ;; changes.
|
|
|
+ (apply oldfun extra)))
|
|
|
|
|
|
;; TODO: outline-headers-as-kill
|
|
|
|