* cus-edit.el (custom-face-widget-to-spec)
(custom-face-get-current-spec, custom-face-state): New functions.
(custom-face-set, custom-face-mark-to-save)
(custom-face-value-create, custom-face-state-set): Use them.
* cus-theme.el (custom-theme--listed-faces): New var.
(customize-create-theme): Use *Custom Theme* as the buffer name.
Set revert-buffer-function. Optional arg BUFFER. Insert all
faces listed in custom-theme--listed-faces.
(custom-theme-revert): New function.
(custom-theme-add-variable, custom-theme-add-face): Insert at the
bottom of the list.
(custom-theme-write): Prompt for theme name if empty.
(custom-theme-write-variables): Use dolist.
(custom-theme-write-faces): Handle hidden (collapsed) widgets.
presence/absence of "typedef".
cc-engine.el (c-forward-type): New &optional param "brace-block-too".
(c-forward-decl-or-cast-1): cdr of return value now indicates the
presence of either or both of a "struct"-like keyword and "typedef".
cc-fonts.el (c-complex-decl-matchers): Remove the heuristic fontification
of declarators which follow a "}".
(c-font-lock-declarations): Fontify declarators according to the
presence/absence of "typedef".
cc-langs.el (c-typedef-kwds c-typedef-key): New lang variable for
"typedef".
(c-typedef-decl-key): New lang variable built from c-typedef-decl-kwds.
* cus-edit.el (custom-commands, custom-buffer-create-internal)
(custom-magic-value-create): Pad button tags with spaces.
(custom-face-edit): New variable.
(custom-face-value-create): Determine whether to use the usual
face editor here, instead of using custom-face-selected. Pass
face defaults to custom-face-edit widget.
(custom-face-selected, custom-display-unselected): Delete widgets.
(custom-display-unselected-match): Function removed.
(custom-face-set, custom-face-mark-to-save): Accept
custom-face-edit widgets as the direct widget child.
* wid-edit.el (widget--completing-widget): New var.
(widget-default-complete): Bind it when doing completion.
(widget-string-complete, widget-file-complete): Use it.
* lisp/emacs-lisp/shadow.el (lisp-shadow): Change prefix.
(shadows-compare-text-p): Make it an obsolete alias for...
(load-path-shadows-compare-text): ... new name.
(find-emacs-lisp-shadows): Update for above name change.
(load-path-shadows-same-file-or-nonexistent): New name for the old
shadow-same-file-or-nonexistent.
* lisp/cus-edit.el (custom-variable, custom-face): Doc fix.
(custom-face-edit): Add value-create attribute.
(custom-face-edit-value-create)
(custom-face-edit-value-visibility-action): New functions. Hide
unused face attributes by default, and add a visibility toggle.
(custom-face-edit-deactivate): Show empty values with shadow face.
(custom-face-selected): Only use this for face specs with default
attributes.
(custom-face-value-create): Cleanup.
* lisp/wid-edit.el (widget-checklist-value-create): Use dolist.
(widget-checklist-match-find): Make second arg optional.
* lisp/emacs-lisp/smie.el (smie-bnf-classify): New function.
(smie-bnf-precedence-table): Use it to remember the closers/openers.
(smie-merge-prec2s): Handle those new entries.
(smie-prec2-levels): Only set precedence to nil for actual
openers/closers.
* lisp/progmodes/octave-mod.el (octave-smie-op-levels): Remove dummy entry
that is now unnecessary.
* lisp/mail/rmail.el (mail-sendmail-delimit-header, mail-header-end)
(mail-position-on-field): Remove declarations.
(mail-position-on-field): Autoload it.
(rmail-retry-failure): Replace use of mail-sendmail-delimit-header
and mail-header-end. Don't require sendmail.
* lisp/emacs-lisp/shadow.el (shadow-font-lock-keywords): New variable.
(shadow-mode): New mode.
(shadow-find-file): New button.
(list-load-path-shadows): Use shadow-mode and buttons.
* lisp/iimage.el (iimage-version): Remove.
(iimage-mode-image-search-path, iimage-mode-image-regex-alist):
Turn into defcustoms.
(iimage-mode-map): Give it a doc string.
(tramp-handle-file-exists-p, tramp-handle-file-newer-than-file-p):
New defuns, taken from tramp-smb.el.
(tramp-coding-system-change-eol-conversion)
(tramp-set-process-query-on-exit-flag): Removed.
* net/tramp-compat.el (top): Do not check for byte-compiler
objects.
(tramp-compat-coding-system-change-eol-conversion)
(tramp-compat-set-process-query-on-exit-flag): New defuns, taken
from tramp.el.
* net/tramp-gvfs.el:
* net/tramp-gw.el: Replace `tramp-set-process-query-on-exit-flag'
by `tramp-compat-set-process-query-on-exit-flag'.
* net/tramp-imap.el (tramp-imap-file-name-handler-alist): Use
`tramp-handle-directory-files-and-attributes',
`tramp-handle-file-exists-p' and
`tramp-handle-file-newer-than-file-p'.
(tramp-imap-handle-file-exists-p)
(tramp-imap-handle-file-executable-p)
(tramp-imap-handle-file-readable-p)
(tramp-imap-handle-directory-files-and-attributes)
(tramp-imap-handle-file-newer-than-file-p): Removed.
* net/tramp-sh.el: Replace `tramp-set-process-query-on-exit-flag'
by `tramp-compat-set-process-query-on-exit-flag' and
`tramp-coding-system-change-eol-conversion' by
`tramp-compat-coding-system-change-eol-conversion'.
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use
`tramp-handle-directory-files-and-attributes',
`tramp-handle-file-exists-p' and
`tramp-handle-file-newer-than-file-p'.
(tramp-smb-handle-directory-files-and-attributes)
(tramp-smb-handle-file-exists-p)
(tramp-smb-handle-file-newer-than-file-p): Removed.
(tramp-smb-maybe-open-connection): Replace
`tramp-set-process-query-on-exit-flag' by
`tramp-compat-set-process-query-on-exit-flag'.
log-outgoing commands.
* lisp/vc/vc.el (vc-log-internal-common): Add a new argument and use it
to create a buffer local revert-buffer-function variable.
(vc-print-log-internal, vc-log-incoming, vc-log-outgoing): Pass a
revert-buffer-function lambda.
* lisp/subr.el (directory-sep-char): Remove obsolete variable.
* lisp/net/tramp-compat.el: Don't mess about with the byte-compiler unless
it is "necessary".
* doc/lispref/files.texi (File Name Components): Remove ignored
section about deleted variable directory-sep-char.
* etc/NEWS: Mention above change.
* lisp/minibuffer.el (completion--some, completion--do-completion)
(minibuffer-complete-and-exit, minibuffer-completion-help)
(completion-basic-try-completion)
(completion-basic-all-completions)
(completion-pcm--find-all-completions): Use lexical-let to
avoid some false matches in variable completion (Bug#7056)