pcl-cvs / ChangeLog.upstream

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
2000-03-05  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-reread-cvsrc): Use cvs-partition rather than remove-if.
	(cvs-run-process): Eliminate use of multiple-value-bind.
	(cvs-mode-marked, cvs-mode-undo): Use cvs-partition.
	(cvs-do-removal): Use cvs-every.

	* pcl-cvs-util.el (cvs-every, cvs-union, cvs-partition): New functions.
	(cvs-map): Use cvs-every.

	* pcl-cvs-parse.el (cvs-parsed-fileinfo): Eliminate multiple-value-bind.
	(cvs-parse-table): Add `subtype' in the list of local vars.

	* pcl-cvs-info.el (cvs-msg-face): New face for CVS messages.
	(cvs-fileinfo-pp): Replace multiple-value-bind with let.

	* cvs-status.el (cvs-tree-tags-insert): Use cvs-every and replace
	  multiple-value-bind with equivalent let+cons+car+cdr construct.

	* cvs-edit.el (cvs-edit-use-vc-log): Remove.
	(cvs-insert-changelog-entries): Use cvs-union.

	* Makefile (install_info): Fix call to install-info.

2000-03-03  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-from-vc): New dynamically bound var.
	(cvs-mouse-find-file): Removed.
	(cvs-menu): Removed useless code.
	(cvs-temp-buffer): Handle the case where `display-buffer' changes the
	  currently selected buffer.
	(cvs-make-cvs-buffer): Be more aggressive about expanding dirs.
	(cvs-parse-process): Don't auto-revert when called via VC.
	(defun-cvs-mode): Added edebug spec.
	(cvs-addto-collection): New function.
	(cvs-merge-collection): Use cvs-fileinfo<.
	(cvs-cleanup-collection): Simplify.
	(cvs-(examine|update|status)): Don't pass ".".
	(cvs-update-filter): Jump to end of buffer when a lock is waiting, so that
	  the user gets a chance to see the message even if the buffer is too big.
	(cvs-mode): Use define-derived-mode rather than cvs-define-major-mode.
	(cvs-mode-commit-setup): New function, replaces cvs-mode-changelog-commit.
	(cvs-mode-commit): Completely rewritten.
	(cvs-commit-minor-wrap): Moved from cvs-edit.el.
	(cvs-commit-filelist): New function to be passed to cvs-edit.
	(cvs-mode-insert): Fix the read-file-name call. Use cvs-addto-collection.
	(cvs-mode-run): Properly handle the post-cmd cleanup in the case when
	  FIS is an empty list.
	(cvs-mode-find-file(-other-window)): Properly handle the case when called
	  via a mouse event.
	(cvs-vc-command-advice): Moved the code outside of vc-do-command's
	  defadvice so it can be used for vc-simple-command as well.  Use
	  cvs-parse-known-commands to decide whether to parse or not.
	(vc-simple-command, vc-do-command): Advise using cvs-vc-command-advice.
	(cvs-mark-buffer-changed): New function.
	(after-save-hook): Add cvs-mark-buffer-changed.

	* pcl-cvs-util.el (cvs-pop-to-buffer-same-frame): Gracefully handle the
	  case where splitting fails.

	* pcl-cvs-info.el (cvs-(filename|dirname)-map): Use cvs-mode-find-file
	  instead of the old cvs-mouse-find-file.
	(cvs-check-fileinfo): Be much less strict about type/subtype.
	(cvs-fileinfo<): Renamed from cvs-fileinfos-compare.

	* pcl-cvs-defs.el (cvs-erase-input-buffer): Removed.
	(cvs-buffer-name-alist): Change the default for "message".
	(cvs-menu): Simplified: remove mark&unmark and hide.
	(cvs-inhibit-copyright-message): Removed.

	* pcl-cvs-parse.el (cvs-parse-known-commands): Add `ci' (used by VC).
	(cvs-parse-buffer): Allow the parse function to return a list of fileinfos.
	(cvs-or): Add an edebug spec.
	(cvs-parse-run-table): Set MESSAGE's subtype to ERROR.
	(cvs-parse-table): Add support for `J ' in case it ever gets into an
	  official CVS release.  Make `C ' always return CONFLICT.  Replace
	  the mode-conflict's messages by (CONFLICT. SUBTYPE).  Set
	  cvs-execute-single-dir if it proves necessary.  Drop duplicate
	  cvs-match for `already contains diffs'.
	(cvs-parse-merge): If dont-change-disc, use NEED-MERGE.
	  And if `already contains diffs' use (UP-TO-DATE . MERGED).
	(cvs-parse-status): Try to make it work for filenames with spaces.

	* cvs-status.el (cvs-status-vl-to-str): New function.
	(cvs-tag->string cvs-tree-tags-insert): Use it.

	* cvs-edit.el (cvs-edit-keep-buffer, cvs-edit-setup-invert)
	(cvs-edit-hook): New vars.
	(cvs-edit-callback, cvs-edit-listfun): New buffer-local vars.
	(cvs-edit): New function.  New entry-point.
	(cvs-edit-mode): Trimmed down since most of it is now in `cvs-edit'.
	(cvs-edit-hide-buf): Check existence before trying to hide the buffer.
	(cvs-edit-done): Use cvs-edit-keep-buffer and cvs-edit-callback.
	(cvs-edit-files): Use cvs-edit-listfun.
	(cvs-edit-minor-wrap): Moved to pcl-cvs.el.
	(cvs-edit-insert-cvs-template): New function for cvs-edit-hook.
	(cvs-edit-add-to-changelog): New function for cvs-edit-done-hook.
	  Wrapper around `vc-comment-to-change-log'.

1999-09-05  Stefan Monnier  <monnier@cs.yale.edu>

	* released 2.9.7.

	* pcl-cvs.el (cvs-retrieve-revision, cvs-revert-if-needed): use
	  toggle-read-only instead of setting buffer-read-only itself.
	(cvs-find-modif): bug fix for sloppy coding.

	* pcl-cvs-util.el (cvs-bury-buffer): slight bug fix for dedicated windows.
	(cvs-prefix): make the max into a variable and use negative numbers for
	  setting a value.

	* pcl-cvs-info.el:  added `update' to MISSING's actions.

	* makefile.pkg:  moved pcl-cvs-compat to cvs-compat (and reorganized).

	* cvs-status.el, pcl-cvs-defs.el, pcl-cvs-info.el, pcl-cvs-parse.el,
	  pcl-cvs-util.el: pass through checkdoc.

	* cvs-edit.el (cvs-edit-use-vc-log):  removed the -flag.

1999-08-31  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-parse.el (cvs-parse-commit): mark removed files as
	  `up-to-date . removed' rather than `dead'.

