Commit graph

58 commits

Author SHA1 Message Date
Gustav Hållberg
3d78c5578c (diff-hunk-file-names): Don't require a TAB after the file name
Fixes: debbugs:20276
2015-04-08 21:47:50 -04:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Stefan Monnier
8dac9c34d8 * lisp/vc/diff-mode.el (diff-kill-applied-hunks): New command.
* lisp/vc/smerge-mode.el (smerge-swap): New command.
2014-12-01 13:16:53 -05:00
Stefan Monnier
cbdc06f3be Rename 24.5 to 25.1
Except where we expect to backport the corresponding change.
2014-09-29 14:14:08 -04:00
Andreas Schwab
52e7a5b99f Handle missing space marker in unified diff during header fixup
* vc/diff-mode.el (diff-fixup-modifs): Handle empty line in
context of unified diff.
2014-08-16 21:51:27 +02:00
Juri Linkov
1a63945352 * lisp/vc/diff-mode.el (diff-changed): Empty face definition
to use `diff-removed' and `diff-added' on tty as well. 
(diff-context): Use darker color on light background and
lighter color on dark background.

Fixes: debbugs:10181
2014-06-18 11:48:49 +03:00
Juri Linkov
7c6fc37fa9 * lisp/vc/diff-mode.el (diff-refine-changed): Rename from
`diff-refine-change' for consistency with `diff-changed'.
(diff-refine-change): Add obsolete face alias. 

* lisp/vc/smerge-mode.el (smerge-refined-changed): Rename from
`smerge-refined-change'.
(smerge-refined-change): Add obsolete face alias.

Fixes: debbugs:10181
2014-06-18 11:33:57 +03:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Ivan Shmakov
e1b01c7fed * vc/diff-mode.el (diff-mode): Tiny change re diff-default-read-only
Only allow diff-default-read-only to set buffer-read-only to t, never to nil.

Fixes: debbugs:15938
2013-11-22 18:55:17 -08:00
Dmitry Gutov
b3082f497c * lisp/vc/diff-mode.el (diff-mode-shared-map): Unbind "/".
Fixes: debbugs:14034
2013-03-23 21:43:18 +04:00
Sam Steingold
3602ccebf6 * lisp/vc/diff-mode.el (diff-hunk-file-names): Handle filenames with spaces.
See <http://stackoverflow.com/questions/14720205>.
2013-02-28 11:34:51 -05:00
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Stefan Monnier
f4d79bd021 * lisp/vc/diff-mode.el (diff-post-command-hook): Don't ignore changes at the
very beginning of a hunk (e.g. killing the first line).
2012-12-19 14:41:43 -05:00
Stefan Monnier
1000d89524 * lisp/vc/diff-mode.el (diff-hunk): Don't make useless timers. 2012-11-19 13:40:18 -05:00
Chong Yidong
9d9e48d904 Rewrite and rename diff-delete-trailing-whitespace.
* lisp/vc/diff-mode.el (diff-delete-trailing-whitespace): Rewrite, and
rename from diff-remove-trailing-whitespace (Bug#12831).

* files.texi (Diff Mode): Doc fixes for
diff-delete-trailing-whitespace.
2012-11-09 01:31:53 +08:00
Glenn Morris
26f596760d Document diff-remove-trailing-whitespace
* doc/emacs/files.texi (Diff Mode): Trailing whitespace updates.

* lisp/vc/diff-mode.el (diff-remove-trailing-whitespace): Doc fix.

* etc/NEWS: Related markup.
2012-11-08 00:14:23 -08:00
Stefan Monnier
d7f9cc8528 * lisp/vc/diff-mode.el (diff-context->unified): Don't get confused by "hunk
header comments".
(diff-unified->context, diff-context->unified)
(diff-reverse-direction, diff-fixup-modifs): Use `use-region-p'.
2012-10-29 11:14:10 -04:00
Stefan Monnier
a2be03575f * lisp/vc/diff-mode.el (diff-end-of-hunk): Also skip potential "no LF at eol".
(diff-refine-hunk): Similarly, handle the "no LF at eol".

