Source

cc-mode / ChangeLog

Full commit
   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
2005-05-24  Norbert Koch  <viteno@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.45 released.

2005-05-23  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* Patch release 5.30.10.

2005-05-23  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-fonts.el (c-invalid-face-name): Use "red1" instead of "red"
	since it stands out better in xterms and DOS terminals.  Original
	change by Dan Nicolaescu <dann@ics.uci.edu>.

2005-05-23  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-fonts.el (c-font-lock-declarators): Fixed bug where the point
	could go past the limit in decoration level 2, thereby causing
	errors during interactive fontification.  (This is, in fact, the
	Right fix for the problem that has plagued JDEE users.)

2005-05-23  Alan Mackenzie  <bug-cc-mode@gnu.org>

	* cc-mode.el, cc-engine.el, cc-align.el: Change the FSF's address
	in the copyright statement.  Incidentally, change "along with GNU
	Emacs" to "along with this program" where it occurs.

2005-05-23  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-mode.el (c-make-inherited-keymap): Fixed cc-bytecomp bug when
	the file is evaluated interactively.

2005-05-23  Kevin Ryde  <user42@zip.com.au>:

	* cc-align.el (c-lineup-argcont): Ignore conses for {} pairs from
	c-parse-state, to avoid a lisp error (on bad code).

2005-05-23  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-guess-basic-syntax): Handle operator
	declarations somewhat better in C++.

2005-05-23  Alan Mackenzie  <bug-cc-mode@gnu.org>

	* cc-mode.el: Add a fourth parameter `t' to the awk-mode autoload,
	so that it is interactive, hence can be found by M-x awk-mode
	whilst cc-mode is yet to be loaded.  Reported by Glenn Morris
	<gmorris+emacs@ast.cam.ac.uk>.

2005-05-23  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-styles.el, cc-mode.el (c-run-mode-hooks): New helper macro to
	make use of `run-mode-hooks' which has been added in Emacs 21.1.

	(c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode,
	awk-mode): Use it.

	(make-local-hook): Suppress warning about obsoleteness which has
	been added in Emacs 21.1.

2005-05-23  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el, cc-align.el, cc-cmds.el
	(c-append-backslashes-forward, c-delete-backslashes-forward,
	c-find-decl-spots, c-semi&comma-no-newlines-before-nonblanks):
	Compensate for return value from `forward-line' when it has moved
	but not to a different line due to eob.

2005-05-23  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-guess-basic-syntax): Fixed anchoring in
	`objc-method-intro' and `objc-method-args-cont'.

2005-05-23  Alan Mackenzie  <bug-cc-mode@gnu.org>

	* cc-awk.el: Add character classes (e.g. "[:alpha:]") into AWK
	Mode's regexps.

2005-05-20  Aidan Kehoe  <kehoea@parhasard.net>

	* cc-engine.el (c-syntactic-re-search-forward): Revert my last
	change, it's the wrong thing. 
	* cc-fonts.el (c-font-lock-declarators): Apply Michael Thome's fix
	of 42404C6D.1030705@bbn.com, which is the Right Thing, once you've
	signed up for the re-search-forward API, which isn't great, IMO. 

2005-05-10  Norbert Koch  <viteno@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.44 released.

2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>

	* cc-engine.el (c-syntactic-re-search-forward): Before the first
	call of re-search-forward in the function, make sure that the
	bound is greater than or equal to (point). Fixes an error:

	Error caught in `font-lock-pre-idle-hook': (error Invalid search
	limit (wrong side of point))

	that users of JDEE have been seeing for a long time. 

2004-08-12  Norbert Koch  <viteno@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.43 released.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* Patch release 5.30.9.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-defs.el, cc-vars.el (c-emacs-features): Moved from cc-vars to
	cc-defs for dependency reasons.  Fixed the POSIX char class test
	to check that it works in `skip-chars-(forward|backward)' too.

	* cc-align.el (c-lineup-arglist): Fixed bug when the first
	argument starts with a special brace list.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-forward-type): Fixed promotion bug when
	`c-opt-type-concat-key' is used (i.e. in Pike).

	* cc-engine.el (c-looking-at-special-brace-list): Fixed bug when
	the inner char pair doesn't have paren syntax, i.e. "(< >)".

2004-08-11  Alan Mackenzie  <bug-cc-mode@gnu.org>

	* cc-cmds.el, cc-vars.el: Amend doc(-strings) to say that <TAB>
	doesn't insert WS into a CPP line.
	(c-indent-command, c-tab-always-indent): Amend doc strings.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-align.el (c-lineup-multi-inher): Made it syntactic whitespace
	safe.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-guess-basic-syntax): Fixed similar situations
	for `arglist-cont-nonempty' and `arglist-close'.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-guess-basic-syntax): Fixed anchor position for
	`arglist-intro' when there are two arglist open parens on the same
	line and there's nothing in front of the first.

	* cc-fonts.el (c-basic-matchers-before): Fixed font locking of
	qualified names in Java, which previously could fontify common
	indexing expressions in many cases.  The standard Java naming
	conventions are used to tell them apart.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-align.el (c-lineup-whitesmith-in-block): Fixed inconsistency
	wrt opening parens on the first line inside a paren block.

	* cc-defs.el (c-langs-are-parametric): Must be known at compile
	time for the sake of `c-major-mode-is'.

	(c-mode-is-new-awk-p): Made it a macro to delay expansion of
	`c-major-mode-is' in the event that this is used inside a
	`c-lang-defconst'.

