* Bug: Problem with hook added to org-mode-hook [8.2.6 (release_8.2.6-1 @ /usr/local/share/emacs/24.4.50/lisp/org/)]
@ 2014-07-14 6:24 Tianxiang Xiong
2014-07-28 9:25 ` Bastien
0 siblings, 1 reply; 2+ messages in thread
From: Tianxiang Xiong @ 2014-07-14 6:24 UTC (permalink / raw)
To: emacs-orgmode
Remember to cover the basics, that is, what you expected to happen and
what in fact did happen. You don't know how to make a good report? See
http://orgmode.org/manual/Feedback.html#Feedback
Your bug report will be posted to the Org-mode mailing list.
------------------------------------------------------------------------
I'm organizing my init file as an init.org file that I will then tangle
into init.el.
I want to define an after-save-hook that applies only to org-mode. I
used the following:
(add-hook 'org-mode-hook
(lambda ()
(add-hook 'after-save-hook 'tangle-init nil t)))
However, when I open my init.org file, I see that the after-save-hook
variable is nil. If I manually reapply org-mode, however, it works as
expected.
Why is it that when I simply open an org file, the hook function is not
applied?
At least one other individual has been able to reproduce the problem:
http://www.reddit.com/r/emacs/comments/2alwnd/hook_for_major_mode/
------------------------------------------------------------------------
Emacs : GNU Emacs 24.4.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.9)
of 2014-07-08 on localhost.localdomain
Package: Org-mode version 8.2.6 (release_8.2.6-1 @ /usr/local/share/emacs/24.4.50/lisp/org/)
current state:
==============
(setq
org-tab-first-hook '(org-hide-block-toggle-maybe org-src-native-tab-command-maybe
org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)
org-speed-command-hook '(org-speed-command-default-hook org-babel-speed-command-hook)
org-occur-hook '(org-first-headline-recenter)
org-metaup-hook '(org-babel-load-in-session-maybe)
org-confirm-shell-link-function 'yes-or-no-p
org-after-todo-state-change-hook '(org-clock-out-if-current)
org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer)
org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-babel-pre-tangle-hook '(save-buffer)
org-mode-hook '((lambda nil (add-hook (quote after-save-hook) (quote tangle-init) nil t))
#[nil "\300\301\302\303\304$\207"
[org-add-hook change-major-mode-hook org-show-block-all append local] 5]
#[nil "\300\301\302\303\304$\207"
[org-add-hook change-major-mode-hook org-babel-show-result-all append local] 5]
org-babel-result-hide-spec org-babel-hide-all-hashes turn-on-auto-fill
#[nil "\300\301\302\303\304$\207" [add-hook after-save-hook tangle-init nil t] 5])
org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe)
org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-hide-inline-tasks
org-cycle-show-empty-lines org-optimize-window-after-visibility-change)
org-confirm-elisp-link-function 'yes-or-no-p
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
)
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Bug: Problem with hook added to org-mode-hook [8.2.6 (release_8.2.6-1 @ /usr/local/share/emacs/24.4.50/lisp/org/)]
2014-07-14 6:24 Bug: Problem with hook added to org-mode-hook [8.2.6 (release_8.2.6-1 @ /usr/local/share/emacs/24.4.50/lisp/org/)] Tianxiang Xiong
@ 2014-07-28 9:25 ` Bastien
0 siblings, 0 replies; 2+ messages in thread
From: Bastien @ 2014-07-28 9:25 UTC (permalink / raw)
To: Tianxiang Xiong; +Cc: emacs-orgmode
Hi Tianxiang,
Tianxiang Xiong <tianxiang.xiong@gmail.com> writes:
> (add-hook 'org-mode-hook
> (lambda ()
> (add-hook 'after-save-hook 'tangle-init nil t)))
>
> However, when I open my init.org file, I see that the after-save-hook
> variable is nil. If I manually reapply org-mode, however, it works as
> expected.
If you define the hook then kill the buffer containing init.org then
reopens it, you don't need to manually M-x org-mode RET in order for
the hook to be taken into account. IOW: the hook runs fine, it's
just that your buffer was already in org-mode.
Can you confirm this?
To me
(add-hook 'after-save-hook (lambda ()
(when (derived-mode-p 'org-mode)
(tangle-init)))
seems more "natural" anyway.
Thanks,
--
Bastien
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-07-28 17:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-14 6:24 Bug: Problem with hook added to org-mode-hook [8.2.6 (release_8.2.6-1 @ /usr/local/share/emacs/24.4.50/lisp/org/)] Tianxiang Xiong
2014-07-28 9:25 ` Bastien
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).