aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/vc
diff options
context:
space:
mode:
authorStefan Monnier2011-04-01 13:19:52 -0400
committerStefan Monnier2011-04-01 13:19:52 -0400
commit034086489cff2a23cb4d9f8c536e18456be617ef (patch)
tree93fa6987e56af7b5fd452f7f909ea0653c5b47de /lisp/vc
parent1c412c000a5d61d1be7f6fa7e632a517b89de95b (diff)
parent7200d79c65c65686495dd95e9f6dd436cf6db55e (diff)
downloademacs-034086489cff2a23cb4d9f8c536e18456be617ef.tar.gz
emacs-034086489cff2a23cb4d9f8c536e18456be617ef.zip
Merge from lexical-binding branch.
* doc/lispref/eval.texi (Eval): Discourage the use of `eval'. Document its new `lexical' argument. * doc/lispref/variables.texi (Defining Variables): Mention the new meaning of `defvar'. (Lexical Binding): New sub-section. * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS): New variables. (compile-onefile, .el.elc, compile-calc, recompile): Use them. (COMPILE_FIRST): Add macroexp and cconv. * lisp/makefile.w32-in: Mirror changes in Makefile.in. * lisp/vc/cvs-status.el: * lisp/vc/diff-mode.el: * lisp/vc/log-edit.el: * lisp/vc/log-view.el: * lisp/vc/smerge-mode.el: * lisp/textmodes/bibtex-style.el: * textmodes/css.el: * lisp/startup.el: * lisp/uniquify.el: * lisp/minibuffer.el: * lisp/newcomment.el: * lisp/reveal.el: * lisp/server.el: * lisp/mpc.el: * lisp/emacs-lisp/smie.el: * lisp/doc-view.el: * lisp/dired.el: * lisp/abbrev.el: Use lexical binding. * lisp/custom.el (custom-initialize-default, custom-declare-variable): Use `defvar'. * lisp/files.el (lexical-binding): Declare safe. * lisp/help-fns.el (help-split-fundoc): Return nil if there's nothing else than the arglist. (help-add-fundoc-usage): Don't add `Not documented'. (help-function-arglist): Handle closures, subroutines, and new byte-code-functions. (help-make-usage): Remove leading underscores. (describe-function-1): Handle closures. (describe-variable): Use special-variable-p for completion. * lisp/simple.el (with-wrapper-hook, apply-partially): Move to subr.el. * lisp/subr.el (apply-partially): Use new closures rather than CL. (--dolist-tail--, --dotimes-limit--): Don't declare dynamic. (dolist, dotimes): Use slightly different expansion for lexical code. (functionp): Move to C. (letrec): New macro. (with-wrapper-hook): Use it and apply-partially instead of CL. (eval-after-load): Preserve lexical-binding. (save-window-excursion, with-output-to-temp-buffer): Turn them into macros. * lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist. * lisp/emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros. * lisp/emacs-lisp/byte-opt.el: Use lexical binding. (byte-inline-lapcode): Remove (to bytecomp). (byte-compile-inline-expand): Pay attention to inlining to/from lexically bound code. (byte-compile-unfold-lambda): Don't handle byte-code-functions any more. (byte-optimize-form-code-walker): Don't handle save-window-excursion any more and don't call compiler-macros. (byte-compile-splice-in-already-compiled-code): Remove. (byte-code): Don't inline any more. (disassemble-offset): Receive `bytes' as argument rather than via dynamic scoping. (byte-compile-tag-number): Declare before first use. (byte-decompile-bytecode-1): Handle new byte-codes, don't change `return' even if make-spliceable. (byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove obsolete interactive-p. (byte-optimize-lapcode): Optimize new lap-codes. Don't trip up on new form of `byte-constant' lap code. * lisp/emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile' handler any more. * lisp/emacs-lisp/bytecomp.el: Use lexical binding instead of a "bytecomp-" prefix. Macroexpand everything as a separate phase. (byte-compile-initial-macro-environment): Handle declare-function here. (byte-compile--lexical-environment): New var. (byte-stack-ref, byte-stack-set, byte-discardN) (byte-discardN-preserve-tos): New lap codes. (byte-interactive-p): Don't use any more. (byte-compile-push-bytecodes, byte-compile-push-bytecode-const2): New macros. (byte-compile-lapcode): Use them and handle new lap codes. (byte-compile-obsolete): Remove. (byte-compile-arglist-signature): Handle new byte-code arg"lists". (byte-compile-arglist-warn): Check late def of inlinable funs. (byte-compile-cl-warn): Don't silence warnings for compiler-macros since they should have been expanded by now. (byte-compile--outbuffer): Rename from bytecomp-outbuffer. (byte-compile-from-buffer): Remove unused second arg. (byte-compile-preprocess): New function. (byte-compile-toplevel-file-form): New function to distinguish file-form calls from outside from file-form calls from hunk-handlers. (byte-compile-file-form): Simplify. (byte-compile-file-form-defsubst): Remove. (byte-compile-file-form-defmumble): Simplify now that byte-compile-lambda always returns a byte-code-function. (byte-compile): Preprocess. (byte-compile-byte-code-maker, byte-compile-byte-code-unmake): Remove, not used any more. (byte-compile-arglist-vars, byte-compile-make-lambda-lexenv) (byte-compile-make-args-desc): New funs. (byte-compile-lambda): Handle lexical functions. Always return a byte-code-function. (byte-compile-reserved-constants): New var, to make up room for closed-over variables. (byte-compile-constants-vector): Obey it. (byte-compile-top-level): New args `lexenv' and `reserved-csts'. (byte-compile-macroexpand-declare-function): New function. (byte-compile-form): Call byte-compile-unfold-bcf to inline immediate byte-code-functions. (byte-compile-form): Check obsolescence here. (byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions. (byte-compile-variable-ref): Remove. (byte-compile-dynamic-variable-op): New fun. (byte-compile-dynamic-variable-bind, byte-compile-variable-ref) (byte-compile-variable-set): New funs. (byte-compile-discard): Add 2 args. (byte-compile-stack-ref, byte-compile-stack-set) (byte-compile-make-closure, byte-compile-get-closed-var): New funs. (byte-compile-funarg, byte-compile-funarg-2): Remove, handled in macroexpand-all instead. (byte-compile-quote-form): Remove. (byte-compile-push-binding-init, byte-compile-not-lexical-var-p) (byte-compile-bind, byte-compile-unbind): New funs. (byte-compile-let): Handle let* and lexical binding. (byte-compile-let*): Remove. (byte-compile-catch, byte-compile-unwind-protect) (byte-compile-track-mouse, byte-compile-condition-case): Handle a new :fun-body form, used for lexical scoping. (byte-compile-save-window-excursion) (byte-compile-with-output-to-temp-buffer): Remove. (byte-compile-defun): Simplify. (byte-compile-stack-adjustment): New fun. (byte-compile-out): Use it. (byte-compile-refresh-preloaded): Don't reload byte-compiler files. * lisp/emacs-lisp/cconv.el: New file. * lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL closures. * lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block) (cl-byte-compile-throw): Remove. (cl-block-wrapper, cl-block-throw): Use compiler-macros instead. * lisp/emacs-lisp/cl.el (pushnew): Silence warning. * lisp/emacs-lisp/disass.el (disassemble-internal): Handle new `closure' objects. (disassemble-1): Handle new byte codes. * lisp/emacs-lisp/edebug.el (edebug-eval-defun) (edebug-eval-top-level-form): Use eval-sexp-add-defvars. (edebug-toggle): Avoid `eval'. * lisp/emacs-lisp/eieio-comp.el: Remove. * lisp/emacs-lisp/eieio.el (byte-compile-file-form-defmethod): Don't autoload. (eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather than the internal `byte-compile-lambda'. (defmethod): Don't hide code under quotes. (eieio-defmethod): New `code' argument. * lisp/emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound. * lisp/emacs-lisp/lisp-mode.el (eval-last-sexp-1): Use eval-sexp-add-defvars. (eval-sexp-add-defvars): New fun. * lisp/emacs-lisp/macroexp.el: Use lexical binding. (macroexpand-all-1): Check obsolete macros. Expand compiler-macros. Don't convert ' to #' without checking that it's indeed quoting a lambda. * lisp/emacs-lisp/pcase.el: Don't use destructuring-bind. (pcase--memoize): Rename from pcase-memoize. Change weakness. (pcase): Add `let' pattern. Change memoization so it actually works. (pcase-mutually-exclusive-predicates): Add byte-code-function-p. (pcase--u1) <guard, pred>: Fix possible shadowing problem. <let>: New case. * src/alloc.c (Fmake_symbol): Init new `declared_special' field. * src/buffer.c (defvar_per_buffer): Set new `declared_special' field. * src/bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New byte-codes. (exec_byte_code): New function extracted from Fbyte_code to handle new calling convention for byte-code-functions. Add new byte-codes. * src/callint.c (Fcall_interactively): Preserve lexical-binding mode for interactive spec. * src/doc.c (Fdocumentation, store_function_docstring): * src/data.c (Finteractive_form): Handle closures. * src/eval.c (Fsetq): Handle lexical vars. (Fdefun, Fdefmacro, Ffunction): Make closures when needed. (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic. (FletX, Flet): Obey lexical binding. (Fcommandp): Handle closures. (Feval): New `lexical' arg. (eval_sub): New function extracted from Feval. Use it almost everywhere where Feval was used. Look up vars in lexical env. Handle closures. (Ffunctionp): Move from subr.el. (Ffuncall): Handle closures. (apply_lambda): Remove `eval_flags'. (funcall_lambda): Handle closures and new byte-code-functions. (Fspecial_variable_p): New function. (syms_of_eval): Initialize the Vinternal_interpreter_environment var, but without exporting it to Lisp. * src/fns.c (concat, mapcar1): Accept byte-code-functions. * src/image.c (parse_image_spec): Use Ffunctionp. * src/keyboard.c (eval_dyn): New fun. (menu_item_eval_property): Use it. * src/lisp.h (struct Lisp_Symbol): New field `declared_special'. * src/lread.c (lisp_file_lexically_bound_p): New function. (Fload): Bind Qlexical_binding. (readevalloop): Remove `evalfun' arg. Bind Qinternal_interpreter_environment. (Feval_buffer): Bind Qlexical_binding. (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard): Mark as dynamic. (syms_of_lread): Declare `lexical-binding'. * src/window.c (Ftemp_output_buffer_show): New fun. (Fsave_window_excursion): * src/print.c (Fwith_output_to_temp_buffer): Move to subr.el.
Diffstat (limited to 'lisp/vc')
-rw-r--r--lisp/vc/cvs-status.el46
-rw-r--r--lisp/vc/diff-mode.el57
-rw-r--r--lisp/vc/log-edit.el6
-rw-r--r--lisp/vc/log-view.el3
-rw-r--r--lisp/vc/smerge-mode.el2
5 files changed, 60 insertions, 54 deletions
diff --git a/lisp/vc/cvs-status.el b/lisp/vc/cvs-status.el
index 7354e616c99..063eb414579 100644
--- a/lisp/vc/cvs-status.el
+++ b/lisp/vc/cvs-status.el
@@ -1,4 +1,4 @@
1;;; cvs-status.el --- major mode for browsing `cvs status' output -*- coding: utf-8 -*- 1;;; cvs-status.el --- major mode for browsing `cvs status' output -*- coding: utf-8; lexical-binding: t -*-
2 2
3;; Copyright (C) 1999-2011 Free Software Foundation, Inc. 3;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
4 4
@@ -87,6 +87,12 @@
87 '(cvs-status-font-lock-keywords t nil nil nil (font-lock-multiline . t))) 87 '(cvs-status-font-lock-keywords t nil nil nil (font-lock-multiline . t)))
88 88
89(defvar cvs-minor-wrap-function) 89(defvar cvs-minor-wrap-function)
90(defvar cvs-force-command)
91(defvar cvs-minor-current-files)
92(defvar cvs-secondary-branch-prefix)
93(defvar cvs-branch-prefix)
94(defvar cvs-tag-print-rev)
95
90(put 'cvs-status-mode 'mode-class 'special) 96(put 'cvs-status-mode 'mode-class 'special)
91;;;###autoload 97;;;###autoload
92(define-derived-mode cvs-status-mode fundamental-mode "CVS-Status" 98(define-derived-mode cvs-status-mode fundamental-mode "CVS-Status"
@@ -472,7 +478,7 @@ Optional prefix ARG chooses between two representations."
472 (nprev (if (and cvs-tree-nomerge next 478 (nprev (if (and cvs-tree-nomerge next
473 (equal vlist (cvs-tag->vlist next))) 479 (equal vlist (cvs-tag->vlist next)))
474 prev vlist))) 480 prev vlist)))
475 (cvs-map (lambda (v p) v) nprev prev))) 481 (cvs-map (lambda (v _p) v) nprev prev)))
476 (after (save-excursion 482 (after (save-excursion
477 (newline) 483 (newline)
478 (cvs-tree-tags-insert (cdr tags) nprev))) 484 (cvs-tree-tags-insert (cdr tags) nprev)))
@@ -512,24 +518,24 @@ Optional prefix ARG chooses between two representations."
512;;;; Merged trees from different files 518;;;; Merged trees from different files
513;;;; 519;;;;
514 520
515(defun cvs-tree-fuzzy-merge-1 (trees tree prev) 521;; (defun cvs-tree-fuzzy-merge-1 (trees tree prev)
516 ) 522;; )
517 523
518(defun cvs-tree-fuzzy-merge (trees tree) 524;; (defun cvs-tree-fuzzy-merge (trees tree)
519 "Do the impossible: merge TREE into TREES." 525;; "Do the impossible: merge TREE into TREES."
520 ()) 526;; ())
521 527
522(defun cvs-tree () 528;; (defun cvs-tree ()
523 "Get tags from the status output and merge tham all into a big tree." 529;; "Get tags from the status output and merge them all into a big tree."
524 (save-excursion 530;; (save-excursion
525 (goto-char (point-min)) 531;; (goto-char (point-min))
526 (let ((inhibit-read-only t) 532;; (let ((inhibit-read-only t)
527 (trees (make-vector 31 0)) tree) 533;; (trees (make-vector 31 0)) tree)
528 (while (listp (setq tree (cvs-tags->tree (cvs-status-get-tags)))) 534;; (while (listp (setq tree (cvs-tags->tree (cvs-status-get-tags))))
529 (cvs-tree-fuzzy-merge trees tree)) 535;; (cvs-tree-fuzzy-merge trees tree))
530 (erase-buffer) 536;; (erase-buffer)
531 (let ((cvs-tag-print-rev nil)) 537;; (let ((cvs-tag-print-rev nil))
532 (cvs-tree-print tree 'cvs-tag->string 3))))) 538;; (cvs-tree-print tree 'cvs-tag->string 3)))))
533 539
534 540
535(provide 'cvs-status) 541(provide 'cvs-status)
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 72f415a9b94..50f20cea779 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -1,4 +1,4 @@
1;;; diff-mode.el --- a mode for viewing/editing context diffs 1;;; diff-mode.el --- a mode for viewing/editing context diffs -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 1998-2011 Free Software Foundation, Inc. 3;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
4 4
@@ -814,7 +814,7 @@ PREFIX is only used internally: don't use it."
814(defun diff-ediff-patch () 814(defun diff-ediff-patch ()
815 "Call `ediff-patch-file' on the current buffer." 815 "Call `ediff-patch-file' on the current buffer."
816 (interactive) 816 (interactive)
817 (condition-case err 817 (condition-case nil
818 (ediff-patch-file nil (current-buffer)) 818 (ediff-patch-file nil (current-buffer))
819 (wrong-number-of-arguments (ediff-patch-file)))) 819 (wrong-number-of-arguments (ediff-patch-file))))
820 820
@@ -1171,7 +1171,7 @@ else cover the whole buffer."
1171;; *-change-function is asking for trouble, whereas making them 1171;; *-change-function is asking for trouble, whereas making them
1172;; from a post-command-hook doesn't pose much problems 1172;; from a post-command-hook doesn't pose much problems
1173(defvar diff-unhandled-changes nil) 1173(defvar diff-unhandled-changes nil)
1174(defun diff-after-change-function (beg end len) 1174(defun diff-after-change-function (beg end _len)
1175 "Remember to fixup the hunk header. 1175 "Remember to fixup the hunk header.
1176See `after-change-functions' for the meaning of BEG, END and LEN." 1176See `after-change-functions' for the meaning of BEG, END and LEN."
1177 ;; Ignoring changes when inhibit-read-only is set is strictly speaking 1177 ;; Ignoring changes when inhibit-read-only is set is strictly speaking
@@ -1281,7 +1281,7 @@ a diff with \\[diff-reverse-direction].
1281 (add-hook 'after-change-functions 'diff-after-change-function nil t) 1281 (add-hook 'after-change-functions 'diff-after-change-function nil t)
1282 (add-hook 'post-command-hook 'diff-post-command-hook nil t)) 1282 (add-hook 'post-command-hook 'diff-post-command-hook nil t))
1283 ;; Neat trick from Dave Love to add more bindings in read-only mode: 1283 ;; Neat trick from Dave Love to add more bindings in read-only mode:
1284 (lexical-let ((ro-bind (cons 'buffer-read-only diff-mode-shared-map))) 1284 (let ((ro-bind (cons 'buffer-read-only diff-mode-shared-map)))
1285 (add-to-list 'minor-mode-overriding-map-alist ro-bind) 1285 (add-to-list 'minor-mode-overriding-map-alist ro-bind)
1286 ;; Turn off this little trick in case the buffer is put in view-mode. 1286 ;; Turn off this little trick in case the buffer is put in view-mode.
1287 (add-hook 'view-mode-hook 1287 (add-hook 'view-mode-hook
@@ -1693,7 +1693,7 @@ With a prefix argument, REVERSE the hunk."
1693 "See whether it's possible to apply the current hunk. 1693 "See whether it's possible to apply the current hunk.
1694With a prefix argument, try to REVERSE the hunk." 1694With a prefix argument, try to REVERSE the hunk."
1695 (interactive "P") 1695 (interactive "P")
1696 (destructuring-bind (buf line-offset pos src dst &optional switched) 1696 (destructuring-bind (buf line-offset pos src _dst &optional switched)
1697 (diff-find-source-location nil reverse) 1697 (diff-find-source-location nil reverse)
1698 (set-window-point (display-buffer buf) (+ (car pos) (cdr src))) 1698 (set-window-point (display-buffer buf) (+ (car pos) (cdr src)))
1699 (diff-hunk-status-msg line-offset (diff-xor reverse switched) t))) 1699 (diff-hunk-status-msg line-offset (diff-xor reverse switched) t)))
@@ -1713,7 +1713,7 @@ then `diff-jump-to-old-file' is also set, for the next invocations."
1713 ;; This is a convenient detail when using smerge-diff. 1713 ;; This is a convenient detail when using smerge-diff.
1714 (if event (posn-set-point (event-end event))) 1714 (if event (posn-set-point (event-end event)))
1715 (let ((rev (not (save-excursion (beginning-of-line) (looking-at "[-<]"))))) 1715 (let ((rev (not (save-excursion (beginning-of-line) (looking-at "[-<]")))))
1716 (destructuring-bind (buf line-offset pos src dst &optional switched) 1716 (destructuring-bind (buf line-offset pos src _dst &optional switched)
1717 (diff-find-source-location other-file rev) 1717 (diff-find-source-location other-file rev)
1718 (pop-to-buffer buf) 1718 (pop-to-buffer buf)
1719 (goto-char (+ (car pos) (cdr src))) 1719 (goto-char (+ (car pos) (cdr src)))
@@ -1731,7 +1731,7 @@ For use in `add-log-current-defun-function'."
1731 (when (looking-at diff-hunk-header-re) 1731 (when (looking-at diff-hunk-header-re)
1732 (forward-line 1) 1732 (forward-line 1)
1733 (re-search-forward "^[^ ]" nil t)) 1733 (re-search-forward "^[^ ]" nil t))
1734 (destructuring-bind (&optional buf line-offset pos src dst switched) 1734 (destructuring-bind (&optional buf _line-offset pos src dst switched)
1735 ;; Use `noprompt' since this is used in which-func-mode and such. 1735 ;; Use `noprompt' since this is used in which-func-mode and such.
1736 (ignore-errors ;Signals errors in place of prompting. 1736 (ignore-errors ;Signals errors in place of prompting.
1737 (diff-find-source-location nil nil 'noprompt)) 1737 (diff-find-source-location nil nil 'noprompt))
@@ -1879,28 +1879,27 @@ I.e. like `add-change-log-entry-other-window' but applied to all hunks."
1879 ;; good to call it for each change. 1879 ;; good to call it for each change.
1880 (save-excursion 1880 (save-excursion
1881 (goto-char (point-min)) 1881 (goto-char (point-min))
1882 (let ((orig-buffer (current-buffer))) 1882 (condition-case nil
1883 (condition-case nil 1883 ;; Call add-change-log-entry-other-window for each hunk in
1884 ;; Call add-change-log-entry-other-window for each hunk in 1884 ;; the diff buffer.
1885 ;; the diff buffer. 1885 (while (progn
1886 (while (progn 1886 (diff-hunk-next)
1887 (diff-hunk-next) 1887 ;; Move to where the changes are,
1888 ;; Move to where the changes are, 1888 ;; `add-change-log-entry-other-window' works better in
1889 ;; `add-change-log-entry-other-window' works better in 1889 ;; that case.
1890 ;; that case. 1890 (re-search-forward
1891 (re-search-forward 1891 (concat "\n[!+-<>]"
1892 (concat "\n[!+-<>]" 1892 ;; If the hunk is a context hunk with an empty first
1893 ;; If the hunk is a context hunk with an empty first 1893 ;; half, recognize the "--- NNN,MMM ----" line
1894 ;; half, recognize the "--- NNN,MMM ----" line 1894 "\\(-- [0-9]+\\(,[0-9]+\\)? ----\n"
1895 "\\(-- [0-9]+\\(,[0-9]+\\)? ----\n" 1895 ;; and skip to the next non-context line.
1896 ;; and skip to the next non-context line. 1896 "\\( .*\n\\)*[+]\\)?")
1897 "\\( .*\n\\)*[+]\\)?") 1897 nil t))
1898 nil t)) 1898 (save-excursion
1899 (save-excursion 1899 ;; FIXME: this pops up windows of all the buffers.
1900 ;; FIXME: this pops up windows of all the buffers. 1900 (add-change-log-entry nil nil t nil t)))
1901 (add-change-log-entry nil nil t nil t))) 1901 ;; When there's no more hunks, diff-hunk-next signals an error.
1902 ;; When there's no more hunks, diff-hunk-next signals an error. 1902 (error nil))))
1903 (error nil)))))
1904 1903
1905;; provide the package 1904;; provide the package
1906(provide 'diff-mode) 1905(provide 'diff-mode)
diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el
index 192ab1f78d2..54a2cb4f196 100644
--- a/lisp/vc/log-edit.el
+++ b/lisp/vc/log-edit.el
@@ -1,4 +1,4 @@
1;;; log-edit.el --- Major mode for editing CVS commit messages 1;;; log-edit.el --- Major mode for editing CVS commit messages -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 1999-2011 Free Software Foundation, Inc. 3;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
4 4
@@ -329,7 +329,7 @@ automatically."
329(defconst log-edit-header-contents-regexp 329(defconst log-edit-header-contents-regexp
330 "[ \t]*\\(.*\\(\n[ \t].*\\)*\\)\n?") 330 "[ \t]*\\(.*\\(\n[ \t].*\\)*\\)\n?")
331 331
332(defun log-edit-match-to-eoh (limit) 332(defun log-edit-match-to-eoh (_limit)
333 ;; FIXME: copied from message-match-to-eoh. 333 ;; FIXME: copied from message-match-to-eoh.
334 (let ((start (point))) 334 (let ((start (point)))
335 (rfc822-goto-eoh) 335 (rfc822-goto-eoh)
@@ -361,7 +361,7 @@ automatically."
361 nil lax))))) 361 nil lax)))))
362 362
363;;;###autoload 363;;;###autoload
364(defun log-edit (callback &optional setup params buffer mode &rest ignore) 364(defun log-edit (callback &optional setup params buffer mode &rest _ignore)
365 "Setup a buffer to enter a log message. 365 "Setup a buffer to enter a log message.
366\\<log-edit-mode-map>The buffer will be put in mode MODE or `log-edit-mode' 366\\<log-edit-mode-map>The buffer will be put in mode MODE or `log-edit-mode'
367if MODE is nil. 367if MODE is nil.
diff --git a/lisp/vc/log-view.el b/lisp/vc/log-view.el
index cb1c181fa61..9f6ad19fdb1 100644
--- a/lisp/vc/log-view.el
+++ b/lisp/vc/log-view.el
@@ -1,4 +1,4 @@
1;;; log-view.el --- Major mode for browsing RCS/CVS/SCCS log output 1;;; log-view.el --- Major mode for browsing RCS/CVS/SCCS log output -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 1999-2011 Free Software Foundation, Inc. 3;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
4 4
@@ -115,6 +115,7 @@
115(autoload 'vc-diff-internal "vc") 115(autoload 'vc-diff-internal "vc")
116 116
117(defvar cvs-minor-wrap-function) 117(defvar cvs-minor-wrap-function)
118(defvar cvs-force-command)
118 119
119(defgroup log-view nil 120(defgroup log-view nil
120 "Major mode for browsing log output of RCS/CVS/SCCS." 121 "Major mode for browsing log output of RCS/CVS/SCCS."
diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el
index 37cdd41ee55..75e3b514531 100644
--- a/lisp/vc/smerge-mode.el
+++ b/lisp/vc/smerge-mode.el
@@ -1,4 +1,4 @@
1;;; smerge-mode.el --- Minor mode to resolve diff3 conflicts 1;;; smerge-mode.el --- Minor mode to resolve diff3 conflicts -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 1999-2011 Free Software Foundation, Inc. 3;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
4 4