2004-08-11  Alan Mackenzie  <bug-cc-mode@gnu.org>

	* cc-styles.el, cc-engine.el: Add in two checks for user errors,
	thus eliminating cryptic and unhelpful Emacs error messages.  (1)
	Check the arg to `c-set-style' is a string.  (2) Check that
	settings to `c-offsets-alist' are not spuriously quoted.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-defs.el (c-major-mode-is): Fixed expansion inside
	`c-lang-defconst' so that it works better with fallback languages.

	* cc-defs.el (c-add-language): Fixed a typo that caused it to fail
	to record the base mode.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-syntactic-re-search-forward): Fixed bug so that
	it doesn't go past the closing paren when PAREN-LEVEL is used.
	Reordered the syntax checks to get more efficient skipping in some
	situations.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-cmds.el (c-electric-brace): Don't trip up on a line
	continuation which might precede the newly inserted '{'.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-syntactic-re-search-forward): Fixed cases where
	it could loop indefinitely.

2004-08-11  Alan Mackenzie  <bug-cc-mode@gnu.org>

	* cc-cmds.el: (c-electric-brace): don't delete a comment which
	precedes the newly inserted `{'.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-fonts.el (c-font-lock-declarators): Handle array size specs
	correctly.  Only fontify identifiers in front of '(' with as
	functions - don't accept any paren char.  Tightened up initializer
	skipping to stop before function and class blocks.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-beginning-of-decl-1): Fixed bug where the point
	could be left directly after an open paren when finding the
	beginning of the first decl in the block.

	* cc-engine.el (c-parse-state): Don't use the syntax table when
	filtering out legitimate open parens to be recorded.  This could
	cause cache inconsistencies when e.g. `c++-template-syntax-table'
	was temporarily in use.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-on-identifier, c-simple-skip-symbol-backward):
	Small fix for handling "-" correctly in `skip-chars-backward'.
	Affected the operator lfun syntax in Pike.

2004-08-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-invalidate-sws-region-after): Fixed bug that
	could cause an error from `after-change-functions' when the
	changed region is at bob.

2003-11-18  Norbert Koch  <viteno@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.42 released.

2003-11-16  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* Patch release 5.30.8.

	* cc-engine.el (c-guess-continued-construct,
	c-guess-basic-syntax): Check a little more carefully if it's a
	function declaration when an unknown construct followed by a block
	is found inside a statement context.  This avoids macros followed
	by blocks to be taken as function declarations.

	(c-guess-continued-construct): Changed the analysis of a statement
	continuation with a brace open to `substatement-block', for
	consistency with recognized statements.

	(c-add-stmt-syntax): Don't continue to the surrounding sexp if the
	start is in a position so that `c-beginning-of-statement-1' jumped
	to the beginning of the same statement.

2003-11-16  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-fonts.el, cc-engine.el (c-forward-<>-arglist-recur): Don't
	accept binary operators in the arglist if we're in a function call
	context, i.e. if `c-restricted-<>-arglists' is set.  That avoids
	template recognition in cases like "if (a < b || c > d)".

	(c-restricted-<>-arglists): New more appropriate name for
	`c-disallow-comma-in-<>-arglists'.

	Accessing functions updated for the variable name change.

2003-11-16  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-syntactic-re-search-forward): Fix bug where the
	match data could get clobbered if NOT-INSIDE-TOKEN is used.

2003-11-16  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-beginning-of-statement-1): Don't allow parens in
	labels.

	(c-backward-to-decl-anchor): Use `c-beginning-of-statement-1'
	instead of duplicating parts of it.  This fixes bogus label
	recognition.

	* cc-align.el (c-gnu-impose-minimum): Reverted to the old method
	of checking the context in which to apply the minimum indentation,
	so that it isn't enforced in e.g. namespace blocks.

	* cc-vars.el (c-inside-block-syms): New constant used by
	`c-gnu-impose-minimum'.  It's defined close to `c-offsets-alist'
	to somewhat reduce the risk of becoming stale.

	* cc-cmds.el, cc-engine.el (c-shift-line-indentation): Moved from
	cc-cmds to cc-engine to allow use from cc-align.

