On Nov 16, 6:54 am, harven
> Xah Lee
> > this is a odd thing.
> > when in emacs-lisp-mode, and when you define a abbrev (e.g. call
> > define-mode-abbrev then “ah” then “add-hook”), then call write-abbrev-
> > file
> > then you get this in your abbrev file (e.g. at 〔~/.emacs.d/
> > abbrev_defs〕)
> > (define-abbrev-table 'lisp-mode-abbrev-table '(
> > ("ah" "add-hook" nil 0)
> > ))
> > note that it's lisp-mode-abbrev-table not emacs-lisp-mode-abbrev-
> > table.
> > Why's that?
> > (if you change it to the latter, it won't work.)
> > i'm wondering because i want the abbrev to be for emacs-lisp-mode
> > only, not general lisp mode.
> > It appears that emacs-lisp-mode is defined on top of lisp-mode. Ok, so
> > my question is, what's the purpose of lisp-mode? Is that supposed to
> > be the base for other lisp lang modes to be defined on top of? A look
> > at scheme-mode seems to confirm this, but still, i want my abbrev for
> > emacs lisp mode only. Is that possible?
> > thanks.
> > Xah ∑http://xahlee.org/☄
> I would try the following in .emacs
> (define-abbrev-table 'emacs-lisp-mode-abbrev-table '(
> ("ah" "add-hook" nil 0)))
> (add-hook 'emacs-lisp-mode-hook (lambda()
> (setq abbrev-mode t)
> (setq local-abbrev-table emacs-lisp-mode-abbrev-table)))
thanks. Interesting solution.
Before i redefine my stuff, i did some more testing on my original question.
i tried to go to scheme-mode and apparantly the abbrev does not work, but only in emacs-lisp-mode.
if i'm in scheme-mode and i call define-mode-abbrev, it generate this code:
("ttt" "hhh" nil 0)
So, my question is probably caused by unnecessarily looking under the hood.
> I think that the nil argument after add-hook is deprecated in emacs ≥ 23.
any reference you have on this? thanks.
Xah ∑ http://xahlee.org/ ☄