* src/buffer.c (Fbuffer_local_variables)
(buffer_lisp_local_variables): Handle unbound vars correctly;
don't let Qunbound leak into Lisp.
* doc/lispref/variables.texi (Creating Buffer-Local): Minor clarification
to buffer-local-variables doc.
Fixes: debbugs:10715
* doc/emacs/functions.texi (What Is a Function): Add closures. Mention
"return value" terminology. Add xref for command-execute. Remove
unused "keystroke command" terminology.
(Lambda Expressions): Give a different example than in the
following subsection. Add xref to Anonymous Functions.
(Function Documentation): Remove gratuitous markup.
(Function Names): Move introductory text to `What Is a Function'.
(Defining Functions): Fix defun argument spec.
(Anonymous Functions): Document lambda macro explicitly. Mention
effects on lexical binding.
(Function Cells): Downplay direct usage of fset.
(Closures): New node.
(Inline Functions): Remove "open-code" terminology.
(Declaring Functions): Minor tweak; .m is not C code.
* doc/emacs/variables.texi (Variables): Don't refer to "global value".
(Local Variables, Void Variables): Copyedits.
(Lexical Binding): Minor clarification of example.
(File Local Variables): Mention :safe and :risky defcustom args.
(Lexical Binding): Add xref to Closures node.
Ref http://lists.gnu.org/archive/html/emacs-devel/2012-01/msg00543.html
* doc/lispref/variables.texi (Using Lexical Binding):
Mention that lexical-binding should be set in the first line.
* src/lread.c (syms_of_lread): Doc fix.
* lisp/emacs-lisp/tabulated-list.el, lisp/progmodes/f90.el:
Move lexical-binding file-local to line one.
* etc/NEWS: lexical-binding should be ine the first line.
* doc/lispref/variables.texi (Variables, Local Variables, Void Variables):
Edit to make the descriptions less specific to dynamic binding.
(Local Variables): Default max-specpdl-size is now 1300.
(Defining Variables): Edits for lexical scoping. Delete
information about starting docstrings with *. De-document
user-variable-p.
(Tips for Defining): Remove an unimportant discussion of quitting
in the middle of a load.
(Accessing Variables, Setting Variables): Discuss lexical binding.
(Variable Scoping): Rewrite.
(Scope, Extent, Impl of Scope): Nodes deleted.
(Dynamic Binding): New node, with material from Scope, Extent, and
Impl of Scope nodes.
(Dynamic Binding Tips): Rename from Using Scoping.
(Lexical Binding): Rewrite.
(Using Lexical Binding): Rename from Converting to Lexical
Binding. Convert to subsection.
* doc/lispref/customize.texi (Variable Definitions): Add custom-variable-p.
Move user-variable-p documentation here.
* doc/emacs/custom.texi (Specifying File Variables): The mode: keyword
doesn't have to be first anymore. Add example of specifying minor
modes.
(Directory Variables): Simplify example. Mention application to
non-file buffers.
(Disabling): Use "initialization file" terminology.
(Init Examples): Fix hook example.
* doc/lispref/variables.texi (Directory Local Variables): Document
hack-dir-local-variables-non-file-buffer.
* lisp/files.el (hack-dir-local-variables-non-file-buffer): Add doc.
(hack-one-local-variable-eval-safep): Allow 0 arg for minor mode
functions, along with 1 and -1.
* lisp/files.el (dir-locals-collect-variables):
Add the ability to exclude subdirectories.
* doc/emacs/custom.texi (Directory Variables):
Give an example of excluding subdirectories.
* doc/lispref/variables.texi (Directory Local Variables):
Mention `(subdirs . nil)' alist element.
* etc/NEWS: Mention this addition.
* lisp/dired-x.el (dired-omit-here-always): Add `(subdirs . nil)' to locals.
* doc/lispref/positions.texi (Excursions): Recommend the use of
save-current-buffer if applicable.
* doc/lispref/text.texi (Clickable Text): Fix the example code which used
save-excursion in a naive way which sometimes preserves point and
sometimes not.
* doc/lispref/variables.texi (Creating Buffer-Local):
* doc/lispref/os.texi (Session Management):
* doc/lispref/display.texi (GIF Images):
* doc/lispref/control.texi (Cleanups): Use (save|with)-current-buffer.
* doc/misc/gnus.texi (Posting Styles): Use with-current-buffer.
* doc/misc/calc.texi (Defining Simple Commands): Prefer save-current-buffer.
* backups.texi (Making Backups): backup-directory-alist and
make-backup-file-name-function are options.
(Auto-Saving): auto-save-list-file-prefix is an option.
* buffers.texi (Killing Buffers): buffer-offer-save is an
option.
* display.texi (Refresh Screen): no-redraw-on-reenter is an
option.
(Echo Area Customization): echo-keystrokes is an option.
(Selective Display): selective-display-ellipses is an option.
(Temporary Displays): temp-buffer-show-function is an option.
(Face Attributes): underline-minimum-offset and x-bitmap-file-path
are options.
(Font Selection): face-font-family-alternatives,
face-font-selection-order, face-font-registry-alternatives, and
scalable-fonts-allowed are options.
(Fringe Indicators): indicate-buffer-boundaries is an option.
(Fringe Cursors): overflow-newline-into-fringe is an option.
(Scroll Bars): scroll-bar-mode is an option.
* eval.texi (Eval): max-lisp-eval-depth is an option.
* files.texi (Visiting Functions): find-file-hook is an option.
(Directory Names): directory-abbrev-alist is an option.
(Unique File Names): temporary-file-directory and
small-temporary-file-directory are options.
* frames.texi (Initial Parameters): initial-frame-alist,
minibuffer-frame-alist and default-frame-alist are options.
(Cursor Parameters): blink-cursor-alist and
cursor-in-non-selected-windows ar options.
(Window System Selections): selection-coding-system is an
option.
(Display Feature Testing): display-mm-dimensions-alist is an
option.
* help.texi (Help Functions): help-char and help-event-list are
options.
* keymaps.texi (Functions for Key Lookup): meta-prefix-char is
an option.
* minibuf.texi (Minibuffer History): history-length and
history-delete-duplicates are options.
(High-Level Completion): read-buffer-function and
read-buffer-completion-ignore-case are options.
(Reading File Names): read-file-name-completion-ignore-case is
an option.
* modes.texi (Mode Line Top): mode-line-format is an option.
(Mode Line Variables): mode-line-position and mode-line-modes
are options.
* nonascii.texi (Text Representations):
enable-multibyte-characters is an option.
(Default Coding Systems): auto-coding-regexp-alist,
file-coding-system-alist, auto-coding-alist and
auto-coding-functions are options.
(Specifying Coding Systems): inhibit-eol-conversion is an
option.
* os.texi (Init File): site-run-file is an option.
(System Environment): mail-host-address is an option.
(User Identification): user-mail-address is an option.
(Terminal Output): baud-rate is an option.
* positions.texi (Word Motion): words-include-escapes is an
option.
* searching.texi (Standard Regexps): page-delimiter,
paragraph-separate, paragraph-separate and sentence-end are
options.
* text.texi (Margins): left-margin and fill-nobreak-predicate
are options.
* variables.texi (Local Variables): max-specpdl-size is an
option.
* windows.texi (Choosing Window):
split-window-preferred-function, special-display-function and
display-buffer-function are options.
(Global Variables): Mention that setq is a special form.
(Local Variables): Use active voice.
(Tips for Defining): Mention marking variables as safe.
(Buffer-Local Variables): Mention terminal-local and frame-local
variables together.
(File Local Variables): Copyedits.
(Frame-Local Variables): Note that they are not really useful.
(Future Local Variables): Node deleted.