Mercurial > emacs
view lib-src/rcs-checkin @ 42829:07bd6e693cb6
(easy-mmode-defmap): Enable "Up Stack", "Down Stack", and
"Finish Function" menu map entries for jdb mode.
(gud-jdb-use-classpath): New customization variable.
(gud-jdb-command-name): Add customization.
(gud-jdb-classpath, gud-marker-acc-max-length): New variables.
(gud-jdb-classpath-string): New variable.
(gud-jdb-source-files, gud-jdb-class-source-alist): Add doc strings.
(gud-jdb-build-source-files-list): Likewise.
(gud-jdb-massage-args): Record any command argument classpath
string in `gud-jdb-classpath-string'.
(gud-jdb-lowest-stack-level): New function, finds bottom of current
java call stack in jdb output.
(gud-jdb-find-source-using-classpath, gud-jdb-find-source)
(gud-jdb-parse-classpath-string): New functions.
(gud-jdb-marker-filter): Search/detect classpath information in
jdb's output. marker regexp updated to match oldjdb and jdb output
formats. Expand search for source files to include new/old methods
using new functions above. Do not allow `gud-marker-acc' to grow
without bound.
(jdb): Set classpath information (if available) as jdb is started.
Change `gud-break' and `gud-remove'
to use new %c ("class") escape in format strings. Add
`gud-finish', `gud-up', `gud-down' command string functions, and
add them to the local menu map. Update `comint-prompt-regexp' for
jdb and oldjdb. If attaching to an already running java VM and
configured to use classpath, send command to query for classpath,
else use previous method for finding and parsing java
sources. Set `gud-jdb-find-source' function accordingly.
(gud-mode): Doc fix.
(gud-format-command): Add support for new %c ("class") escape.
(gud-find-class): New function in support of %c escape.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 18 Jan 2002 18:57:20 +0000 |
parents | c8fb06423da0 |
children | fadb49348c98 |
line wrap: on
line source
#! /bin/sh # This script accepts any number of file arguments and checks them into RCS. # Copyright (C) 1993, 1994, 1995,2001 Free Software Foundation, Inc. # # This file is part of GNU Emacs. # # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # GNU Emacs is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Emacs; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # Arguments which are detectably either RCS masters (with names ending in ,v) # or Emacs version files (with names of the form foo.~<number>~) are ignored. # For each file foo, the script looks for Emacs version files related to it. # These files are checked in as deltas, oldest first, so that the contents of # the file itself becomes the latest revision in the master. # # The first line of each file is used as its description text. The file itself # is not deleted, as under VC with vc-keep-workfiles at its default of t, but # all the version files are. # # If an argument file is already version-controlled under RCS, any version # files are added to the list of deltas and deleted, and then the workfile # is checked in again as the latest version. This is probably not quite # what was wanted, and is the main reason VC doesn't simply call this to # do checkins. # # This script is intended to be used to convert files with an old-Emacs-style # version history for use with VC (the Emacs 19 version-control interface), # which likes to use RCS as its back end. It was written by Paul Eggert # and revised/documented for use with VC by Eric S. Raymond, Mar 19 1993. case $# in 0) echo "rcs-checkin: usage: rcs-checkin file ..." echo "rcs-checkin: function: checks file.~*~ and file into a new RCS file" echo "rcs-checkin: function: uses the file's first line for the description" esac # expr pattern to extract owner from ls -l output ls_owner_pattern='[^ ][^ ]* *[^ ][^ ]* *\([^ ][^ ]*\)' for file do # Make it easier to say `rcs-checkin *' # by ignoring file names that already contain `~', or end in `,v'. case $file in *~* | *,v) continue esac # Ignore non-files too. test -f "$file" || continue # Check that file is readable. test -r "$file" || exit # If the RCS file does not already exist, # initialize it with a description from $file's first line. rlog -R "$file" >/dev/null 2>&1 || rcs -i -q -t-"`sed 1q $file`" "$file" || exit # Get list of old files. oldfiles=` ls $file.~[0-9]*~ 2>/dev/null | sort -t~ -n +1 ` # Check that they are properly sorted by date. case $oldfiles in ?*) oldfiles_by_date=`ls -rt $file $oldfiles` test " $oldfiles $file" = " $oldfiles_by_date" || { echo >&2 "rcs-checkin: skipping $file, because its mod times are out of order. Sorted by mod time: $oldfiles_by_date Sorted by name: $oldfiles $file" continue } esac echo >&2 rcs-checkin: checking in: $oldfiles $file # Save $file as $file.~-~ temporarily. mv "$file" "$file.~-~" || exit # Rename each old file to $file, and check it in. for oldfile in $oldfiles do mv "$oldfile" "$file" || exit ls_l=`ls -l "$file"` || exit owner=-w`expr " $ls_l" : " $ls_owner_pattern"` || owner= echo "Formerly ${oldfile}" | ci -d -l -q $owner "$file" || exit done # Bring $file back from $file.~-~, and check it in. mv "$file.~-~" "$file" || exit ls_l=`ls -l "$file"` || exit owner=-w`expr " $ls_l" : " $ls_owner_pattern"` || owner= ci -d -q -u $owner -m"entered into RCS" "$file" || exit done