Commit graph

851 commits

Author SHA1 Message Date
Dieter Deyke
7463636591 Fix vc-src-dir-status-files
* lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
copy-paste from b1a765b3 (bug#27641).
2017-07-17 02:11:14 +03:00
Glenn Morris
a203e717eb More small authors.el updates
* admin/authors.el (authors-aliases): Fix recent addition.
(authors-obsolete-files-regexps, authors-no-scan-regexps)
(authors-ignored-files, authors-valid-file-names)
(authors-renamed-files-alist): Additions.
; * lisp/vc/pcvs.el, test/lisp/emacs-lisp/checkdoc-tests.el:
; Fix Author headers.
; * ChangeLog.2: Fixes.
2017-06-06 15:08:41 -04:00
Glenn Morris
5cb286064f ; Update some Maintainer: header comments 2017-06-05 20:48:49 -04:00
Glenn Morris
ac5422fd23 ; Small fixes for some Author: header comments 2017-06-05 20:35:17 -04:00
Nikolay Kudryavtsev
6ad42aecc2 Improve of file-local-name use in vc-git-checkin
* lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
when calling git commit.
2017-06-04 09:59:49 +02:00
Tino Calancha
61ef5c612d Fix concatenation of "^" with diff-file-junk-re
This regexp contains "\\|", thus a concatenation
of "^" with it just matches the beginning of line for the
first alternative in diff-file-junk-re.
* lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
diff-file-junk-re wrapped in a shy group.
2017-05-24 10:54:48 +09:00
Philipp Stephani
bf4f69ab6d vc-hg.el: Silence byte compiler warning
* lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
2017-05-23 21:23:55 +02:00
Stefan Monnier
ea19dd64e2 * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler. 2017-05-23 08:16:59 -04:00
Sam Steingold
62046ed3e9 Fix "g" in hg&git push&pull buffers
lisp/vc/vc-git.el (vc-git--pushpull): Set locally
`compilation-directory' and `compilation-arguments'.
lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
2017-05-22 15:48:21 -04:00
Glenn Morris
7f4e5ca8fb Prevent loading vc-bzr writing to ~/.bzr.log
* lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
2017-05-20 17:05:18 -07:00
Stefan Monnier
184d74ce00 * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
Rename from smerge-refine-subst.  Allow the `beg's to be markers.
Add autoload cookie.
(smerge--refine-forward): Rename from smerge-refine-forward.
(smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
Assume that its `beg` arg is a marker.
(smerge--refine-highlight-change): Rename from
smerge-refine-highlight-change.  Remove `buf` arg.
(smerge-refine-subst): Redefine as an obsolete alias.
2017-05-17 15:44:36 -04:00
Göktuğ Kayaalp
4a3e392252 Require cl-lib at runtime in vc-hg
* lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
2017-05-04 15:46:51 +03:00
Dmitry Gutov
8e94fb1dd9 vc-git-state: Return `ignored' as appropriate with newer Git
* lisp/vc/vc-git.el
(vc-git--program-version): New variable.
(vc-git--program-version): New function.
(vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
2017-05-01 19:54:34 +03:00
Dmitry Gutov
0c76f94693 vc-git-state: Bring back CentOS 6 compatibility
* lisp/vc/vc-git.el (vc-git-state):
Bring back CentOS 6 compatibility (bug#19343).
2017-05-01 17:59:21 +03:00
Jonathan Ganc
24301c8148 Speed up vc-git-status and make it more precise
* lisp/vc/vc-git.el (vc-git-state)
(vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
'git status', so that 'vc-git-state' can now return 'ignored',
'conflict', or 'unregistered' when appropriate.  Discussed in
bug#26066.  Fixes bug#19343.
2017-05-01 04:30:01 +03:00
Dmitry Gutov
af736528b9 Fix Git revision navigation in currently removed directories
* lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
default-directory because FILE's parent directory might not exist
anymore (bug#26345).
2017-05-01 04:30:01 +03:00
Stefan Monnier
d490770dd0 * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
by simplifying ascii-test.
2017-04-20 17:38:21 -04:00
Glenn Morris
2d42bf7f5e ediff: use user-error rather than debug-ignored-errors
* lisp/vc/ediff-diff.el (ediff-prepare-error-list):
* lisp/vc/ediff-help.el (ediff-help-for-quick-help):
* lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
(ediff-check-version):
* lisp/vc/ediff-merg.el (ediff-shrink-window-C):
* lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
(ediff-append-custom-diff, ediff-meta-show-patch)
(ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
(ediff-get-meta-info, ediff-patch-file-form-meta):
* lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
* lisp/vc/ediff-util.el (ediff-toggle-autorefine)
(ediff--check-ancestor-exists, ediff-toggle-read-only)
(ediff-toggle-wide-display, ediff-toggle-multiframe)
(ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
(ediff-next-difference, ediff-previous-difference)
(ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
(ediff-save-buffer):
* lisp/vc/ediff-wind.el (ediff-make-wide-display):
* lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
(ediff-directories-internal, ediff-directory-revisions-internal)
(ediff-regions-wordwise, ediff-regions-linewise)
(ediff-load-version-control): Use user-error.
(debug-ignored-errors): No longer modify.
2017-04-17 20:16:15 -04:00
Jim Blandy
f3662966c3 Default to PCRE syntax when reading .hgignore
* lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
Default to the PCRE syntax (bug#26249).
2017-04-10 05:52:40 +03:00
Glenn Morris
bca1fde85f Remove references to OS/2 in code, doc, and comments
* lisp/gnus/nnheader.el (nnheader-read-timeout)
(nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
* lisp/emulation/viper-util.el (viper-color-defined-p):
* lisp/net/pop3.el (pop3-read-timeout):
* lisp/net/imap.el (imap-read-timeout):
* lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
* lisp/emulation/viper-ex.el (viper-glob-function):
* lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
* lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
* doc/emacs/msdos-xtra.texi (MS-DOS):
* doc/misc/gnus.texi (Various Various):
* doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
; * lisp/url/url.el, lisp/url/url-vars.el:
; * lisp/progmodes/cperl-mode.el: Remove old comments.
2017-04-08 13:16:08 -07:00
Kaushal Modi
7582497785 Check that file argument is a string
* lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
  passed to `file-local-copy' is a string (Bug#26378).  Also fix
  the existing comment for this function, and convert it to its
  doc-string.
2017-04-07 18:29:28 -04:00
Philipp Stephani
f4b50dad8d Make ediff handle remote and quoted file names
Quoted file names need to be unquoted before passed to
subprocesses (Bug#25950).

* lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
file names.
* test/lisp/vc/ediff-diff-tests.el
(ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
2017-04-04 11:37:10 +02:00
Tino Calancha
abe731eef0 epatch: Save right backups in Git multipatches
Multipatches on N Git files save wrong backups for
N-1 files; only the last one has a correct backup (Bug#26084).
* lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
* lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
* test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
Rename from ibuffer-test-bug25010.
(ediff-ptch-test-bug26084): New test.
2017-03-21 17:25:55 +09:00
Paul Eggert
90f5282e20 Merge from origin/emacs-25
ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
2b774fa Mention "editor" in Emacs man page header
ae60d0c Document problems with nerd-fonts
2fdb5a9 ; Details about pinning Emacs to w32 task bar
5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
4c51ef4 Clarify what is the "cursor"
8303c32 ; * etc/NEWS: Copyedits.
3f7493e ; Fix a typo in comment
c54cf8d Improve commentary in lisp.h
8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
0ba9932 Disable native completion for ipython (Bug#25067)
38fc456 Fix a typo in ada-mode manual
00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...

# Conflicts:
#	etc/NEWS
#	etc/PROBLEMS
2017-03-19 12:34:03 -07:00
Paul Eggert
e6fd84d2d5 Merge from origin/emacs-25
ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
7e02a47 Index byte-compile-debug
7c1e598 Document `byte-compile-debug' in the ELisp manual
4d81eb4 Document variable `byte-compile-debug'
72ef710 Fix call to debugger on assertion failure
ae8264c Call modification hooks in org-src fontify buffers
b3139da ; Fix last change in doc/lispref/strings.texi
c331f39 Improve documentation of 'format' conversions
9f52f67 Remove stale functions from ert manual
c416b14 Fix a typo in Eshell manual
06695a0 ; Fix a typo in ediff-merg.el
954e9e9 Improve documentation of hooks related to saving buffers
9fcab85 Improve documentation of auto-save-visited-file-name
2236c53 fix typo in mailcap-mime-extensions
85a3e4e Fix typos in flymake.el
a1ef10e More NEWS checking for admin.el's set-version

# Conflicts:
#	lisp/emacs-lisp/bytecomp.el
2017-03-19 12:29:06 -07:00
Tino Calancha
0f3d1b7823 Show ancestor buffer in 3way merges
Add an option ediff-show-ancestor', to control if the ancestor buffer
must be shown in 3way merges (Bug#25493); set it non-nil by default.
Add a toggle to change this option interactively; the original
value of the option is restored on exit.

Update the window setup so that the ancestor buffer is
shown in 3way merges when ediff-show-ancestor is non-nil.

Any operation on ediff windows must take in account the
ancestor window as well, when this is shown.

* lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
(ediff--show-ancestor-orig): New defvar.
* lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
(ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
Display ancestor buffer if ediff-show-ancestor is non-nil.
(ediff-keep-window-config): Expect ancestor window in
ediff-window-config-saved.
(ediff-window-alist): Add entry for the ancestor window.
* lisp/vc/ediff-util.el (ediff-setup-control-buffer):
ediff-window-config-saved contains ancestor window.
(ediff-show-ancestor): Delete this command.
(ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
(ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
don't cheat it to think that is performing a comparison, that trick is not
necessary anymore: simply call 'ediff-setup-diff-regions-function'
with file-A, file-B and the file ancestor.
(ediff-recenter): Update doc string.  Consider the ancestor buffer.
(ediff--check-ancestor-exists): New defun.
(ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
(ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
(ediff-scroll-vertically, ediff-scroll-horizontally)
(ediff-operate-on-windows): Consider the ancestor as well.
* lisp/vc/ediff-help.el (ediff-long-help-message-merge):
List ediff-toggle-show-ancestor.
* doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
; * etc/NEWS: Announce these changes.
2017-03-14 16:12:29 +09:00
Tino Calancha
e39d593475 diff-mode: Improve default faces for buffer ancestor
* lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
(ediff-fine-diff-Ancestor): Use defaults consistent with
faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
2017-03-14 15:19:20 +09:00
Sam Steingold
e4fff0ff2a Replace change-log-date-face -> change-log-date
This fixes c430f7e23f.
2017-03-08 13:32:21 -05:00
Juri Linkov
499b43d4cc * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
before adding it to the list of files.
2017-02-28 00:53:46 +02:00
Tom Tromey
9e9d381ff0 Add more branch support to vc-dir
Bug#25859:
* lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
* lisp/vc/vc.el (vc-revision-history): New defvar.
(vc-read-revision): Use vc-revision-history.
(vc-print-branch-log): New function.
* doc/emacs/maintaining.texi (VC Directory Commands): Document new
bindings.
* etc/NEWS: Mention new vc-dir bindings.
2017-02-25 10:46:13 -07:00
Dmitry Gutov
f5ee042771 Use revision-completion-table in vc-retrieve-tag
* lisp/vc/vc.el (vc-retrieve-tag): Use the
revision-completion-table command for completion (bug#25710).
2017-02-22 05:09:21 +02:00
Tom Tromey
0a670690f1 vc-log-outgoing fixes for git; add binding to vc-dir
* lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
* lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
async execution.
(vc-git-log-view-mode): Also truncate lines for log-outgoing and
log-incoming.
* lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
as remote-location argument.
2017-02-19 21:01:28 -07:00
Tom Tromey
a4c3227230 Remove stale comments from vc-git and vc-hg
* lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
* lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
2017-02-19 20:59:35 -07:00
Dmitry Gutov
7cc95d4d86 Fix buffers update in vc-retrieve-tag
* lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
`repository', use the repository root and pass it to
vc-resynch-buffer (bug#25714).
2017-02-17 03:01:05 +02:00
Tom Tromey
3fb9f5452f Make vc-git detect conflict state for vc-dir
* lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
(vc-git-dir-status-update-file): New function.
(vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
vc-git-dir-status-state; add 'ls-files-conflict state.
(vc-git-dir-status-files): Create a vc-git-dir-status-state.
2017-02-14 14:07:53 -07:00
Tino Calancha
3f7493e27c ; Fix a typo in comment
* lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
Fix a typo in comment.
2017-02-10 20:05:11 +09:00
Tino Calancha
a362b56b51 Check if there are hunks before kill or refine a hunk
* lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
(diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
2017-02-02 22:27:33 +09:00
Tino Calancha
01d87bf846 Ignore error after kill last file or hunk
* lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
Ignore error after kill last hunk (Bug#25570).
(diff-file-kill): Idem.
2017-02-02 22:27:18 +09:00
Dima Kogan
189df8262e Handle patch terminators produced by git and bzr patch export
Patch by Juri Linkov posted in the #9597 bug report

* lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
terminator (Bug #9597, #5302)
2017-01-31 07:50:26 -08:00
Tino Calancha
0073223c23 Fix Bug#25524
* lisp/vc/diff-mode.el (diff-beginning-of-hunk):
Return position at the beginning off the hunk.
(diff-file-junk-re): Add SVN keywords.
2017-01-29 18:49:10 +09:00
Tino Calancha
cf9ce4fcfc ediff-difference-vector-alist: Drop duplicated definition
* lisp/vc/ediff-init.el (ediff-difference-vector-alist):
Drop duplicated definition.
(ediff-difference-vector-A, ediff-difference-vector-B)
(ediff-difference-vector-C, ediff-difference-vector-Ancestor):
Move definition before 'ediff-difference-vector-alist'.
2017-01-25 15:15:16 +09:00
Tino Calancha
e5e42cefd7 diff-hunk-kill independent of point inside headers
Make diff-apply-hunk and diff-hunk-kill independent of the point
position in a diff header (Bug#17544).
This change allows to apply hunks in order.  It also makes possible to
press M-k repeatedly to kill hunks in the order they appear in the buffer.
See discussion on #Bug25105.
* lisp/vc/diff-mode.el (diff-file-junk-re):
Move definition before it's used.
(diff--at-diff-header-p): New predicate; return non-nil when point
is inside a hunk header, a file header, or within a line
matching diff-file-junk-re.
(diff-beginning-of-hunk): Use it.
Check if the point is inside a diff header, in the middle of a hunk,
or before the first hunk.
(diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
before apply the hunk.
(diff-hunk-kill, diff-file-kill):
Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
(diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
2017-01-21 11:54:55 +09:00
Tino Calancha
1508b538fd ; Revert "Improve diff-mode navigation/manipulation"
This reverts commit 2c8a7e50d2.
This change causes regressions:
https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00738.html
The following related commits are reverted as well:
61c6a10e31
a283d655db
6b6abe0dba
e5ef59b87d
73349822cb

Fixes: debbugs:25105, 25400.
2017-01-21 11:54:38 +09:00
Tino Calancha
06695a02fd ; Fix a typo in ediff-merg.el
* lisp/vc/ediff-merg.el (ediff-skip-merge-regions-that-differ-from-default):
Fix a typo in docstring.
2017-01-21 00:31:40 +09:00
Noam Postavsky
8c0fcaf667 Avoid inefficient regex in diff-refine-hunk (Bug#25410)
* lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
(diff-refine-hunk): Use it instead of trying to match multiple lines
with a single lines.
2017-01-18 20:37:31 -05:00
Dmitry Gutov
5b9f08fb86 Remove leftover references to log-view-message-face
* lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.

* lisp/vc/vc-git.el (vc-git-root-log-format): Same.

* lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
2017-01-14 06:56:37 +03:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
4f7a90bf6c Merge from origin/emacs-25
9adb101 Document 'describe-fontset'
229315c ; Add missing symbol quoting.
3d94931 Repair desktop restoration on text terminals
43022f9 Ignore forward-sexp-function in js-mode indentation code
b19fb49 Improve documentation of 'define-coding-system'
467768f Fix Bug#25162
6db78ae Fix a typo in define-abbrev-table
5f7d906 Bump makeinfo requirement from 4.7 to 4.13
442e2f6 Fixes related to select-enable-clipboard
e4ac450 Define struct predicate before acccesors
08decbd Doc fix for vc-git
5531e75 Further improve make-dist checking
953bf67 Improve previous make-dist change
129645a Make make-dist --snapshot do some sanity checks

# Conflicts:
#	lisp/menu-bar.el
2017-01-01 01:02:45 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Dima Kogan
e5ef59b87d diff-mode auto-refines only after a successful motion
Prior to this patch (if enabled) auto-refinement would kick in after all
hunk navigation commands, even if the motion failed.  This would result
in a situation where the hunk navigation would signal an error and beep,
but yet still accomplish potentially useful work, by auto-refining.
This patch moves the auto-refinement code to only run when a motion was
successful

* lisp/vc/diff-mode.el (diff--internal-hunk-next,
  diff--internal-hunk-prev): Removed auto-refinement-triggering code
* lisp/vc/diff-mode.el (diff--wrap-navigation): Added
  auto-refinement-triggering code
2016-12-24 21:42:02 -08:00