1999-08-29  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-reread-cvsrc): new function.
	(cvs-mode!): allow FUN to select another window.
	(cvs-make-cvs-buffer, cvs-cmd-do, cvs-(examine|update|status)):
	  allow two *cvs* buffers on the same directory.
	(cvs-cleanup-collection): keep the first DIRCHANGE.
	(cvs-help, cvs-mode-diff-help): patch from Greg Woods.
	(cvs-mode-insert): don't `cvs status' for directories.
	(cvs-mode-imerge): temporarily bind auto-mode-alist to nil to avoid
	  loading nroff-mode when finding backup files.
	(cvs-mode-undo): use `add' for `removed' files.
	(cvs-mode-undo): call `revert-to-rev' if there's a prefix-arg.
	(cvs-mode-revert-to-rev): new function.
	(cvs-do-removal): don't kill the entries if `all' is set (for undo).
	(cvs-dired-action, cvs-dired-use-hook, dired-noselect, vc-do-command,
	  uniquify-buffer-file-name): moved from pcl-cvs-hooks.el.

	* makefile.pkg: new file included from Makefile.
	Holds all the pcl-cvs specific information.

	* cvs-log.el: new mode for`cvs log' output.

	* pcl-cvs-util.el (cvs-bury-buffer): new function.
	(let-and): removed.
	(cvs-*); prepend with "cvs-".
	(cvs-file-to-string): `with-temp-buffer'.
	(cvs-flags-set): new function.  For cvs-reread-cvsrc.

	* pcl-cvs-compat.el: merged with sml-mode's.

	* cvs-edit.el (cvs-edit-use-vc-log-flag): add "-flag" to the name.
	(cvs-edit-done, cvs-edit-mode, cvs-edit-initial-files):
	  check if the list of files has changed.
	(cvs-edit-done): bury the window more carefully.

1999-08-19  Stefan Monnier  <monnier@cs.yale.edu>

	* diff-mode.el (toggle-read-only): use the clever trick of making an
	  buffer-local-almost-minor-mode buffer-read-only to automatically turn
	  on the read-only keymap.
	(diff-inhibit-after-change): just use inhibit-read-only instead.
	(diff-fixup-modifs): use zero-padding to minimize size changes.

1999-08-18  Stefan Monnier  <monnier@cs.yale.edu>

	* diff-mode.el: made into a full blown major mode with bells and whistles.

	* pcl-cvs-hooks.el (vc-backend-diff): moved to diff-mode.el.

	* cvs-status.el, pcl-cvs.el: use inhibit-read-only.

1999-08-09  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-mode-kill-buffers,cvs-temp-buffers): new user function.
	(cvs-append-to-ignore): try toggle read-only for CVSREAD=on.

	* pcl-cvs-parse.el (cvs-parse-table): trust the path for `U <file>'.

	* pcl-cvs-hooks.el (disable): misunderstanding.  VC hooking should work
	  again now.

	* pcl-cvs-compat.el (easy-mmode-define-minor-mode): not in XEmacs.

	* cvs-status.el (cvs-status-minor-wrap): `mark-active' not in XEmacs.

	* Makefile (install_startup): brain fart with `sed'.

1999-07-14  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-<foo>-cmd-flags): dropped.
	(cvs-temp-buffer): clean up the behavior.  Merge cvs-make-temp-buffer's
	  functionality into it.  Move the `process-running' test in here.  It
	  used to be done too late (at a stage where harm had already been done to
	  the buffer).
	(cvs-cmd-do): use cvs-mode-run rather than calling directly cvs-run-process.
	(cvs-process): dropped the variable and use get-buffer-process instead.
	(cvs-sentinel): enable undo when cvs finishes.
	(cvs-mode-line-process): oops, make local!
	(cvs-mode-marked): weaken cvs-force-command by not allowing to apply to it
	  MESSAGE.  To avoid the user applying things to non-entries like HEADER
	  and such (tended to lead to strange behavior).
	(cvs-do-commit): stripped down to its core.
	(cvs-mode-run): now also works with empty FIS.

	* pcl-cvs-util.el (cvs-pop-to-buffer-same-frame): new fun.
	(cvs-get-buffer-create): new fun.

	* pcl-cvs-info.el (cvs-applicable-p): nothing's applicable to MESSAGE.

	* pcl-cvs-defs.el (cvs-auto-remove-handled): added 'delayed and 'status.
	(cvs-invert-ignore-marks): put `tag' in there.

	* cvs-status.el (cvs-tree-print): pass the column explicitly as an
	  argument rather than implicitly as the cursor position so as to avoid
	  adding spurious spaces on the last line.
	(cvs-status-font-lock-keywords): fix for it to work properly with an
	  improved font-lock that works across multiple lines.

	* cvs-edit.el (cvs-edit): new custom group.
	(cvs-edit-show-files): new command bound to C-c C-f.
	(cvs-edit-confirm): new var.
	(cvs-edit-require-final-newline): renamed from cvs-commit-buffer-r-f-n
	(cvs-edit-done): moved the require-final-newline thing from cvs-do-commit
	  and added the confirmation-code (and call to cvs-edit-show-files).

1999-07-09  Stefan Monnier  <monnier@cs.yale.edu>

	* release: 2.9.6

	* pcl-cvs.el (cvs-mode-motion-highlight-line):  dropped.
	(cvs-mode!): spiced up to allow influencing behavior depending on the
	  buffer from which commands are executed.
	(cvs-secondary-branch-prefix): new prefix, bound to `B' and only active if
	  the primary branch prefix is.  It shares the defaults except for the
	  main one.
	(cvs-buffer):  finally made buffer-local.
	(defun-cvs-mode): improved to support various translation strategies.
	  Now (almost) all cvs-mode-<foo> functions are defined with it.
	(cvs-get-marked): reworked.  It now returns fileinfos instead of tins and
	  can now handle marked directories, although this is not used just now.
	  It also adds a hook to specify externally the files to operate on.
	(cvs-mode-files): support routine used by cvs-edit to know what files are
	  about to be committed.
	(cvs-mode-commit): trimmed.
	(cvs-do-commit):  earlier called `cvs-edit-done'.
	(cvs-mode-idiff): doesn't ignore the REV argument anymore.
	(cvs-mode-idiff-other): new, bound to `d2'.  Incomplete.

	* pcl-cvs-defs.el: various rebindings/movements/simplifcations.
	(menubar):  simplified.  It migth not work as well on older XEmacsen.

	* cvs-status.el (cvs-status-mode-map): inherit directly from cvs-mode-map
	(cvs-status-minor-wrap): to pass the right parameters to cvs-mode commands
	  when exec'd from cvs-status-mode.

	* cvs-edit.el: new file, extracted from pcl-cvs.el.
	(cvs-edit-mode):  back to major-mode, derived from text-mode but
	  inheriting most vc-log-mode commands if requested.
	(cvs-edit-insert-changelog): now a separate function bound to C-c C-a and
	  that you can put in your cvs-edit-mode-hook.
	(cvs-edit-done-hook): might prove useful.