Fixes: debbugs:12584
2012-10-26 11:51:42 -04:00
Stefan Monnier
9c3e39f3ff * lisp/vc/diff-mode.el (diff-hunk): `save-excursion' while refining.
Fixes: debbugs:12671
2012-10-23 14:40:23 -04:00
Stefan Monnier
6be9197e60 * lisp/vc/diff-mode.el (diff--auto-refine-data): New var.
(diff-hunk): Use it to delay refinement.
(diff-mode): Remove overlays when we turn off font-lock.
2012-10-01 23:49:28 -04:00
Juri Linkov
d80d54b289 * lisp/facemenu.el (list-colors-sort): Add option "Luminance".
(list-colors-sort-key): Implement it.

* lisp/vc/diff-mode.el (diff-refine-removed):
* lisp/vc/ediff-init.el (ediff-fine-diff-A):
* lisp/vc/smerge-mode.el (smerge-refined-removed):
Change background color "#ffaaaa" to "#ffbbbb".

Fixes: debbugs:10181
2012-09-30 19:36:42 +03:00
Dan Nicolaescu
0780c51704 * vc/diff-mode.el (diff-mode-menu): diff-remove-trailing-whitespace. 2012-09-10 10:40:13 -04:00
Glenn Morris
2a1e24765b Replace version 24.2 with 24.3 where appropriate (hopefully) 2012-08-15 09:29:11 -07:00
Stefan Monnier
aa7c6dbeba * lisp/color.el (color-xyz-to-lab, color-lab-to-xyz, color-cie-de2000):
Prefer pcase-let over destructuring-bind.
* lisp/vc/diff-mode.el (diff-remove-trailing-whitespace): Same.
Also, remove whitespace as we go, rather than after accumulating the
various places.
2012-08-13 15:10:35 -04:00
Oscar Fuentes
2c2d9c9cd0 * vc/diff-mode.el (diff-remove-trailing-whitespace): New function. 2012-08-08 00:41:35 -04:00
Stefan Monnier
f58e0fd503 Reduce use of (require 'cl).
* admin/bzrmerge.el: Use cl-lib.
* leim/quail/hangul.el: Don't require CL.
* leim/quail/ipa.el: Use cl-lib.
* vc/smerge-mode.el, vc/pcvs.el, vc/pcvs-util.el, vc/pcvs-info.el:
* vc/diff-mode.el, vc/cvs-status.el, uniquify.el, scroll-bar.el:
* register.el, progmodes/sh-script.el, net/gnutls.el, net/dbus.el:
* msb.el, mpc.el, minibuffer.el, international/ucs-normalize.el:
* international/quail.el, info-xref.el, imenu.el, image-mode.el:
* font-lock.el, filesets.el, edmacro.el, doc-view.el, bookmark.el:
* battery.el, avoid.el, abbrev.el: Use cl-lib.
* vc/pcvs-parse.el, vc/pcvs-defs.el, vc/log-view.el, vc/log-edit.el:
* vc/diff.el, simple.el, pcomplete.el, lpr.el, comint.el, loadhist.el:
* jit-lock.el, international/iso-ascii.el, info.el, frame.el, bs.el:
* emulation/crisp.el, electric.el, dired.el, cus-dep.el, composite.el:
* calculator.el, autorevert.el, apropos.el: Don't require CL.
* emacs-bytecomp.el (byte-recompile-directory, display-call-tree)
(byte-compile-unfold-bcf, byte-compile-check-variable):
* emacs-byte-opt.el (byte-compile-trueconstp)
(byte-compile-nilconstp):
* emacs-autoload.el (make-autoload): Use pcase.
* face-remap.el (text-scale-adjust): Simplify pcase patterns.
2012-07-10 07:51:54 -04:00
Juri Linkov
bc1b21bb4e Use the same diff color scheme as in modern VCSes (bug#10181).
* lisp/vc/diff-mode.el (diff-header, diff-file-header): Remove "green"
to avoid confusion with `diff-added' that now uses green colors.
(diff-removed): Use shades of red.
(diff-added): Use shades of green.
(diff-changed): Leave just the yellow color.
(diff-use-changed-face): New variable.
(diff-font-lock-keywords): Use `diff-use-changed-face' to decide
how to highlight context diff changes.
(diff-refine-change): Use shades of yellow.
(diff-refine-removed): New face that uses shades of red.
(diff-refine-added): New face that uses shades of green.
(diff-refine-hunk): Use `diff-refine-change', `diff-refine-added',
`diff-refine-removed' in the call to `smerge-refine-subst'
depending on the value of `diff-use-changed-face'.

* lisp/vc/ediff-init.el (ediff-current-diff-A, ediff-fine-diff-A):
Add face condition `min-colors 88' with shades of red.
(ediff-current-diff-B, ediff-fine-diff-B): Add face condition
`min-colors 88' with shades of green.
(ediff-current-diff-C, ediff-fine-diff-C): Add face condition
`min-colors 88' with shades of yellow.

