Commit graph

407 commits

Author SHA1 Message Date
Dmitry Gutov
dda6191643 Remember log-edit comment when the buffer is killed
* lisp/vc/log-edit.el (log-edit-add-new-comment): Rename to
`log-edit-remember-comment', make argument optional.  Adjust all
callers.
(log-edit-mode): Add `log-edit-remember-comment' to
`kill-buffer-hook' locally.
(log-edit-kill-buffer): Don't remember comment explicitly since
the buffer is killed anyway.
2013-12-04 02:37:33 +02:00
Dmitry Gutov
0f457a371c Support the new log-edit behavior in vc-git-log-edit-toggle-amend
* lisp/vc/log-edit.el (log-edit-set-header): Extract from
`log-edit-toggle-header'.
(log-edit-extract-headers): Separate the summary, when extracted
from header, from the rest of the message with an empty line.

* lisp/vc/vc-git.el (vc-git-log-edit-toggle-amend): Move the summary
line, if present, to the Summary header.
2013-12-03 00:13:51 +02:00
Dmitry Gutov
3adc9c6dca Fix minor log-edit-show-files annoyances
* lisp/vc/log-edit.el (log-edit-kill-buffer): Move the use of
`save-selected-window' to `log-edit-hide-buf'.  This makes
`log-edit-show-files' idempotent.
(log-edit-show-files): Mark the new window as dedicated.
2013-12-02 05:03:40 +02:00
Dmitry Gutov
d9dfe8ca07 Install the actual changes missing in previous revision
* lisp/vc/log-edit.el (log-edit-mode-map): Add binding for
`log-edit-kill-biffer'.
(log-edit-hide-buf): Add a FIXME comment.
(log-edit-add-new-comment): New function, extracted from
`log-edit-done'.
(log-edit-done, log-edit-add-to-changelog): Use it.
(log-edit-kill-buffer): New command.
2013-12-02 04:26:07 +02:00
Dmitry Gutov
52789f7fb3 Apply the initial log-edit tweaks discussed at emacs-devel
* .dir-locals.el: (log-edit-move): Add the "Author: " header.

* lisp/vc/log-edit.el (log-edit-mode-map): Add binding for
`log-edit-beginning-of-line'.
(log-edit-setup-add-author): New user option.
(log-edit-beginning-of-line): New command.
(log-edit): Move major mode call above the contents setup so that
the local variable values are already applied.
(log-edit): Only insert "Author: " when
`log-edit-setup-add-author' is non-nil.
(log-edit): When SETUP is non-nil, position point after ": "
instead of point-min.
2013-12-01 06:13:50 +02:00
Stefan Monnier
1b10adb682 * lisp/vc/vc-dispatcher.el (vc-log-edit): Setup the Summary&Author headers. 2013-11-27 20:49:25 -05:00
Eli Zaretskii
0e2c793ffe Fix ugly ^M characters in Diff output shown by "C-x v u".
lisp/vc/vc.el (vc-diff-internal): Use *-dos coding-system when
 reading output from Diff on MS-Windows and MS-DOS.
2013-11-26 21:17:55 +02:00
David Kastrup
5f5b128d48 * lisp/vc/smerge-mode.el (smerge-ediff): Choose default buffer names based
on the conflict markers when available.
(smerge--get-marker): New function.
(smerge-end-re, smerge-base-re): Add subgroup.
2013-11-25 10:40:31 -05:00
Dmitry Gutov
6f20dd038e * lisp/vc/vc-git.el (vc-git-annotate-extract-revision-at-line): Make it
work when annotation is invisible.

Fixes: debbugs:13886
2013-11-25 04:28:02 +02: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
Dan Nicolaescu
826dc7b6b1 * vc/vc-git.el (vc-git-dir-extra-headers): Add headers
when rebase or bisect are in progress.
2013-11-19 15:23:53 -05:00
Glenn Morris
75f777b647 * lisp/vc/vc.el (vc-diff-knows-L): Remove; unused since 2007-10-10. 2013-11-13 15:06:37 -05:00
Stefan Monnier
0acfafef3a * lisp/vc/vc-rcs.el (vc-rcs-parse): Make `gather' get e, b, and @-holes
via arguments so as to get the right ones.

