summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/cvs/contrib/pcl-cvs/pcl-cvs.texinfo
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/cvs/contrib/pcl-cvs/pcl-cvs.texinfo')
-rw-r--r--gnu/usr.bin/cvs/contrib/pcl-cvs/pcl-cvs.texinfo1744
1 files changed, 0 insertions, 1744 deletions
diff --git a/gnu/usr.bin/cvs/contrib/pcl-cvs/pcl-cvs.texinfo b/gnu/usr.bin/cvs/contrib/pcl-cvs/pcl-cvs.texinfo
deleted file mode 100644
index bb0a4fe..0000000
--- a/gnu/usr.bin/cvs/contrib/pcl-cvs/pcl-cvs.texinfo
+++ /dev/null
@@ -1,1744 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-
-@comment Id: pcl-cvs.texinfo,v 1.45 1993/05/31 22:38:15 ceder Exp
-@comment Documentation for the GNU Emacs CVS mode.
-@comment Copyright (C) 1992 Per Cederqvist
-
-@comment This file is part of the pcl-cvs distribution.
-
-@comment Pcl-cvs is free software; you can redistribute it and/or modify
-@comment it under the terms of the GNU General Public License as published by
-@comment the Free Software Foundation; either version 1, or (at your option)
-@comment any later version.
-
-@comment Pcl-cvs is distributed in the hope that it will be useful,
-@comment but WITHOUT ANY WARRANTY; without even the implied warranty of
-@comment MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-@comment GNU General Public License for more details.
-
-@comment You should have received a copy of the GNU General Public License
-@comment along with pcl-cvs; see the file COPYING. If not, write to
-@comment the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-
-@setfilename pcl-cvs.info
-@settitle Pcl-cvs - The Emacs Front-End to CVS
-@setchapternewpage on
-
-@ifinfo
-Copyright @copyright{} 1992 Per Cederqvist
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-@ignore
-Permission is granted to process this file through Tex and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-
-@end ignore
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-section entitled ``GNU General Public License'' is included exactly as
-in the original, and provided that the entire resulting derived work is
-distributed under the terms of a permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that the section entitled ``GNU General Public License'' and
-this permission notice may be included in translations approved by the
-Free Software Foundation instead of in the original English.
-@end ifinfo
-
-@synindex vr fn
-@comment The titlepage section does not appear in the Info file.
-@titlepage
-@sp 4
-@comment The title is printed in a large font.
-@center @titlefont{User's Guide}
-@sp
-@center @titlefont{to}
-@sp
-@center @titlefont{pcl-cvs - the Emacs Front-End to CVS}
-@sp 2
-@center release 1.05
-@comment -release-
-@sp 3
-@center Per Cederqvist
-@sp 3
-@center last updated 31 May 1993
-@comment -date-
-
-@comment The following two commands start the copyright page
-@comment for the printed manual. This will not appear in the Info file.
-@page
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1992 Per Cederqvist
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-section entitled ``GNU General Public License'' is included exactly as
-in the original, and provided that the entire resulting derived work is
-distributed under the terms of a permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that the section entitled ``GNU General Public License'' and
-this permission notice may be included in translations approved by the
-Free Software Foundation instead of in the original English.
-@end titlepage
-
-@comment ================================================================
-@comment The real text starts here
-@comment ================================================================
-
-@node Top, Copying, (dir), (dir)
-@comment node-name, next, previous, up
-
-
-@ifinfo
-This info manual describes pcl-cvs which is a GNU Emacs front-end to
-CVS. It works with CVS version 1.3. This manual is updated to release
-1.05 of pcl-cvs.
-@end ifinfo
-@comment -release-
-
-@menu
-* Copying:: GNU General Public License
-* Installation:: How to install pcl-cvs on your system.
-* About pcl-cvs:: Authors and ftp sites.
-
-* Getting started:: An introduction with a walk-through example.
-* Buffer contents:: An explanation of the buffer contents.
-* Commands:: All commands, grouped by type.
-
-* Customization:: How you can tailor pcl-cvs to suit your needs.
-* Future enhancements:: Future enhancements of pcl-cvs.
-* Bugs:: Bugs (known and unknown).
-* Function and Variable Index:: List of functions and variables.
-* Concept Index:: List of concepts.
-* Key Index:: List of keystrokes.
-
- --- The Detailed Node Listing ---
-
-Installation
-
-* Pcl-cvs installation:: How to install pcl-cvs on your system.
-* On-line manual installation:: How to install the on-line manual.
-* Typeset manual installation:: How to create typeset documentation
- about pcl-cvs.
-
-About pcl-cvs
-
-* Contributors:: Contributors to pcl-cvs.
-* Archives:: Where can I get a copy of Pcl-Cvs?
-
-Buffer contents
-
-* File status:: The meaning of the second field.
-* Selected files:: How selection works.
-
-Commands
-
-* Updating the directory:: Commands to update the local directory
-* Movement commands:: How to move up and down in the buffer
-* Marking files:: How to mark files that other commands
- will later operate on.
-* Committing changes:: Checking in your modifications to the
- CVS repository.
-* Editing files:: Loading files into Emacs.
-* Getting info about files:: Display the log and status of files.
-* Adding and removing files:: Adding and removing files
-* Undoing changes:: Undoing changes
-* Removing handled entries:: Uninteresting lines can easily be removed.
-* Ignoring files:: Telling CVS to ignore generated files.
-* Viewing differences:: Commands to @samp{diff} different versions.
-* Emerge::
-* Reverting your buffers:: Reverting your buffers
-* Miscellaneous commands:: Miscellaneous commands
-@end menu
-
-@node Copying, Installation, Top, Top
-@unnumbered GNU GENERAL PUBLIC LICENSE
-@center Version 2, June 1991
-
-@display
-Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc.
-675 Mass Ave, Cambridge, MA 02139, USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-@end display
-
-@unnumberedsec Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software---to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
-@iftex
-@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-@end iftex
-@ifinfo
-@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-@end ifinfo
-
-@enumerate
-@item
-This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The ``Program'', below,
-refers to any such program or work, and a ``work based on the Program''
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term ``modification''.) Each licensee is addressed as ``you''.
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-@item
-You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-@item
-You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-@enumerate a
-@item
-You must cause the modified files to carry prominent notices
-stating that you changed the files and the date of any change.
-
-@item
-You must cause any work that you distribute or publish, that in
-whole or in part contains or is derived from the Program or any
-part thereof, to be licensed as a whole at no charge to all third
-parties under the terms of this License.
-
-@item
-If the modified program normally reads commands interactively
-when run, you must cause it, when started running for such
-interactive use in the most ordinary way, to print or display an
-announcement including an appropriate copyright notice and a
-notice that there is no warranty (or else, saying that you provide
-a warranty) and that users may redistribute the program under
-these conditions, and telling the user how to view a copy of this
-License. (Exception: if the Program itself is interactive but
-does not normally print such an announcement, your work based on
-the Program is not required to print an announcement.)
-@end enumerate
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-@item
-You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-@enumerate a
-@item
-Accompany it with the complete corresponding machine-readable
-source code, which must be distributed under the terms of Sections
-1 and 2 above on a medium customarily used for software interchange; or,
-
-@item
-Accompany it with a written offer, valid for at least three
-years, to give any third party, for a charge no more than your
-cost of physically performing source distribution, a complete
-machine-readable copy of the corresponding source code, to be
-distributed under the terms of Sections 1 and 2 above on a medium
-customarily used for software interchange; or,
-
-@item
-Accompany it with the information you received as to the offer
-to distribute corresponding source code. (This alternative is
-allowed only for noncommercial distribution and only if you
-received the program in object code or executable form with such
-an offer, in accord with Subsection b above.)
-@end enumerate
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-@item
-You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-@item
-You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-@item
-Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-@item
-If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-@item
-If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-@item
-The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and ``any
-later version'', you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-@item
-If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-@iftex
-@heading NO WARRANTY
-@end iftex
-@ifinfo
-@center NO WARRANTY
-@end ifinfo
-
-@item
-BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-@item
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-@end enumerate
-
-@iftex
-@heading END OF TERMS AND CONDITIONS
-@end iftex
-@ifinfo
-@center END OF TERMS AND CONDITIONS
-@end ifinfo
-
-@page
-@unnumberedsec Appendix: How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the ``copyright'' line and a pointer to where the full notice is found.
-
-@smallexample
-@var{one line to give the program's name and a brief idea of what it does.}
-Copyright (C) 19@var{yy} @var{name of author}
-
-This program 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 of the License, or
-(at your option) any later version.
-
-This program 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 this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-@end smallexample
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-@smallexample
-Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author}
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-This is free software, and you are welcome to redistribute it
-under certain conditions; type `show c' for details.
-@end smallexample
-
-The hypothetical commands @samp{show w} and @samp{show c} should show
-the appropriate parts of the General Public License. Of course, the
-commands you use may be called something other than @samp{show w} and
-@samp{show c}; they could even be mouse-clicks or menu items---whatever
-suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a ``copyright disclaimer'' for the program, if
-necessary. Here is a sample; alter the names:
-
-@example
-Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-`Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-@var{signature of Ty Coon}, 1 April 1989
-Ty Coon, President of Vice
-@end example
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
-
-@node Installation, About pcl-cvs, Copying, Top
-@comment node-name, next, previous, up
-@chapter Installation
-@cindex Installation
-
-This section describes the installation of pcl-cvs, the GNU Emacs CVS
-front-end. You should install not only the elisp files themselves, but
-also the on-line documentation so that your users will know how to use
-it. You can create typeset documentation from the file
-@file{pcl-cvs.texinfo} as well as an on-line info file. The following
-steps are also described in the file @file{INSTALL} in the source
-directory.
-
-@menu
-* Pcl-cvs installation:: How to install pcl-cvs on your system.
-* On-line manual installation:: How to install the on-line manual.
-* Typeset manual installation:: How to create typeset documentation
- about pcl-cvs.
-@end menu
-
-@node Pcl-cvs installation, On-line manual installation, Installation, Installation
-@comment node-name, next, previous, up
-@section Installation of the pcl-cvs program
-@cindex Installation of elisp files
-
-@enumerate
-@item
-Edit the file @file{Makefile} to reflect the situation at your site.
-The only things you have to change is the definition of @code{lispdir}
-and @code{infodir}. The elisp files will be copied to @code{lispdir},
-and the info file to @code{infodir}.
-
-@item
-Configure pcl-cvs.el
-
-There are a couple of paths that you have to check to make sure that
-they match you system. They appear early in the file pcl-cvs.el.
-
-@strong{NOTE:} If your system is running emacs 18.57 or earlier you MUST
-uncomment the line that says:
-
-@example
-(setq delete-exited-processes nil)
-@end example
-
-Setting @code{delete-exited-processes} to @code{nil} works around a bug
-in emacs that causes it to dump core. The bug was fixed in emacs
-18.58.@refill
-
-@item
-Release 1.05 and later of pcl-cvs requires parts of the Elib library,
-version 0.07 or later. Elib is available via anonymous ftp from
-prep.ai.mit.edu in @file{pub/gnu/elib-0.07.tar.z}, and from a lot of
-other sites that mirrors prep. Get Elib, and install it, before
-proceeding.
-
-@item
-Type @samp{make install} in the source directory. This will
-byte-compile all @file{.el} files and copy both the @file{.el} and the
-@file{.elc} into the directory you specified in step 1.
-
-If you don't want to install the @file{.el} files but only the
-@file{.elc} files (the byte-compiled files), you can type `@samp{make
-install_elc}' instead of `@samp{make install}'.
-
-If you only want to create the compiled elisp files, but don't want to
-install them, you can type @samp{make elcfiles} instead. This is what
-happens if you only type @samp{make} without parameters.
-
-@item
-Edit the file @file{default.el} in your emacs lisp directory (usually
-@file{/usr/gnu/emacs/lisp} or something similar) and enter the contents
-of the file @file{pcl-cvs-startup.el} into it. It contains a couple of
-@code{auto-load}s that facilitates the use of pcl-cvs.
-
-@end enumerate
-
-@node On-line manual installation, Typeset manual installation, Pcl-cvs installation, Installation
-@comment node-name, next, previous, up
-@section Installation of the on-line manual.
-@cindex Manual installation (on-line)
-@cindex Installation of on-line manual
-@cindex Generating the on-line manual
-@cindex On-line manual (how to generate)
-@cindex Info-file (how to generate)
-
-@enumerate
-@item
-Create the info file @file{pcl-cvs} from @file{pcl-cvs.texinfo} by
-typing @samp{make info}. If you don't have the program @samp{makeinfo}
-you can get it by anonymous ftp from e.g. @samp{ftp.gnu.ai.mit.edu} as
-@file{pub/gnu/texinfo-2.14.tar.Z} (there might be a newer version there
-when you read this), or you could use the preformatted info file
-@file{pcl-cvs.info} that is included in the distribution (type
-@samp{cp pcl-cvs.info pcl-cvs}).@refill
-
-@item
-Move the info file @file{pcl-cvs} to your standard info directory.
-This might be called something like @file{/usr/gnu/emacs/info}.@refill
-
-@item
-Edit the file @file{dir} in the info directory and enter one line to
-contain a pointer to the info file @file{pcl-cvs}. The line can, for
-instance, look like this:@refill
-
-@example
-* Pcl-cvs: (pcl-cvs). An Emacs front-end to CVS.
-@end example
-@end enumerate
-
-@node Typeset manual installation, , On-line manual installation, Installation
-@comment node-name, next, previous, up
-@section How to make typeset documentation from pcl-cvs.texinfo
-@cindex Manual installation (typeset)
-@cindex Installation of typeset manual
-@cindex Printing a manual
-@cindex TeX - generating a typeset manual
-@cindex Generating a typeset manual
-
-If you have @TeX{} installed at your site, you can make a typeset manual
-from @file{pcl-cvs.texinfo}.
-
-@enumerate
-@item
-Run @TeX{} by typing `@samp{make pcl-cvs.dvi}'. You will not get the
-indices unless you have the @code{texindex} program.
-
-@item
-Convert the resulting device independent file @file{pcl-cvs.dvi} to a
-form which your printer can output and print it. If you have a
-postscript printer there is a program, @code{dvi2ps}, which does. There
-is also a program which comes together with @TeX{}, @code{dvips}, which
-you can use.
-
-@end enumerate
-
-@node About pcl-cvs, Getting started, Installation, Top
-@comment node-name, next, previous, up
-@chapter About pcl-cvs
-@cindex About pcl-cvs
-
-Pcl-cvs is a front-end to CVS version 1.3. It integrates the most
-frequently used CVS commands into emacs.
-
-@menu
-* Contributors:: Contributors to pcl-cvs.
-* Archives:: Where can I get a copy of Pcl-Cvs?
-@end menu
-
-@node Contributors, Archives, About pcl-cvs, About pcl-cvs
-@comment node-name, next, previous, up
-@section Contributors to pcl-cvs
-@cindex Contributors
-@cindex Authors
-
-Contributions to the package are welcome. I have limited time to work
-on this project, but I will gladly add any code that you contribute to
-me to this package (@pxref{Bugs}).
-
-The following persons have made contributions to pcl-cvs.
-
-@itemize @bullet
-@item
-Brian Berliner wrote CVS, together with some other contributors.
-Without his work on CVS this package would be useless@dots{}
-
-@item
-Per Cederqvist wrote most of the otherwise unattributed functions in
-pcl-cvs as well as all documentation.
-
-@item
-Inge Wallin (@samp{inge@@lysator.liu.se}) wrote the skeleton to
-@file{pcl-cvs.texinfo}, and gave useful comments on it. He also wrote
-the files @file{elib-node.el} and @file{compile-all.el}. The file
-@file{cookie.el} was inspired by Inge.@refill
-
-@item
-Linus Tolke (@samp{linus@@lysator.liu.se}) contributed useful comments
-on both the functionality and the documentation.@refill
-
-@item
-Jamie Zawinski (@samp{jwz@@lucid.com}) contributed
-@file{pcl-cvs-lucid.el}.
-
-@item
-Leif Lonnblad contributed RCVS support.
-@end itemize
-
-Apart from these, a lot of people have send me suggestions, ideas,
-requests, bug reports and encouragement. Thanks a lot! Without your
-there would be no new releases of pcl-cvs.
-
-@node Archives, , Contributors, About pcl-cvs
-@comment node-name, next, previous, up
-@section Where can I get pcl-cvs?
-@cindex Sites
-@cindex Archives
-@cindex Ftp-sites
-@cindex Getting pcl-cvs
-@cindex Email archives
-
-The latest release of pcl-cvs can be fetched via anonymous ftp from
-@code{ftp.lysator.liu.se}, (IP no. 130.236.254.1) in the directory
-@code{pub/emacs}. If you don't live in Scandinavia you should probably
-check with archie to see if there is a site closer to you that archives
-pcl-cvs.
-
-New releases will be announced to appropriate newsgroups. If you send
-your email address to me I will add you to my list of people to mail
-when I make a new release.
-
-@node Getting started, Buffer contents, About pcl-cvs, Top
-@comment node-name, next, previous, up
-@chapter Getting started
-@cindex Introduction
-@cindex Example run
-
-This document assumes that you know what CVS is, and that you at least
-knows the fundamental concepts of CVS. If that is not the case you
-should read the man page for CVS.
-
-Pcl-cvs is only useful once you have checked out a module. So before
-you invoke it you must have a copy of a module somewhere in the file
-system.
-
-You invoke pcl-cvs by typing @kbd{M-x cvs-update RET}. If your emacs
-responds with @samp{[No match]} your system administrator has not
-installed pcl-cvs properly. Try @kbd{M-x load-library RET pcl-cvs RET}.
-If that also fails - talk to your root. If it succeeds you might put
-this line in your @file{.emacs} file so that you don't have to type the
-@samp{load-library} command every time you wish to use pcl-cvs:
-
-@example
-(autoload 'cvs-update "pcl-cvs" nil t)
-@end example
-
-The function @code{cvs-update} will ask for a directory. The command
-@samp{cvs update} will be run in that directory. (It should contain
-files that have been checked out from a CVS archive.) The output from
-@code{cvs} will be parsed and presented in a table in a buffer called
-@samp{*cvs*}. It might look something like this:
-
-@example
-PCL-CVS release 1.05.
-@comment -release-
-
-In directory /users/ceder/FOO/test:
- Updated bar
- Updated file.txt
- Modified ci namechange
- Updated newer
-
-In directory /users/ceder/FOO/test/sub:
- Modified ci ChangeLog
----------- End -----
-@end example
-
-In this example the three files (@file{bar}, @file{file.txt} and
-@file{newer}) that are marked with @samp{Updated} have been copied from
-the CVS repository to @file{/users/ceder/FOO/test/} since someone else
-have checked in newer versions of them. Two files (@file{namechange}
-and @file{sub/ChangeLog}) have been modified locally, and needs to be
-checked in.
-
-You can move the cursor up and down in the buffer with @kbd{C-n} and
-@kbd{C-p} or @kbd{n} and @kbd{p}. If you press @kbd{c} on one of the
-@samp{Modified} files that file will be checked in to the CVS
-repository. @xref{Committing changes}. You can press @kbd{x} to get rid
-of the "uninteresting" files that have only been @samp{Updated} (and
-don't require any further action from you).@refill
-
-You can also easily get a @samp{diff} between your modified file and the
-base version that you started from, and you can get the output from
-@samp{cvs log} and @samp{cvs status} on the listed files simply by
-pressing a key (@pxref{Getting info about files}).
-
-@node Buffer contents, Commands, Getting started, Top
-@comment node-name, next, previous, up
-@chapter Buffer contents
-@cindex Buffer contents
-
-The display contains four columns. They contain, from left to right:
-
-@itemize @bullet
-@item
-An asterisk when the file is @dfn{marked} (@pxref{Selected
-files}).@refill
-@item
-The status of the file. See @xref{File status}, for more information.@refill
-@item
-A "need to be checked in"-marker (@samp{ci}).
-@item
-The file name.
-@end itemize
-
-@menu
-* File status:: The meaning of the second field.
-* Selected files:: How selection works.
-@end menu
-
-@node File status, Selected files, Buffer contents, Buffer contents
-@comment node-name, next, previous, up
-@section File status
-@cindex File status
-@cindex Updated (file status)
-@cindex Modified (file status)
-@cindex Merged (file status)
-@cindex Conflict (file status)
-@cindex Added (file status)
-@cindex Removed (file status)
-@cindex Unknown (file status)
-@cindex Removed from repository (file status)
-@cindex Removed from repository, changed by you (file status)
-@cindex Removed by you, changed in repository (file status)
-@cindex Move away @var{file} - it is in the way (file status)
-@cindex This repository is missing!@dots{} (file status)
-
-The @samp{file status} field can have the following values:
-
-@table @samp
-@item Updated
-The file was brought up to date with respect to the repository. This is
-done for any file that exists in the repository but not in your source,
-and for files that you haven't changed but are not the most recent
-versions available in the repository.@refill
-
-@item Modified
-The file is modified in your working directory, and there was no
-modification to the same file in the repository.@refill
-
-@item Merged
-The file is modified in your working directory, and there were
-modifications in the repository as well as in your copy, but they were
-merged successfully, without conflict, in your working directory.@refill
-
-@item Conflict
-A conflict was detected while trying to merge your changes to @var{file}
-with changes from the source repository. @var{file} (the copy in your
-working directory) is now the output of the @samp{rcsmerge} command on
-the two versions; an unmodified copy of your file is also in your
-working directory, with the name @file{.#@var{file}.@var{version}},
-where @var{version} is the RCS revision that your modified file started
-from. @xref{Viewing differences}, for more details.@refill
-
-@item Added
-The file has been added by you, but it still needs to be checked in to
-the repository.@refill
-
-@item Removed
-The file has been removed by you, but it needs to be checked in to the
-repository. You can resurrect it by typing @kbd{a} (@pxref{Adding and
-removing files}).@refill
-
-@item Unknown
-A file that was detected in your directory, but that neither appears in
-the repository, nor is present on the list of files that CVS should
-ignore.@refill
-
-@end table
-
-There are also a few special cases, that rarely occur, which have longer
-strings in the fields:
-
-@table @samp
-@item Removed from repository
-The file has been removed from your directory since someone has removed
-it from the repository. (It is still present in the Attic directory, so
-no permanent loss has occurred). This, unlike the other entries in this
-table, is not an error condition.@refill
-
-@item Removed from repository, changed by you
-You have modified a file that someone have removed from the repository.
-You can correct this situation by removing the file manually (see
-@pxref{Adding and removing files}).@refill
-
-@item Removed by you, changed in repository
-You have removed a file, and before you committed the removal someone
-committed a change to that file. You could use @kbd{a} to resurrect the
-file (see @pxref{Adding and removing files}).@refill
-
-@item Move away @var{file} - it is in the way
-For some reason CVS does not like the file @var{file}. Rename or remove
-it.@refill
-
-@item This repository is missing! Remove this dir manually.
-It is impossible to remove a directory in the CVS repository in a clean
-way. Someone have tried to remove one, and CVS gets confused. Remove
-your copy of the directory.@refill
-@end table
-
-@node Selected files, , File status, Buffer contents
-@comment node-name, next, previous, up
-@section Selected files
-@cindex Selected files
-@cindex Marked files
-@cindex File selection
-@cindex Active files
-
-Many of the commands works on the current set of @dfn{selected} files.
-
-@itemize @bullet
-@item
-If there are any files that are marked they constitute the set of
-selected files.@refill
-@item
-Otherwise, if the cursor points to a file, that file is the selected
-file.@refill
-@item
-Otherwise, if the cursor points to a directory, all the files in that
-directory that appears in the buffer are the selected files.
-@end itemize
-
-This scheme might seem a little complicated, but once one get used to
-it, it is quite powerful.
-
-@xref{Marking files} tells how you mark and unmark files.
-
-@node Commands, Customization, Buffer contents, Top
-@comment node-name, next, previous, up
-@chapter Commands
-
-@iftex
-This chapter describes all the commands that you can use in pcl-cvs.
-@end iftex
-@ifinfo
-The nodes in this menu contains explanations about all the commands that
-you can use in pcl-cvs. They are grouped together by type.
-@end ifinfo
-
-@menu
-* Updating the directory:: Commands to update the local directory
-* Movement commands:: How to move up and down in the buffer
-* Marking files:: How to mark files that other commands
- will later operate on.
-* Committing changes:: Checking in your modifications to the
- CVS repository.
-* Editing files:: Loading files into Emacs.
-* Getting info about files:: Display the log and status of files.
-* Adding and removing files:: Adding and removing files
-* Undoing changes:: Undoing changes
-* Removing handled entries:: Uninteresting lines can easily be removed.
-* Ignoring files:: Telling CVS to ignore generated files.
-* Viewing differences:: Commands to @samp{diff} different versions.
-* Emerge::
-* Reverting your buffers:: Reverting your buffers
-* Miscellaneous commands:: Miscellaneous commands
-@end menu
-
-@node Updating the directory, Movement commands, Commands, Commands
-@comment node-name, next, previous, up
-@section Updating the directory
-@findex cvs-update
-@findex cvs-mode-update-no-prompt
-@findex cvs-delete-lock
-@cindex Getting the *cvs* buffer
-@kindex g - Rerun @samp{cvs update}
-
-
-@table @kbd
-
-@item M-x cvs-update
-Run a @samp{cvs update} command. You will be asked for the directory in
-which the @samp{cvs update} will be run. The output will be parsed by
-pcl-cvs, and the result printed in the @samp{*cvs*} buffer (see
-@pxref{Buffer contents} for a description of the contents).@refill
-
-By default, @samp{cvs-update} will descend recursively into
-subdirectories. You can avoid that behavior by giving a prefix
-argument to it (e.g., by typing @kbd{C-u M-x cvs-update RET}).@refill
-
-All other commands in pcl-cvs requires that you have a @samp{*cvs*}
-buffer. This is the command that you use to get one.@refill
-
-CVS uses lock files in the repository to ensure the integrity of the
-data files in the repository. They might be left behind i.e. if a
-workstation crashes in the middle of a CVS operation. CVS outputs a
-message when it is waiting for a lock file to go away. Pcl-cvs will
-show the same message in the *cvs* buffer, together with instructions
-for deleting the lock files. You should normally not have to delete
-them manually --- just wait a little while and the problem should fix
-itself. But if the lock files doesn't disappear you can delete them
-with @kbd{M-x cvs-delete-lock RET}.@refill
-
-@item g
-This will run @samp{cvs update} again. It will always use the same
-buffer that was used with the previous @samp{cvs update}. Give a prefix
-argument to avoid descending into subdirectories. This runs the command
-@samp{cvs-mode-update-no-prompt}.@refill
-@end table
-@node Movement commands, Marking files, Updating the directory, Commands
-@comment node-name, next, previous, up
-@section Movement Commands
-@cindex Movement Commands
-@findex cookie-next-cookie
-@findex cookie-previous-cookie
-@kindex SPC - Move down one file
-@kindex C-n - Move down one file
-@kindex n - Move down one file
-@kindex C-p - Move up one file
-@kindex p - Move up on file
-
-You can use most normal Emacs commands to move forward and backward in
-the buffer. Some keys are rebound to functions that take advantage of
-the fact that the buffer is a pcl-cvs buffer:
-
-
-@table @kbd
-@item SPC
-@itemx C-n
-@itemx n
-These keys move the cursor one file forward, towards the end of the
-buffer (@code{cookie-next-cookie}).
-
-@item C-p
-@itemx p
-These keys move one file backward, towards the beginning of the buffer
-(@code{cookie-previous-cookie}).
-@end table
-
-@node Marking files, Committing changes, Movement commands, Commands
-@comment node-name, next, previous, up
-@section Marking files
-@cindex Selecting files (commands to mark files)
-@cindex Marking files
-@kindex m - marking a file
-@kindex M - marking all files
-@kindex u - unmark a file
-@kindex ESC DEL - unmark all files
-@kindex DEL - unmark previous file
-@findex cvs-mode-mark
-@findex cvs-mode-unmark
-@findex cvs-mode-mark-all-files
-@findex cvs-mode-unmark-all-files
-@findex cvs-mode-unmark-up
-
-Pcl-cvs works on a set of @dfn{selected files} (@pxref{Selected files}).
-You can mark and unmark files with these commands:
-
-@table @kbd
-@item m
-This marks the file that the cursor is positioned on. If the cursor is
-positioned on a directory all files in that directory will be marked.
-(@code{cvs-mode-mark}).
-
-@item u
-Unmark the file that the cursor is positioned on. If the cursor is on a
-directory, all files in that directory will be unmarked.
-(@code{cvs-mode-unmark}).@refill
-
-@item M
-Mark @emph{all} files in the buffer (@code{cvs-mode-mark-all-files}).
-
-@item @key{ESC} @key{DEL}
-Unmark @emph{all} files (@code{cvs-mode-unmark-all-files}).
-
-@item @key{DEL}
-Unmark the file on the previous line, and move point to that line
-(@code{cvs-mode-unmark-up}).
-@end table
-
-@node Committing changes, Editing files, Marking files, Commands
-@comment node-name, next, previous, up
-@section Committing changes
-@cindex Committing changes
-@cindex Ci
-@findex cvs-mode-commit
-@kindex c - commit files
-@vindex cvs-erase-input-buffer (variable)
-@vindex cvs-auto-revert-after-commit (variable)
-@cindex Commit buffer
-@cindex Edit buffer
-@cindex Erasing commit message
-@cindex Reverting buffers after commit
-
-@table @kbd
-@item c
-All files that have a "need to be checked in"-marker (@pxref{Buffer
-contents}) can be checked in with the @kbd{c} command. It checks in all
-selected files (@pxref{Selected files}) (except those who lack the
-"ci"-marker - they are ignored). Pressing @kbd{c} causes
-@code{cvs-mode-commit} to be run.@refill
-
-When you press @kbd{c} you will get a buffer called
-@samp{*cvs-commit-message*}. Enter the log message for the file(s) in
-it. When you are ready you should press @kbd{C-c C-c} to actually
-commit the files (using @code{cvs-edit-done}).
-
-Normally the @samp{*cvs-commit-message*} buffer will retain the log
-message from the previous commit, but if the variable
-@code{cvs-erase-input-buffer} is set to a non-@code{nil} value the
-buffer will be erased. Point and mark will always be located around the
-entire buffer so that you can easily erase it with @kbd{C-w}
-(@samp{kill-region}).@refill
-
-If you are editing the files in your emacs an automatic
-@samp{revert-buffer} will be performed. (If the file contains
-@samp{$@asis{Id}$} keywords @samp{cvs commit} will write a new file with
-the new values substituted. The auto-revert makes sure that you get
-them into your buffer). The revert will not occur if you have modified
-your buffer, or if @samp{cvs-auto-revert-after-commit} is set to
-@samp{nil}.@refill
-@end table
-
-@node Editing files, Getting info about files, Committing changes, Commands
-@comment node-name, next, previous, up
-@section Editing files
-
-@cindex Editing files
-@cindex Finding files
-@cindex Loading files
-@cindex Dired
-@cindex Invoking dired
-@findex cvs-mode-find-file
-@findex cvs-mode-find-file-other-window
-@findex cvs-mode-add-change-log-entry-other-window
-@kindex f - find file or directory
-@kindex o - find file in other window
-@kindex A - add ChangeLog entry
-
-There are currently three commands that can be used to find a file (that
-is, load it into a buffer and start editing it there). These commands
-work on the line that the cursor is situated at. They ignore any marked
-files.
-
-@table @kbd
-@item f
-Find the file that the cursor points to. Run @samp{dired}
-@ifinfo
-(@pxref{Dired,,,Emacs})
-@end ifinfo
-if the cursor points to a directory (@code{cvs-mode-find-file}).@refill
-
-@item o
-Like @kbd{f}, but use another window
-(@code{cvs-mode-find-file-other-window}).@refill
-
-@item A
-Invoke @samp{add-change-log-entry-other-window} to edit a
-@samp{ChangeLog} file. The @samp{ChangeLog} will be found in the
-directory of the file the cursor points to.
-(@code{cvs-mode-add-change-log-entry-other-window}).@refill
-@end table
-
-@node Getting info about files, Adding and removing files, Editing files, Commands
-@comment node-name, next, previous, up
-@section Getting info about files
-@cindex Status (cvs command)
-@cindex Log (RCS/cvs command)
-@cindex Getting status
-@kindex l - run @samp{cvs log}
-@kindex s - run @samp{cvs status}
-@findex cvs-mode-log
-@findex cvs-mode-status
-
-Both of the following commands can be customized.
-@xref{Customization}.@refill
-
-@table @kbd
-@item l
-Run @samp{cvs log} on all selected files, and show the result in a
-temporary buffer (@code{cvs-mode-log}).
-
-@item s
-Run @samp{cvs status} on all selected files, and show the result in a
-temporary buffer (@code{cvs-mode-status}).
-@end table
-
-@node Adding and removing files, Undoing changes, Getting info about files, Commands
-@comment node-name, next, previous, up
-@section Adding and removing files
-@cindex Adding files
-@cindex Removing files
-@cindex Resurrecting files
-@cindex Deleting files
-@cindex Putting files under CVS control
-@kindex a - add a file
-@kindex r - remove a file
-@findex cvs-mode-add
-@findex cvs-mode-remove-file
-
-The following commands are available to make it easy to add and remove
-files from the CVS repository.
-
-@table @kbd
-@item a
-Add all selected files. This command can be used on @samp{Unknown}
-files (see @pxref{File status}). The status of the file will change to
-@samp{Added}, and you will have to use @kbd{c} (@samp{cvs-mode-commit}, see
-@pxref{Committing changes}) to really add the file to the
-repository.@refill
-
-This command can also be used on @samp{Removed} files (before you commit
-them) to resurrect them.
-
-Selected files that are neither @samp{Unknown} nor @samp{Removed} will
-be ignored by this command.
-
-The command that is run is @code{cvs-mode-add}.
-
-@item r
-This command removes the selected files (after prompting for
-confirmation). The files are @samp{rm}ed from your directory and
-(unless the status was @samp{Unknown}; @pxref{File status}) they will
-also be @samp{cvs remove}d. If the files were @samp{Unknown} they will
-disappear from the buffer. Otherwise their status will change to
-@samp{Removed}, and you must use @kbd{c} (@samp{cvs-mode-commit},
-@pxref{Committing changes}) to commit the removal.@refill
-
-The command that is run is @code{cvs-mode-remove-file}.
-@end table
-
-@node Undoing changes, Removing handled entries, Adding and removing files, Commands
-@comment node-name, next, previous, up
-@section Undoing changes
-@cindex Undo changes
-@cindex Flush changes
-@kindex U - undo changes
-@findex cvs-mode-undo-local-changes
-
-@table @kbd
-@item U
-If you have modified a file, and for some reason decide that you don't
-want to keep the changes, you can undo them with this command. It works
-by removing your working copy of the file and then getting the latest
-version from the repository (@code{cvs-mode-undo-local-changes}.
-@end table
-
-@node Removing handled entries, Ignoring files, Undoing changes, Commands
-@comment node-name, next, previous, up
-@section Removing handled entries
-@cindex Expunging uninteresting entries
-@cindex Uninteresting entries, getting rid of them
-@cindex Getting rid of uninteresting lines
-@cindex Removing uninteresting (processed) lines
-@cindex Handled lines, removing them
-@kindex x - remove processed entries
-@kindex C-k - remove selected entries
-@findex cvs-mode-remove-handled
-@findex cvs-mode-acknowledge
-@findex cvs-mode-ignore
-
-@table @kbd
-@item x
-This command allows you to remove all entries that you have processed.
-More specifically, the lines for @samp{Updated} files (@pxref{File
-status} and files that have been checked in (@pxref{Committing changes})
-are removed from the buffer. If a directory becomes empty the heading
-for that directory is also removed. This makes it easier to get an
-overview of what needs to be done.
-
-The command is called @code{cvs-mode-remove-handled}. If
-@samp{cvs-auto-remove-handled} is set to non-@code{nil} this will
-automatically be performed after every commit.@refill
-
-@item C-k
-This command can be used for lines that @samp{cvs-mode-remove-handled} would
-not delete, but that you want to delete (@code{cvs-mode-acknowledge}).
-@end table
-
-@node Ignoring files, Viewing differences, Removing handled entries, Commands
-@comment node-name, next, previous, up
-@section Ignoring files
-
-@table @kbd
-@item i
-Arrange so that CVS will ignore the selected files. The file names are
-added to the @file{.cvsignore} file in the corresponding directory. If
-the @file{.cvsignore} doesn't exist it will be created.
-
-The @file{.cvsignore} file should normally be added to the repository,
-but you could ignore it also if you like it better that way.
-
-This runs @code{cvs-mode-ignore}.
-@end table
-
-@node Viewing differences, Emerge, Ignoring files, Commands
-@comment node-name, next, previous, up
-@section Viewing differences
-@cindex Diff
-@cindex Conflicts, how to resolve them
-@cindex Viewing differences
-@kindex d - run @samp{cvs diff}
-@kindex b - diff backup file
-@findex cvs-mode-diff-cvs
-@findex cvs-mode-diff-backup
-@vindex cvs-diff-ignore-marks (variable)
-
-@table @kbd
-@item d
-Display a @samp{cvs diff} between the selected files and the RCS version
-that they are based on. @xref{Customization} describes how you can send
-flags to @samp{cvs diff}. If @var{cvs-diff-ignore-marks} is set to a
-non-@code{nil} value or if a prefix argument is given (but not both) any
-marked files will not be considered to be selected.
-(@code{cvs-mode-diff-cvs}).@refill
-
-@item b
-If CVS finds a conflict while merging two versions of a file (during a
-@samp{cvs update}, @pxref{Updating the directory}) it will save the
-original file in a file called @file{.#@var{FILE}.@var{VERSION}} where
-@var{FILE} is the name of the file, and @var{VERSION} is the RCS version
-number that your file was based on.@refill
-
-With the @kbd{b} command you can run a @samp{diff} on the files
-@file{.#@var{FILE}.@var{VERSION}} and @file{@var{FILE}}. You can get a
-context- or Unidiff by setting @samp{cvs-diff-flags} -
-@pxref{Customization}. This command only works on files that have
-status @samp{Conflict} or @samp{Merged}.@refill
-
-If @var{cvs-diff-ignore-marks} is set to a non-@code{nil} value or if a
-prefix argument is given (but not both) any marked files will not be
-considered to be selected. (@code{cvs-mode-diff-backup}).@refill
-@end table
-
-@node Emerge, Reverting your buffers, Viewing differences, Commands
-@comment node-name, next, previous, up
-@section Running emerge
-@cindex Emerge
-@cindex Invoking emerge
-@cindex Conflicts, resolving
-@cindex Resolving conflicts
-@kindex e - invoke @samp{emerge}
-@findex cvs-mode-emerge
-
-@table @kbd
-@item e
-Invoke @samp{emerge} on one file. This command works slightly different
-depending on the file status.
-
-@table @asis
-@item @samp{Modified}
-Run @samp{emerge-files} with your working file as file A, and the latest
-revision in the repository as file B.
-
-@item @samp{Merged}
-@itemx @samp{Conflict}
-Run @samp{emerge-files-with-ancestor} with your working file (as it was
-prior to your invocation of @samp{cvs-update}) as file A, the latest
-revision in the repository as file B, and the revision that you based
-your local modifications on as ancestor.
-@end table
-
-@strong{Note:} CVS has already performed a merge. The resulting file is
-not used in any way if you use this command. If you use the @kbd{q}
-command inside @samp{emerge} (to successfully terminate the merge) the
-file that CVS created will be overwritten.
-@end table
-
-@node Reverting your buffers, Miscellaneous commands, Emerge, Commands
-@comment node-name, next, previous, up
-@section Reverting your buffers
-@findex cvs-mode-revert-updated-buffers
-@kindex R - revert buffers
-@cindex Syncing buffers
-@cindex Reverting buffers
-
-@table @kbd
-@item R
-If you are editing (or just viewing) a file in a buffer, and that file
-is changed by CVS during a @samp{cvs-update}, all you have to do is type
-@kbd{R} in the *cvs* buffer to read in the new versions of the
-files.@refill
-
-All files that are @samp{Updated}, @samp{Merged} or in @samp{Conflict}
-are reverted from the disk. Any other files are ignored. Only files
-that you were already editing are read.@refill
-
-An error is signalled if you have modified the buffer since it was last
-changed. (@code{cvs-mode-revert-updated-buffers}).@refill
-@end table
-
-@node Miscellaneous commands, , Reverting your buffers, Commands
-@comment node-name, next, previous, up
-@section Miscellaneous commands
-@findex cvs-byte-compile-files
-@cindex Recompiling elisp files
-@cindex Byte compilation
-@cindex Getting rid of lock files
-@cindex Lock files
-@kindex q - bury the *cvs* buffer
-@findex bury-buffer
-
-@table @kbd
-@item M-x cvs-byte-compile-files
-Byte compile all selected files that end in .el.
-
-@item M-x cvs-delete-lock
-This command can be used in any buffer, and deletes the lock files that
-the *cvs* buffer informs you about. You should normally never have to
-use this command since CVS tries very carefully to always remove the
-lock files itself.
-
-You can only use this command when a message in the *cvs* buffer tells
-you so. You should wait a while before using this command in case
-someone else is running a cvs command.
-
-@item q
-Bury the *cvs* buffer. (@code{bury-buffer}).
-
-@end table
-
-@node Customization, Future enhancements, Commands, Top
-@comment node-name, next, previous, up
-@chapter Customization
-@vindex cvs-erase-input-buffer (variable)
-@vindex cvs-inhibit-copyright-message (variable)
-@vindex cvs-diff-flags (variable)
-@vindex cvs-diff-ignore-marks (variable)
-@vindex cvs-log-flags (variable)
-@vindex cvs-status-flags (variable)
-@vindex cvs-auto-remove-handled (variable)
-@vindex cvs-update-prog-output-skip-regexp (variable)
-@vindex cvs-cvsroot (variable)
-@vindex TMPDIR (environment variable)
-@vindex cvs-auto-revert-after-commit (variable)
-@vindex cvs-commit-buffer-require-final-newline (variable)
-@vindex cvs-sort-ignore-file (variable)
-@cindex Inhibiting the Copyright message.
-@cindex Copyright message, getting rid of it
-@cindex Getting rid of the Copyright message.
-@cindex Customization
-@cindex Variables, list of all
-@cindex Erasing the input buffer
-@cindex Context diff, how to get
-@cindex Unidiff, how to get
-@cindex Automatically remove handled files
-@cindex -u option in modules file
-@cindex Modules file (-u option)
-@cindex Update program (-u option in modules file)
-@cindex Reverting buffers after commit
-@cindex Require final newline
-@cindex Automatically inserting newline
-@cindex Commit message, inserting newline
-@cindex Sorting the .cvsignore file
-@cindex .cvsignore file, sorting
-@cindex Automatically sorting .cvsignore
-
-If you have an idea about any customization that would be handy but
-isn't present in this list, please tell me! @xref{Bugs} for info on how
-to reach me.@refill
-
-@table @samp
-@item cvs-erase-input-buffer
-If set to anything else than @code{nil} the edit buffer will be erased
-before you write the log message (@pxref{Committing changes}).
-
-@item cvs-inhibit-copyright-message
-The copyright message that is displayed on startup can be annoying after
-a while. Set this variable to @samp{t} if you want to get rid of it.
-(But don't set this to @samp{t} in the system defaults file - new users
-should see this message at least once).
-
-@item cvs-diff-flags
-A list of strings to pass as arguments to the @samp{cvs diff} and
-@samp{diff} programs. This is used by @samp{cvs-mode-diff-cvs} and
-@samp{cvs-mode-diff-backup} (key @kbd{b}, @pxref{Viewing differences}). If
-you prefer the Unidiff format you could add this line to your
-@file{.emacs} file:@refill
-
-@example
-(setq cvs-diff-flags '("-u"))
-@end example
-
-@item cvs-diff-ignore-marks
-If this variable is non-@code{nil} or if a prefix argument is given (but
-not both) to @samp{cvs-mode-diff-cvs} or @samp{cvs-mode-diff-backup}
-marked files are not considered selected.
-
-@item cvs-log-flags
-List of strings to send to @samp{cvs log}. Used by @samp{cvs-mode-log}
-(key @kbd{l}, @pxref{Getting info about files}).
-
-@item cvs-status-flags
-List of strings to send to @samp{cvs status}. Used by @samp{cvs-mode-status}
-(key @kbd{s}, @pxref{Getting info about files}).
-
-@item cvs-auto-remove-handled
-If this variable is set to any non-@code{nil} value
-@samp{cvs-mode-remove-handled} will be called every time you check in
-files, after the check-in is ready. @xref{Removing handled
-entries}.@refill
-
-@item cvs-auto-revert-after-commit
-If this variable is set to any non-@samp{nil} value any buffers you have
-that visit a file that is committed will be automatically reverted.
-This variable is default @samp{t}. @xref{Committing changes}.@refill
-
-@item cvs-update-prog-output-skip-regexp
-The @samp{-u} flag in the @file{modules} file can be used to run a command
-whenever a @samp{cvs update} is performed (see cvs(5)). This regexp
-is used to search for the last line in that output. It is normally set
-to @samp{"$"}. That setting is only correct if the command outputs
-nothing. Note that pcl-cvs will get very confused if the command
-outputs @emph{anything} to @samp{stderr}.
-
-@item cvs-cvsroot
-This variable can be set to override @samp{CVSROOT}. It should be a
-string. If it is set then everytime a cvs command is run it will be
-called as @samp{cvs -d @var{cvs-cvsroot}@dots{}} This can be useful if
-your site has several repositories.
-
-@item TMPDIR
-Pcl-cvs uses this @emph{environment variable} to decide where to put the
-temporary files it needs. It defaults to @file{/tmp} if it is not set.
-
-@item cvs-commit-buffer-require-final-newline
-When you enter a log message in the @samp{*cvs-commit-message*} buffer
-pcl-cvs will normally automatically insert a trailing newline, unless
-there already is one. This behavior can be controlled via
-@samp{cvs-commit-buffer-require-final-newline}. If it is @samp{t} (the
-default behavior), a newline will always be appended. If it is
-@samp{nil}, newlines will never be appended. Any other value causes
-pcl-cvs to ask the user whenever there is no trailing newline in the
-commit message buffer.
-
-@item cvs-sort-ignore-file
-If this variable is set to any non-@samp{nil} value the
-@file{.cvsignore} will always be sorted whenever you use
-@samp{cvs-mode-ignore} to add a file to it. This option is on by
-default.
-
-@end table
-@node Future enhancements, Bugs, Customization, Top
-@comment node-name, next, previous, up
-@chapter Future enhancements
-@cindex Enhancements
-
-Pcl-cvs is still under development and needs a number of enhancements to
-be called complete. Below is my current wish-list for future releases
-of pcl-cvs. Please, let me know which of these features you want most.
-They are listed below in approximately the order that I currently think
-I will implement them in.
-
-@itemize @bullet
-@item
-Rewritten parser code. There are many situations where pcl-cvs will
-fail to recognize the output from CVS. The situation could be greatly
-increased.
-
-@item
-@samp{cvs-status}. This will run @samp{cvs status} in a directory and
-produce a buffer that looks pretty much like the current *cvs* buffer.
-That buffer will include information for all version-controlled files.
-(There will be a simple keystroke to remove all "uninteresting" files,
-that is, files that are "Up-to-date"). In this new buffer you will be
-able to update a file, commit a file, et c. The big win with this is
-that you will be able to watch the differences between your current
-working file and the head revision in the repository before you update
-the file, and you can then choose to update it or let it wait for a
-while longer.
-
-@item
-Log mode. When this mode is finished you will be able to move around
-(using @kbd{n} and @kbd{p}) between the revisions of a file, mark two of
-them, and run a diff between them. You will be able to hide branches
-(similar to the way you can hide sub-paragraphs in outline-mode) and do
-merges between revisions. Other ideas about this are welcome.
-
-@item
-The current model for marks in the *cvs* buffer seems to be confusing.
-I am considering to use the VM model instead, where marks are normally
-inactive. To activate the mark, you issue a command like
-@samp{cvs-mode-next-command-uses-marks}. I might implement a flag so
-that you can use either version. Feedback on this before I start coding
-it is very welcome.
-
-@item
-It should be possible to run commands such as @samp{cvs log}, @samp{cvs
-status} and @samp{cvs commit} directly from a buffer containing a file,
-instead of having to @samp{cvs-update}. If the directory contains many
-files the @samp{cvs-update} can take quite some time, especially on a
-slow machine. I planed to put these kind of commands on the prefix
-@kbd{C-c C-v}, but that turned out to be used by for instance c++-mode.
-If you have any suggestions for a better prefix key, please let me know.
-
-@item
-Increased robustness. For instance, you can not currently press
-@kbd{C-g} when you are entering the description of a file that you are
-adding without confusing pcl-cvs.
-
-@item
-Support for multiple active *cvs* buffers.
-
-@item
-Dired support. I have an experimental @file{dired-cvs.el} that works
-together with CVS 1.2. Unfortunately I wrote it on top of a
-non-standard @file{dired.el}, so it must be rewritten.@refill
-
-@item
-An ability to send user-supplied options to all the cvs commands.
-
-@item
-Pcl-cvs is not at all clever about what it should do when @samp{cvs
-update} runs a program (due to the @samp{-u} option in the
-@file{modules} file --- see @samp{cvs(5)}). The current release uses a
-regexp to search for the end. At the very least that regexp should be
-configured for different modules. Tell me if you have any idea about
-what is the right thing to do. In a perfect world the program should
-also be allowed to print to @samp{stderr} without causing pcl-cvs to
-crash.
-@end itemize
-
-
-If you miss something in this wish-list, let me know! I don't promise
-that I will write it, but I will at least try to coordinate the efforts
-of making a good Emacs front end to CVS. See @xref{Bugs} for
-information about how to reach me.@refill
-
-So far, I have written most of pcl-cvs in my all-to-rare spare time. If
-you want pcl-cvs to be developed faster you can write a contract with
-Signum Support to do the extension. You can reach Signum Support by
-email to @samp{info@@signum.se} or via mail to Signum Support AB, Box
-2044, S-580 02 Linkoping, Sweden. Phone: +46 (0) 13 - 21 46 00. Fax: +46
-(0) 13 - 21 47 00.
-
-@node Bugs, Function and Variable Index, Future enhancements, Top
-@comment node-name, next, previous, up
-@chapter Bugs (known and unknown)
-@cindex Reporting bugs and ideas
-@cindex Bugs, how to report them
-@cindex Author, how to reach
-@cindex Email to the author
-@cindex Known bugs
-@cindex Bugs, known
-@cindex FAQ
-@cindex Problems, list of common
-
-If you find a bug or misfeature, don't hesitate to tell me! Send email
-to @samp{ceder@@lysator.liu.se}.
-
-If you have ideas for improvements, or if you have written some
-extensions to this package, I would like to hear from you. I hope that
-you find this package useful!
-
-Below is a partial list of currently known problems with pcl-cvs version
-1.05.
-
-@table @asis
-@item Commit causes Emacs to hang
-Emacs waits for the @samp{cvs commit} command to finish before you can
-do anything. If you start a background job from the loginfo file you
-must take care that it closes @samp{stdout} and @samp{stderr} if you do
-not want to wait for it. (You do that with @samp{background-command &>-
-2&>- &} if you are starting @samp{background-command} from a
-@samp{/bin/sh} shell script).
-
-Your emacs will also hang if there was a lock file in the repository.
-In this case you can type @kbd{C-g} to get control over your emacs
-again.
-
-@item Name clash in Emacs 19
-This is really a bug in Elib or the Emacs 19 distribution. Both Elib and
-Emacs 19.6 through at least 19.10 contains a file named
-@file{cookie.el}. One of the files will have to be renamed, and we are
-currently negotiating about which of the files to rename.
-
-@item Commands while cvs-update is running
-It is possible to type commands in the *cvs* buffer while the update is
-running, but error messages is all that you will get. The error
-messages should be better.
-
-@item Unexpected output from CVS
-Unexpected output from CVS confuses pcl-cvs. It will currently create a
-bug report that you can mail to me. It should do something more
-civilized.
-@end table
-
-@node Function and Variable Index, Concept Index, Bugs, Top
-@comment node-name, next, previous, up
-@unnumbered Function and Variable Index
-
-@printindex fn
-
-@node Concept Index, Key Index, Function and Variable Index, Top
-@comment node-name, next, previous, up
-@unnumbered Concept Index
-
-@printindex cp
-
-@node Key Index, , Concept Index, Top
-@comment node-name, next, previous, up
-@unnumbered Key Index
-
-@printindex ky
-
-@summarycontents
-@contents
-@bye
OpenPOWER on IntegriCloud