comparison etc/NEWS @ 26820:b7d914dd51a6

cc-mode changes.
author Gerd Moellmann <gerd@gnu.org>
date Sun, 12 Dec 1999 18:44:55 +0000
parents d30b640777b8
children 782476a34d9d
comparison
equal deleted inserted replaced
26819:a19be798eaea 26820:b7d914dd51a6
407 in the shell command has a special meaning similar to `*', but with 407 in the shell command has a special meaning similar to `*', but with
408 the difference that the command will be run on each file individually. 408 the difference that the command will be run on each file individually.
409 409
410 ** The variable mail-specify-envelope-from controls whether to 410 ** The variable mail-specify-envelope-from controls whether to
411 use the -f option when sending mail. 411 use the -f option when sending mail.
412
413 ** CC mode changes.
414
415 Note: This release contains changes that might not be compatible with
416 current user setups (although it's believed that these
417 incompatibilities will only show in very uncommon circumstances).
418 However, since the impact is uncertain, these changes may be rolled
419 back depending on user feedback. Therefore there's no forward
420 compatibility guarantee wrt the new features introduced in this
421 release.
422
423 *** New initialization procedure for the style system.
424 When the initial style for a buffer is determined by CC Mode (from the
425 variable c-default-style), the global values of style variables now
426 take precedence over the values specified by the chosen style. This
427 is different than the old behavior: previously, the style-specific
428 settings would override the global settings. This change makes it
429 possible to do simple configuration in the intuitive way with
430 Customize or with setq lines in one's .emacs file.
431
432 By default, the global value of every style variable is the new
433 special symbol set-from-style, which causes the value to be taken from
434 the style system. This means that in effect, only an explicit setting
435 of a style variable will cause the "overriding" behavior described
436 above.
437
438 Also note that global settings override style-specific settings *only*
439 when the initial style of a buffer is chosen by a CC Mode major mode
440 function. When a style is chosen in other ways --- for example, by a
441 call like (c-set-style "gnu") in a hook, or via M-x c-set-style ---
442 then the style-specific values take precedence over any global style
443 values. In Lisp terms, global values override style-specific values
444 only when the new second argument to c-set-style is non-nil; see the
445 function documentation for more info.
446
447 The purpose of these changes is to make it easier for users,
448 especially novice users, to do simple customizations with Customize or
449 with setq in their .emacs files. On the other hand, the new system is
450 intended to be compatible with advanced users' customizations as well,
451 such as those that choose styles in hooks or whatnot. This new system
452 is believed to be almost entirely compatible with current
453 configurations, in spite of the changed precedence between style and
454 global variable settings when a buffer's default style is set.
455
456 (Thanks to Eric Eide for clarifying this explanation a bit.)
457
458 **** c-offsets-alist is now a customizable variable.
459 This became possible as a result of the new initialization behavior.
460
461 This variable is treated slightly differently from the other style
462 variables; instead of using the symbol set-from-style, it will be
463 completed with the syntactic symbols it doesn't already contain when
464 the style is first initialized. This means it now defaults to the
465 empty list to make all syntactic elements get their values from the
466 style system.
467
468 **** Compatibility variable to restore the old behavior.
469 In case your configuration doesn't work with this change, you can set
470 c-old-style-variable-behavior to non-nil to get the old behavior back
471 as far as possible.
472
473 *** Improvements to line breaking and text filling.
474 CC Mode now handles this more intelligently and seamlessly wrt the
475 surrounding code, especially inside comments. For details see the new
476 chapter about this in the manual.
477
478 **** New variable to recognize comment line prefix decorations.
479 The variable c-comment-prefix-regexp has been added to properly
480 recognize the line prefix in both block and line comments. It's
481 primarily used to initialize the various paragraph recognition and
482 adaptive filling variables that the text handling functions uses.
483
484 **** New variable c-block-comment-prefix.
485 This is a generalization of the now obsolete variable
486 c-comment-continuation-stars to handle arbitrary strings.
487
488 **** CC Mode now uses adaptive fill mode.
489 This to make it adapt better to the paragraph style inside comments.
490
491 It's also possible to use other adaptive filling packages inside CC
492 Mode, notably Kyle E. Jones' Filladapt mode (http://wonderworks.com/).
493 A new convenience function c-setup-filladapt sets up Filladapt for use
494 inside CC Mode.
495
496 Note though that the 2.12 version of Filladapt lacks a feature that
497 causes it to work suboptimally when c-comment-prefix-regexp can match
498 the empty string (which it commonly does). A patch for that is
499 available from the CC Mode web site (http://www.python.org/emacs/
500 cc-mode/).
501
502 **** It's now possible to selectively turn off auto filling.
503 The variable c-ignore-auto-fill is used to ignore auto fill mode in
504 specific contexts, e.g. in preprocessor directives and in string
505 literals.
506
507 **** New context sensitive line break function c-context-line-break.
508 It works like newline-and-indent in normal code, and adapts the line
509 prefix according to the comment style when used inside comments. If
510 you're normally using newline-and-indent, you might want to switch to
511 this function.
512
513 *** Fixes to IDL mode.
514 It now does a better job in recognizing only the constructs relevant
515 to IDL. E.g. it no longer matches "class" as the beginning of a
516 struct block, but it does match the CORBA 2.3 "valuetype" keyword.
517 Thanks to Eric Eide.
518
519 *** Improvements to the Whitesmith style.
520 It now keeps the style consistently on all levels and both when
521 opening braces hangs and when they don't.
522
523 **** New lineup function c-lineup-whitesmith-in-block.
524
525 *** New lineup functions c-lineup-template-args and c-indent-multi-line-block.
526 See their docstrings for details. c-lineup-template-args does a
527 better job of tracking the brackets used as parens in C++ templates,
528 and is used by default to line up continued template arguments.
529
530 *** c-lineup-comment now preserves alignment with a comment on the
531 previous line. It used to instead preserve comments that started in
532 the column specified by comment-column.
533
534 *** c-lineup-C-comments handles "free form" text comments.
535 In comments with a long delimiter line at the start, the indentation
536 is kept unchanged for lines that start with an empty comment line
537 prefix. This is intended for the type of large block comments that
538 contain documentation with its own formatting. In these you normally
539 don't want CC Mode to change the indentation.
540
541 *** The `c' syntactic symbol is now relative to the comment start
542 instead of the previous line, to make integers usable as lineup
543 arguments.
544
545 *** All lineup functions have gotten docstrings.
546
547 *** More preprocessor directive movement functions.
548 c-down-conditional does the reverse of c-up-conditional.
549 c-up-conditional-with-else and c-down-conditional-with-else are
550 variants of these that also stops at "#else" lines (suggested by Don
551 Provan).
552
553 *** Minor improvements to many movement functions in tricky situations.
412 554
413 ** Isearch changes 555 ** Isearch changes
414 556
415 *** In Isearch mode, mouse-2 in the echo area now yanks the current 557 *** In Isearch mode, mouse-2 in the echo area now yanks the current
416 selection into the search string rather than giving an error. 558 selection into the search string rather than giving an error.