Source

semantic / NEWS

* Changes for Semantic 1.4.4

** New `semantic-stickyfunc-mode'.  Displays the function header at top of
   window in the Emacs 21 header-line.

** Fixed a bug in the C++-grammar/parser which is related to templates.

* Changes for Semantic 1.4.3

** Much better C/C++ grammar (almost complete) - now complex C++ can be parsed

*** Fixed some aspects of 'using' (e.g. now "using namespace XXX" is possible)

*** Much better namespace handling

**** Unnamed namespaces are correct parsed and "unnamed" is added as type-name

**** Namespace-qualified class- and type-names are now allowed whereever it is
     necessary

*** Much better handling of builtin-types

**** signed and unsigned is now only allowed for builtin types

**** Supporting composed builtins like 'long int' and 'long double'

**** Parsing builtin-type wchar_t and also literals like L"str" and L'c'

*** Much better template parsing:

**** Templates in combination with namespaces

**** Outside method-implementations for template classes are now correct parsed
     and also correct grouped to the type of the template class-declaration

**** Template-specifier can now contain all flavors of normal args regardless
     if builtin types or user-defined types and also in combination with
     adress(&)- und dereferencing(*)-operator.

**** All typemodifiers like const, volatile etc.. and pointers and
     references of a template-parameter are parsed and displayed correct.

**** Template types can now contain constant- and literal-arguments like in
     "foo<ClassX, 10> foo_10_var;"

**** Template-specifiers are allowed in class-qualifiers

*** Improving macro-parsing, i.e. now also multiline-macros (every line ending
    with a \) are parsed correctly; same for arbitrary one-liners
    
*** C++ keyword 'typename' is recognized and parsed

*** operator()() and operator[]() are parsed correctly

*** Better parsing of const and volatile (now also allowed to be after the type)

*** Correct parsing pointer-arguments of functions/methods, even if there is no
    argument-name

*** Correct parsing of string sequences like "string1" "string2" string3" which
    are concatenated by the cpp-precomiler to one string

*** Improved typedef parsing with const/volatile types and template-types
    
*** Some minor fixes


* Changes for Semantic 1.4.2

** Added namespaces support to the C/C++ grammar.
** Minor bug and doc fixes.

* Changes for Semantic 1.4.1

** This is a bug fix release only, without new features added.

* Changes for Semantic 1.4

** New Non-recursive parser by David Ponce <david@dponce.com>

** Changed contents of some nonterminals to make them language agnostic

*** Variables no longer contain an explicit constant flag.

*** Modifiers field for variable, function, and types is now an association
    list.

** Semantic Context Analysis library

*** Analyzizes via type information the local context

*** Provides smart completion information

*** Speedbar mode for using analysis information.

** Semantic Class Browser structure generator

*** Generates objects representing a browsable class structure
    which links parents and subclasses and externally defined
    methods into an easilly navigated (programatically) structure.

*** Speedbar interface to browser structure (simple)

** User Visible Features

*** semantic-load.el simplifies installation.

*** Added partial reparseing of buffers where only token contents have changed.

*** Added `semantic-show-dirty-mode'.

*** Added `semantic-show-unmatched-syntax-mode'

*** Added `semantic-auto-reparse-mode'

*** Added new tool, `semanticdb'.
    Semanticdb caches token lists between sessions with a specific file.

*** Added semantic-texi for parsing texinfo files.

**** Commands for creating @deffn sections from source

**** Commands for updating an entire document with the source.

*** Added semantic-scm for parsing Scheme (guile) scripts

*** semantic-el now has a much faster Emacs Lisp parser.
    It uses the built in Emacs read command.

*** semantic-c updates

**** Handles most of C++, including templates

**** Faster type parsing

**** Faster function/variable parsing

**** Summary text for keywords for eldoc

*** Added Senator (Semantic Navigator) by David Ponce <david@dponce.com>

**** Provides a minor mode keymap and menu.

**** Search and Isearch in token names.

**** Jump to functions by name

**** Token Completion, and completion menu.

**** eldoc support for languages supported by semantic.

**** hippie expand try function for token names.

*** Added Java.bnf by David Ponce <david@dponce.com>

**** java.bnf from JDE by Paul Kinnucan and David Ponce

**** semantic-java.el derived from JDE.

**** eldoc support in bnf modes.

*** semantic-imenu can now tags for all files that had been loaded in
    emacs in a directory if semanticdb is active

*** Imenu and speedbar group externally defined methods together.

** bnf-mode: Language Author Features

*** Parsing with `semantic-toplevel-bovinate-override' is better supported.

*** Fixed BNF indentation engine to handle Optional Lambda Expressions
   in a much cleaner way.

*** Keyword table for a language can be generated using %token specifiers
    and queried using `semantic-flex-map-keywords'.

*** Source level debugging in the .bnf file

*** skeleton.bnf as a good starting point for new languages.

Local variables:
mode: outline
paragraph-separate: "[ 	]*$"
end:
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.