2003-11-16  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-beginning-of-inheritance-list): Cope with fully
	qualified identifiers containing "::".

2003-11-16  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-defs.el (c-make-keywords-re): Added kludge for bug in
	`regexp-opt' in Emacs 20 and XEmacs when strings contain newlines.

2003-11-16  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-vars.el (c-emacs-features): Use a space in front of the name
	of the temporary buffer.  That also avoids dumping problems in
	XEmacs due to undo info being left around after the buffer is
	killed.

2003-11-16  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-in-knr-argdecl): Look closer at the function
	arglist to see if it's a K&R style declaration.

	(c-guess-basic-syntax): CASE 5B.2: Check with `c-in-knr-argdecl'
	before returning `knr-argdecl-intro'.

2003-10-31  Norbert Koch  <viteno@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.41 released.

2003-09-25  Norbert Koch  <viteno@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.40 released.

2003-09-24  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-parse-state): Fixed bug that could cause errors
	when the state cache contains info on parts that have been
	narrowed out.

2003-09-24  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-vars.el (c-comment-prefix-regexp): Document that
	`c-setup-paragraph-variables' has to be used when this variable is
	changed; it doesn't work to reinitialize the mode since that
	typically clobbers the variable.

	* cc-styles.el (c-setup-paragraph-variables): Made it interactive.

2003-09-24  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-fonts.el (c-font-lock-declarations): Fixed recognition of
	constructors and destructors for classes whose names are matched
	by `*-font-lock-extra-types'.

	* cc-langs.el (c-type-list-kwds): If "operator" is followed by an
	identifier in C++ then it's a type.

2003-09-24  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-fonts.el (c-font-lock-invalid-string): Fixed eob problem that
	primarily affected XEmacs.  Don't use faces to find unterminated
	strings since Emacs and XEmacs fontify strings differently - this
	function should now work better in XEmacs.

2003-09-24  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-cmds.el (c-electric-brace): Fixed a bug in the
	`expand-abbrev' workaround which caused braces to disbehave inside
	macros.

	* cc-engine.el (c-forward-keyword-clause): Fixed error handling.
	This bug could cause interactive font locking to bail out.

2003-09-24  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-just-after-func-arglist-p): Handle paren-style
	types in Pike.  Also fixed some cases of insufficient handling of
	unbalanced parens.

2003-08-26  Norbert Koch  <viteno@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.39 released.