* lisp/vc/smerge-mode.el (smerge-mine): Use shades of red.
(smerge-other): Use shades of green.
(smerge-base): Use shades of yellow.
(smerge-refined-change): Empty face.
(smerge-refined-removed): New face that uses shades of red.
(smerge-refined-added): New face that uses shades of green.
(smerge-refine-subst): Rename arg `props' to `props-c'.  Add new
args `props-r' and `props-a', and use them.  Doc fix.
(smerge-refine): Evaluate `smerge-use-changed-face' and depending
on its value use different faces `smerge-refined-change',
`smerge-refined-removed', `smerge-refined-added' in the call to
`smerge-refine-subst'.
2012-05-25 03:55:40 +03:00
Chong Yidong
cb3e7ae07a Fixes for diff-hunk-kill.
* lisp/vc/diff-mode.el (diff-beginning-of-hunk): Return a meaningful
value, for symmetry with diff-end-of-hunk.
(diff-split-hunk, diff-find-source-location)
(diff-ignore-whitespace-hunk, diff-refine-hunk): Use it.
(diff-bounds-of-hunk, diff-bounds-of-file): New functions.
(diff-restrict-view, diff-hunk-kill, diff-file-kill): Use them to
compute the relevant hunk or file properly.
(diff-file-junk-re): Add bzr's "modified file" tag.

Fixes: debbugs:6041 debbugs:6005
2012-04-26 16:00:47 +08:00
Chong Yidong
8b71081d30 Allow undoing in read-only diff-mode buffers.
* lisp/vc/diff-mode.el (diff-undo): New command.
(diff-mode-shared-map): Bind it to / and [remap undo].

Fixes: debbugs:5302
2012-04-26 11:43:32 +08:00
Chong Yidong
07875ee72b Fix whitespace highlighting of context diffs.
* lisp/vc/diff-mode.el (diff-setup-whitespace): New function.
(diff-mode): Use it.

* lisp/vc/diff.el (diff-sentinel):
* lisp/vc/vc.el (vc-diff-finish): Call diff-setup-whitespace to assign
Whitespace mode variables based on diff style.

Fixes: debbugs:8612
2012-04-25 23:06:51 +08:00
Leo Liu
d65c95210d * lisp/vc/diff-mode.el (diff-file-prev/next): Fix typo. 2012-04-14 14:28:57 +08:00
Glenn Morris
44e97401cd Standardize possessive apostrophe usage in manuals, docs, and comments
Ref: http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00649.html
2012-02-28 00:17:21 -08:00
Leo Liu
1be3ca5ad7 Rename condition-case-no-debug to condition-case-unless-debug 2012-02-10 23:59:29 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Michael Albinus
f3af92b794 * vc/diff-mode.el (diff-find-file-name): Make `read-file-name'
aware of remote file names.  (Bug#10124)
2011-11-29 15:59:24 +01:00
Eli Zaretskii
c60c3703ac Prevent Diff Mode from stealing M-z binding.
lisp/vc/diff-mode.el (diff-mode-map): Don't inherit 'z' => 'M-z' from
 special-mode-map.
2011-11-28 20:03:11 +02:00
Chong Yidong
ac6c8639bd Fix more minor mode docstrings.
* lisp/emulation/cua-base.el (cua-mode):
* lisp/mail/footnote.el (footnote-mode):
* lisp/mail/mailabbrev.el (mail-abbrevs-mode):
* lisp/net/xesam.el (xesam-minor-mode):
* lisp/progmodes/bug-reference.el (bug-reference-mode):
* lisp/progmodes/cap-words.el (capitalized-words-mode):
* lisp/progmodes/compile.el (compilation-minor-mode)
(compilation-shell-minor-mode):
* lisp/progmodes/gud.el (gud-tooltip-mode):
* lisp/progmodes/hideif.el (hide-ifdef-mode):
* lisp/progmodes/idlw-shell.el (idlwave-shell-electric-debug-mode):
* lisp/progmodes/subword.el (subword-mode):
* lisp/progmodes/vhdl-mode.el (vhdl-electric-mode, vhdl-stutter-mode):
* lisp/progmodes/which-func.el (which-function-mode):
* lisp/term/tvi970.el (tvi970-set-keypad-mode):
* lisp/term/vt100.el (vt100-wide-mode):
* lisp/textmodes/flyspell.el (flyspell-mode):
* lisp/textmodes/ispell.el (ispell-minor-mode):
* lisp/textmodes/nroff-mode.el (nroff-electric-mode):
* lisp/textmodes/paragraphs.el (use-hard-newlines):
* lisp/textmodes/refill.el (refill-mode):
* lisp/textmodes/reftex.el (reftex-mode):
* lisp/textmodes/rst.el (rst-minor-mode):
* lisp/textmodes/sgml-mode.el (html-autoview-mode)
(sgml-electric-tag-pair-mode):
* lisp/textmodes/tex-mode.el (latex-electric-env-pair-mode):
* lisp/vc/diff-mode.el (diff-auto-refine-mode, diff-minor-mode):
* lisp/emulation/crisp.el (crisp-mode):
* lisp/emacs-lisp/eldoc.el (eldoc-mode):
* lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode): Doc fixes for new
minor mode behavior.

