Subject: bug#6086: Symbol's value as variable is void: fundamental-mode-syntax-table

From: Kevin Rodgers <[email-masked]>
Date: Mon, 03 May 2010 20:09:31 -0600

Jim Meyering wrote:
> Hello,
> 
> I use snapshots built from the latest sources.
> Starting about a week ago (April 28th), this code in my
> ~/.emacs has been making that snapshot version fail:
> 
>     Loading ~/emacs/startup...done
>     Symbol's value as variable is void: fundamental-mode-syntax-table
> 
> The offending code is here:
> 
>     (defun my-_-hook (modename)
>       (add-hook
>         (intern (concat modename "-mode-hook"))
>         `(lambda () (modify-syntax-entry ?_ "w"
>                      ,(intern (concat modename "-mode-syntax-table"))))))

Why not call the syntax-table function instead of constructing and referencing
the FOO-mode-syntax-table variable?

>     ;;; Treat underscores as word-constituent characters in these modes.
>     (mapcar 'my-_-hook '("c" "c++" "perl" "makefile" "text" "fundamental"
>                          "m4" "shell-script" "autoconf"))
> 
> This looks like the change set that provoked it:
> 
> 2010-04-28  Stefan Monnier  <[email-masked]>
> 
>        Make it possible to locally disable a globally enabled mode.
>        * simple.el (fundamental-mode): Run fundamental-mode-hook.
>        * emacs-lisp/derived.el (define-derived-mode): Use fundamental-mode
>        rather than kill-all-local-variables so it runs fundamental-mode-hook.
>        * emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
>        Use fundamental-mode-hook to run MODE-enable-in-buffers earlier, so
>        that subsequent hooks get a chance to disable it.
> 
> For now, I've simply removed "fundamental" from the list.
> Is there a better way?
> 
> 
> 
> 
> 
> 

-- 
Kevin Rodgers
Denver, Colorado, USA