2003-08-26  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-cmds.el (c-electric-brace): Work around for a misfeature in
	`expand-abbrev' which caused electric keywords like "else" to
	disappear if an open brace was typed directly afterwards.

2003-08-26  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-vars.el (c-extra-types-widget): The doc string is mandatory
	in `define-widget'.

	* cc-align.el, cc-langs.el (c-lineup-math): Don't align the
	operators "!=", "<=" and ">=" as assignment operators.

	(c-assignment-operators): New language constant that only contains
	the assignment operators.

	(c-assignment-op-regexp): New language variable used by
	`c-lineup-math'.

2003-08-26  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-just-after-func-arglist-p): Safeguard against
	unbalanced sexps.

2003-08-03  Norbert Koch  <viteno@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.38 released.

2003-08-03  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-mode.el (c-init-language-vars-for): Add argument MODE.
	Renamed from c-init-c-language-vars'.
	(c-initialize-cc-mode): Change accordingly.
	(c-common-init): Ditto.
	(c-mode): Ditto.
	(c++-mode): Use function.
	(objc-mode): Ditto.
	(java-mode): Ditto.
	(idl-mode): Ditto.
	(pike-mode): Ditto.
	(awk-mode): Ditto.

2003-08-01  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-end-of-current-token): Return whether or not the
	point moved.

	(c-search-decl-header-end): Don't trip up on operator identifiers
	in C++ and operators like == in all languages.

	* cc-engine.el (c-backward-to-decl-anchor): Detect leading labels
	correctly.

2003-07-17  Norbert Koch  <viteno@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.37 released.

2003-07-16  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-defs.el (c-langelem-sym, c-langelem-pos, c-langelem-2nd-pos):
	Added accessor functions for syntactic elements.

2003-07-09  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-literal-faces): Declare as a variable since it
	might be modified.

	* cc-langs.el: (c++-make-template-syntax-table,
	c-syntactic-ws-start, c-syntactic-ws-end): Gave more consistent
	names to these language constants.

2003-07-08  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-engine.el (c-guess-basic-syntax): Do not do hidden buffer
	changes; there's third party code that calls this function
	directly.

2003-07-07  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-fonts.el (javadoc-font-lock-keywords,
	autodoc-font-lock-keywords): Don't byte compile on font lock
	initialization when running from byte compiled files.

2003-07-06  Alan Mackenzie  <bug-cc-mode@gnu.org>

	* cc-engine.el: Fix AWK mode indentation when previous statement
	ends with auto-increment "++".

2003-07-06  Norbert Koch  <viteno@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.36 released.

2003-07-05  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-langs.el, cc-styles.el (c-style-alist, c-lang-variable-inits,
	c-lang-variable-inits-tail): The values of these are changed, so
	declare them as variables and not constants.

	* cc-mode.el: Fixed some autoload problems: Try to ensure that the
	entry for ".c" extension comes before the one for ".C" on
	`auto-mode-alist', to behave better on case insensitive OS:es.
	Fixed incorrect entries that were added to
	`interpreter-mode-alist'.  Moved the autoload directives for AWK
	to the top level since they aren't recognized anywhere else.  Do
	not use the new AWK mode doc in the autoload form for the old AWK
	mode.

2003-07-04  Norbert Koch  <viteno@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.35 released.

2003-07-03  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* Update to CC Mode 5.30.

2003-04-02  Norbert Koch  <viteno@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.33 released.

2003-04-01  Steve Youngs  <youngs@xemacs.org>

	* Makefile (ELCS): Don't build cc-make.el or cc-mode-19.el.
	Rename both to *.upstream.
	(PRELOADS): Add cc-bytecomp.el.

2003-03-09  Ben Wing  <ben@xemacs.org>

	* Makefile:
	Delete explicit compile:: and binkit: rules.
	Don't add custom-load.elc to the list of generated elc's.
	Use STANDARD_DOCS instead of explicitly giving the targets
	and dependencies.
	Move the include of XEmacs.rules to the end of the file.

2003-01-13  Rendhalver [Peter Brown]  <rendhalver@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.32 released.

2003-01-06  Ville Skytt�  <scop@xemacs.org>

	* cc-mode.el: Make auto-mode-alist modifications autoload-only.

2002-11-29  Ben Wing  <ben@xemacs.org>

	* .cvsignore: Remove files now handled automatically by CVS.
	* Makefile: Use `compile' instead of hard-coded `all'.

2002-10-15  Ville Skytt�  <scop@xemacs.org>

	* Makefile (srckit): Remove.

2002-10-14  Ville Skytt�  <scop@xemacs.org>

	* Makefile (MANUAL): Removed (unused).

2002-10-07  Rendhalver [Peter Brown]  <rendhalver@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.31 released.

2002-09-30  Ville Skytt�  <scop@xemacs.org>

	* cc-mode.el: Add autoloaded auto-mode-alist associations.

2002-09-06  Rendhalver [Peter Brown]  <rendhalver@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.30 released.

2002-08-31  Ville Skytt�  <scop@xemacs.org>

	* cc-engine.el (c-parse-state): Fix problem in finding
	out the parenthesis state around the indentation position.
	Patch from Martin Stjernholm (author).

2002-08-02  Rendhalver [Peter Brown]  <rendhalver@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.29 released.

2002-08-01  Ville Skytt�  <scop@xemacs.org>

	* cc-engine.el (c-beginning-of-member-init-list):
	Apply patch from Martin Stjernholm submitted by Neal D. Becker,
	Martin's comments: CC Mode 5.28 has a bug that causes it to
	confuse < and > in such initialization lists with template
	parentheses.  The following patch corrects that.