Fixes: debbugs:15418
2013-11-05 10:27:51 -05:00
Glenn Morris
cecedb3677 * lisp/vc/pcvs.el (cvs-status-cvstrees): Autoload to silence compiler. 2013-10-29 23:28:15 -07:00
Glenn Morris
f5bf77dfae * lisp/vc/vc.el (vc-print-log): Don't use a working revision unless
one was explicitly specified.

Fixes: debbugs:15322
2013-10-24 19:33:42 -07:00
Dmitry Gutov
8297b2cfdd * lisp/vc/vc.el (vc-print-root-log): Always set `default-directory'
value, whether we could auto-deduce `backend', or not.
2013-10-24 05:27:29 +04:00
João Távora
db1386987b * vc/vc.el (vc-diff-build-argument-list-internal): If the file is
not locked, use last revision and current source as
defaults.  (Bug#15569)
2013-10-10 10:59:09 -04:00
Glenn Morris
14afa541a6 * lisp/vc/vc-svn.el (vc-svn-create-repo): Expand paths in file://... url.
Fixes: debbugs:15446
2013-10-09 14:49:32 -04:00
Stefan Monnier
cc5da1ec4d * lisp/vc/pcvs.el: Use lexical-binding.
(cvs-temp-buffer, cvs-make-cvs-buffer): Pass some vars in the lexical
environment of `eval'.
(cvs-mode-run, cvs-mode-do): Change `postproc' to be a function rather
than a list of expressions.  Adjust callers.
* lisp/vc/pcvs-defs.el (cvs-postprocess): Remove, unused.
2013-10-07 23:47:24 -04:00
Xue Fuqiao
34ca0f4c79 New functions for finding the administrative directory in VC.
* vc/vc-svn.el (vc-svn-find-admin-dir):
* vc/vc-rcs.el (vc-rcs-find-admin-dir):
* vc/vc-mtn.el (vc-mtn-find-admin-dir):
* vc/vc-cvs.el (vc-cvs-find-admin-dir):
* vc/vc-arch.el (vc-arch-find-admin-dir): New functions.
2013-10-05 07:47:00 +08:00
Mitchel Humpherys
be4e325d03 * lisp/vc/vc-git.el (vc-git-grep): Disable pager. 2013-10-01 11:34:14 -04:00
Juanma Barranquero
c8af4e673e lisp/vc/vc-sccs.el (vc-sccs-search-project-dir): Mark unused argument. 2013-09-23 04:59:30 +02:00
Xue Fuqiao
d052d3bdf3 Add keybinding for vc-log-incoming in vc-dir.
* doc/emacs/maintaining.texi (VC Directory Commands): Add keybinding for
vc-log-incoming in vc-dir.
* lisp/vc/vc-dir.el (vc-dir-mode-map): Add keybinding for vc-log-incoming.
2013-09-21 16:16:13 +08:00
Xue Fuqiao
98ccf24eab Rename cvs-append-to-ignore to vc-cvs-append-to-ignore.
2013-09-20  Xue Fuqiao  <xfq.free@gmail.com>

	* lisp/vc/pcvs.el (cvs-mode-ignore):
	* lisp/vc/vc-cvs.el (vc-cvs-ignore, vc-cvs-append-to-ignore): Rename
	cvs-append-to-ignore to vc-cvs-append-to-ignore.

If/when someone complains about her package calling that function we
can add an obsolete alias at that point.
2013-09-20 13:39:53 +08:00
Glenn Morris
dea01c6e98 * vc/vc-dispatcher.el (vc-dir-refresh): Declare. 2013-09-11 23:58:57 -07:00
Glenn Morris
aa30fa6f3a * vc/vc-svn.el (vc-svn-retrieve-tag): Mark unused argument. 2013-09-11 23:55:15 -07:00
Glenn Morris
be94d71300 * vc/vc-svn.el (vc-svn-dir-status-files, vc-svn-dir-extra-headers)
(vc-svn-ignore): Mark unused arguments.
2013-09-11 23:53:57 -07:00
Glenn Morris
759880bff7 Revert part of previous vc-bzr change 2013-09-11 23:50:18 -07:00
Glenn Morris
a6ae021fd3 * vc/vc-svn.el (vc-svn-parse-status): If there are multiple files
in the status output, assume `filename' is the first.

Fixes: debbugs:15322
2013-09-11 23:21:33 -07:00
Glenn Morris
40e64f0cbd * lisp/vc/vc.el (vc-deduce-fileset): Doc fix. 2013-09-11 23:10:12 -07:00
Glenn Morris
16d9f8966f Update some function declarations
* calc/calc-help.el (Info-goto-node):
* progmodes/cperl-mode.el (Info-find-node):
* vc/ediff.el (Info-goto-node): Update declarations.
2013-09-11 22:48:22 -07:00
Glenn Morris
96b3f75a80 Silence some vc- compilation warnings
* vc/vc-bzr.el (vc-exec-after): Remove unused declaration.
(vc-compilation-mode): Declare.
(vc-bzr-pull): Require vc-dispatcher.

* vc/vc-git.el (vc-compilation-mode): Declare.
(vc-git-pull): Require vc-dispatcher.
2013-09-11 22:45:42 -07:00
Glenn Morris
aab6e902f9 Comment 2013-09-11 14:40:06 -04:00
Glenn Morris
d3506ca5a0 * lisp/vc/vc-cvs.el (cvs-append-to-ignore): Fix arg spec.
Check cvs-sort-ignore-file is bound.
2013-09-11 14:31:45 -04:00
Daniel Hackney
6c42fc3efb * lisp/dired-x.el:
* lisp/net/ange-ftp.el:
* lisp/net/browse-url.el:
* lisp/net/dbus.el:
* lisp/net/eudc.el:
* lisp/net/eudcb-ldap.el:
* lisp/net/eww.el:
* lisp/net/imap.el:
* lisp/printing.el:
* lisp/vc/ediff-diff.el:
* lisp/vc/ediff-init.el:
* lisp/vc/ediff-merg.el:
* lisp/vc/ediff-mult.el:
* lisp/vc/ediff-util.el:
* lisp/vc/ediff-wind.el:
* lisp/vc/ediff.el:
* lisp/vc/emerge.el:
* lisp/vc/pcvs.el:
* vc/vc-annotate.el: Prefix unused arguments with `_' to silence
byte compiler.  Remove some unused let-bound variables.
2013-09-04 23:30:07 -04:00
Stefan Monnier
4c528aabaa * lisp/emacs-lisp/cconv.el: Use car-safe' rather than car' to access
a "ref-cell", since it gets better optimized.

Fixes: debbugs:14883
2013-09-04 23:05:44 -04:00
Stefan Monnier
9c750ebae6 * lisp/vc/vc-dispatcher.el (vc-run-delayed): New macro.
(vc-do-command, vc-set-async-update):
* lisp/vc/vc-mtn.el (vc-mtn-dir-status):
* lisp/vc/vc-hg.el (vc-hg-dir-status, vc-hg-dir-status-files)
(vc-hg-pull, vc-hg-merge-branch):
* lisp/vc/vc-git.el (vc-git-dir-status-goto-stage, vc-git-pull)
(vc-git-merge-branch):
* lisp/vc/vc-cvs.el (vc-cvs-print-log, vc-cvs-dir-status)
(vc-cvs-dir-status-files):
* lisp/vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch, vc-bzr-dir-status)
(vc-bzr-dir-status-files):
* lisp/vc/vc-arch.el (vc-arch-dir-status): Use vc-run-delayed.
* lisp/vc/vc-annotate.el: Use lexical-binding.
(vc-annotate-display-select, vc-annotate): Use vc-run-delayed.
(vc-sentinel-movepoint): Declare.
(vc-annotate): Don't use `goto-line'.
* lisp/vc/vc.el (vc-diff-internal): Prefer a closure to `(lambda...).
(vc-diff-internal, vc-log-internal-common): Use vc-run-delayed.
(vc-sentinel-movepoint): Declare.
* lisp/vc/vc-svn.el: Use lexical-binding.
(vc-svn-dir-status, vc-svn-dir-status-files): Use vc-run-delayed.
* lisp/vc/vc-sccs.el:
* lisp/vc/vc-rcs.el: Use lexical-binding.
2013-09-04 17:09:42 -04:00
Xue Fuqiao
adf2fc4a01 Merge from mainline. 2013-09-04 08:39:34 +08:00
Xue Fuqiao
63191d9f20 Some fixes for vc-ignore.
* lisp/vc/vc.el (vc-ignore): Rewrite.
(vc-default-ignore): New function.
(vc-default-ignore-completion-table): Use find-ignore-file.

* lisp/vc/vc-bzr.el (vc-bzr-ignore, vc-bzr-ignore-completion-table):
* lisp/vc/vc-git.el (vc-git-ignore, vc-git-ignore-completion-table):
* lisp/vc/vc-hg.el (vc-hg-ignore, vc-hg-ignore-completion-table):
Remove.  Most code moved to vc.el.

* doc/emacs/maintaining.texi (VC Ignore): Mention `vc-ignore' with prefix argument.
2013-09-04 08:31:13 +08:00
Stefan Monnier
724f5e41b6 * lisp/vc/vc-git.el (vc-git-checkin): Make it possible to commit a merge. 2013-09-03 14:28:06 -04:00
Stefan Monnier
4021d6a62a * lisp/vc/smerge-mode.el: Remove redundant :group args. 2013-08-28 15:26:18 -04:00
Juanma Barranquero
9d3aa82cf9 lisp/*.el: Silence lexical-binding warnings. 2013-08-09 01:59:14 +02:00
Juanma Barranquero
8951efefa1 lisp/vc/vc.el: Silence byte-compiler warning. 2013-08-06 11:38:41 +02:00
Dmitry Antipov
290d5b5890 Do not call to `selected-window' where it is assumed by default.
Affected functions are `window-minibuffer-p', `window-dedicated-p',
`window-hscroll', `window-width', `window-height', `window-buffer',
`window-frame', `window-start', `window-point', `next-window'
and `window-display-table'.
* abbrev.el (abbrev--default-expand):
* bs.el (bs--show-with-configuration):
* buff-menu.el (Buffer-menu-mouse-select):
* calc/calc.el (calc):
* calendar/calendar.el (calendar-generate-window):
* calendar/diary-lib.el (diary-simple-display, diary-show-all-entries)
(diary-make-entry):
* comint.el (send-invisible, comint-dynamic-complete-filename)
(comint-dynamic-simple-complete, comint-dynamic-list-completions):
* completion.el (complete):
* dabbrev.el (dabbrev-expand, dabbrev--make-friend-buffer-list):
* disp-table.el (describe-current-display-table):
* doc-view.el (doc-view-insert-image):
* ebuff-menu.el (Electric-buffer-menu-mouse-select):
* ehelp.el (with-electric-help):
* emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
* emacs-lisp/edebug.el (edebug-two-window-p, edebug-pop-to-buffer):
* emacs-lisp/helper.el (Helper-help-scroller):
* emulation/cua-base.el (cua--post-command-handler-1):
* eshell/esh-mode.el (eshell-output-filter):
* ffap.el (ffap-gnus-wrapper):
* help-macro.el (make-help-screen):
* hilit-chg.el (highlight-compare-buffers):
* hippie-exp.el (hippie-expand, try-expand-dabbrev-visible):
* hl-line.el (global-hl-line-highlight):
* icomplete.el (icomplete-simple-completing-p):
* isearch.el (isearch-done):
* jit-lock.el (jit-lock-stealth-fontify):
* mail/rmailsum.el (rmail-summary-scroll-msg-up):
* lisp/mouse-drag.el (mouse-drag-should-do-col-scrolling):
* mpc.el (mpc-tagbrowser, mpc):
* net/rcirc.el (rcirc-any-buffer):
* play/gomoku.el (gomoku-max-width, gomoku-max-height):
* play/landmark.el (landmark-max-width, landmark-max-height):
* play/zone.el (zone):
* progmodes/compile.el (compilation-goto-locus):
* progmodes/ebrowse.el (ebrowse-view/find-file-and-search-pattern):
* progmodes/etags.el (find-tag-other-window):
* progmodes/fortran.el (fortran-column-ruler):
* progmodes/gdb-mi.el (gdb-mouse-toggle-breakpoint-fringe):
* progmodes/verilog-mode.el (verilog-point-text):
* reposition.el (reposition-window):
* rot13.el (toggle-rot13-mode):
* server.el (server-switch-buffer):
* shell.el (shell-dynamic-complete-command)
(shell-dynamic-complete-environment-variable):
* simple.el (insert-buffer, set-selective-display)
(delete-completion-window):
* speedbar.el (speedbar-timer-fn, speedbar-center-buffer-smartly)
(speedbar-recenter):
* startup.el (fancy-splash-head):
* textmodes/ispell.el (ispell-command-loop):
* textmodes/makeinfo.el (makeinfo-compilation-sentinel-region):
* tutorial.el (help-with-tutorial):
* vc/add-log.el (add-change-log-entry):
* vc/compare-w.el (compare-windows):
* vc/ediff-help.el (ediff-indent-help-message):
* vc/ediff-util.el (ediff-setup-control-buffer, ediff-position-region):
* vc/ediff-wind.el (ediff-skip-unsuitable-frames)
(ediff-setup-control-frame):
* vc/emerge.el (emerge-position-region):
* vc/pcvs-util.el (cvs-bury-buffer):
* window.el (walk-windows, mouse-autoselect-window-select):
* winner.el (winner-set-conf, winner-undo): Related users changed.
2013-08-05 18:26:57 +04:00
Dmitry Antipov
12b4c0ea03 Do not call to `selected-frame' where it is assumed by default.
Affected functions are `raise-frame', `redraw-frame',
`frame-first-window', `frame-terminal' and `delete-frame'.
* lisp/calendar/appt.el (appt-disp-window):
* lisp/epg.el (epg-wait-for-completion):
* lisp/follow.el (follow-delete-other-windows-and-split)
(follow-avoid-tail-recenter):
* lisp/international/mule.el (set-terminal-coding-system):
* lisp/mail/rmail.el (rmail-mail-return):
* lisp/net/newst-plainview.el (newsticker--buffer-set-uptodate):
* lisp/progmodes/f90.el (f90-add-imenu-menu):
* lisp/progmodes/idlw-toolbar.el (idlwave-toolbar-toggle):
* lisp/server.el (server-switch-buffer):
* lisp/simple.el (delete-completion-window):
* lisp/talk.el (talk):
* lisp/term/xterm.el (terminal-init-xterm-modify-other-keys)
(xterm-turn-on-modify-other-keys, xterm-remove-modify-other-keys):
* lisp/vc/ediff-util.el (ediff-status-info, ediff-show-diff-output):
* lisp/vc/ediff.el (ediff-documentation): Related users changed.
* lisp/frame.el (selected-terminal): Remove the leftover.
2013-08-05 14:35:55 +04:00
Xue Fuqiao
99191b89ff Merge from mainline. 2013-08-04 10:59:08 +08:00
Xue Fuqiao
ab419665ca Cleanup for vc-ignore.
* vc/vc.el (vc-ignore): Rewrite.
(vc-default-ignore-completion-table):
(vc--read-lines):
(vc--add-line, vc--remove-regexp): New functions.

* vc/vc-svn.el (vc-svn-ignore): Doc fix.
(vc-svn-ignore-completion-table): New function.

* vc/vc-hg.el (vc-hg-ignore): Rewrite.
(vc-hg-ignore-completion-table):
(vc-hg-find-ignore-file): New functions.

* vc/vc-git.el (vc-git-ignore): Rewrite.
(vc-git-ignore-completion-table):
(vc-git-find-ignore-file): New functions.

* vc/vc-dir.el (vc-dir-menu-map): Add menu for vc-dir-ignore.

* vc/vc-bzr.el (vc-bzr-ignore): Rewrite.
(vc-bzr-ignore-completion-table):
(vc-bzr-find-ignore-file): New functions.
2013-08-04 10:55:45 +08:00
Xue Fuqiao
7188b515f6 * lisp/vc/vc-hooks.el (vc-menu-map): Fix menu entry for vc-ignore. 2013-08-01 08:19:11 +08:00
Dmitry Gutov
2412ee1af6 * lisp/vc/log-view.el (log-view-diff): Extract `log-view-diff-common',
use it.
(log-view-diff-changeset): Same.
(log-view-diff-common): Call backend command `previous-revision'
to find out the previous revision, in both cases.  Swap the
variables `to' and `fr', so that `fr' usually refers to the
earlier revision.

Fixes: debbugs:14989
2013-07-31 15:22:10 +03:00
Xue Fuqiao
aeca3fbb65 * lisp/vc/vc-hooks.el (vc-menu-map): Add menu entry for vc-ignore. 2013-07-31 15:01:46 +08:00