1999-07-08  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-*-flags): moved from pcl-cvs-defs.el.  Not a simple var
	  any longer since it uses the cvs-flags stuff to allow multiple defaults.
	(cvs-minor-mode): all cvs-temp-buffers are now in cvs-minor-mode where all
	  cvs-mode commands are available under the C-x c prefix.
	(cvs-temp-buffer): try to work around the scroll-other-window problem.
	(cvs-merge-collection): do the sort there.  NO difference, but
	  conceptually better since `merge' only works after a `sort'.
	(cvs-get-module): attempt at guessing the current module.
	(cvs-checkout): now gets a suggested module and understands the `b' prefix.
	(cvs-mode-commit): no `insert-text' argument any more.
	(cvs-mode-add): don't use `cvs-update-flags' since it may contain
	  undesirable flags.
	(cvs-idiff-version): also turned into a `cvs-flags'.
	(cvs-mode-update): use "-j" instead of "-r" for the `b' prefix.
	(cvs-mode-examine): now understands the `b' prefix (uses it with "-j").
	(cvs-do-removal): should now work properly with directories.
	(cvs-mode-remove): relies on `cvs rm -f' rather than on `cvs-do-removal'
	  for the deletion of files.  Needed for the directory case.
	(cvs-edit-mode): a permanent-local minor-mode rather than a major-mode.
	(cvs-edit-insert-changelog): new.  To replace cvs-mode-changelog-commit.
	(cvs-changelog-ours-p): cleanup.

	* pcl-cvs-util.el (custom-create-map): accepts list of bindings in `car'.
	(cvs-flags-query): reworked.  Can now understand several defaults,
	  selected via numeric prefixes.
	(cvs-prefix): `persist' was erroneously shared among all buffers.

	* pcl-cvs-defs.el (cvs-shared-(start|flags)): new vars to go along with
	  the new cvs-flags management.
	(cvs-commit-prompt-buffer): disappeared, moved to cvs-buffer-name-alist.
	(cvs-buffer): made permanent-local.
	(cvs-mode-map): better simulate `suppress-keymap' by binding numeric keys.
	  dropped `dd' = cvs-mode-diff.
	(cvs-minor-mode-map): new.  The binding was moved from `C-x v' to `C-x c'.

1999-07-06  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-cmd-do): use `pop-to-buffer' again, but with
	  pop-up-windows set to nil.
	(cvs-temp-buffer): erase the buffer before calling the new mode.
	(cvs-mode): use define-major-mode.  And don't set goal-column any more.
	(cvs-mode-find-file): jump to the active area if the file is locally
	  modified and if `cvs-find-file-and-jump' is set.

	* pcl-cvs-util.el (define-major-mode): brand new.

	* diff-mode.el (diff-mode): use define-major-mode.

	* cvs-status.el (cvs-status-mode-map): added motion and tree commands.
	(cvs-status-mode): use define-major-mode and setup font-locking.
	(trees/tags): lots of tweaking to make it more flexible and be able to
	  switch between tree representations.

	* pcl-cvs.el (cvs-force-command,cvs-ignore-marks-modif): now cvs-prefixes.
	(cvs-mode-commit): bug with cvs-mode-marked.

	* pcl-cvs-util.el (cvs-prefix): reworked to allow several defaults and
	  persistent settings.

1999-07-05  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-parse.el (cvs-parse-known-commands): new var.

	* pcl-cvs-defs.el (cvs-execute-single-dir): either T or a list of commands.

	* pcl-cvs.el (cvs-temp-buffer): renamed from cvs-use-temp-buffer.
	  it returns the temp buffer instead of selecting it.
	(cvs-update-header): drop the useless `inline' argument.
	(defun-cvs-mode): new macro for all the interactive functions.
	(cvs-mode-insert): use `defun-cvs-mode' and the new cvs-mode-run command.
	(cvs-mode!): call the function parameter in the right environment instead
	  of simply selecting the buffer.
	(cvs-mode-add): use the new cvs-mode-run command.
	(cvs-mode-marked,cvs-mode-run): split the functionality of cvs-mode-do
	  into those two functions.
	(cvs-mode-do):   `single-dir' is now determined by `cmd' and
	  `cvs-execute-single-dir' rather than being passed as an argument.
	  `precmd' has disappeared:  if you need it, use cvs-mode-run.
	  `postproc' has disappeared (it wasn't used).
	  `parse' is now determined automatically from cvs-parse-known-commands.
	(cvs-filter-applicable): removed, folded into cvs-mode-marked.

1999-07-02  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-get-tags): keep kind as a string.
	(cvs-mode-do): use cvs-buffer-name-alist's `after-mode' spec.

1999-07-01  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-tags-list,cvs-get-tags): split out the tags-extraction
	  functionality in order to reuse it in cvstree.el.

	* pcl-cvs-parse.el (cvs-parse-status): typo in regexp.

	* cvstree.el (cvstree,cvstree-mode): moved the buffer rewriting to
	  cvstree-mode and made it work on multiple `cvs status' output.

	* pcl-cvs-info.el (cvs-compare-fileinfos): fix dir sorting
	  from <pmai@acm.org> (Pierre R. Mai).

1999-06-30  Stefan Monnier  <monnier@cs.yale.edu>

	* cvstree.el: don't bother with `-no-properties'.
	(cvstree-dstr-insert): isn't that just "insert" ?
	(cvstree-call-status): move all cache-consistency in here.

1999-06-29  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-parse.el (SEQ): renamed `and'.
	(MSG): renamed `cvs-parse-msg'.
	(REGEXP): renamed `cvs-match'.
	(ALT): renamed `cvs-or'.

	* pcl-cvs-compat.el (string): eliminated the dependency altogether.

	* pcl-cvs.el (cvs-mode-tree): from cvstree minus `pos' argument.
	(cvs-use-temp-buffer): make the buffer read-only.

	* cvstree.el: new file.  slight cleanup since it doesn't need to work
	  outside pcl-cvs any more.  More specifically, remove dependence on
	  elib/string.el (use pcl-cvs-compat instead).
	(assoc): don't use that ugly library any more.
	(cvs-mode-tree): moved to pcl-cvs.el
	(cvstree): mark it autoload.
	(require 'pcl-cvs): removed since cvs-checkout is autoloaded instead.
	(cvstree-cache-create): sorry, couldn't resist.
	(buffer-substring-no-properties): Assume it's available.
	(cvstree-dstr-2byte-ready): simplified.

1999-06-23  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-retrieve-revision): use after-find-file.
	(cvs-mode-imerge): set the proper mode for backup-buf.
	(ALL): renamed cvs-cookie-handle cvs-cookies !!!!
	(cvs-mode-do): oops!  brain fart with the postproc handling.
	(cvs-update-filter): added a few bugs and removed others.
	(cvs-mode-mark): always work on the current line (works better this
	  way from C-x v in the commit buffer).
	(cvs-mode!): also selects the window.
	(cvs-revert-if-needed): don't preserve modes after all:  it screws up VC.

1999-06-22  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-startup.el: fixed to fulfill autoload.el assumptions.

	* pcl-cvs-info.el (cvs-applicable-p): now accepts types as well.

	* pcl-cvs.el (cvs-revert-if-needed): don't call normal-mode in order to
	  minimize the changes.
	(cvs-mode-do): get `ignore-contents' automatically from cvs-states.
	(cvs-mode-do): eliminate `:killold t', replaced by `:parse 'kill'.