2002-07-16  Adrian Aichner  <adrian@xemacs.org>

	* .cvsignore: Add generated .info* and .html files.

2002-05-09  Steve Youngs  <youngs@xemacs.org>

	* Makefile (VERSION): XEmacs package 1.28 released.

2002-05-08  Steve Youngs  <youngs@xemacs.org>

	* Makefile (PRELOADS): No need to push the current directory into
	the load-path.

2002-01-13  Steve Youngs  <youngs@xemacs.org>

	* package-info.in (provides): Update to include all provides.

2002-01-07  Adrian Aichner  <adrian@xemacs.org>

	* Makefile (HTML_FILES): New.
	* Makefile (HTML_DEP): New.

2001-08-13  Enrico Scholz  <enrico.scholz@informatik.tu-chemnitz.de>

	* cc-cmds.el (c-fill-paragraph): Use 'c-current-comment-prefix'.

2001-05-11  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* cc-langs.el (c-switch-label-key): Regexp fix.

2001-02-24  Ben Wing  <ben@xemacs.org>

	* Makefile (MANUAL):
	Conditionalize extra MS Windows quoting on
	XEMACS_NATIVE_NT_NEEDS_EXTRA_QUOTING, since it breaks things under
	newer Cygwins.

2001-02-28  Steve Youngs  <youngs@xemacs.org>

	* Makefile (REQUIRES): Add mail-lib.
	(ELCS): Add missing .elc files.

	* Import cc-mode 5.28.

2000-11-07  Martin Buchholz <martin@xemacs.org>

	* cc-mode.texi: Doc fix.

2000-10-05  Martin Buchholz  <martin@xemacs.org>

	* *: Mega typo fix.

2000-07-26  Ben Wing  <ben@xemacs.org>

	* Makefile (PRELOADS): correct command-line quoting for MS Windows
	native.

2000-07-10  Andreas Jaeger  <aj@suse.de>

	Release 5.27 downloaded from http://cc-mode.sourceforge.net/.

1998-12-30  Martin Buchholz  <martin@xemacs.org>

	* Makefile (MAINTAINER): The preferred address is bug-cc-mode@gnu.org

	* Release 5.25
	Snarfed from http://www.python.org/emacs/cc-mode/

1998-03-05  SL Baur  <steve@altair.xemacs.org>

	* cc-mode.el: cc-defs isn't needed at run-time.

	* Synch with 5.21