* lisp/erc/erc-fill.el (erc-fill-mode):
* lisp/erc/erc-track.el (erc-track-minor-mode): Doc fix.

* lisp/erc/erc.el (define-erc-module): Fix autogenerated docstring to
reflect Emacs 24 minor mode changes.

* lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Doc fix (in Emacs 24,
calling a minor mode from Lisp with nil arg enables it, so we have to
make the working a bit ambiguous here).
2011-10-19 20:26:14 -04:00
Chong Yidong
d5b44c937b Fix diff-changed face definition.
* lisp/vc/diff-mode.el (diff-changed): Don't use terminal specs for
defface (Bug#8144).
2011-05-22 15:22:37 -04:00
Glenn Morris
c71a0d48f3 Merge from emacs-23; up to 2010-06-11T14:39:54Z!cyd@stupidchicken.com. 2011-05-16 19:26:56 -07:00
Glenn Morris
1aba75c248 * lisp/vc/diff-mode.el: Fix paren typo. 2011-05-15 11:51:21 -07:00
Chong Yidong
5e9e35cd1d Fix minor bug of diff-fixup-modifs on small diffs (Bug#8672).
* vc/diff-mode.el (diff-fixup-modifs): Locate correct position for
hunk-end tags.
2011-05-15 10:09:43 -04:00
Glenn Morris
60f884b214 Silence diff-mode.el compilation.
* lisp/vc/diff-mode.el (smerge-refine-subst): Declare.
(diff-refine-hunk): Don't require smerge-mode when compiling.
2011-05-05 21:07:47 -07:00
Stefan Monnier
cafdcef32d Merge from trunk 2011-03-21 12:42:16 -04:00
Stefan Monnier
a904a09a8b * vc/diff-mode.el (diff-mode-map): Shadow problematic bindings from
diff-mode-shared-map.
(diff-mode-shared-map): Re-introduce some bindings that were problematic.

Fixes: debbugs:8284
2011-03-18 15:52:05 -04:00
Stefan Monnier
ba83908c4b Misc fixes, and use lexical-binding in more files.
* lisp/subr.el (letrec): New macro.
(with-wrapper-hook): Move from lisp/simple.el and don't use CL.
* simple.el (with-wrapper-hook): Move with-wrapper-hook to subr.el.
* lisp/help-fns.el (help-function-arglist): Handle subroutines as well.
(describe-variable): Use special-variable-p to filter completions.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Don't expand `declare'
in defmacros.
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
Handle `declare'.
* lisp/emacs-lisp/cl.el (pushnew): Silence unfixable warning.
* lisp/emacs-lisp/cl-macs.el (defstruct, define-compiler-macro):
Mark unused arg as unused.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Use memq.
* lisp/emacs-lisp/autoload.el (make-autoload): Don't assume the macro's
first sexp is a list.
(autoload-generate-file-autoloads): Improve error message.
* lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist
to understand the new byte-code arg format.
* lisp/vc/smerge-mode.el:
* lisp/vc/log-view.el:
* lisp/vc/log-edit.el:
* lisp/vc/cvs-status.el:
* lisp/uniquify.el:
* lisp/textmodes/css-mode.el:
* lisp/textmodes/bibtex-style.el:
* lisp/reveal.el:
* lisp/newcomment.el:
* lisp/emacs-lisp/smie.el:
* lisp/abbrev.el: Use lexical-binding.
* src/eval.c (Fprog1, Fprog2): Simplify and use XCDR/XCAR.
(Fdefvar): Remove redundant SYMBOLP check.
(Ffunctionp): Don't signal an error for undefined aliases.
* doc/lispref/variables.texi (Converting to Lexical Binding): New node.
2011-03-11 15:04:22 -05:00
Stefan Monnier
0d6459dfb5 Merge from trunk 2011-03-06 16:22:16 -05:00
Leo Liu
0a5cb52bb4 * lisp/vc/diff-mode.el (diff-mode): Fix whitespace-style. (Bug#8139) 2011-03-04 00:01:24 -08:00
Stefan Monnier
a9de04fa62 Compute freevars in cconv-analyse.
* lisp/emacs-lisp/cconv.el: Compute freevars in cconv-analyse.
(cconv-mutated, cconv-captured): Remove.
(cconv-captured+mutated, cconv-lambda-candidates): Don't give them
a global value.
(cconv-freevars-alist): New var.
(cconv-freevars): Remove.
(cconv--lookup-let): Remove.
(cconv-closure-convert-function): Extract from cconv-closure-convert-rec.
(cconv-closure-convert-rec): Adjust to above changes.
(fboundp): New function.
(cconv-analyse-function, form): Rewrite.
* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
Handle declare-function here.
(byte-compile-obsolete): Remove.
(byte-compile-arglist-warn): Check late defsubst here.
(byte-compile-file-form): Simplify.
(byte-compile-file-form-defsubst): Remove.
(byte-compile-macroexpand-declare-function): Rename from
byte-compile-declare-function, turn it into a macro-expander.
(byte-compile-normal-call): Check obsolescence.
(byte-compile-quote-form): Remove.
(byte-compile-defmacro): Revert to trunk's definition which seems to
work just as well and handles `declare'.
* lisp/emacs-lisp/byte-run.el (make-obsolete): Don't modify byte-compile.
* lisp/Makefile.in (BIG_STACK_DEPTH): Increase to 1200.
(compile-onefile): Pass $(BIG_STACK_OPTS) before "-l bytecomp".
* lisp/emacs-lisp/macroexp.el: Use lexbind.
(macroexpand-all-1): Check macro obsolescence.
* lisp/vc/diff-mode.el: Use lexbind.
* lisp/follow.el (follow-calc-win-end): Simplify.
2011-02-26 10:19:08 -05:00
Sam Steingold
abef340a0c * lisp/simple.el (special-mode-map): Bind "h" to `describe-mode';
bind "z" to `kill-this-buffer'.
(completion-list-mode-map): Bind "z" to `kill-this-buffer'.
* lisp/apropos.el (apropos-mode-map): Inherit from `special-mode-map'.
(apropos-mode): Inherit from `special-mode'.
* lisp/arc-mode.el (archive-mode-map): Inherit from `special-mode-map'.
* lisp/bookmark.el (bookmark-bmenu-mode): Define using
`define-derived-mode' inheriting from `special-mode'.
* lisp/dired.el (dired-mode-map): Inherit from `special-mode-map'.
* lisp/image-mode.el (image-mode-map): Ditto.
* lisp/replace.el (occur-mode): Define using
`define-derived-mode' inheriting from `special-mode'.
* lisp/tar-mode.el (tar-mode): Inherit from `special-mode'.
* lisp/calendar/diary-lib.el (diary-fancy-display-mode):
Inherit from `special-mode-map'.
* lisp/emacs-lisp/ert.el (ert-simple-view-mode, ert-results-mode):
Inherit from `special-mode'.
* lisp/emacs-lisp/package.el (package-menu-mode-map): Copy from
`special-mode-map'.
(package-menu-mode): Define using `define-derived-mode'
inheriting from `special-mode'.
* erc/erc-list.el (erc-list-menu-mode): Inherit from `special-mode'.
* lisp/net/xesam.el (xesam-mode): Inherit from `special-mode'.
(xesam-mode-map): Define separately.
* lisp/play/solitaire.el (solitaire-mode): Inherit from `special-mode'.
* lisp/progmodes/compile.el (compilation-minor-mode-map)
(compilation-mode-map): Inherit from `special-mode-map'.
* lisp/vc/diff-mode.el (diff-mode-shared-map):
Inherit from `special-mode-map'.
* lisp/vc/log-view.el (log-view-mode-map): Add a comment.
2011-02-01 16:22:21 -05:00