[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] [RFC] Replace lambda functions added to org-mode-hook with named fun
From: |
Kaushal Modi |
Subject: |
[O] [RFC] Replace lambda functions added to org-mode-hook with named funcs |
Date: |
Thu, 4 Oct 2018 11:10:55 -0400 |
Hello,
Yesterday, while helping someone out[0] with why their custom
functions added to org-mode-hook didn't work, I asked them to reveal
the value of org-mode-hook, and they presented this as the default
value of org-mode-hook once Org was loaded:
=====
'(org-mode-hook
(quote
(#[0 "\300\301\302\303\304$\207"
[add-hook change-major-mode-hook org-show-block-all append local]
5]
#[0 "\300\301\302\303\304$\207"
[add-hook change-major-mode-hook org-babel-show-result-all
append local]
5]
org-babel-result-hide-spec org-babel-hide-all-hashes)))
=====
Going down the rabbit hole, I discovered many places in Org source
where lambdas were added to org-mode-hook.
I propose to replace such lamba functions with named functions.
Here's an example of diff on maint branch, after making one such change:
=====
diff --git a/lisp/org.el b/lisp/org.el
index 2cc9b6a1c..9f28502d4 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -7429,10 +7429,10 @@ a block. Return a non-nil value when toggling
is successful."
(when (eq (overlay-get ov 'invisible) 'org-hide-block)
(delete-overlay ov))))))))
-;; Remove overlays when changing major mode
-(add-hook 'org-mode-hook
- (lambda () (add-hook 'change-major-mode-hook
- 'org-show-block-all 'append 'local)))
+(defun org--unfold-all-blocks-on-major-mode-change ()
+ "Remove overlays when changing major mode."
+ (add-hook 'change-major-mode-hook #'org-show-block-all 'append 'local))
+(add-hook 'org-mode-hook #'org--unfold-all-blocks-on-major-mode-change)
;;; Org-goto
=====
If there is no objection to this, I can fix this everywhere in maint,
and then merge that into master.
Comments?
--
Kaushal Modi
[0]:
https://www.reddit.com/r/emacs/comments/9l1aji/org_mode_hooks_dont_work/e73awsc/
- [O] [RFC] Replace lambda functions added to org-mode-hook with named funcs,
Kaushal Modi <=