(edebug-read-storing-offsets): Simplify.
(edebug-read-quote, edebug-read-function): Place the start-position correctly.
(edebug-read-backquote-new): Remove.
(edebug-read-backquote-level): New var to replace it.
(edebug-read-backquote): Increment it. Don't store offsets one extra time.
(edebug-read-comma): Decrement it. Read the comma as a plain
symbol if outside of any new-style backquote.
(edebug-read-list): Use edebug-read-backquote-level.
Don't call edebug-read-backquote directly. This way the extra
offsets store is done exactly when it's needed.
(edebug-read-vector): Use push.
(defmacro): Add support for the `declare' thingy.
(save-match-data, with-output-to-string, with-current-buffer)
(combine-after-change-calls, with-temp-buffer, dolist, dotimes)
(unless, when): Remove specs that are now in the corresponding macro.
(edebug-macrop): Use functionp.
(edebug-functionp): Remove.
(edebug-get-displayed-buffer-points): Use push.
(edebug-set-buffer-points): Use save-current-buffer and buffer-live-p.
(edebug-list-form): Remove dead code.
(backquote-form): Correctly handle `(a . ,b).
(edebug-mode-map, global-edebug-map): Move init to inside the defvar.
(emacs-lisp-mode): Mark its main custom group to be `lisp'.
(prin1-char): New fun.
(eval-last-sexp-1): Use it. Use with-syntax-table as well.
(eval-defun-1): Don't replace `defvar' with `defconst'.
accurate.
(lm-any-header): New user option.
(lm-section-start): New function; rewrite of `lm-section-mark'.
(lm-section-mark): Make alias of `lm-section-start'.
(lm-section-end): New function.
(lm-code-start): New function; rewrite of `lm-code-mark'.
(lm-code-mark): Make alias of `lm-code-start'.
(lm-commentary-start): New function; rewrite of
`lm-commentary-mark'.
(lm-commentary-mark): Make alias of `lm-commentary-start'.
(lm-commentary-end): New function.
(lm-history-start): New function; rewrite of `lm-history-mark'.
(lm-history-mark): Make alias of `lm-history-start'.
(lm-commentary): Use `lm-commentary-end' to find the end of the
commentary section.
byte-goto-log-buffer. Instead, set default-directory and then call
compilation-mode.
(byte-compile-from-buffer): Force byte-compile-last-position
to end of buffer before issuing final warnings.
(byte-compile-const-variables): New var.
(byte-compile-close-variables): Reset it.
(byte-compile-file-form-defvar, byte-compile-defvar): Update it.
(byte-compile-const-symbol-p): Now arg `value' to check defconsts.
(byte-compile-variable-ref): Use it and improve warning message.
(byte-compile-check-lambda-list): Use byte-compile-const-symbol-p.
(byte-compile-lapcode): Remove unused vars.
(byte-compile-eval): Fix thinko in handling of old-autoloads.
(byte-recompile-directory): Use the expanded form for directory.
(byte-compile-track-mouse): Use modern backquote syntax.
(byte-compile-defvar): Detect and properly handle (defconst a).
(byte-compile-defalias-warn): Remove unused arg `alias'.
(byte-compile-defalias): Update call.
(checkdoc-interactive, checkdoc-message-interactive): Make them perform spell
checking when appropriate.
(checkdoc-interactive-loop): Fix docstring and a few typos.
(checkdoc-interactive-ispell-loop)
(checkdoc-message-interactive-ispell-loop): New functions.
(checkdoc-next-error): Fix docstring.
(checkdoc-this-string-valid-engine): Fix typo.
(checkdoc-ispell-docstring-engine): Do test for checkdoc-autofix-flag = nil.