1999-06-19  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-startup.el: update the autoloads automatically.

	* pcl-cvs.el (cvs-update-header): only remove the log-message, not more.
	(cvs-help): don't autoload it.
	(cvs-retrieve-revision): run find-file-hooks additionally to normal-mode

1999-06-19  Stefan Monnier  <monnier@cs.yale.edu>

	* release: 2.9.5

	* pcl-cvs-parse.el (cvs-parse-buffer): set case-fold-search to nil.
	  that should be the right thing, but it might break things.

	* pcl-cvs-defs.el (cvs-edit-mode-map): bound C-xv to cvs-mode-map.
	(cvs-force-dir-tag): new var.

	* pcl-cvs.el (cvs-edit-mode): made it derive from text-mode.

1999-06-18  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-cleanup-collection): made the arguments non-optional
	(cvs-cmd-do): only use pop-to-buffer if pop-up-frames are used.
	(cvs-mode-idiff): use the `b' prefix if provided.
	(cvs-retrieve-revision): call `normal-mode'.
	(cvs-mode): fancier mode-line.
	(cvs-ignore-marks-p): cvs-foo-ignore-marks has been reworked.
	(cvs-mode-force-command): a new command bound to M-f.

1999-06-02  Greg Klanderman  <greg@klanderman.net>

	* pcl-cvs.el (cvs-query-directory): fix xemacs bug;
	last-command-char may be nil, and /= doesn't handle that.  
	also, characters are not integers under xemacs.

	* pcl-cvs-defs.el (cvs-auto-remove-directories): allow the value 'empty.
	* pcl-cvs.el (cvs-cleanup-collection): handle it.

	* diff-mode.el: actually defvar all the faces to avoid "no face
	`diff-added-face'" errors under xemacs.

1999-06-18  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-parse.el, pcl-cvs-info.el: renamed NEED_REMOVE into MISSING.
	(cvs-parse-table): got rid of MOD-CONFLICT

	* pcl-cvs.el (cvs-make-cvs-buffer): replaced the collection footer by a
	  cookie labelled FOOTER.  Fixes the `backspace over last mark' problem.
	(cvs-update-header): new fun that updates the header/footer.
	(cvs-cmd-do): kill the entries between run and parse rather than before run
	(cvs-mode-insert): now calls `status' to initialize the new entry.
	(cvs-do-removal): don't hide `rm' errors.

1999-06-17  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-info.el: dropped `action'.
	(cvs-*-map): use defmap.

	* pcl-cvs-defs.el (cvs-buffer-name-alist): use special buffers for more
	  commands than just `diff'.

	* diff-mode.el: use kill-all-local-variables.

	* pcl-cvs.el (cvs-mode-find-file): now understand the branch prefix and
	  fetches the corresponding revision if requested.
	(cvs-mode-undo-local-changes): changed to `cvs-mode-undo'
	(cvs-mode-kill-process): new fun, bound to C-c C-c.

1999-06-12  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-revert-if-needed): ignore errors and don't change the
	  read-only setting.

1999-05-26  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-run-process): close the process' stdin to avoid hangs.

	* pcl-cvs-defs.el (cvs-lock-file-regexp): fixed.

1999-05-15  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-info.el (cvs-states): allow `update' in more cases.

	* pcl-cvs.el (cvs-mode-imerge): fall back to vc-resolve-conflict.

1999-04-22  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-util.el (cvs-query-read): use read-string rather than
	  completing-read if no completions are available.

1999-03-26  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-cmd-do,cvs-run-process): moved `save-some-buffers' to
	  avoid calling it twice.
	(cvs-mode-rtag): renamed to cvs-rtag and commented out.
	(cvs-mode-untag): new.
	(cvs-add-branch-prefix): use "-rTAG" instead of "-r TAG".
	(cvs-mode-log): use branch-prefix.

	* Makefile (install): don't install the .el files by default.

1999-03-18  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-info.el (cvs-action-face): change it to lightblue for dark-bg.

1999-03-16  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-parse.el: adapt the regexps to work with NT's `cvs.exe'.

	* pcl-cvs-info.el (cvs-make-keymap): always use set-keymap-parent.
	(faces): moved from pcl-cvs-defs

	* pcl-cvs-compat.el (split-string): moved from pcl-cvs-util.
	(set-keymap-parent): new.
	(defgroup): new.

	* pcl-cvs.el (cvs-mode-revert-buffer): Oops, needs to be interactive.
	(cvs-mode-tag): fixed the tag querying.
	(cvs-query-directory): Yuck! query only if called via M-x or from a non
	  pcl-cvs buffer.
	(cvs-enabledp): moved from pcl-cvs-defs

1999-03-15  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-info.el (cvs-fileinfo->backup-file): check that the returned
	  file is readable.  Return `nil' if no file is found.

	* pcl-cvs.el (cvs-mode-diff-backup): bugfix. the `fis' before filtering
	  was used instead of the one after filtering.
	  (cvs-backup-diffable-p): use cvs-fileinfo->backup-file instead.
	  (branch-prefix): to make it easier to work on a branch.

	* pcl-cvs-util.el (cvs-kill-buffer-visiting): unused.
	(filter): use remove-if-not instead.
	(cvs-query-flags): turned into a function.
	(cvs-{get,set}-prefix): mostly designed for branch prefix.

	* Makefile (install_info): no more (ignored) error when `dir' absent.

1999-03-13  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-parse.el (cvs-parse-ignored-messages): new var.
	(cvs-run-parse-table): ignore user-specified messages.

	* pcl-cvs-info.el (cvs-states): added `tag' to all of them.

	* pcl-cvs.el (cvs-query-directory): revert to `always query'.

1998-12-20  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-defs.el (cvs-mode-map): added `g' to refresh the buffer.

	* pcl-cvs-info.el (cvs-states): merge the diff-<foo> into diff.

	* pcl-cvs.el (cvs-run-process): re-added the TEMP subtype.
	(cvs-mode-do): ugly fix to make cvs-diff-ignore-marks work again.

	* pcl-cvs-hooks.el: made dired-hook conditional on cvs-dired-use-hook.

