Mercurial > emacs
view lib-src/rcs-checkin @ 20102:c00f010468c2
Using cl macros push, pop, when, unless throughout
the file. This is not further mentioned in this ChangeLog entry.
Documentation largely updated. Parser rewritten for better
Multifile Document processing. Macros with naked label arguments
supported. Some Mule related changes.
(reftex-default-label-alist-entries): Customization type is now
computed from reftex-label-alist-builtin. Enumerate has new
typekey `i'. `n' is now reserved for footnotes etc.
(reftex-label-alist): Introduced default regular expressions.
Customization type is now computed from
reftex-label-alist-builtin.
(reftex-label-menu-flags): New flag for showing file borders.
(reftex-refontify-context): New option.
(reftex-bibfile-ignore-list): Now a user option (was: variable).
(reftex-cite-format): Now a user option (was: variable).
Customization type is now computed from
reftex-cite-format-builtin.
(reftex-comment-citations): Now a user option (was: variable).
(reftex-toc-follow-mode): Now a user option (was: variable).
(reftex-optimizations-for-large-documents): New custom group.
(reftex-keep-temporary-buffers): 1 as additional value.
(reftex-initialize-temporary-buffers): New option.
(reftex-enable-partial-scans): New option.
(reftex-save-parse-info): New option.
(reftex-plug-into-AUCTeX): Now a user option (was: variable).
(reftex-auto-show-entry): New value 'copy allowed.
(reftex-load-hook): Now a declared variable.
(reftex-mode-hook): Now a declared variable.
(reftex-label-numbers-symbol): Variable removed.
(reftex-list-of-labels-symbol): Variable removed.
(reftex-label-numbers-symbol): Variable removed.
(reftex-bibfile-list-symbol): Variable removed.
(reftex-docstruct-symbol): New variable (buffer-local).
(reftex-master-include-list): Variable removed.
(reftex-make-master-buffer): Function removed.
(reftex-make-master-buffer-hook): Hook removed.
(reftex-insert-buffer-or-file): Function removed.
(reftex-parse-document): Function adapted to new parser.
(reftex-access-scan-info): Changed to fit new parser. Now detects
changes in label-alist related variables automatically.
(reftex-parse-one,reftex-parse-all): New functions.
(reftex-all-document-files): New function.
(reftex-grep-document,reftex-search-document,
reftex-query-replace-document): Now use
`reftex-all-document-files'.
(reftex-section-or-include-regexp): New variable.
(reftex-everything-regexp): New variable.
(reftex-find-label-regexp-format): New variable.
(reftex-find-label-regexp-format2): New variable.
(reftex-do-parse): New function.
(reftex-is-multi): New function.
(reftex-parse-from-file): New function.
(reftex-locate-bibliography-files): New function.
(reftex-last-assoc-before-elt): New function.
(reftex-replace-label-list-segment): New function.
(reftex-silence-toc-markers): New function.
(reftex-access-parse-file): New function.
(reftex-label): Now uses `reftex-where-am-I'.
(reftex-offer-label-menu): New keys `%' and `i' and `r'.
(reftex-select-item): Recursive edit moved to key `e'. New key
`x' for external documents. Works now also with nin-nil
pop-frame.
(reftex-offer-label-menu): Now uses `reftex-where-am-I'.
(reftex-make-and-insert-label-menu): More efficient, allow
optional extra fontification.
(reftex-find-nearby-label): Function removed.
(reftex-scan-buffer-for-labels): Function removed.
(reftex-section-info): New function.
(reftex-nth-parens-substring): Renamed to reftex-nth-arg. Return
nil when not enough args are present.
(reftex-move-over-touching-args): New function.
(reftex-where-am-I): New function.
(reftex-nth-arg-wrapper): New function.
(reftex-select-label-callback): Deal with special macros as well.
(reftex-find-duplicate-labels): Ignore special entries in
docstruct.
(reftex-kill-temporary-buffers): New arg buffer.
(reftex-show-entry): Copy context when necessary.
(reftex-toc): New key `R', use reftex-where-am-I.
(reftex-nearest-section): Use reftex-where-am-I.
(reftex-toc-visit-line): Completely rewritten. Uses markers and
several backup methods.
(reftex-citation): Recursive edit moved to `e' key.
(reftex-scan-buffer): Function removed.
(reftex-get-bibfile-list): Changed to work with chapterbib
package.
(reftex-find-tex-file): New function.
(reftex-find-files-on-path): Now first looks for file with
additional .tex extension, then for the naked file name.
(reftex-citation): Split into reftex-citation and
reftex-do-citation.
(reftex-do-citation): Recursive edit now on `e' key.
(reftex-what-macro): Allow white space between macro arguments.
(reftex-allow-for-ctrl-m): Renamed to
`reftex-make-regexp-allow-for-ctrl-m'.
(reftex-nearest-match): New function.
(reftex-auto-mode-alist): New function.
(reftex-make-desparate-section-regexp): New funtion.
(reftex-get-file-buffer-force): Rewritten to use new variable
`reftex-initialize-temporary-buffers'.
(reftex-label-alist-builtin): Use abbreviated regexps.
(reftex-label-mac-list): New variable.
(reftex-parse-args): New function.
(easy-menu-define): Menu extended. Some parts are now computed.
from the user options.
(reftex-move-to-next-arg,reftex-move-to-previous-arg) New
functions. Now we can parse macros with distributed arguments.
(reftex-goto-label): Function removed.
(reftex-position-cursor): Function removed.
(reftex-item): Function removed.
(reftex-add-to-label-alist): No longer autoloaded.
(reftex-toc-indent): Constant removed.
(reftex-label-indent): Constant removed.
(reftex-context-indent): Constant removed.
(reftex-match-string): New function.
(reftex-memory): New variable
(reftex-reset-mode): No longer hacks local variables. Now resets
path variables as well.
(reftex-truncate): New functions, to make RefTeX work with Mule.
(reftex-fp): New macro, to make RefTeX work with Mule.
(reftex-format-bib-entry): Now uses `reftex-truncate' to truncate
author names. `extra' and `title' are no longer truncated at all.
(reftex-all-assq): New function.
(reftex-view-crossref): Works now also if mouse click is on macro.
(reftex-context-substring): Now returns substring without text
properties.
(reftex-tex-path,reftex-bib-path): New variables.
(reftex-split): Function replaced with builtin `split-string'.
(reftex-find-bib-file): New function.
(reftex-find-files-on-path): Function removed.
(reftex-find-file-on-path): New function.
(reftex-access-search-path,reftex-parse-colon-path,
reftex-recursive-directory-list,reftex-expand-path): New
functions, dealing with recursive TEXINPUTS and BIBINPUTS
definitions.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 21 Oct 1997 03:15:20 +0000 |
parents | da322c027bf0 |
children | c8fb06423da0 |
line wrap: on
line source
#! /bin/sh # This script accepts any number of file arguments and checks them into RCS. # # 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