One question I saw today had the following four tags attached to it : file-local-variables, local-variables, buffer-local, directory-local-variables. It seemed a bit overkill to me, but I don't know what the best set of tags would be.
AFAIK these are the different types of "local variables" :
- Buffer local variables can have a different value in each buffer. See
(info "(elisp) Buffer-Local Variables").
- File local variables are defined per file. They are a way to give a buffer-local value automatically when visiting a file. See
(info "(elisp) File Local Variables").
- Directory local variables are defined in a file named
.dir-locals.elof a given directory, and behave similarly to file local variables, except they are used for every file of every (sub)directory of the given directory. See
(info "(elisp) Directory Local Variables").
- Terminal local variables can have a different value for each terminal. I'm not if they can be defined from lisp. See
(info "(elisp) Multiple Terminals").
- Frame local variables are an obsolete functionality. See docstring of
- "Local variables" is the name used in the manual for let-bound variables.
(info "(elisp) Local Variables").
Currently the tag local-variables is a mix of all of them. What's the correct set of tags to use to cover the above list ?