1998-12-19  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-parse.el (cvs-parse-table): caught the case of adding on a branch

	* pcl-cvs-defs.el (cvs-diff-flags): removed -kk from the default

1998-12-16  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-defs.el (cvs-diff-flags): added -kk to the default
	(cvs-edit-mode-hook): new variable.

	* <file>.el: added rcsid-<file>

	* pcl-cvs-parse.el (cvs-parse-table): added entry for `rebuilding database'

	* pcl-cvs.el (cvs-run-process): fix a bug when single-dir=t and fis=nil.
	(rcsid-pcl-cvs): added.
	(cvs-make-cvs-buffer): don't recreate the buffer if it's just a refresh.
	(cvs-edit-mode): call cvs-edit-mode-hook

1998-12-15  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-parse.el (cvs-parse-table): catch the error message when the
	  cvs-execute-single-dir detection failed and add a little note.

	* pcl-cvs-info.el: don't use set-keymap-parentS, but instead fix the typo.

	* pcl-cvs-defs.el (faces): de-boldified.

	* pcl-cvs.el (cvs-mode-quit): fixed.

1998-12-14  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-info.el (cvs-make-keymap): XEmacs fix (uses set-keymap-parentS).

1998-12-13  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-sentinel,cvs-parse-process): finally fix the cursor
	  movement problem. Phew !
	  (cvs-mode-do): added an `killold' option to mark fis as dead.
	  (cvs-mode-examine,cvs-mode-update): use `killold'.

1998-12-12  Stefan Monnier  <monnier@cs.yale.edu>

	* RELEASE: 2.9

	* pcl-cvs-util.el (cvs-query-flags): fix the default type.

	* pcl-cvs-hooks.el (vc-do-command): first cut at calling back pcl-cvs from
	  vc.  Encouraging.

	* Makefile: merged with Makefile.dist and renamed pclcvsdir to elcdir.

	* pcl-cvs.el (cvs-mode-add-change-log-entry-other-window): fix a nasty bug
	  due to interactions between dynamic scoping and buffer-local variables.
	(cvs-use-temp-buffer): set the default-directory.
	(cvs-mode-mark): Oops! the logic was reversed.
	(cvs-changelog-entries): workaround file-change-log memoization feature
	  which prevented correct behavior when several Changelog files were
	  involved in the same commit.

1998-12-11  Stefan Monnier  <monnier@cs.yale.edu>

	* RELEASE: 2.5

	* pcl-cvs-defs.el: new file, extracting the defvars from pcl-cvs.el

	* pcl-cvs-info.el (cvs-add-face): hard-code 'highlight and replace the
	  mouse-face arg by a keymap argument to be locally used.
	(cvs-{filename,dirname,status,default-action}-map): new maps.
	(cvs-fileinfo-pp): use the new maps on the subfields of entries.

	* pcl-cvs.el (cvs-mode-add): add postprocessing in order to examine
	  directories after having added them.
	(cvs-mode-add): also change those UNKNOWN dir entries to DEAD in the
	  postprocessing so they will disappear (replaced by the output of the
	  examine).
	(cvs-mode): setup the revert-buffer-function variable.
	(cvs-relative-path): replaced by the builtin `file-relative-name'.
	(cvs-mode-insert): new command to add arbitrary files. Bound to "I".

1998-12-10  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-util.el (cvs-query-flags): don't add ` flags' to the
	  prompt anymore.  And use a `type' to figure out how to map the user
	  string to/from the requested argument type.
	(strings->string): oops: empty strings were not quoted.

	* pcl-cvs.el (cvs-mode-i{merge,diff}): thoroughly reworked.
	(cvs-mode-set-flags): added "cvs" in the set of settable flags.
	(cvs-add-default-message): to avoid prompting in cvs-mode-add.
	(cvs-mode-add): only prompt if necessary or requested.
	(cvs-mode-do): add a `postproc' arg (and local var).

	* pcl-cvs-info.el (cvs-states): rename `emerge' into `merge'.
	(cvs-fileinfo): added `merge' to hold the revisions of the ancestor and head
	(cvs-fileinfo-update): try to propagate `merge' info.

1998-12-07  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-util.el (string-to-strings): use split-string if available.
	(string-to-strings): handle double quotes for quoting.

	* pcl-cvs-hooks.el (cvs-dired-action): fixed a little typo.

1998-12-06  Stefan Monnier  <monnier@cs.yale.edu>

	* RELEASE: 2.0.90

	* pcl-cvs.texi: somewhat updated the manual.

	* pcl-cvs.el (cvs-cmd-do): add an argument to prevent poping-to-buffer
	  for use by the dired-advice.
	(cvs-reuse-cvs-buffer): expanded.
	(a bit everywhere): custom-ized.

1998-12-05  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-make-temp-buffer): set cvs-temp-buffer directly in
	  cvs-make-temp-buffer and don't reset it in cvs-run-process (which is
	  bogus when cvs-run-process is called on a non-*cvs-tmp* buffer, such as
	  *cvs-diff*).
	(cvs-retrieve-revision): mark the temp buffer as unmodified.
	(a bit everywhere): use `expand-file-name' instead of `concat'.
	(cvs-mode-delete-lock): pointlessly rewritten.
	(cvs-mode-add-change-log-entry-other-window): imported the rewritten code
	  from XEmacs' version.

1998-12-02  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-mode-commit): call cvs-edit-mode before setting local
	  variables (since it kills all local vars).

1998-11-29  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-mode-map): sanitize cvs-mode-set-flags from C-c to C-c f

1998-11-23  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-info.el (cvs-states): disallow commit on directories.

	* pcl-cvs-parse.el (cvs-parse-table): ignore patched->updated msgs

	* pcl-cvs.el (cvs-edit-mode): call kill-all-local-variables
	(cvs-mode): trimmed down the doc string (better empty than outdated)

1998-11-11  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-retrieve-revision): use -q to avoid an ugly header.

1998-10-29  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-parse.el (cvs-parsed-fileinfo): add an option to trust the
	  path info to be relative to the root (and make the directory parameter
	  optional).

