aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2000-12-04 16:17:49 +0000
committerEli Zaretskii2000-12-04 16:17:49 +0000
commit11dac025431b2e87d070ecb79e4226016eabb898 (patch)
tree9ec190f5767c544d2a7142b4317153842c0fa91b
parent00c804d5e6f5abdfa2d8d024d923e5263554717d (diff)
downloademacs-11dac025431b2e87d070ecb79e4226016eabb898.tar.gz
emacs-11dac025431b2e87d070ecb79e4226016eabb898.zip
Fix markup, add index entries, make the DVI output prettier.
-rw-r--r--man/pcl-cvs.texi530
1 files changed, 267 insertions, 263 deletions
diff --git a/man/pcl-cvs.texi b/man/pcl-cvs.texi
index afb0e171f9d..51a4a2a3b61 100644
--- a/man/pcl-cvs.texi
+++ b/man/pcl-cvs.texi
@@ -1,6 +1,6 @@
1\input texinfo @c -*-texinfo-*- 1\input texinfo @c -*-texinfo-*-
2 2
3@c "@(#)$Name: $:$Id: pcl-cvs.texi,v 1.6 2000/10/07 19:15:54 eliz Exp $" 3@c "@(#)$Name: $:$Id: pcl-cvs.texi,v 1.7 2000/11/21 11:39:43 fx Exp $"
4 4
5@c Documentation for the GNU Emacs CVS mode. 5@c Documentation for the GNU Emacs CVS mode.
6@c Copyright (C) 1991-2000 Free Software Foundation, Inc. 6@c Copyright (C) 1991-2000 Free Software Foundation, Inc.
@@ -23,7 +23,7 @@
23 23
24@c %**start of header 24@c %**start of header
25@setfilename ../info/pcl-cvs 25@setfilename ../info/pcl-cvs
26@settitle PCL-CVS - Emacs Front-End to CVS 26@settitle PCL-CVS--Emacs Front-End to CVS
27@c %**end of header 27@c %**end of header
28 28
29@dircategory Emacs 29@dircategory Emacs
@@ -54,7 +54,7 @@ this GNU Manual, like GNU software. Copies published by the Free
54Software Foundation raise funds for GNU development.'' 54Software Foundation raise funds for GNU development.''
55@end ifinfo 55@end ifinfo
56 56
57@synindex vr fn 57@syncodeindex vr fn
58@c The titlepage section does not appear in the Info file. 58@c The titlepage section does not appear in the Info file.
59@titlepage 59@titlepage
60@sp 4 60@sp 4
@@ -107,15 +107,15 @@ Software Foundation raise funds for GNU development.''
107@ifinfo 107@ifinfo
108@top PCL-CVS 108@top PCL-CVS
109 109
110This info manual describes PCL-CVS, the GNU Emacs front-end to CVS. It 110This manual describes PCL-CVS, the GNU Emacs front-end to CVS. It
111is nowhere near complete, so you are advised to use @kbd{M-x 111is nowhere near complete, so you are advised to use @kbd{M-x
112customize-group RET pcl-cvs RET} and to look at the documentation strings 112customize-group RET pcl-cvs @key{RET}} and to look at the documentation strings
113of the various commands and major modes for further information. 113of the various commands and major modes for further information.
114@c This manual is updated to release 2.5 of PCL-CVS. 114@c This manual is updated to release 2.5 of PCL-CVS.
115@end ifinfo 115@end ifinfo
116 116
117@menu 117@menu
118* About PCL-CVS:: Installation, credits, history, ... 118* About PCL-CVS:: Installation, credits, history, @dots{}
119 119
120* Getting started:: An introduction with a walk-through example. 120* Getting started:: An introduction with a walk-through example.
121* Buffer contents:: An explanation of the buffer contents. 121* Buffer contents:: An explanation of the buffer contents.
@@ -178,18 +178,19 @@ It concisely shows the present status of a checked out module in an
178Emacs buffer and provides single-key access to the most frequently used CVS 178Emacs buffer and provides single-key access to the most frequently used CVS
179commands. 179commands.
180For Emacs users accustomed to VC, PCL-CVS can be thought of as a replacement 180For Emacs users accustomed to VC, PCL-CVS can be thought of as a replacement
181for VC-dired (@pxref{(emacs)VC Dired Mode}) specifically designed for CVS. 181for VC-dired (@pxref{VC Dired Mode, , Dired under VC, emacs, The GNU
182Emacs Manual}) specifically designed for CVS.
182 183
183PCL-CVS was originally written many years ago by Per Cederqvist who 184PCL-CVS was originally written many years ago by Per Cederqvist who
184proudly maintained it until January 1996, at which point he released the 185proudly maintained it until January 1996, at which point he released the
185beta version 2.0b2 and passed on the maintainership to Greg A Woods. 186beta version 2.0b2 and passed on the maintainership to Greg A Woods.
186Development stayed mostly dormant for a few years during which the 187Development stayed mostly dormant for a few years during which
187version 2.0 never seemed to be able to leave the ``beta'' stage while a 188version 2.0 never seemed to be able to leave the ``beta'' stage while a
188separate XEmacs version was slowly splitting away. In late 1998, 189separate XEmacs version was slowly splitting away. In late 1998,
189Stefan Monnier picked up development again, adding some major new 190Stefan Monnier picked up development again, adding some major new
190functionality and taking over maintenance. 191functionality and taking over the maintenance.
191 192
192As of Emacs-21, PCL-CVS is part of the standard Emacs distribution. 193As of Emacs 21, PCL-CVS is part of the standard Emacs distribution.
193 194
194@menu 195@menu
195* Contributors:: Contributors to PCL-CVS. 196* Contributors:: Contributors to PCL-CVS.
@@ -214,58 +215,58 @@ Without his work on CVS this package would be useless@dots{}
214 215
215@item 216@item
216Per Cederqvist wrote most of the otherwise unattributed functions in 217Per Cederqvist wrote most of the otherwise unattributed functions in
217PCL-CVS as well as all documentation. 218PCL-CVS as well as all the documentation.
218 219
219@item 220@item
220Inge Wallin (@samp{inge@@lysator.liu.se}) wrote the skeleton to 221@email{inge@@lysator.liu.se, Inge Wallin} wrote the skeleton of
221@file{pcl-cvs.texi}, and gave useful comments on it. He also wrote 222@file{pcl-cvs.texi}, and gave useful comments on it. He also wrote
222the files @file{elib-node.el} and @file{compile-all.el}. The file 223the files @file{elib-node.el} and @file{compile-all.el}. The file
223@file{cookie.el} was inspired by Inge.@refill 224@file{cookie.el} was inspired by Inge.@refill
224 225
225@item 226@item
226Linus Tolke (@samp{linus@@lysator.liu.se}) contributed useful comments 227@email{linus@@lysator.liu.se, Linus Tolke} contributed useful comments
227on both the functionality and the documentation.@refill 228on both the functionality and the documentation.@refill
228 229
229@item 230@item
230Jamie Zawinski (@samp{jwz@@jwz.com}) contributed 231@email{jwz@@jwz.com, Jamie Zawinski} contributed
231@file{pcl-cvs-lucid.el}, which was later renamed to 232@file{pcl-cvs-lucid.el}, which was later renamed to
232@file{pcl-cvs-xemacs.el}.@refill 233@file{pcl-cvs-xemacs.el}.@refill
233 234
234@item 235@item
235Leif Lonnblad contributed RCVS support. (Since superceded by the new 236Leif Lonnblad contributed RCVS support (since superceded by the new
236remote CVS support.) 237remote CVS support).
237 238
238@item 239@item
239Jim Blandy (@samp{jimb@@cyclic.com}) contributed hooks to automatically 240@email{jimb@@cyclic.com, Jim Blandy} contributed hooks to automatically
240guess CVS log entries from ChangeLog contents; and initial support of 241guess CVS log entries from @file{ChangeLog} contents, and initial support of
241the new Cygnus / Cyclic remote CVS; as well as various sundry bug fixes 242the new Cygnus / Cyclic remote CVS, as well as various sundry bug fixes
242and cleanups. 243and cleanups.
243 244
244@item 245@item
245Jim Kingdon (@samp{kingdon@@cyclic.com}) contributed lots of fixes to 246@email{kingdon@@cyclic.com, Jim Kingdon} contributed lots of fixes to
246the build and install procedure. 247the build and installation procedure.
247 248
248@item 249@item
249Greg A. Woods (@samp{woods@@weird.com}) contributed code to implement 250@email{woods@@weird.com, Greg A.@: Woods} contributed code to implement
250the use of per-file diff buffers; and vendor join diffs with emerge and 251the use of per-file diff buffers, and vendor join diffs with emerge and
251ediff; as well as various and sundry bug fixes and cleanups. 252ediff, as well as various and sundry bug fixes and cleanups.
252 253
253@item 254@item
254Greg Klanderman (@samp{greg.klanderman@@alum.mit.edu}) implemented 255@email{greg.klanderman@@alum.mit.edu, Greg Klanderman} implemented
255toggling of marked files; setting of CVS command flags via prefix 256toggling of marked files, setting of CVS command flags via prefix
256arguments; updated the XEmacs support; updated the manual; and fixed 257arguments, updated the XEmacs support, updated the manual, and fixed
257numerous bugs. 258numerous bugs.
258 259
259@item 260@item
260Stefan Monnier (@samp{monnier@@cs.yale.edu}) added a slew of other 261@email{monnier@@cs.yale.edu, Stefan Monnier} added a slew of other
261features and introduced even more new bugs. If there's any bug left, 262features and introduced even more new bugs. If there's any bug left,
262you can be sure it's his. 263you can be sure it's his.
263 264
264@item 265@item
265Masatake YAMATO (@samp{masata-y@@is.aist-nara.ac.jp}) graciously 266@c wordy to avoid an underfull hbox
266contributed the cvstree code to display a tree of tags which was later 267@email{masata-y@@is.aist-nara.ac.jp, Masatake YAMATO} made a gracious
267superseded by the new cvs-status-mode. 268contribution of his cvstree code to display a tree of tags which was later
268 269superseded by the new @code{cvs-status-mode}.
269@end itemize 270@end itemize
270 271
271Apart from these, a lot of people have sent us suggestions, ideas, 272Apart from these, a lot of people have sent us suggestions, ideas,
@@ -277,27 +278,30 @@ there would be no new releases of PCL-CVS.
277@section Installation 278@section Installation
278@cindex Installation 279@cindex Installation
279 280
280As mentioned above, PCL-CVS comes preinstalled since Emacs-21. 281As mentioned above, PCL-CVS comes bundled with Emacs version 21.1 and
281If you're using Emacs 20, you can download an older version of PCL-CVS 282later. If you're using Emacs 20, you can download an older version of
282from @url{ftp://flint.cs.yale.edu/pub/monnier/pcl-cvs}. That version 283PCL-CVS from @uref{ftp://flint.cs.yale.edu/pub/monnier/pcl-cvs}. That
283also works on XEmacs. 284version also works on XEmacs.
284 285
285If you are running XEmacs 21.0 or later, PCL-CVS is available in 286If you are running XEmacs 21.0 or later, PCL-CVS is available in
286pre-compiled package form. Please refer to the XEmacs manual for 287pre-compiled package form. Please refer to the XEmacs manual for
287instructions regarding package selection and installation. Currently, 288instructions regarding package selection and installation. Currently,
288that PCL-CVS package also requires you to have installed the xemacs-base, 289that PCL-CVS package also requires you to have installed the
289elib, and dired packages. 290@file{xemacs-base}, @file{elib}, and @file{dired} packages.
290 291
291If you have @TeX{} installed at your site, you can make a typeset manual 292If you have @TeX{} installed at your site, you can make a typeset manual
292from @file{pcl-cvs.texi}. 293from @file{pcl-cvs.texi}.
293 294
294@enumerate 295@enumerate
295@item 296@item
296Run @TeX{} by typing @samp{texi2dvi pcl-cvs.texi}. 297If PCL-CVS came with the Emacs distribution, type @kbd{make pcl-cvs.dvi}
298in the @file{man} subdirectory of the Emacs source tree.
299@item
300Alternatively, run @TeX{} by typing @kbd{texi2dvi pcl-cvs.texi}.
297@item 301@item
298Convert the resulting device independent file @file{pcl-cvs.dvi} to a 302Convert the resulting device independent file @file{pcl-cvs.dvi} to a
299form which your printer can output and print it. If you have a 303form which your printer can output and print it. If you have a
300postscript printer there is a program, @code{dvi2ps}, which does. There 304PostScript printer, there is a program, @code{dvi2ps}, which does. There
301is also a program which comes together with @TeX{}, @code{dvips}, which 305is also a program which comes together with @TeX{}, @code{dvips}, which
302you can use. 306you can use.
303@end enumerate 307@end enumerate
@@ -307,20 +311,23 @@ you can use.
307@chapter Getting started 311@chapter Getting started
308@cindex Introduction 312@cindex Introduction
309@cindex Example run 313@cindex Example run
314@cindex Sample session
310 315
311This document assumes that you know what CVS is, and that you at least 316This document assumes that you know what CVS is, and that you at least
312know the fundamental concepts of CVS. If that is not the case you 317know the fundamental concepts of CVS. If that is not the case, you
313should read the man page for CVS. 318should read the CVS documentation. Type @kbd{info -f cvs} or @kbd{man
319cvs}.
314 320
315PCL-CVS is only useful once you have checked out a module. So before 321PCL-CVS is only useful once you have checked out a module. So before
316you invoke it you must have a copy of a module somewhere in the file 322you invoke it, you must have a copy of a module somewhere in the file
317system. 323system.
318 324
319You can invoke PCL-CVS by typing @kbd{M-x cvs-examine RET}. 325You can invoke PCL-CVS by typing @kbd{M-x cvs-examine @key{RET}}.
320You can also invoke it via the menubar, under Tools. 326You can also invoke it via the menu bar, under @samp{Tools}.
321Or if you prefer, you can also invoke PCL-CVS by simply visiting the 327Or, if you prefer, you can also invoke PCL-CVS by simply visiting the
322CVS administrative subdirectory of your module, with a prefix argument. 328CVS administrative subdirectory of your module, with a prefix argument.
323F.ex. @kbd{C-u C-x 5 f ~/my/project/CVS RET}. 329For example, to invoke PCL-CVS in a separate frame, type @kbd{C-u C-x 5
330f ~/my/project/CVS @key{RET}}.
324 331
325The function @code{cvs-examine} will ask for a directory. The command 332The function @code{cvs-examine} will ask for a directory. The command
326@samp{cvs -n update} will be run in that directory. (It should contain 333@samp{cvs -n update} will be run in that directory. (It should contain
@@ -356,14 +363,14 @@ checked in.
356 363
357You can move the cursor up and down in the buffer with @kbd{C-n} and 364You can move the cursor up and down in the buffer with @kbd{C-n} and
358@kbd{C-p} or @kbd{n} and @kbd{p}. If you press @kbd{c} on one of the 365@kbd{C-p} or @kbd{n} and @kbd{p}. If you press @kbd{c} on one of the
359@samp{Modified} files that file will be checked in to the CVS 366@samp{Modified} files, that file will be checked in to the CVS
360repository. @xref{Committing changes}. You can also press @kbd{O} to 367repository. @xref{Committing changes}. You can also press @kbd{O} to
361update any of the files that are marked @samp{Need-Update}. You can 368update any of the files that are marked @samp{Need-Update}. You can
362also run @kbd{M-x cvs-update RET} (bound to @kbd{M-u} in the 369also run @kbd{M-x cvs-update @key{RET}} (bound to @kbd{M-u} in the
363@samp{*cvs*} buffer) to update all the files.@refill 370@samp{*cvs*} buffer) to update all the files.@refill
364 371
365You can then press @kbd{=} to easily get a @samp{diff} between your 372You can then press @kbd{=} to easily get a @samp{diff} between your
366modified file and the base version that you started from or you can 373modified file and the base version that you started from, or you can
367press @kbd{l} to get the output from @samp{cvs log}. Many more such 374press @kbd{l} to get the output from @samp{cvs log}. Many more such
368commands are available simply by pressing a key (@pxref{Getting info 375commands are available simply by pressing a key (@pxref{Getting info
369about files}). 376about files}).
@@ -371,9 +378,10 @@ about files}).
371@node Buffer contents, Selected files, Getting started, Top 378@node Buffer contents, Selected files, Getting started, Top
372@chapter Buffer contents 379@chapter Buffer contents
373@cindex Buffer contents 380@cindex Buffer contents
381@cindex @code{*cvs*} buffer contents
374 382
375The display contains several columns, some of which are optional. 383The display contains several columns, some of which are optional.
376They contain, from left to right: 384These columns are, from left to right:
377 385
378@itemize @bullet 386@itemize @bullet
379 387
@@ -382,15 +390,14 @@ Optionally, the head revision of the file. This is the latest version
382found in the repository. It might also contain (instead of the head 390found in the repository. It might also contain (instead of the head
383revision) a sub status which typically gives further information about 391revision) a sub status which typically gives further information about
384how we got to the current state, for example @samp{patched}, 392how we got to the current state, for example @samp{patched},
385@samp{merged}, ... 393@samp{merged}, @dots{}
386 394
387@item 395@item
388An asterisk when the file is @dfn{marked} (@pxref{Selected 396An asterisk when the file is @dfn{marked} (@pxref{Selected
389files}).@refill 397files}).@refill
390 398
391@item 399@item
392The actual status of the file wrt to the repository. @xref{Buffer 400The actual status of the file wrt the repository. See below.
393contents}, for more information.@refill
394 401
395@item 402@item
396Optionally, the base revision of the file. This is the version 403Optionally, the base revision of the file. This is the version
@@ -404,25 +411,22 @@ The file name.
404The @samp{file status} field can have the following values: 411The @samp{file status} field can have the following values:
405 412
406@table @samp 413@table @samp
407
408@item Modified 414@item Modified
409The file is modified in your working directory, and there was no 415The file is modified in your working directory, and there was no
410modification to the same file in the repository. This status can have 416modification to the same file in the repository. This status can have
411the following substatus: 417the following substatus:
412 418
413@table @samp 419@table @samp
414
415@item merged 420@item merged
416The file was modified in your working directory, and there were 421The file was modified in your working directory, and there were
417modifications in the repository as well, but they were merged 422modifications in the repository as well, but they were merged
418successfully, without conflict, in your working directory.@refill 423successfully, without conflict, in your working directory.@refill
419
420@end table 424@end table
421 425
422@item Conflict 426@item Conflict
423A conflict was detected while trying to merge your changes to @var{file} 427A conflict was detected while trying to merge your changes to @var{file}
424with changes from the repository. @var{file} (the copy in your 428with changes from the repository. @var{file} (the copy in your
425working directory) is now the output of the @samp{rcsmerge} command on 429working directory) is now the output of the @code{rcsmerge} command on
426the two versions; an unmodified copy of your file is also in your 430the two versions; an unmodified copy of your file is also in your
427working directory, with the name @file{.#@var{file}.@var{version}}, 431working directory, with the name @file{.#@var{file}.@var{version}},
428where @var{version} is the RCS revision that your modified file started 432where @var{version} is the RCS revision that your modified file started
@@ -433,7 +437,6 @@ rather than on its content. This case is indicated by the following
433possible substatus: 437possible substatus:
434 438
435@table @samp 439@table @samp
436
437@item removed 440@item removed
438The file is locally removed but a new revision has been committed to 441The file is locally removed but a new revision has been committed to
439the repository by someone else. 442the repository by someone else.
@@ -445,7 +448,6 @@ by someone else.
445@item modified 448@item modified
446The file is locally modified but someone else has removed it from the 449The file is locally modified but someone else has removed it from the
447repository. 450repository.
448
449@end table 451@end table
450 452
451@item Added 453@item Added
@@ -467,7 +469,6 @@ The file is up to date with respect to the version in the repository.
467This status can have a substatus of: 469This status can have a substatus of:
468 470
469@table @samp 471@table @samp
470
471@item added 472@item added
472You have just added the file to the repository.@refill 473You have just added the file to the repository.@refill
473 474
@@ -485,7 +486,6 @@ more efficient method.@refill
485 486
486@item committed 487@item committed
487You just committed the file.@refill 488You just committed the file.@refill
488
489@end table 489@end table
490 490
491@item Need-Update 491@item Need-Update
@@ -502,7 +502,6 @@ you run a @samp{cvs-update}.
502@item Missing 502@item Missing
503The file has been unexpectedly removed from your working directory 503The file has been unexpectedly removed from your working directory
504although it has not been @samp{cvs remove}d. 504although it has not been @samp{cvs remove}d.
505
506@end table 505@end table
507 506
508@node Selected files, Commands, Buffer contents, Top 507@node Selected files, Commands, Buffer contents, Top
@@ -521,6 +520,8 @@ If a directory is selected but the command cannot be applied to a
521directory, then it will be applied to the set of files under this 520directory, then it will be applied to the set of files under this
522directory which are in the @samp{*cvs*} buffer. 521directory which are in the @samp{*cvs*} buffer.
523 522
523@findex cvs-mode-force-command
524@findex cvs-allow-dir-commit
524Furthermore, each command only operates on a subset of the selected 525Furthermore, each command only operates on a subset of the selected
525files, depending on whether or not the command is @dfn{applicable} to 526files, depending on whether or not the command is @dfn{applicable} to
526each file (based on the file's status). For example, 527each file (based on the file's status). For example,
@@ -543,7 +544,7 @@ command.
543This scheme might seem a little complicated, but once one gets used to 544This scheme might seem a little complicated, but once one gets used to
544it, it is quite powerful. 545it, it is quite powerful.
545 546
546For commands to mark and unmark files, see @xref{Marking files}. 547For commands to mark and unmark files, see @ref{Marking files}.
547 548
548@node Commands, Log Edit Mode, Selected files, Top 549@node Commands, Log Edit Mode, Selected files, Top
549@chapter Commands 550@chapter Commands
@@ -551,10 +552,10 @@ For commands to mark and unmark files, see @xref{Marking files}.
551@iftex 552@iftex
552This chapter describes all the commands that you can use in PCL-CVS. 553This chapter describes all the commands that you can use in PCL-CVS.
553@end iftex 554@end iftex
554@ifinfo 555@ifnottex
555The nodes in this menu contains explanations about all the commands that 556The nodes in this menu contains explanations about all the commands that
556you can use in PCL-CVS. They are grouped together by type. 557you can use in PCL-CVS. They are grouped together by type.
557@end ifinfo 558@end ifnottex
558 559
559@menu 560@menu
560* Entering PCL-CVS:: Commands to invoke PCL-CVS 561* Entering PCL-CVS:: Commands to invoke PCL-CVS
@@ -592,10 +593,9 @@ Most commands in PCL-CVS require that you have a @samp{*cvs*}
592buffer. The commands that you use to get one are listed below. 593buffer. The commands that you use to get one are listed below.
593For each, a @samp{cvs} process will be run, the output will be parsed by 594For each, a @samp{cvs} process will be run, the output will be parsed by
594PCL-CVS, and the result will be printed in the @samp{*cvs*} buffer (see 595PCL-CVS, and the result will be printed in the @samp{*cvs*} buffer (see
595@pxref{Buffer contents} for a description of the contents). 596@ref{Buffer contents}, for a description of the buffer's contents).
596 597
597@table @kbd 598@table @kbd
598
599@item M-x cvs-update 599@item M-x cvs-update
600Run a @samp{cvs update} command. You will be asked for the directory 600Run a @samp{cvs update} command. You will be asked for the directory
601in which the @samp{cvs update} will be run. 601in which the @samp{cvs update} will be run.
@@ -618,30 +618,32 @@ out.
618@item M-x cvs-quickdir 618@item M-x cvs-quickdir
619Populate the @samp{*cvs*} buffer by just looking at the @file{CVS/Entries} 619Populate the @samp{*cvs*} buffer by just looking at the @file{CVS/Entries}
620files. This is very much like @code{cvs-examine} except that it does 620files. This is very much like @code{cvs-examine} except that it does
621not access the CVS repository which is a major advantage when the 621not access the CVS repository, which is a major advantage when the
622repository is far away. But of course, it will not be able to detect 622repository is far away. But of course, it will not be able to detect
623when a file needs to be updated or merged. 623when a file needs to be updated or merged.
624
625@end table 624@end table
626 625
626@findex cvs-dired-action
627@findex cvs-dired-use-hook
627The first four of 628The first four of
628those commands are also reachable from the menubar 629those commands are also reachable from the menu bar
629under @samp{Tools->PCL-CVS}. Finally an alternative way is to visit 630under @samp{Tools->PCL-CVS}. Finally, an alternative way is to visit
630the CVS administrative subdirectory in your work area with a simple 631the CVS administrative subdirectory in your work area with a simple
631prefix argument. For example @kbd{C-u C-x C-f ~/my/work/CVS RET}. This 632prefix argument. For example @kbd{C-u C-x C-f ~/my/work/CVS @key{RET}}. This
632will by default run @code{cvs-quickdir} but the specific behavior can be 633by default runs @code{cvs-quickdir} but the specific behavior can be
633changed with @code{cvs-dired-action} and @code{cvs-dired-use-hook}. 634changed with @code{cvs-dired-action} and @code{cvs-dired-use-hook}.
634 635
635By default, the commands above will descend recursively into 636By default, the commands above will descend recursively into
636subdirectories. You can avoid that behavior by including @samp{-l} in 637subdirectories. You can avoid that behavior by including @samp{-l} in
637the flags for the command. These flags can be set by giving a prefix 638the flags for the command. These flags can be set by giving a prefix
638argument to the command (e.g., by typing 639argument to the command (e.g., by typing
639@kbd{C-u M-x cvs-update RET -l RET}). 640@kbd{C-u M-x cvs-update @key{RET} -l @key{RET}}).
640 641
641 642
642@node Setting flags, Updating the buffer, Entering PCL-CVS, Commands 643@node Setting flags, Updating the buffer, Entering PCL-CVS, Commands
643@section Setting flags for CVS commands 644@section Setting flags for CVS commands
644@cindex Special prefix 645@cindex Optional switches to CVS
646@cindex Command-line options to CVS
645 647
646This section describes the convention used by nearly all PCL-CVS 648This section describes the convention used by nearly all PCL-CVS
647commands for setting optional flags sent to CVS. A single @kbd{C-u} 649commands for setting optional flags sent to CVS. A single @kbd{C-u}
@@ -653,20 +655,21 @@ unless temporary flags are set which override them.
653 655
654Perhaps an example or two is in order. Say you are about to add a 656Perhaps an example or two is in order. Say you are about to add a
655binary file to the repository, and want to specify the flags @samp{-kb} 657binary file to the repository, and want to specify the flags @samp{-kb}
656to @samp{cvs add}. You can type @kbd{C-u a -kb RET}, enter the 658to @samp{cvs add}. You can type @kbd{C-u a -kb @key{RET}}, enter the
657description, and the file will be added. Subsequent adds will use the 659description, and the file will be added. Subsequent @samp{cvs add}
658previously prevailing flags. 660commands will use the previously prevailing flags.
659 661
660As a second example, say you are about to perform a diff and want to see 662As a second example, say you are about to perform a diff and want to see
661the result in unified diff format, i.e. you'd like to pass the flag 663the result in unified diff format, i.e. you'd like to pass the flag
662@samp{-u} to both @samp{cvs diff} and @samp{diff}. You'd also like all 664@samp{-u} to both @samp{cvs diff} and @samp{diff}. You'd also like all
663subsequent diffs to use this flag. You can type @kbd{C-u C-u = -u RET} 665subsequent diffs to use this flag. You can type @kbd{C-u C-u = -u @key{RET}}
664and the diff will be performed, and the default flags will be set to 666and the diff will be performed, and the default flags will be set to
665@code{("-u")}. You can of course override this flag for a single diff 667@code{("-u")}. You can of course override this flag for a single diff
666by using a single @kbd{C-u} prefix argument. 668by using a single @kbd{C-u} prefix argument.
667 669
668Additionally to this, some commands can take @dfn{special prefix} arguments. 670@cindex Special prefix
669These work as follows: when called with a @kbd{C-u} prefix, the user is 671In addition to this, some commands can take @dfn{special prefix} arguments.
672These work as follows: When called with a @kbd{C-u} prefix, the user is
670prompted for a new value of the special prefix and the special prefix is 673prompted for a new value of the special prefix and the special prefix is
671activated for the next command. When called without the @kbd{C-u} 674activated for the next command. When called without the @kbd{C-u}
672prefix, the special prefix is re-activated (with the same value as last 675prefix, the special prefix is re-activated (with the same value as last
@@ -676,7 +679,6 @@ prefix activates it for all subsequent commands until you deactivate it
676explicitly. The special prefixes are: 679explicitly. The special prefixes are:
677 680
678@table @kbd 681@table @kbd
679
680@item T 682@item T
681Toggles whether or not marks will be active in the next command.@refill 683Toggles whether or not marks will be active in the next command.@refill
682 684
@@ -685,14 +687,13 @@ Provide the next command with a branch (can be any version
685specifier) to work on.@refill 687specifier) to work on.@refill
686 688
687@item B 689@item B
688Secondary branch argument. Only meaningful if `b' is also used. 690Secondary branch argument. Only meaningful if @kbd{b} is also used.
689It can be used to provide a second branch argument to 691It can be used to provide a second branch argument to
690@code{cvs-mode-diff} or to @code{cvs-mode-update}. 692@code{cvs-mode-diff} or to @code{cvs-mode-update}.
691 693
692@item M-f 694@item M-f
693Forces the next command to apply to every selected file rather than only 695Forces the next command to apply to every selected file rather than only
694to the ones PCL-CVS thinks are relevant. 696to the ones PCL-CVS thinks are relevant.
695
696@end table 697@end table
697 698
698@node Updating the buffer, Movement commands, Setting flags, Commands 699@node Updating the buffer, Movement commands, Setting flags, Commands
@@ -708,38 +709,35 @@ The following commands can be used from within the @samp{*cvs*} buffer
708to update the display: 709to update the display:
709 710
710@table @kbd 711@table @kbd
711
712@item M-u 712@item M-u
713This runs the command @samp{cvs-update}.@refill 713Runs the command @samp{cvs-update}.@refill
714 714
715@item M-e 715@item M-e
716This runs the command @samp{cvs-examine}.@refill 716Runs the command @samp{cvs-examine}.@refill
717 717
718@item M-s 718@item M-s
719This runs the command @samp{cvs-status}.@refill 719Runs the command @samp{cvs-status}.@refill
720
721@end table 720@end table
722 721
723Additionally to the above commands which operate on the whole module, 722In addition to the above commands which operate on the whole module,
724you can run the equivalent CVS command on just a subset of the 723you can run the equivalent CVS command on just a subset of the
725files/directories with 724files/directories with these keys:
726 725
727@table @kbd 726@table @kbd
728
729@item O 727@item O
730Runs @code{cvs-mode-update} on the selected files. When run on the 728Runs @code{cvs-mode-update} on the selected files. When run on the
731top level directory, this is equivalent to @kbd{M-u}.@refill 729top-level directory, this is equivalent to @kbd{M-u}.@refill
732 730
733@item e 731@item e
734Runs @code{cvs-mode-examine} on the selected files. When run on the 732Runs @code{cvs-mode-examine} on the selected files. When run on the
735top level directory, this is equivalent to @kbd{M-e}.@refill 733top-level directory, this is equivalent to @kbd{M-e}.@refill
736 734
735@findex cvs-status-mode
737@item s 736@item s
738Runs @code{cvs-mode-status} on the selected files. When run on the 737Runs @code{cvs-mode-status} on the selected files. When run on the
739top level directory, this is equivalent to @kbd{M-s} except that 738top-level directory, this is equivalent to @kbd{M-s}, except that
740CVS output will be shown in a @samp{*cvs-info*} buffer that will be 739CVS output will be shown in a @samp{*cvs-info*} buffer that will be
741put in @samp{cvs-status-mode}.@refill 740put in @samp{cvs-status-mode}.@refill
742
743@end table 741@end table
744 742
745 743
@@ -748,9 +746,9 @@ put in @samp{cvs-status-mode}.@refill
748@cindex Movement Commands 746@cindex Movement Commands
749@findex cvs-mode-next-line 747@findex cvs-mode-next-line
750@findex cvs-mode-previous-line 748@findex cvs-mode-previous-line
751@kindex SPC - Move down one file 749@kindex SPC@r{--Move down one file}
752@kindex n - Move down one file 750@kindex n@r{--Move down one file}
753@kindex p - Move up one file 751@kindex p@r{--Move up one file}
754 752
755You can use most normal Emacs commands to move forward and backward in 753You can use most normal Emacs commands to move forward and backward in
756the buffer. Some keys are rebound to functions that take advantage of 754the buffer. Some keys are rebound to functions that take advantage of
@@ -758,13 +756,13 @@ the fact that the buffer is a PCL-CVS buffer:
758 756
759 757
760@table @kbd 758@table @kbd
761@item SPC 759@item @key{SPC}
762@itemx n 760@itemx n
763These keys move the cursor one file forward, towards the end of the 761These keys move the cursor one file forward, towards the end of the
764buffer (@code{cvs-mode-next-line}).@refill 762buffer (@code{cvs-mode-next-line}).@refill
765 763
766@itemx p 764@itemx p
767This key move one file backward, towards the beginning of the buffer 765This key moves one file backward, towards the beginning of the buffer
768(@code{cvs-mode-previous-line}). 766(@code{cvs-mode-previous-line}).
769@end table 767@end table
770 768
@@ -773,13 +771,13 @@ This key move one file backward, towards the beginning of the buffer
773@section Marking files 771@section Marking files
774@cindex Selecting files (commands to mark files) 772@cindex Selecting files (commands to mark files)
775@cindex Marking files 773@cindex Marking files
776@kindex m - marking a file 774@kindex m@r{--marking a file}
777@kindex M - marking all files 775@kindex M@r{--marking all files}
778@kindex u - unmark a file 776@kindex u@r{--unmark a file}
779@kindex ESC DEL - unmark all files 777@kindex ESC DEL@r{--unmark all files}
780@kindex DEL - unmark previous file 778@kindex DEL@r{--unmark previous file}
781@kindex % - mark files matching regexp 779@kindex %@r{--mark files matching regexp}
782@kindex T - toggle marks 780@kindex T@r{--toggle marks}
783@findex cvs-mode-mark 781@findex cvs-mode-mark
784@findex cvs-mode-unmark 782@findex cvs-mode-unmark
785@findex cvs-mode-mark-all-files 783@findex cvs-mode-mark-all-files
@@ -794,12 +792,12 @@ You can mark and unmark files with these commands:
794@table @kbd 792@table @kbd
795@item m 793@item m
796This marks the file that the cursor is positioned on. If the cursor is 794This marks the file that the cursor is positioned on. If the cursor is
797positioned on a directory all files in that directory will be marked. 795positioned on a directory all files in that directory are marked.
798(@code{cvs-mode-mark}).@refill 796(@code{cvs-mode-mark}).@refill
799 797
800@item u 798@item u
801Unmark the file that the cursor is positioned on. If the cursor is on a 799Unmark the file that the cursor is positioned on. If the cursor is on a
802directory, all files in that directory will be unmarked. 800directory, all files in that directory are unmarked.
803(@code{cvs-mode-unmark}).@refill 801(@code{cvs-mode-unmark}).@refill
804 802
805@item M 803@item M
@@ -824,12 +822,11 @@ Toggle use of marks for the next command (@code{cvs-mode-toggle-marks}).
824@node Committing changes, Editing files, Marking files, Commands 822@node Committing changes, Editing files, Marking files, Commands
825@section Committing changes 823@section Committing changes
826@cindex Committing changes 824@cindex Committing changes
827@cindex Ci
828@findex cvs-mode-commit 825@findex cvs-mode-commit
829@findex cvs-mode-commit-setup 826@findex cvs-mode-commit-setup
830@kindex c - commit files 827@kindex c@r{--commit files}
831@kindex C - commit files with ChangeLog message 828@kindex C@r{--commit files with @file{ChangeLog} message}
832@vindex cvs-auto-revert (variable) 829@vindex cvs-auto-revert@r{ (variable)}
833@cindex Commit buffer 830@cindex Commit buffer
834@cindex Edit buffer 831@cindex Edit buffer
835@cindex Erasing commit message 832@cindex Erasing commit message
@@ -850,14 +847,14 @@ commit (@pxref{Log Edit Mode}).@refill
850@item 847@item
851When you're happy with it, you type @kbd{C-c C-c} to do the actual 848When you're happy with it, you type @kbd{C-c C-c} to do the actual
852commit.@refill 849commit.@refill
853
854@end enumerate 850@end enumerate
855 851
856There's no hidden state, so you can abort the process or pick it up 852There's no hidden state, so you can abort the process or pick it up
857again at any time. 853again at any time.
858 854
855@vindex log-edit-confirm@r{ (variable)}
859The set of files actually committed is really decided only during the 856The set of files actually committed is really decided only during the
860very last step, which is mixed blessing. It allows you to go back and 857very last step, which is a mixed blessing. It allows you to go back and
861change your mind about which files to commit, but it also means that you 858change your mind about which files to commit, but it also means that you
862might inadvertently change the set of selected files. To reduce the 859might inadvertently change the set of selected files. To reduce the
863risk of error, @kbd{C-c C-c} will ask for confirmation if the set of 860risk of error, @kbd{C-c C-c} will ask for confirmation if the set of
@@ -867,14 +864,14 @@ change this last detail with @code{log-edit-confirm}.
867As for the difference between @kbd{c} (i.e. @code{cvs-mode-commit}) and 864As for the difference between @kbd{c} (i.e. @code{cvs-mode-commit}) and
868@kbd{C} (i.e. @code{cvs-mode-commit-setup}) is that the first gets you 865@kbd{C} (i.e. @code{cvs-mode-commit-setup}) is that the first gets you
869straight to @samp{*cvs-commit*} without erasing it or changing anything 866straight to @samp{*cvs-commit*} without erasing it or changing anything
870to its content, while the second will first erase @samp{*cvs-commit*} 867to its content, while the second first erases @samp{*cvs-commit*}
871and try to initialize it with a sane default (it will do that by either 868and tries to initialize it with a sane default (it does that by either
872using a template provided by the CVS administrator or by extracting a 869using a template provided by the CVS administrator or by extracting a
873relevant log message from a ChangeLog file). 870relevant log message from a @file{ChangeLog} file).
874 871
875If you are editing the files in your Emacs an automatic 872If you are editing the files in your Emacs, an automatic
876@samp{revert-buffer} will be performed. (If the file contains 873@samp{revert-buffer} will be performed. (If the file contains
877@samp{$@asis{Id}$} keywords @samp{cvs commit} will write a new file with 874@samp{$@asis{Id}$} keywords, @samp{cvs commit} will write a new file with
878the new values substituted. The auto-revert makes sure that you get 875the new values substituted. The auto-revert makes sure that you get
879them into your buffer). The revert will not occur if you have modified 876them into your buffer). The revert will not occur if you have modified
880your buffer, or if @samp{cvs-auto-revert} is set to 877your buffer, or if @samp{cvs-auto-revert} is set to
@@ -891,9 +888,9 @@ your buffer, or if @samp{cvs-auto-revert} is set to
891@findex cvs-mode-find-file 888@findex cvs-mode-find-file
892@findex cvs-mode-find-file-other-window 889@findex cvs-mode-find-file-other-window
893@findex cvs-mode-add-change-log-entry-other-window 890@findex cvs-mode-add-change-log-entry-other-window
894@kindex f - find file or directory 891@kindex f@r{--find file or directory}
895@kindex o - find file in other window 892@kindex o@r{--find file in other window}
896@kindex A - add ChangeLog entry 893@kindex A@r{--add @file{ChangeLog} entry}
897 894
898There are currently three commands that can be used to find a file (that 895There are currently three commands that can be used to find a file (that
899is, load it into a buffer and start editing it there). These commands 896is, load it into a buffer and start editing it there). These commands
@@ -902,11 +899,9 @@ files.
902 899
903@table @kbd 900@table @kbd
904@item f 901@item f
905Find the file that the cursor points to. Run @samp{dired} 902Find the file that the cursor points to (@code{cvs-mode-find-file}). If
906@ifinfo 903the cursor points to a directory, run @code{dired} on that directory;
907(@pxref{Dired,,,Emacs}) 904@inforef{Dired, , emacs}.
908@end ifinfo
909if the cursor points to a directory (@code{cvs-mode-find-file}).@refill
910 905
911@item o 906@item o
912Like @kbd{f}, but use another window 907Like @kbd{f}, but use another window
@@ -914,9 +909,9 @@ Like @kbd{f}, but use another window
914 909
915@item A 910@item A
916Invoke @samp{add-change-log-entry-other-window} to edit a 911Invoke @samp{add-change-log-entry-other-window} to edit a
917@samp{ChangeLog} file. The @samp{ChangeLog} will be found in the 912@file{ChangeLog} file. The @file{ChangeLog} file will be found in the
918directory or a parent of the directory of the file the cursor points to. 913directory of the file the cursor points to, or in a parent of that
919(@code{cvs-mode-add-change-log-entry-other-window}).@refill 914directory. (@code{cvs-mode-add-change-log-entry-other-window}).@refill
920@end table 915@end table
921 916
922 917
@@ -925,21 +920,21 @@ directory or a parent of the directory of the file the cursor points to.
925@cindex Status (cvs command) 920@cindex Status (cvs command)
926@cindex Log (RCS/cvs command) 921@cindex Log (RCS/cvs command)
927@cindex Getting status 922@cindex Getting status
928@kindex l - run @samp{cvs log} 923@kindex l@r{--run @samp{cvs log}}
929@kindex s - run @samp{cvs status} 924@kindex s@r{--run @samp{cvs status}}
930@findex cvs-mode-log 925@findex cvs-mode-log
931@findex cvs-mode-status 926@findex cvs-mode-status
932 927
933@table @kbd 928@table @kbd
934@item l 929@item l
935Call the command @code{cvs-mode-log} which runs @samp{cvs log} on all 930Call the command @code{cvs-mode-log} which runs @samp{cvs log} on all
936selected files, and show the result in a temporary @samp{*cvs-info*} 931selected files, and show the result in a temporary buffer
937buffer (@pxref{Log View Mode}). 932@samp{*cvs-info*} (@pxref{Log View Mode}).
938 933
939@item s 934@item s
940Call the command @code{cvs-mode-status} which runs @samp{cvs status} on 935Call the command @code{cvs-mode-status} which runs @samp{cvs status} on
941all selected files, and show the result in a temporary @samp{*cvs-info*} 936all selected files, and show the result in a temporary buffer
942buffer (@pxref{CVS Status Mode}). 937@samp{*cvs-info*} (@pxref{CVS Status Mode}).
943@end table 938@end table
944 939
945 940
@@ -950,20 +945,20 @@ buffer (@pxref{CVS Status Mode}).
950@cindex Resurrecting files 945@cindex Resurrecting files
951@cindex Deleting files 946@cindex Deleting files
952@cindex Putting files under CVS control 947@cindex Putting files under CVS control
953@kindex a - add a file 948@kindex a@r{--add a file}
954@kindex r - remove a file 949@kindex r@r{--remove a file}
955@findex cvs-mode-add 950@findex cvs-mode-add
956@findex cvs-mode-remove-file 951@findex cvs-mode-remove-file
957 952
958The following commands are available to make it easy to add and remove 953The following commands are available to make it easy to add fuiles to
959files from the CVS repository. 954and remove them from the CVS repository.
960 955
961@table @kbd 956@table @kbd
962@item a 957@item a
963Add all selected files. This command can be used on @samp{Unknown} 958Add all selected files. This command can be used on @samp{Unknown}
964files (@pxref{Buffer contents}). The status of the file will change to 959files (@pxref{Buffer contents}). The status of the file will change to
965@samp{Added}, and you will have to use @kbd{c} (@samp{cvs-mode-commit}, 960@samp{Added}, and you will have to use @kbd{c} (@samp{cvs-mode-commit}
966@pxref{Committing changes}) to really add the file to the 961@pxref{Committing changes}), to really add the file to the
967repository.@refill 962repository.@refill
968 963
969This command can also be used on @samp{Removed} files (before you commit 964This command can also be used on @samp{Removed} files (before you commit
@@ -973,10 +968,10 @@ The command that is run is @code{cvs-mode-add}.
973 968
974@item r 969@item r
975This command removes the selected files (after prompting for 970This command removes the selected files (after prompting for
976confirmation). The files are @samp{rm}ed from your directory and 971confirmation). The files are deleted from your directory and
977(unless the status was @samp{Unknown}; @pxref{Buffer contents}) they will 972(unless the status was @samp{Unknown}; @pxref{Buffer contents}) they will
978also be @samp{cvs remove}d. If the files were @samp{Unknown} they will 973also be @samp{cvs remove}d. If the files' status was @samp{Unknown}
979disappear from the buffer. Otherwise their status will change to 974they will disappear from the buffer. Otherwise their status will change to
980@samp{Removed}, and you must use @kbd{c} (@samp{cvs-mode-commit}, 975@samp{Removed}, and you must use @kbd{c} (@samp{cvs-mode-commit},
981@pxref{Committing changes}) to commit the removal.@refill 976@pxref{Committing changes}) to commit the removal.@refill
982 977
@@ -988,7 +983,7 @@ The command that is run is @code{cvs-mode-remove-file}.
988@section Undoing changes 983@section Undoing changes
989@cindex Undo changes 984@cindex Undo changes
990@cindex Flush changes 985@cindex Flush changes
991@kindex U - undo changes 986@kindex U@r{--undo changes}
992@findex cvs-mode-undo-local-changes 987@findex cvs-mode-undo-local-changes
993 988
994@table @kbd 989@table @kbd
@@ -1007,8 +1002,8 @@ version from the repository (@code{cvs-mode-undo-local-changes}.
1007@cindex Getting rid of uninteresting lines 1002@cindex Getting rid of uninteresting lines
1008@cindex Removing uninteresting (processed) lines 1003@cindex Removing uninteresting (processed) lines
1009@cindex Handled lines, removing them 1004@cindex Handled lines, removing them
1010@kindex x - remove processed entries 1005@kindex x@r{--remove processed entries}
1011@kindex C-k - remove selected entries 1006@kindex C-k@r{--remove selected entries}
1012@findex cvs-mode-remove-handled 1007@findex cvs-mode-remove-handled
1013@findex cvs-mode-acknowledge 1008@findex cvs-mode-acknowledge
1014@findex cvs-mode-ignore 1009@findex cvs-mode-ignore
@@ -1017,12 +1012,13 @@ version from the repository (@code{cvs-mode-undo-local-changes}.
1017@item x 1012@item x
1018This command allows you to remove all entries that you have processed. 1013This command allows you to remove all entries that you have processed.
1019More specifically, the lines for @samp{Up-to-date} files (@pxref{Buffer 1014More specifically, the lines for @samp{Up-to-date} files (@pxref{Buffer
1020contents} are removed from the buffer. If a directory becomes empty the heading 1015contents}) are removed from the buffer. If a directory becomes empty
1021for that directory is also removed. This makes it easier to get an 1016the heading for that directory is also removed. This makes it easier to
1022overview of what needs to be done. 1017get an overview of what needs to be done.
1023 1018
1024The command is called @code{cvs-mode-remove-handled}. If 1019@vindex cvs-mode-remove-handled@r{ (variable)}
1025@samp{cvs-auto-remove-handled} is set to non-@code{nil} this will 1020@kbd{x} invokes @code{cvs-mode-remove-handled}. If
1021@samp{cvs-auto-remove-handled} is set to non-@code{nil}, this will
1026automatically be performed after every commit.@refill 1022automatically be performed after every commit.@refill
1027 1023
1028@item C-k 1024@item C-k
@@ -1033,17 +1029,18 @@ not delete, but that you want to delete (@code{cvs-mode-acknowledge}).
1033 1029
1034@node Ignoring files, Viewing differences, Removing handled entries, Commands 1030@node Ignoring files, Viewing differences, Removing handled entries, Commands
1035@section Ignoring files 1031@section Ignoring files
1036@kindex i - ignoring files 1032@cindex Ignoring files
1033@kindex i@r{--ignoring files}
1037@findex cvs-mode-ignore 1034@findex cvs-mode-ignore
1038 1035
1039@table @kbd 1036@table @kbd
1040@item i 1037@item i
1041Arrange so that CVS will ignore the selected files. The file names are 1038Arrange so that CVS will ignore the selected files. The file names are
1042added to the @file{.cvsignore} file in the corresponding directory. If 1039added to the @file{.cvsignore} file in the corresponding directory. If
1043the @file{.cvsignore} doesn't exist it will be created. 1040the @file{.cvsignore} file doesn't exist, it will be created.
1044 1041
1045The @file{.cvsignore} file should normally be added to the repository, 1042The @file{.cvsignore} file should normally be added to the repository,
1046but you could ignore it also if you like it better that way. 1043but you could ignore it as well, if you like it better that way.
1047 1044
1048This runs @code{cvs-mode-ignore}. 1045This runs @code{cvs-mode-ignore}.
1049@end table 1046@end table
@@ -1051,18 +1048,19 @@ This runs @code{cvs-mode-ignore}.
1051@node Viewing differences, Invoking Ediff, Ignoring files, Commands 1048@node Viewing differences, Invoking Ediff, Ignoring files, Commands
1052@section Viewing differences 1049@section Viewing differences
1053@cindex Diff 1050@cindex Diff
1054@cindex Invoking ediff 1051@cindex Invoking @code{diff}
1055@cindex Conflicts, how to resolve them 1052@cindex Conflicts, how to resolve them
1056@cindex Viewing differences 1053@cindex Viewing differences
1057@kindex d= - run @samp{cvs diff} 1054@kindex d=@r{--run @samp{cvs diff}}
1058@kindex = - run @samp{cvs diff} 1055@kindex =@r{--run @samp{cvs diff}}
1059@kindex dh - diff against head of repository 1056@kindex db@r{--diff against base version}
1060@kindex dv - diff against vendor branch 1057@kindex dh@r{--diff against head of repository}
1058@kindex dv@r{--diff against vendor branch}
1061@findex cvs-mode-diff 1059@findex cvs-mode-diff
1062@findex cvs-mode-diff-backup 1060@findex cvs-mode-diff-backup
1063@findex cvs-mode-diff-head 1061@findex cvs-mode-diff-head
1064@findex cvs-mode-diff-vendor 1062@findex cvs-mode-diff-vendor
1065@vindex cvs-invert-ignore-marks 1063@vindex cvs-invert-ignore-marks@r{ (variable)}
1066 1064
1067@table @kbd 1065@table @kbd
1068@item = 1066@item =
@@ -1073,23 +1071,22 @@ that they are based on. (@code{cvs-mode-diff}).@refill
1073@item d b 1071@item d b
1074If CVS finds a conflict while merging two versions of a file (during a 1072If CVS finds a conflict while merging two versions of a file (during a
1075@samp{cvs update}, @pxref{Updating the buffer}) it will save the 1073@samp{cvs update}, @pxref{Updating the buffer}) it will save the
1076original file in a file called @file{.#@var{FILE}.@var{VERSION}} where 1074original file in a file called @file{.#@var{file}.@var{version}} where
1077@var{FILE} is the name of the file, and @var{VERSION} is the revision 1075@var{file} is the name of the file, and @var{version} is the revision
1078number that your file was based on.@refill 1076number that @var{file} was based on.@refill
1079 1077
1080With the @kbd{b} command you can run a @samp{diff} on the files 1078With the @kbd{d b} command you can run a @samp{diff} on the files
1081@file{.#@var{FILE}.@var{VERSION}} and @file{@var{FILE}}.@refill 1079@file{.#@var{file}.@var{version}} and @file{@var{file}}.@refill
1082 1080
1083@item d h 1081@item d h
1084Display a @samp{cvs diff} between the selected files and the head 1082Display a @samp{cvs diff} between the selected files and the head
1085revision in the repository (the most recent version on the current 1083revision in the repository (the most recent version on the current
1086branch). (@code{cvs-mode-diff-head}).@refill 1084branch) (@code{cvs-mode-diff-head}).@refill
1087 1085
1088@item d v 1086@item d v
1089Display a @samp{cvs diff} between the selected files and the head 1087Display a @samp{cvs diff} between the selected files and the head
1090revision of the vendor branch in the repository. 1088revision of the vendor branch in the repository.
1091(@code{cvs-mode-diff-vendor}).@refill 1089(@code{cvs-mode-diff-vendor}).@refill
1092
1093@end table 1090@end table
1094 1091
1095By default, @samp{diff} commands ignore the marks. This can be changed 1092By default, @samp{diff} commands ignore the marks. This can be changed
@@ -1100,37 +1097,38 @@ with @code{cvs-invert-ignore-marks}.
1100@cindex Ediff 1097@cindex Ediff
1101@cindex Invoking ediff 1098@cindex Invoking ediff
1102@cindex Viewing differences 1099@cindex Viewing differences
1103@cindex Conflicts, resolving 1100@cindex Conflicts, how to resolve them
1104@cindex Resolving conflicts 1101@cindex Resolving conflicts
1105@kindex e - invoke @samp{ediff} 1102@kindex e@r{--invoke @samp{ediff}}
1106@findex cvs-mode-idiff 1103@findex cvs-mode-idiff
1107@findex cvs-mode-imerge 1104@findex cvs-mode-imerge
1108 1105
1109@table @kbd 1106@table @kbd
1107@vindex cvs-idiff-imerge-handlers@r{ (variable)}
1110@item d e 1108@item d e
1111This command uses ediff (or emerge depending on 1109This uses @code{ediff} (or @code{emerge}, depending on
1112@samp{cvs-idiff-imerge-handlers}) to allow you to view diffs. 1110@samp{cvs-idiff-imerge-handlers}) to allow you to view diffs.
1113If a prefix argument is given, PCL-CVS will prompt for a revision against 1111If a prefix argument is given, PCL-CVS will prompt for a revision against
1114which the diff should be made, else the default will be to use the BASE 1112which the diff should be made, else the default will be to use the BASE
1115revision. 1113revision.
1116 1114
1115@cindex Merging with @code{ediff} and @code{emerge}
1117@item d E 1116@item d E
1118This command use ediff (or emerge, see above) to allow you to do an 1117This command use @code{ediff} (or @code{emerge}, see above) to allow you
1119interactive 3-way merge. 1118to do an interactive 3-way merge.
1120 1119
1121@strong{Note:} When the file status is @samp{Conflict}, 1120@strong{Note:} When the file status is @samp{Conflict},
1122CVS has already performed a merge. The resulting file is not used in 1121CVS has already performed a merge. The resulting file is not used in
1123any way if you use this command. If you use the @kbd{q} command inside 1122any way if you use this command. If you use the @kbd{q} command inside
1124@samp{ediff} (to successfully terminate a merge) the file that CVS 1123@samp{ediff} (to successfully terminate a merge) the file that CVS
1125created will be overwritten.@refill 1124created will be overwritten.@refill
1126
1127@end table 1125@end table
1128 1126
1129@node Updating files, Tagging files, Invoking Ediff, Commands 1127@node Updating files, Tagging files, Invoking Ediff, Commands
1130@section Updating files 1128@section Updating files
1131@findex cvs-mode-update 1129@findex cvs-mode-update
1132@cindex Updating files 1130@cindex Updating files
1133@kindex O - update files 1131@kindex O@r{--update files}
1134 1132
1135@table @kbd 1133@table @kbd
1136@item O 1134@item O
@@ -1145,24 +1143,23 @@ Update all selected files with status @samp{Need-update} by running
1145@findex cvs-mode-untag 1143@findex cvs-mode-untag
1146@findex cvs-rtag 1144@findex cvs-rtag
1147@cindex Tagging files 1145@cindex Tagging files
1148@kindex M-t - repository tag files 1146@kindex M-t@r{--repository tag files}
1149@kindex t - tag files 1147@kindex t@r{--tag files}
1150@vindex cvs-invert-ignore-marks 1148@vindex cvs-invert-ignore-marks@r{ (variable)}
1151@vindex cvs-force-dir-tag 1149@vindex cvs-force-dir-tag@r{ (variable)}
1152 1150
1153@table @kbd 1151@table @kbd
1154@item t 1152@item t
1155Tag all selected files by running @samp{cvs tag} on 1153Tag all selected files by running @samp{cvs tag} on
1156them. (@code{cvs-mode-tag}). It's usually preferable to tag directories 1154them (@code{cvs-mode-tag}). It's usually preferable to tag a directory
1157at a time. Rather than selecting all files (which too often doesn't 1155at a time. Rather than selecting all files (which too often doesn't
1158select all files but only the few that are displayed), clear the 1156select all files but only the few that are displayed), clear the
1159selection with @kbd{M-DEL} (@code{cvs-mode-unmark-all-files}), position 1157selection with @kbd{M-DEL} (@code{cvs-mode-unmark-all-files}), position
1160the cursor on the directory you want to tag and hit @kbd{t}. 1158the cursor on the directory you want to tag and hit @kbd{t}.
1161
1162@end table 1159@end table
1163 1160
1164By default, @samp{tag} commands ignore the marks. This can be changed 1161By default, @samp{tag} commands ignore the marks. This can be changed
1165with @code{cvs-invert-ignore-marks}. Also by default @samp{tag} can 1162with @code{cvs-invert-ignore-marks}. Also, by default @samp{tag} can
1166only be applied to directories, see @code{cvs-force-dir-tag} if you want 1163only be applied to directories, see @code{cvs-force-dir-tag} if you want
1167to change this behavior. 1164to change this behavior.
1168 1165
@@ -1175,38 +1172,37 @@ to change this behavior.
1175@findex cvs-mode-delete-lock 1172@findex cvs-mode-delete-lock
1176@cindex Getting rid of lock files 1173@cindex Getting rid of lock files
1177@cindex Lock files 1174@cindex Lock files
1178@kindex q - quit PCL-CVS 1175@kindex q@r{--quit PCL-CVS}
1179@findex cvs-mode-quit 1176@findex cvs-mode-quit
1180@cindex Quitting 1177@cindex Quitting
1181@kindex h - help 1178@kindex h@r{--help}
1182@kindex ? - help 1179@kindex ?@r{--help}
1183@findex cvs-help 1180@findex cvs-help
1184@cindex Help 1181@cindex Help
1185 1182
1186@table @kbd 1183@table @kbd
1187@item M-x cvs-mode-byte-compile-files 1184@item M-x cvs-mode-byte-compile-files
1188Byte compile all selected files that end in .el. 1185Byte compile all selected files that end in @file{.el}.
1189 1186
1190@item M-x cvs-mode-delete-lock 1187@item M-x cvs-mode-delete-lock
1191This command deletes the lock files that 1188This command deletes the lock files that
1192the *cvs* buffer informs you about. You should normally never have to 1189the @samp{*cvs*} buffer informs you about. You should normally never have to
1193use this command since CVS tries very carefully to always remove the 1190use this command, since CVS tries very carefully to always remove the
1194lock files itself. 1191lock files itself.
1195 1192
1196You can only use this command when a message in the *cvs* buffer tells 1193You can only use this command when a message in the @samp{*cvs*} buffer tells
1197you so. You should wait a while before using this command in case 1194you so. You should wait a while before using this command in case
1198someone else is running a cvs command. 1195someone else is running a @code{cvs} command.
1199 1196
1200Also note that this only works if the repository is local. 1197Also note that this only works if the repository is local.
1201 1198
1202@item ? 1199@item ?
1203@itemx h 1200@itemx h
1204Show a summary of common command key bindings in the echo 1201Show a summary of common command key bindings in the echo
1205area. (@code{cvs-help}). 1202area (@code{cvs-help}).
1206 1203
1207@item q 1204@item q
1208Quit PCL-CVS, killing the @samp{*cvs*} buffer. (@code{cvs-mode-quit}). 1205Quit PCL-CVS, killing the @samp{*cvs*} buffer (@code{cvs-mode-quit}).
1209
1210@end table 1206@end table
1211 1207
1212@node Log Edit Mode, Log View Mode, Commands, Top 1208@node Log Edit Mode, Log View Mode, Commands, Top
@@ -1220,38 +1216,39 @@ Quit PCL-CVS, killing the @samp{*cvs*} buffer. (@code{cvs-mode-quit}).
1220 1216
1221@node Customization, Bugs, CVS Status Mode, Top 1217@node Customization, Bugs, CVS Status Mode, Top
1222@chapter Customization 1218@chapter Customization
1223@vindex log-edit-changelog-full-paragraphs (variable) 1219@vindex log-edit-changelog-full-paragraphs@r{ (variable)}
1224@vindex cvs-auto-remove-handled (variable) 1220@vindex cvs-auto-remove-handled@r{ (variable)}
1225@vindex cvs-auto-remove-directories (variable) 1221@vindex cvs-auto-remove-directories@r{ (variable)}
1226@vindex cvs-update-prog-output-skip-regexp (variable) 1222@vindex cvs-update-prog-output-skip-regexp@r{ (variable)}
1227@vindex cvs-cvsroot (variable) 1223@vindex cvs-cvsroot@r{ (variable)}
1228@vindex cvs-auto-revert (variable) 1224@vindex cvs-auto-revert@r{ (variable)}
1229@vindex log-edit-require-final-newline (variable) 1225@vindex log-edit-require-final-newline@r{ (variable)}
1230@vindex cvs-sort-ignore-file (variable) 1226@vindex cvs-sort-ignore-file@r{ (variable)}
1231@cindex Customization 1227@cindex Customization
1232@cindex Variables, list of all 1228@cindex Variables, list of all
1233@cindex Erasing the input buffer 1229@cindex Erasing input buffer
1234@cindex Context diff, how to get 1230@cindex Context diff, how to get
1235@cindex Unidiff, how to get 1231@cindex Unidiff, how to get
1236@cindex Automatically remove handled files 1232@cindex Automatically remove handled files
1237@cindex -u option in modules file 1233@cindex @samp{-u} option in modules file
1238@cindex Modules file (-u option) 1234@cindex Modules file (@samp{-u} option)
1239@cindex Update program (-u option in modules file) 1235@cindex Update program (@samp{-u} option in modules file)
1240@cindex Reverting buffers after commit 1236@cindex Reverting buffers after commit
1241@cindex Require final newline 1237@cindex Require final newline
1242@cindex Automatically inserting newline 1238@cindex Automatically inserting newline
1243@cindex Commit message, inserting newline 1239@cindex Commit message, inserting newline
1244@cindex Sorting the .cvsignore file 1240@cindex Sorting @file{.cvsignore} file
1245@cindex .cvsignore file, sorting 1241@cindex @file{.cvsignore} file, sorting
1246@cindex Automatically sorting .cvsignore 1242@cindex Automatically sorting @file{.cvsignore}
1243@cindex @samp{CVSROOT}, overriding
1247 1244
1248If you have an idea about any customization that would be handy but 1245If you have an idea about any customization that would be handy but
1249isn't present in this list, please tell me! 1246isn't present in this list, please tell me!
1250For info on how to reach me, see @xref{Bugs}.@refill 1247For info on how to reach me, see @ref{Bugs}.@refill
1251 1248
1252@table @samp 1249@table @samp
1253@item cvs-auto-remove-handled 1250@item cvs-auto-remove-handled
1254If this variable is set to any non-@code{nil} value 1251If this variable is set to any non-@code{nil} value,
1255@samp{cvs-mode-remove-handled} will be called every time you check in 1252@samp{cvs-mode-remove-handled} will be called every time you check in
1256files, after the check-in is ready. @xref{Removing handled 1253files, after the check-in is ready. @xref{Removing handled
1257entries}.@refill 1254entries}.@refill
@@ -1268,56 +1265,59 @@ This variable defaults to @samp{t}. @xref{Committing changes}.@refill
1268 1265
1269@item cvs-update-prog-output-skip-regexp 1266@item cvs-update-prog-output-skip-regexp
1270The @samp{-u} flag in the @file{modules} file can be used to run a command 1267The @samp{-u} flag in the @file{modules} file can be used to run a command
1271whenever a @samp{cvs update} is performed (see cvs(5)). This regexp 1268whenever a @samp{cvs update} is performed (see @code{cvs(5)}). This regexp
1272is used to search for the last line in that output. It is normally set 1269is used to search for the last line in that output. It is normally set
1273to @samp{"$"}. That setting is only correct if the command outputs 1270to @samp{$}. That setting is only correct if the command outputs
1274nothing. Note that PCL-CVS will get very confused if the command 1271nothing. Note that PCL-CVS will get very confused if the command
1275outputs @emph{anything} to @samp{stderr}. 1272outputs @emph{anything} to @code{stderr}.
1276 1273
1277@item cvs-cvsroot 1274@item cvs-cvsroot
1278This variable can be set to override @samp{CVSROOT}. It should be a 1275This variable can be set to override @samp{CVSROOT}. It should be a
1279string. If it is set then every time a cvs command is run it will be 1276string. If it is set, then every time a @code{cvs} command is run, it
1280called as @samp{cvs -d @var{cvs-cvsroot}@dots{}} This can be useful if 1277will be called as @samp{cvs -d @var{cvs-cvsroot}@dots{}}. This can be
1281your site has several repositories. 1278useful if your site has several repositories.
1282 1279
1283@item log-edit-require-final-newline 1280@item log-edit-require-final-newline
1284When you enter a log message in the @samp{*cvs-commit-message*} buffer 1281@c wordy to avoid unhderfull hbox
1285PCL-CVS will normally automatically insert a trailing newline, unless 1282When you enter a log message by typing into the
1286there already is one. This behavior can be controlled via 1283@samp{*cvs-commit-message*} buffer, PCL-CVS normally automatically
1287@samp{cvs-commit-buffer-require-final-newline}. If it is @samp{t} (the 1284inserts a trailing newline, unless there already is one. This behavior
1288default behavior), a newline will always be appended. If it is 1285can be controlled via @samp{cvs-commit-buffer-require-final-newline}.
1289@samp{nil}, newlines will never be appended. Any other value causes 1286If it is @samp{t} (the default behavior), a newline will always be
1290PCL-CVS to ask the user whenever there is no trailing newline in the 1287appended. If it is @samp{nil}, newlines will never be appended. Any
1291commit message buffer. 1288other value causes PCL-CVS to ask the user whenever there is no trailing
1292 1289newline in the commit message buffer.
1290
1291@findex cvs-mode-changelog-commit
1293@item log-edit-changelog-full-paragraphs 1292@item log-edit-changelog-full-paragraphs
1294If this variable is non-@code{nil}, include full ChangeLog paragraphs in 1293If this variable is non-@code{nil}, include full @file{ChangeLog}
1295the CVS log created by @samp{cvs-mode-changelog-commit}. 1294paragraphs in the CVS log created by @samp{cvs-mode-changelog-commit}.
1296This may be set in the local variables section of a ChangeLog, to 1295This may be set in the local variables section of a @file{ChangeLog}
1297indicate the policy for that ChangeLog. 1296file, to indicate the policy for that @file{ChangeLog}.
1298 1297
1299A ChangeLog paragraph is a bunch of log text containing no blank lines; 1298@cindex @file{ChangeLog} paragraphs
1300a paragraph usually describes a set of changes with a single purpose, 1299A @dfn{@file{ChangeLog} paragraph} is a bunch of log text containing no
1301but perhaps spanning several functions in several files. Changes in 1300blank lines; a paragraph usually describes a set of changes with a
1302different paragraphs are unrelated. 1301single purpose, but perhaps spanning several functions in several files.
1302Changes in different paragraphs are unrelated.
1303 1303
1304You could argue that the CVS log entry for a file should contain the 1304You could argue that the CVS log entry for a file should contain the
1305full ChangeLog paragraph mentioning the change to the file, even though 1305full @file{ChangeLog} paragraph mentioning the change to the file, even though
1306it may mention other files, because that gives you the full context you 1306it may mention other files, because that gives you the full context you
1307need to understand the change. This is the behavior you get when this 1307need to understand the change. This is the behavior you get when this
1308variable is set to t, the default. 1308variable is set to @code{t}, the default.
1309 1309
1310On the other hand, you could argue that the CVS log entry for a change 1310On the other hand, you could argue that the CVS log entry for a change
1311should contain only the text for the changes which occurred in that 1311should contain only the text for the changes which occurred in that
1312file, because the CVS log is per-file. This is the behavior you get 1312file, because the CVS log is per-file. This is the behavior you get
1313when this variable is set to nil. 1313when this variable is set to @code{nil}.
1314 1314
1315@findex cvs-mode-ignore@r{, and @file{.cvsignore} sorting}
1315@item cvs-sort-ignore-file 1316@item cvs-sort-ignore-file
1316If this variable is set to any non-@samp{nil} value the 1317If this variable is set to any non-@samp{nil} value, the
1317@file{.cvsignore} will always be sorted whenever you use 1318@file{.cvsignore} file will always be sorted whenever you use
1318@samp{cvs-mode-ignore} to add a file to it. This option is on by 1319@samp{cvs-mode-ignore} to add a file to it. This option is on by
1319default. 1320default.
1320
1321@end table 1321@end table
1322 1322
1323 1323
@@ -1334,32 +1334,29 @@ default.
1334@vindex cvs-need-action-face (face) 1334@vindex cvs-need-action-face (face)
1335@vindex cvs-marked-face (face) 1335@vindex cvs-marked-face (face)
1336 1336
1337The Emacs lisp file @file{pcl-cvs-xemacs.el} included with PCL-CVS adds 1337PCL-CVS adds a few extra features, including menus, mouse bindings, and
1338a few extra features for XEmacs, including menus, mouse bindings, and
1339fontification the the @samp{*cvs*} buffer. The faces defined for 1338fontification the the @samp{*cvs*} buffer. The faces defined for
1340fontification are listed below: 1339fontification are listed below:
1341 1340
1342@table @samp 1341@table @samp
1343
1344@item cvs-header-face 1342@item cvs-header-face
1345This face is used to highlight directory changes. 1343used to highlight directory changes.
1346 1344
1347@item cvs-filename-face 1345@item cvs-filename-face
1348This face is used to highlight file names. 1346used to highlight file names.
1349 1347
1350@item cvs-unknown-face 1348@item cvs-unknown-face
1351This face is used to highlight the status of files which are UNKNOWN. 1349used to highlight the status of files which are @samp{Unknown}.
1352 1350
1353@item cvs-handled-face 1351@item cvs-handled-face
1354This face is used to highlight the status of files which are handled and 1352used to highlight the status of files which are handled and
1355need no further action. 1353need no further action.
1356 1354
1357@item cvs-need-action-face 1355@item cvs-need-action-face
1358This face is used to highlight the status of files which still need action. 1356used to highlight the status of files which still need action.
1359 1357
1360@item cvs-marked-face 1358@item cvs-marked-face
1361This face is used to highlight the marked file indicator (@samp{*}). 1359used to highlight the marked file indicator (@samp{*}).
1362
1363@end table 1360@end table
1364 1361
1365 1362
@@ -1375,17 +1372,17 @@ This face is used to highlight the marked file indicator (@samp{*}).
1375@cindex Problems, list of common 1372@cindex Problems, list of common
1376 1373
1377If you find a bug or misfeature, don't hesitate to tell us! Send email 1374If you find a bug or misfeature, don't hesitate to tell us! Send email
1378to @samp{bugs-gnu-emacs@@gnu.org} which gatewayed to the newsgroup 1375to @email{bug-gnu-emacs@@gnu.org} which is gatewayed to the newsgroup
1379@samp{gnu.emacs.bugs}. Feature requests should also be sent there. We 1376@samp{gnu.emacs.bugs}. Feature requests should also be sent there. We
1380prefer discussing one thing at a time. If you find several unrelated 1377prefer discussing one thing at a time. If you find several unrelated
1381bugs, please report them separately. If you are running PCL-CVS under 1378bugs, please report them separately. If you are running PCL-CVS under
1382XEmacs, you should also send a copy of bug reports to 1379XEmacs, you should also send a copy of bug reports to
1383@samp{xemacs-beta@@xemacs.org}. 1380@email{xemacs-beta@@xemacs.org}.
1384 1381
1385If you have problems using PCL-CVS or other questions, 1382If you have problems using PCL-CVS or other questions, send them to
1386@samp{help-gnu-emacs@@gnu.org} also gatewayed to @samp{gnu.emacs.help} 1383@email{help-gnu-emacs@@gnu.org}, which is gatewayed to the
1387is a good place to get help as well as @samp{cvs-info@@gnu.org} 1384@samp{gnu.emacs.help} newsgroup. This is a good place to get help, as
1388yet again gatewayed to @samp{gnu.cvs.help}. 1385is @email{cvs-info@@gnu.org}, gatewayed to @samp{gnu.cvs.help}.
1389 1386
1390If you have ideas for improvements, or if you have written some 1387If you have ideas for improvements, or if you have written some
1391extensions to this package, we would like to hear from you. We hope that 1388extensions to this package, we would like to hear from you. We hope that
@@ -1397,27 +1394,34 @@ Below is a partial list of currently known problems with PCL-CVS version
1397@table @asis 1394@table @asis
1398@item Unexpected output from CVS 1395@item Unexpected output from CVS
1399Unexpected output from CVS may confuse PCL-CVS. It will create 1396Unexpected output from CVS may confuse PCL-CVS. It will create
1400warning messages in the *cvs* buffer alerting you to any parse errors. 1397warning messages in the @samp{*cvs*} buffer alerting you to any parse errors.
1401If you get these messages, please send a bug report to the email 1398If you get these messages, please send a bug report to the email
1402addresses listed above. Include the contents of the *cvs* buffer, the 1399addresses listed above. Include the contents of the @samp{*cvs*} buffer, the
1403output of the CVS process (which should be found in the *cvs-tmp* Emacs 1400output of the CVS process (which should be found in the @samp{*cvs-tmp*}
1404buffer), and the versions of Emacs, PCL-CVS and CVS you are using. 1401buffer), and the versions of Emacs, PCL-CVS and CVS you are using.
1405
1406@end table 1402@end table
1407 1403
1408@node Function and Variable Index, Concept Index, Bugs, Top 1404@node Function and Variable Index, Concept Index, Bugs, Top
1409@unnumbered Function and Variable Index 1405@unnumbered Function and Variable Index
1410 1406
1407This is an index of all the functions and variables documented in this
1408manual.
1409
1411@printindex fn 1410@printindex fn
1412 1411
1413@node Concept Index, Key Index, Function and Variable Index, Top 1412@node Concept Index, Key Index, Function and Variable Index, Top
1414@unnumbered Concept Index 1413@unnumbered Concept Index
1415 1414
1415This is an index of concepts discussed in this manual.
1416
1416@printindex cp 1417@printindex cp
1417 1418
1418@node Key Index, , Concept Index, Top 1419@node Key Index, , Concept Index, Top
1419@unnumbered Key Index 1420@unnumbered Key Index
1420 1421
1422This index includes an entry for each PCL-CVS key sequence documented in
1423this manual.
1424
1421@printindex ky 1425@printindex ky
1422 1426
1423@setchapternewpage odd 1427@setchapternewpage odd