diff options
| author | Stefan Monnier | 2011-04-01 13:19:52 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2011-04-01 13:19:52 -0400 |
| commit | 034086489cff2a23cb4d9f8c536e18456be617ef (patch) | |
| tree | 93fa6987e56af7b5fd452f7f909ea0653c5b47de /lisp/vc | |
| parent | 1c412c000a5d61d1be7f6fa7e632a517b89de95b (diff) | |
| parent | 7200d79c65c65686495dd95e9f6dd436cf6db55e (diff) | |
| download | emacs-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.el | 46 | ||||
| -rw-r--r-- | lisp/vc/diff-mode.el | 57 | ||||
| -rw-r--r-- | lisp/vc/log-edit.el | 6 | ||||
| -rw-r--r-- | lisp/vc/log-view.el | 3 | ||||
| -rw-r--r-- | lisp/vc/smerge-mode.el | 2 |
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. |
| 1176 | See `after-change-functions' for the meaning of BEG, END and LEN." | 1176 | See `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. |
| 1694 | With a prefix argument, try to REVERSE the hunk." | 1694 | With 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' |
| 367 | if MODE is nil. | 367 | if 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 | ||