1998-10-25  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-run-process): renamed run-cvs-process.
	(cvs-mode-remove-handled): also remove MESSAGEs.
	(cvs-revert-if-needed): wasn't working.
	(cvs-execute-single-file-list): take fileinfos instead of tins.
	(cvs-mode-diff-backup): filter based on presence of backup file.
	(cvs-update-filter): make the lock messages temporary.
	(cvs-mode-do): added a `cvsargs' optional argument for `examine'.
	(cvs-mode-examine): new.
	(cvs-mode-do): added `show' to choose whether to show *cvs-tmp*.
	(cvs-mode-map): move ediff and emarge from `e' and `E' to `de' and `dE'
	  and made `e' be `cvs-mode-examine'.  Removed bindings to \C-n and \C-p
	  since they are mostly useless and can be annoying.  Replaced the \C-c
	  keymap with the cvs-mode-set-flags function.  Moved all the module-level
	  commands to \M-something: cvs-update is \M-u, cvs-status is \M-s,
	  cvs-examine is \M-e, ... Removed cvs-mode-{admin,release,rdiff}
	  since they are inexistant anyway.  Removed also the `v' binding since
	  it's available under `dv' anyway.  Also bound cvs-mode-unod to `undo'.
	(cvs-mode-emerge): avoid temp files.
	(cvs-mode-ediff): use the same code as cvs-mode-emerge.  Don't use the
	  special purpose ediff-cvs code since it's now broken.

	* pcl-cvs-parse.el (cvs-status-parse-table): handle "Needs Patch" status.

	* pcl-cvs-info.el (cvs-fileinfo-pp): add faces to the output.
	(cvs-states): merged CONFLICT and UNRES-CONFLICT.

	* pcl-cvs-decor.el (cvs-menu): disable commands based on `type'.
	(cvs-action-face): new face.
	The font-lock stuff has been removed.

1998-10-24  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-merge-collection): extracted from cvs-cleanup-collection
	  because it has to be done in a separate phase.
	  (cvs-changelog-entries): use find-change-log.

	* pcl-cvs-info.el (cvs-states): `find-file' has been dropped.
	  `safe-rm' and `removed' have been added.

	* pcl-cvs-parse.el: added cvs-current-subdir to track the `pwd' of the cvs
	  process (used in conjunction with single-dir).

1998-10-23  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-startup.el: require pcl-cvs-hooks right away (so that the dired
	  hook can take effect before pcl-cvs is loaded).

	* pcl-cvs-hooks.el (uniquify-buffer-file-name): avoid using pcl-cvs funs.
	(dired-internal-noselect): hook into dired.

	* pcl-cvs-parse.el (cvs-parse-table): DIRCHANGE filename is now "."

	* pcl-cvs-legacy.el: removed cvs-execute-single-dir since it's now handled
	  by run-cvs-process.

	* pcl-cvs-util.el (file-to-string): return nil if the file doesn't exist

	* pcl-cvs.el (cvs-parse-process): added call to cvs-revert-if-needed.
	(run-cvs-process): don't erase temp buffer (do it in cvs-mode-do).
	(cvs-dir-member-p): works with subdirectories.
	(cvs-cleanup-collection): a cleanup of the cleanup code.
	(run-cvs-process): offer a single-dir option.

1998-10-22  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvsrc): read the cvsrc file and use it for initial flag vals.
	(cvs-mode-commit): use substitute-command-keys
	(cvs-mode-do): call postcmd from the temp buffer
	(cvs-dont-change-disc): removed (turned into a mere argument).
	(cvs-mode-revert-updated-buffers): replaced by a cvs-auto-revert setting
	(cvs-auto-revert): replaces cvs-auto-revert-after-commit

1998-10-21  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-info.el (fileinfo):
	  removed handled and added subtype
	  added type DEAD
	  added MESSAGE's TEMP subtype
	  moved UPDATED and PATCHED to subype of UP-TO-DATE
	  moved MERGED to subtype of MODIFIED
	
1998-10-20  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-mode-do): use run-cvs-process.
	deal correctly with killed temp-buffers.
	(cvs-dir-empty-p): fix it to recognize subdirectories.

1998-10-19  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-parse.el (cvs-update-parse-table): merge PATCHED and UPDATED

	* pcl-cvs-info.el: created by extracting the fileinfo stuff.

	* pcl-cvs.el (cvs-make-cvs-buffer): reuse a cvs buffer on a parent dir
	(cvs-mode-commit): now only creates the commit buffer.
	(cvs-edit-done): gets the flags, the list of files and filters them.
	(cvs-mode-do): do the tin-invalidate+autoremove-handled stuff. No harm.
	(cvs-after-commit-function): use find-buffer-visiting.

1998-10-18  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs.el (cvs-use-temp-buffer): added cvs-buffer to the temp-buf

	* pcl-cvs.el (cvs-parse-process): reverse the entries for in-order messages
	(cvs-mode-do): revert to the cvs-buffer before calling postcmd.
	(cvs-states): `updated' can be removed but doesn't need diff-head.
	(cvs-mode-remove-file): added the 'remove filter flag.

	* pcl-cvs-parse.el (cvs-status-parse-table): new output from cvs-1.10

	* pcl-cvs-startup.el: load pcl-cvs-hooks

	* pcl-cvs-hooks.el: small file to hook pcl-cvs into other packages like VC
	  and uniquify.  It's not required by anything.

	* pcl-cvs.el: can now have multiple *cvs* buffers.
	(cvs-mode-commit): set the cvs-buffer local var in the commit buffer.
	(cvs-reuse-cvs-buffer): new setting.
	(cvs-cmd-type): removed.

	* pcl-cvs-parse.el (cvs-update-parse-table): handle `file was lost'
	(cvs-parse-table): merges the two (status and update) parse tables.
	  cvs' output is sufficiently unambiguous for it to work fine.
	(cvs-parse-buffer, cvs-parse-process): I had forgotten to move those two
	  to pcl-cvs-parse.el.

	* pcl-cvs.el (cvs-version): extracted from `cvs -v' and used to choose
	  between cvs-execute-single-dir and cvs-execute-multi-dir.
	(cvs-dont-change-disc): welcome back.
	(cvs-cmd-type): it's now useless.

	* pcl-cvs-legacy.el (cvs-old-ediff-interface,cvs-execute-single-dir-list):
	taken out of pcl-cvs.el since it's already big enough.  pcl-cvs.el
	references this file via autoloading the functions.

1998-10-17  Stefan Monnier  <monnier@cs.yale.edu>

	* pcl-cvs-util.el: added two "standard" interactive query functions.

	* pcl-cvs.el (cvs-update-optional-flags): renamed to cvs-update-cmd-flags.
	(cvs-update-file-flags): renamed to cvs-update-flags
	(cvs-make-list): moved to pcl-cvs-util and renamed string-to-strings.
	(cvs-mode-set-<foo>-flag): replaced by a single cvs-mode-set-flags.
	(cvs-cmd-type): replaces cvs-display-type and now distinguishes between
	  CHECKOUT and UPDATE.
	(cvs-last<foo>-flags): dropped since redo has been dropped.
	(cvs-with-args): replaced by cvs-query-flags.
	(cvs-mode-diff-cvs): renamed to cvs-mode-diff.
	(cvs-states): split the description out to cvs-states-description.

	* pcl-cvs.el (<foo>-other-window): eliminated by the use of pop-to-buffer
	  instead of switch-to-buffer.
	(cvs-states): tremendously simplified the format.
	(cvs-{update,status,examine}): from a cvs-mode buffer, reuse the current
	  working directory, unless the prefix arg is given.
	(cvs-mode-redo): dropped: why bother now that the other commands don't
	  require any additional argument ?

	* pcl-cvs.el (cvs-display-type): added EXAMINE.
	(cvs-dont-change-disc): removed.
	(cvs-check-fileinfo): vaguely improved, and used when displaying.
	(cvs-fileinfo-pp): unifies the previous cvs-update-pp and cvs-status-pp.
	(run-cvs-process): doesn't use cvs-shell anymore.

	* pcl-cvs-parse.el (cvs-update-state-table): distinguish between a `U'
	  during update (UPDATED) from a `U' during examine (NEED-UPDATE).

	* diff-mode.el: Feable attempt at hooking diff-mode into VC

