I have enable smart-tab mode as global minor mode by
(global-smart-tab-mode 1)
and want to disable it in eshell-mode,
(add-hook 'eshell-mode-hook
(lambda ()
(smart-tab-mode -1)))
but It seems not work and I'm sure this hook have been executed.
If I manually run (smart-tab-mode -1)
in eshell, It is OK.
I don't know why, could someone help me, thanks in advance!
I suppose the deactivation of the minor mode in eshell-mode-hook
and the activation caused by global-smart-tab-mode
are called in the wrong order.
Recent versions of smart-tab.el have a smart-tab-disabled-major-modes
variable to which you could add eshell-mode
, i.e. (add-to-list 'smart-tab-disabled-major-modes 'eshell-mode)
.