1998-02-11  SL Baur  <steve@altair.xemacs.org>

	* cc-mode.el: Correct dependency on cc-defs (needs to be before
	use of `c-safe' macro.

Sun Feb  8 15:30:43 1998  Barry A. Warsaw  <cc-mode-help@python.org>

	* Release 5.20

Wed Feb 04 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-mode.el (c-mode, c++-mode, objc-mode, java-mode): set
	imenu-case-fold-search to nil.

Tue Feb 03 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-langs.el (c-postprocess-file-styles): If a file style or file
	offsets are set, make the variables local to the buffer (via
	make-local-variable).

	* cc-styles.el (c-make-styles-buffer-local): Take an optional
	argument which switches between make-variable-buffer-local and
	make-local-variable.  Generalize.

Mon Feb 02 1998  Martin Stjernholm  <cc-mode-help@python.org>

	* cc-align.el (c-lineup-close-paren, c-indent-one-line-block): New
	indentation functions.

	* cc-cmds.el (c-beginning-of-statement, c-end-of-statement): Do
	not move by sentence in strings.  Doc fixes.

	* cc-mode.texi: Document new indentation functions.

Sat Jan 24 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-defs.el (c-point): In XEmacs, use scan-lists +
	buffer-syntactic-context-depth to radically speed up locating
	top-level defun opening brace in some situations.  When the braces
	hang, this can make c-parse-state from between 3 to 60 times
	faster.  When they don't hang, this may be a few percentage points
	slower (not noticeable to me though).  The variable
	c-enable-xemacs-performance-kludge-p toggles the behavior.  This
	change has no effect on Emacs, which lacks the built-in function
	buffer-syntactic-context-depth.

	* cc-mode.texi: Discuss c-enable-xemacs-performance-kludge-p in
	the section on performance.

	* cc-vars.el (c-enable-xemacs-performance-kludge-p): New variable.

Fri Jan 23 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-cmds.el cc-defs.el cc-engine.el (c-beginning-of-defun,
	c-indent-defun, c-parse-state): Use (c-point 'bod) instead of
	beginning-of-defun directly.

Tue Jan 20 1998  Martin Stjernholm  <cc-mode-help@python.org>

	* cc-cmds.el (c-beginning-of-statement): Speedup; it's only
	necessary to call `c-literal-limits' once when the function is
	entered.

Mon Jan 19 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-align.el (c-semi&comma-no-newlines-before-nonblanks,
	c-semi&comma-no-newlines-for-oneline-inliners): New functions,
	appropriate for c-hanging-semi&comma-criteria, but not placed on
	that variable by default.

	* cc-langs.el (c-mode-base-map): Comment out c-beginning-of-defun
	and c-end-of-defun bindings, since RMS doesn't want these to be
	the default.

	* cc-mode.texi: Describe c-beginning-of-defun and c-end-of-defun.
	Describe the new c-hanging-semi&comma-criteria functions.

Sun Jan 18 1998  Martin Stjernholm  <cc-mode-help@python.org>

	* cc-cmds.el (c-beginning-of-statement): Handle multiple C++ line
	comments a little better.

	Almost completely rewritten.  It's now more thorough when handling
	strings and comments and the transitions between them and the
	surrounding code.  The statement parsing is also rewritten because
	`c-{beginning|end}-of-statement-1' does no longer do what we want
	in this function (e.g. c-b-o-s-1 doesn't go into blocks).  It also
	works better for different counts and when sentence-flag is nil.

	* cc-engine.el (c-forward-syntactic-ws, c-backward-syntactic-ws):
	Removed the narrowings which doesn't seem to have much effect.
	Instead a simple check is made against the given limit.  In
	`c-backward-syntactic-ws' this means that there's no need to
	search for bod, which helps up speed quite a lot in some areas.

	(c-collect-line-comments): New function that given the limits of
	one C++ style line comment returns the range for all adjacent line
	comments.  This functionality is moved from the functions
	`c-literal-limits' and `c-literal-limits-fast'.

	(c-literal-limits): New function that finds the start and end pos
	of a comment or string surrounding point.  This function is Emacs
	19.34 compatible and it has a workaround for what seems to be a
	bug in `parse-partial-sexp' when we use an existing state to get
	the state for the very next character.

	(c-literal-limits-fast): A faster variant of `c-literal-limits'
	for newer Emacsen where the state returned from
	`parse-partial-sexp' contains the starting pos of the last
	literal.  This does not contain the workaround described above.
	The function is not yet tested and therefore not in use for now.
	Note that these functions regard the position between the first
	and second char of a comment starter to be part of the comment.
	Although `parse-partial-sexp' (in Emacs 19 anyway) doesn't do
	this, it seems more intuitive to me.  Maybe `c-in-literal' should
	do this too?

Thu Jan 15 1998  Martin Stjernholm  <cc-mode-help@python.org>

	* cc-mode-19.el Added `when' and `unless'.

Thu Jan 15 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-engine.el (c-guess-basic-syntax): Fixed a few byte compiler
	warnings.

Wed Jan 14 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-cmds.el (c-beginning-of-defun, c-end-of-defun): New commands
	which mimic the standard built-ins, but do a much better job of
	finding the open brace when it's hung on the right side (as is the
	case with the most common Java style).

	* cc-engine.el (c-backward-to-start-of-do): Break infloop for
	illegal code, e.g. when someone types while (TRUE) { at the top of
	a buffer, we shouldn't hang when the { is typed!

Tue Jan 13 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-cmds.el (c-beginning-of-statement): When moving forward by
	sentences, because we're either inside or at the start of a
	comment, be sure to limit movement to only within the extent of
	the comment.

Sat Jan 10 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-langs.el (c-java-method-key): I really don't remember why
	this was added, but it seems to do more harm than good.  Besides,
	its value was clearly wrong, being inherited from Objective-C.

	* cc-mode.el (java-mode): Set c-method-key to nil.  I don't think
	this is necessary for Java, and besides, the old value was
	inherited from Objective-C which was clearly not right.  With this
	change, all regression tests pass and the example by Bengt
	Martensson also passes:

	class Baz
	{
	    int blah()
	    {
		return 1
		    + 2
		    + 3
		    + foobar()
		    + 5
		    + 6;
	    }
	}

	* cc-mode.texi Add some explanation to "gnu" style and "user"
	style, describing the relationship between these and user
	Customizations.

	* cc-vars.el (c-default-style): Change this back to "gnu" after
	(re-reading old) discussions with RMS.  This may confuse users who
	set variables in the top-level of their .emacs files, or using the
	Custom interface, since those changes will get incorporated into
	the "user" style.  RMS insists, however, that the default style be
	"gnu".

Sun Jan 04 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-cmds.el (c-electric-colon): Newlines should not be inserted
	before or after scope operators, regardless of the value of
	c-hanging-colons.

	* cc-engine.el (c-backward-to-start-of-if): Workaround a nasty to
	track down bug.  If point is < lim, then this function can
	actually land you forward into the buffer.  This can cause an
	infloop in c-beginning-of-statement-1. It is probably a bug that
	this function gets called with a lim > point, but that's even
	harder to figure out, so if that's the case when this function is
	called, it's simpler just to ignore lim and use bod.  This breaks
	the infloop without causing broken indentation.

Sat Jan 03 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-align.el (c-lineup-dont-change): New lineup function that
	leaves the current line's indentation unchanged.  Used for the new
	cpp-macro-cont syntactic symbol.

	* cc-cmds.el (c-electric-brace): namespace-open and
	namespace-close braces can hang.

	* cc-defs.el (c-emacs-features): Added autoload cookie which Steve
	Baur claims is necessary for XEmacs.

	* cc-engine.el (c-search-uplist-for-classkey): When searching up
	for a class key, instead of hardcoding the extended search for
	"extern", use the new variable c-extra-toplevel-key, which is
	language dependent.  For C++, this variable includes the keyword
	"namespace" which will match C++ namespace introducing blocks.

	(c-guess-basic-syntax): Support for recognizing C++ namespace
	blocks, by elaborating on the mechanism used to find external
	language blocks.  Searches which hardcoded "extern" now use
	c-extra-toplevel-key, a language dependent variable.  Case clauses
	that were modified: CASE 5A.1, CASE 5A.4, CASE 5F, CASE 5I, CASE
	14A.

	CASE 3: we can now determine whether we're at the beginning of a
	cpp macro definition, or inside the middle of one. Set syntax to
	'cpp-macro in the former case, 'cpp-macro-cont in the latter.  In
	both cases, the relpos is the beginning of the macro.

	(c-forward-syntactic-ws): Added code that skips forward over
	multi-line cpp macros.

	(c-beginning-of-macro): Moved, and made into a defsubst.  This
	function can now actually find the beginning of a multi-line C
	preprocessor macro.

	(c-backward-syntactic-ws): Use c-beginning-of-macro to skip
	backwards over multi-line macro definitions.

	(c-in-literal, c-fast-in-literal): Use c-beginning-of-macro to
	find out whether we're in a multi-line macro definition.

	* cc-langs.el (c-C-extra-toplevel-key, c-C++-extra-toplevel-key,
	c-extra-toplevel-key): New variables which parameterize the search
	for additional top-level enclosing constructs.  In all languages,
	extern lang blocks are supported (but maybe this should just be C
	and C++?). In C++, also namespace blocks are supported.

	* cc-menus.el Imenu patches by Masatake Yamato and Jan Dubois.

	* cc-mode.el (c++-mode): Set c-extra-toplevel-key to
	c-C++-extra-toplevel-key.

	(c-initialize-on-load): New variable, *not* customized.  When set
	to t -- the default -- c-initialize-cc-mode is called when the
	cc-mode.el file is loaded, e.g. via (require 'cc-mode).  This is
	backwards compatible with .emacs files that used CC Mode 4.  I'm
	still not 100% sure this is the right thing to do.

	* cc-mode.texi: Added descriptions of the new C++ namespace
	syntactic symbols: namespace-open, namespace-close, innamespace.
	Added an example for this and also multi-line macros.

	Describe c-lineup-dont-change and the new cpp-macro-cont syntactic
	symbol.  Remove the `known limitation' that multi-line macros
	aren't supported.

	* cc-styles.el (c-offsets-alist): Three new syntactic symbols:
	innamespace, namespace-open, namespace-close.  These support C++
	namespace blocks.

	Added new syntactic symbol cpp-macro-cont, by default bound to
	c-lineup-dont-change.  This symbol is assigned to subsequent lines
	of a multi-line C preprocess macro definition.

	* cc-vars.el (c-default-style): Variable is user customizable so
	it's docstring should start with a `*'.

Fri Jan 02 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-engine.el (c-fast-in-literal): Function which should be
	faster than c-in-literal.  This uses buffer-syntactic-context
	which is a speedy built-in that exists only in XEmacs.  Make it's
	alias conditional on that built-in's existance.  To be honest, the
	performance effects should be tested.  Also c-fast-in-literal
	knows about multi-line cpp macros while c-in-literal does not.
	The latter should be taught about this, but this change will wait
	for a future mega-patch to handle multi-line macros.

Thu Jan 01 1998  Barry Warsaw  <cc-mode-help@python.org>

	* cc-cmds.el (c-comment-line-break-function): When breaking a
	line-oriented comment, copy the comment leader from the previous
	line instead of hardcoding it to "// ".  This ensures that
	whitespace between the slashes and the text is preserved.

Tue Nov 18 1997  Barry Warsaw  <cc-mode-help@python.org>

	* cc-langs.el (c-mode-base-map): Bind c-mark-function using a
	portable representation of C-M-h that differentiates this from
	M-BS on both XEmacs and Emacs.

Sat Nov 15 1997  Barry Warsaw  <cc-mode-help@python.org>

	* cc-cmds.el (c-electric-pound, c-electric-brace,
	c-electric-slash, c-electric-star, c-electric-semi&comma,
	c-electric-colon, c-electric-lt-gt, c-scope-operator,
	c-indent-command, c-indent-exp, c-indent-defun,
	c-backslash-region, c-fill-paragraph): Added "*" to interactive
	spec to barf-if-buffer-read-only.

Fri Nov 14 1997  Barry Warsaw  <cc-mode-help@python.org>

	* cc-cmds.el (c-fill-paragraph): regexp-quote the fill-prefix when
	search forward for the end of line oriented comments.  This is in
	case the fill-prefix contains regexp special characters
	(e.g. fill-prefix == " //* ")

	(c-backslash-region): Do not preserve the zmacs region (XEmacs).

Wed Nov 12 1997  Barry Warsaw  <cc-mode-help@python.org>

	* cc-langs.el (c-mode-base-map): c-mark-function moved back to
	M-C-h.  RMS says: "It ought to be on M-C-h, because that is the
	key to mark one function definition in whatever language you're
	using."  I don't remember why it was moved in the first place.

Tue Nov 04 1997  Barry Warsaw  <cc-mode-help@python.org>

	* cc-cmds.el (c-electric-backspace, c-electric-delete):
	Interactive spec should have a read-only *.

Thu Oct 30 1997  Barry Warsaw  <cc-mode-help@python.org>

	* cc-styles.el (c-styles-alist): Merged "jdk" into "java" style
	and removed "jdk" style.  Only differences now are inline-open and
	c-basic-offset.

Wed Oct 29 1997  Barry Warsaw  <cc-mode-help@python.org>

	* cc-mode.texi Document "jdk" style.

	* cc-styles.el (c-style-alist): "jdk" style given by Martin
	Buchholz <mrb@Eng.Sun.COM> for conformance with Sun's JDK style.

Fri Oct 10 1997  Barry Warsaw  <cc-mode-help@python.org>

	* cc-styles.el (c-set-style-2, c-initialize-builtin-style): Don't
	special case "cc-mode", it's a derived style.

	Fix setup of derived style "cc-mode".

	Introduce the new default style "user" which contains all user
	customizations.  The style "cc-mode" is retained as an alias, but
	it's use is deprecated.  The default style variable has been
	renamed c-default-style.

	* cc-vars.el (c-site-default-style): Renamed to c-default-style.
	Also, the default value is now "user".

1998-01-24  SL Baur  <steve@altair.xemacs.org>

	* Makefile (VERSION): Update to package standard 1.0.
	* package-info.in: Ditto.

1998-01-17  SL Baur  <steve@altair.xemacs.org>

	* cc-mode.el (c-submit-bug-report): Move reporter dependency
	inside the function that uses it.

1998-01-09  SL Baur  <steve@altair.xemacs.org>

	* cc-engine: (c-guess-basic-syntax): Guard against c-access-key being
	nil.
	From Didier Verna <verna@inf.enst.fr>

1998-01-03  SL Baur  <steve@altair.xemacs.org>

	* Makefile: Update to newer package interface.

1997-12-25  SL Baur  <steve@altair.xemacs.org>

	* cc-engine.el: Add explicit dependency on cc-defs.
	* cc-styles.el: Ditto.

1997-12-21  SL Baur  <steve@altair.xemacs.org>

	* Makefile: Created.