1998-10-16  Stefan Monnier  <monnier@cs.yale.edu>

	* diff-mode.el: a new major mode with an empty keymap but some
	  font-locking for unified context diffs.

	* pcl-cvs-util.el: new file, mostly empty, for non pcl-cvs-specific
	  functions.  If no other than `file-to-string' shows up, the file will of
	  course disappear.

	* pcl-cvs-decor.el: new name for pcl-cvs-xemacs.el since it should now
	  also work on Emacs.

	* pcl-cvs.el (cvs-execute-list): added support for multi-dir execution.
	(cvs-fileinfo): it's now a CL struct.  Also the `dir' part should now
	  always be a relative directory (with trailing slash unless its the empty
	  string).
	(cvs-get-cvsroot): replaces cvs-set-display-cvsroot with a slightly
	  different set of priorities.  It also takes care not to switch buffer.
	(cvs-diff-buffer-name): replaces and generalizes cvs-diff-unique-buffers.

	* pcl-cvs-parse.el: new file containing a thoroughly reshaped parser.
		Notable differences:
		- the parse tables are now proper functions
		- stderr and stdout are merged
		- REGEXP has a built-in binding mechanism
		- *match-list*, *current-file* and *root-dir* have disappeared,
		  *current-dir* is now relative and slash-terminated
		- it's all way much cleaner (to me anyway)

1998-10-12  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el (cvs-mode-debug-fileinfo): new function.
	(cvs-update-stderr-parse-table): fix REGEXP for ignored conflict
	warnings (real info is on stdout).
	(cvs-update-stderr-parse-table): fix other REGEXPs that don't end in `$'
	(cvs-update-stdout-parse-table): ditto.
	(cvs-update-stdout-parse-table): fix parsing of merge info.

	* pcl-cvs.texi: more cleanup.

	* Makefile (VERSION): 1.34.

1998-10-09  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el (cvs-status-stdout-parse-table): fix bug accessing
	the *match-list* for unknown files.
	(cvs-mode-quit): new cvs-mode command.
	(cvs-mode-map): bind it to `q' instead of bury-buffer.
	(cvs-shell-c-flag): new variable.
	(run-cvs-process): use it.
	(cvs-shell-c-flag): remove, use shell-command-switch instead.
	(cvs-update-stdout-parse-table): fix parsing bug: COLLECT evals
	only a single form, it is not an implicit progn.

	* pcl-cvs.texi: more cleanup.

1998-10-08  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.texi: update documentation.

	* pcl-cvs.el (cvs-mode-tag): use cvs-with-flags.
	(cvs-mode-rtag): ditto.
	(cvs-mode-diff-cvs): ditto.
	(cvs-mode-diff-backup): ditto.
	(cvs-mode-diff-head): ditto.
	(cvs-mode-diff-vendor): ditto.
	(cvs-mode-remove-file): ditto.
	(cvs-mode-undo-local-changes): ditto.
	(cvs-update-file-flags): new.
	(cvs-mode-update): use cvs-with-flags.
	(cvs-mode-commit, cvs-mode-changelog-commit): ditto, set
	cvs-commit-flags-to-use from cvs-commit-flags.
	(cvs-edit-done): use cvs-commit-flags-to-use.
	(cvs-local): remove variable.
	(cvs-last-update-flags): new.
	(cvs-last-status-flags): new.
	(cvs-mode-redo): use cvs-with-flags.
	(cvs-status-cmd-flags): new
	(cvs-checkout-cmd-flags): new
	(cvs-examine): use cvs-with-flags.
	(cvs-examine-other-window): use cvs-with-flags.
	(cvs-update): use cvs-with-flags.
	(cvs-update-other-window): use cvs-with-flags.
	(cvs-do-update): remove LOCAL argument.
	(cvs-checkout): use cvs-with-flags.
	(cvs-checkout-other-window): use cvs-with-flags.
	(cvs-do-checkout): use cvs-checkout-cmd-flags.
	(cvs-status): use cvs-with-flags.
	(cvs-status-other-window): use cvs-with-flags.
	(cvs-do-status): remove LOCAL argument, use cvs-status-cmd-flags.
	(cvs-mode-map): swap bindings for cvs-mode-emerge and
	cvs-mode-ediff, placing cvs-mode-ediff on 'e' as that is the
	preferred interface, and was what previous versions had.

1998-10-07  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el (cvs-with-flags): new macro - handle flag setting.
	(cvs-with-flags-1): helper function.
	(cvs-add-flags): new variable
	(cvs-commit-flags): new.
	(cvs-remove-flags): new.
	(cvs-undo-flags): new.
	(cvs-*-flags-history): new history variables.
	(cvs-mode-add): use cvs-with-flags.
	(cvs-mode-status): ditto.
	(cvs-mode-log): ditto.

	* Makefile (VERSION): bump to 1.32

1998-10-05  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el (cvs-update-stdout-parse-table): merge in ignoring of 
	"already contains the differences between" message from XEmacs
	1.03.
	More XEmacs parser merging originally from Oscar Figueiredo:
	(cvs-update-stdout-parse-table): Parse merge information.
	(cvs-update-stderr-parse-table): Accept standalone conflict
	warnings as the additional information is on stdout in recent CVS
	versions.

1998-10-04  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el (cvs-changelog-ours-p): use add-log-full-name,
	user-full-name, and (user-full-name), and add-log-mailing-address, 
	user-mail-address, and (user-mail-address), in that order, and
	protected by the appropriate boundp and fboundp checks.
	(cvs-mode-emerge): bind default-directory to the fileinfo's
	directory.  merged in from XEmacs 1.03.
	(cvs-sentinel): message when process completes.  merged in from
	XEmacs 1.03.

1998-10-01  Greg Klanderman  <greg@alphatech.com>

	* Makefile (VERSION): set back to 1.30, no 2.xx versions allowed
	in XEmacs 21.0.

	* pcl-cvs.el (cvs-add-how): bugfix, change call to
	cvs-add-file-update-buffer to cvs-add-file-how.

1998-09-30  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs-xemacs.el: Add a submenu under "Tools".
	Clean up the mode menu.
	Provide 'pcl-cvs-xemacs.

1998-09-28  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el (cvs-update-stdout-parse-table): handle patched files 
	like updated files, ie, mark them handled.

1998-09-27  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el (cvs-changelog-name): bugfix for previous change;
	don't pass nil to expand-file-name when change-log-default-name is 
	nil.

	* pcl-cvs-xemacs.el (pcl-cvs-font-lock-keywords): add some new
	faces: cvs-unknown-face, cvs-handled-face, cvs-need-action-face,
	cvs-marked-face.  remove cvs-status-face.

	* pcl-cvs.el (cvs-mode-undo-local-changes): Don't update cvs
	fileinfo state until we know we're not going to signal an error on
	an unhandled case.

	* pcl-cvs.el (cvs-add-file-update-buffer): update docs, see below.
	(cvs-add-do-update): new function - just update the buffer and tins
	(cvs-add-buffer-how): new function - has just the part of
	cvs-add-file-update-buffer that wants to be done prior to actually 
	running cvs - eg figure out what to do with each file.
	(cvs-add-how): new function - separate files to be added into new
	files and resurrected files.
	(cvs-mode-add): Use the above to avoid modifying the buffer before 
	the add is actually performed.  This way we don't get confused if
	the user quits out of the add while entering the description.

1998-09-17  Karl M. Hegbloom  <karlheg@bittersweet.inetarena.com>

	* pcl-cvs.el (cvs-set-display-cvsroot): Properly set; if there's a
 	CVS/Root file, then plain 'cvs update' will use that.  Otherwise,
 	our `cvs-cvsroot' variable is right, || $CVSROOT.
	(run-cvs-process): Clean up process and file if *cvs* buffer is
 	killed using a couple of kill buffer hooks.
	(cvs-do-update): Moved `cvs-set-display-cvsroot' and setq
	`cvs-working-directory' into #'run-cvs-process
	(cvs-do-status): ditto

