* 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 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 ** 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 **** 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 **** 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: