André Spiegel [Tue, 22 Aug 1995 17:52:42 +0000 (17:52 +0000)]
(vc-simple-command): New function.
(vc-fetch-master-properties): CVS case: Use it.
(vc-lock-from-permissions, vc-file-owner, vc-rcs-lock-from-diff):
New functions.
(vc-locking-user): Largely rewritten. Uses the above, handles RCS
non-strict locking. Under CVS in CVSREAD-mode, learn the locking state
from the permissions.
(vc-find-cvs-master): Use vc-insert-file, rather than
find-file-noselect. Greatly speeds up things.
(vc-consult-rcs-headers): Bug fix, return status in all cases.
Roland McGrath [Mon, 21 Aug 1995 22:15:58 +0000 (22:15 +0000)]
(compilation-exit-message-function): New variable.
(compilation-sentinel): If compilation-exit-message-function is non-nil,
call it to produce messages for buffer and mode line.
(grep): Use that variable to produce snazzier messages.
André Spiegel [Mon, 21 Aug 1995 19:27:05 +0000 (19:27 +0000)]
(vc-latest-on-branch-p): Under CVS, handle the case when the file is
added, but not yet committed.
(vc-backend-checkout): RCS case: In non-strict locking mode, force to
overwrite the writable workfile. CVS case: Do the right thing in
CVSREAD-mode.
André Spiegel [Mon, 21 Aug 1995 19:25:52 +0000 (19:25 +0000)]
(vc-fetch-master-properties): RCS case: get locking mode.
CVS case: new state `locally-added'.
(vc-locking-user): Under RCS with non-strict locking, don't trust
the file permissions. CVS case: change which states count as
"locked".
(vc-consult-rcs-headers): Streamlined. Don't set vc-locking-user if
this is called under CVS. Under RCS, use a heuristic to find the
value of vc-checkout-model without examining the master file.
(vc-parse-locks): Set vc-checkout-model.
(vc-status): Comment change.
(vc-after-save-hook, vc-after-save): The former renamed to the
latter. Now unconditionally called by `basic-save-buffer', determines
whether the buffer should be "locked" or not.
(vc-mode-line): No longer use dynamic after-save-hook. Changed
references to `automatic' into `implicit'.
(vc-checkout-model): Values are now `manual' and `implicit'. Derive
the property on a per-file basis, supporting all possible modes.
(makefile-space-face): New variable.
(makefile-define-space-face): New function.
(makefile-tab-face): Variable deleted.
(makefile-define-tab-face): Function deleted.
(makefile-font-lock-keywords): Highlight leading spaces, not tabs.
Michael Kifer [Sun, 20 Aug 1995 04:32:54 +0000 (04:32 +0000)]
* viper.el (vip-set-hooks): Use view-mode-hook in emacs and view hook in xemacs.
(vip-read-string-with-history): minibuffer-setup-hook no longer
waits for the user to type, if there are unread events.
Harnessed view-minor-mode.
Added (vip-leave-region-active) to all simple movement commands.
(blink-matching-paren-dont-ignore-comments): New var.
(blink-matching-open): Use it.
Also, if the matching char hasn't paren syntax, call that mismatch.
Karl Heuer [Sat, 19 Aug 1995 00:30:56 +0000 (00:30 +0000)]
(sh-newline-and-indent): Don't interpret prefix arg
since `newline-and-indent' doesn't either. Don't turn a trailing
quoted tab into a space.
(sh-mode): Use new `skeleton-newline-indent-rigidly'.
(sh-set-shell): Make maximum font-locking also hightlight keywords
after ``' and `!'. (The latter is for ksh '93 but should't hurt other
shells.)
Karl Heuer [Sat, 19 Aug 1995 00:30:38 +0000 (00:30 +0000)]
(skeleton-newline-indent-rigidly): New variable.
(skeleton-internal-1): Use it for indenting after \n because previous
behaviour was only useful for `sh-script.el' and old `ada.el'. Other
modes now get their own indentation.
(skeleton, skeleton-modified, skeleton-point, skeleton-regions): `New'
variables for passing between the mutually recursive functions of
the skeleton engine. Introduced to remove compiler warnings.
(skeleton-proxy): New argument `str' to make this settable when calling
a skeleton as a function.
(skeleton-insert): New argument `str' to pass down. Element `\n'
now usually indents according to mode. Subskeletons may also have
a list of strings as iterator. Earlier modification also removed
meaning of `quit' -- I did not put it back in since it's useless.
When quitting out of a subskeleton while still wrapping around text
don't duplicate first line of that text.
(skeleton-end-hook): New hook useful say for modes that leave a `;' on
an empty line to indent right and then want to clean it up when doing
a skeleton there.
André Spiegel [Fri, 18 Aug 1995 20:29:14 +0000 (20:29 +0000)]
(vc-next-action-on-file): Changed doc string, CVS case.
(vc-backend-checkin): Clear master properties before doing the
check-in. In the CVS case, catch error and display an appropriate
message in the echo area.
(vc-backend-revert): Clear master properties, because some might get
outdated by the operation.
(vc-backend-merge-news): Scan the output of "cvs update" and find out
whether conflicts have occurred.
(vc-finish-logentry): Delete the *VC-log* buffer *before* doing the
actual check-in. That leads to a better display in case the check-in
fails.
(vc-latest-on-branch-p): Defined it for CVS in the obvious way.
(vc-next-action-on-file): Removed special CVS cases. At this level,
CVS is now mostly handled like the other backends.
(vc-backend-checkout): CVS case: Clear sticky tag as default when
doing a verbose checkout. (This used to be done in
vc-next-action-on-file.)
André Spiegel [Fri, 18 Aug 1995 20:22:53 +0000 (20:22 +0000)]
(vc-fetch-master-properties): Recognize cvs status "Unresolved Conflict".
(vc-locking-user): Count cvs status `unresolved-conflict' as "locked".
(vc-checkout-model): New property and access function (still simplistic).
(vc-after-save-hook): New function.
(vc-mode-line): When the file is locked by somebody else, make the
buffer read-only. (Formerly this was only done for root.) Don't
write-protect the buffer if the file is unlocked. Instead, install
vc-after-save-hook, which "locks" the file when modifications are
saved.
* etags.c (Pascal_functions): Close comment bug corrected.
(add_node): Correctly compare node file names.
(Pascal_functions): Correctly allocate and free memory for tline.
(pfnote): Put the definition of fp in the innermost block.
(NODE): `named' member removed.
(pfnote, free_tree, put_entries, total_size_of_entries): Do not
use the `named' member, check whether `name' is NULL instead.
(pfnote): `named' argument removed, all callers changed.
(getit, Asm_labels, Pascal_functions, L_getit, get_scheme,
TeX_functions, TEX_getit, prolog_getit): Useless string allocation
removed from pfnote call, some code cleanup.
(relative_filename): Free temporary space allocated by concat.
André Spiegel [Thu, 17 Aug 1995 14:10:09 +0000 (14:10 +0000)]
(vc-next-action-on-file): Moved the setting of the default branch to
vc-backend-checkout, where it belongs.
(vc-backend-checkout): If an explicit version was specified, adjust
the default branch accordingly.
André Spiegel [Thu, 17 Aug 1995 12:40:03 +0000 (12:40 +0000)]
(vc-revert-buffer1): Split part of the function into vc-buffer-context
and vc-restore-buffer-context, so we can use it also in other
circumstances.
(vc-buffer-context, vc-restore-buffer-context): New functions.
(vc-clear-headers): New function, uses the above.
(vc-cancel-version): When `norevert', locks the most recent remaining
version. Also, refuse to work on anything but the latest version of
a branch. Removed the check whether the version is the user's,
because that is difficult to decide, now that multiple branches are
possible.
(vc-latest-on-branch-p): New function.
(vc-head-version): New access function to the already existing
property.
(vc-trunk-p, vc-branch-part): Functions moved before first use.
Karl Heuer [Tue, 15 Aug 1995 19:50:12 +0000 (19:50 +0000)]
(sh-test): New variable.
(sh-if, sh-until, sh-while): Use it.
(sh-while-getopts): Handle csh passably well.
(sh-font-lock-keywords): Use `font-lock-variable-name-face'.
(sh-set-shell): Respect `font-lock-maximum-decoration'.
Karl Heuer [Tue, 15 Aug 1995 19:49:46 +0000 (19:49 +0000)]
(skeleton-pair-insert-maybe): Plain insert in Ovwrt mode
(skeleton-insert): If skeleton doesn't fit in window, put beginning
at top before going to _ point.
(skeleton-internal-list): Rewritten so that resume: sections pertain
only to inferior skeletons and make str available there
(skeleton-read): Don't quit and remove partial skeleton when empty
string entered for outer iterator. Added implicit argument `input'.
(define-skeleton, skeleton-insert, skeleton-internal-list): Use `x
rather than backquote's (` x) or own (list 'x)
(shell-command-on-region): Don't examine order of
point and mark; use order of START and END instead.
Interactively pass point and mark, not region-beg and region-end.