1998-09-10  Karl M. Hegbloom  <karlheg@bittersweet.inetarena.com>

	* pcl-cvs.el (cvs-changelog-name): Use `change-log-default-name'
	so it becomes possible to use "ChangeLog.local" files to avoid CVS 
	merge clashes in the canonical shared ChangeLog files.

1998-09-24  Greg Klanderman  <greg@alphatech.com>

	* Makefile: update to newer XEmacs package protocol (Steve Baur)

1998-09-11  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el (cvs-mode-redo): bugfix: pass cvs-dont-change-disc 
	to cvs-do-update.

	* pcl-cvs-xemacs.el (pcl-cvs-font-lock-keywords): require space
	between fields on each line.

1998-09-07  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs-xemacs.el: first pass at fontification for 2.0b2.

	* pcl-cvs.el (cvs-status-stdout-parse-table): comment (debug) call

1998-09-07  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el (cvs-do-removal): bugfix in file error catching from
	Karl Hegbloom.

	* pcl-cvs.el
	(cvs-get-marked): fix mark toggling.
	(cvs-mode-commit): 
	(cvs-mode-add): 
	(cvs-mode-diff-cvs): 
	(cvs-mode-diff-backup): 
	(cvs-mode-diff-head): 
	(cvs-mode-diff-vendor): 
	(cvs-mode-status): 
	(cvs-mode-log): 
	(cvs-mode-update): 
	(cvs-mode-ignore): 
	(cvs-mode-undo-local-changes): 
	(cvs-mode-acknowledge): 
	(cvs-mode-remove-file): 
	(cvs-mode-tag): 
	(cvs-mode-rtag): 
	(cvs-mode-byte-compile-files): 
	(cvs-mode-changelog-commit): pass the right ignore-marks value 
	to cvs-get-marked.  Diff commands no longer take "ignore-marks"
	argument; use cvs-mode-toggle-marks (bound to T) to toggle using
	marks.

1998-09-04  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el (run-cvs-process): buffer formatting improvement.
	show CVSROOT directory and working directory in header.
	(cvs-update-pp): 
	(cvs-status-pp): report dirchanges relative to working dir.
	(run-cvs-process): cleanup leading and trailing space around args

1998-09-04  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el
	(cvs-find-program): nuke this bogosity.
	(run-cvs-process): don't require cvs-program to contain the
	absolute path; let it be found on the PATH if that's what the user 
	wants.

1998-09-04  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el
	(cvs-auto-remove-handled-directories): reintroduce this variable.
	(cvs-parse-process): use it.
	(cvs-add-sub): remove unused param cvs-buf.
	(cvs-mode-add): fix call to cvs-add-sub, nuke unused "buf".
	(cvs-dir-empty-p): correct args in docstring.
	(cvs-mode-commit): remove unused binding of cvs-buf
	(cvs-old-ediff-interface): ditto.
	(cvs-mode-emerge): ditto.
	(cvs-mode-changelog-commit): ditto.
	(cvs-execute-list): remove unused binding of arg-str
	(cvs-do-removal): missing quote on (apply 'signal err).

1998-09-04  Greg Klanderman  <greg@alphatech.com>

	* pcl-cvs.el
 	(run-cvs-process): use (force-mode-line-update).
	(XEmacs support): don't autoload pcl-cvs-fontify; it already has
	an autoload cookie.

	* Makefile: cleanup -- don't put debug .el's in the binkit.

1998-08-25  Karl M. Hegbloom  <karlheg@bittersweet.inetarena.com>

	* pcl-cvs.texi: Add direntry

	* Makefile (REQUIRES): elib dired

	* pcl-cvs.el: Roll in changes taken from diffs I pulled down from
 	the cvs.xemacs.org cvsweb server, and add autoload cookies
 	throughout.  Changed "Lucid" to "XEmacs".
	(cvs-find-program) Use PATH
	(cvs-default-ignore-marks) New variable, from old patch.
	(cvs-assert-applicable) Fix typo in arglist
	(cvs-examine*, cvs-update*, ...) bind `use-dialog-box' nil
	(cvs-mode) display keybind for `cvs-mode-mark-matching-files' and
 	`cvs-mode-toggle-marks'.
	(cvs-mode-map) keybind the above
	(cvs-mode-mark-matching-files, cvs-mode-toggle-marks),
	(cvs-ignore-marks-p) Copied in from old patch
	(cvs-do-removal) Use `condition-case' around file deletion in case
 	the file has already been burned.
	(cvs-get-marked): Use `cvs-default-ignore-marks' and
 	`cvs-ignore-marks-p'.  This could be simplified.

	* Makefile: adjust ELCS

	* cookie.el, dll-debug.el, dll.el, elib-node.el: Removed the elib
 	library stuff, since it now resides in its own package.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.