2002-06-24  emacsman  <emacsman@choochoo>

	* wisent/wisent-python.el, wisent/wisent-python.wy:
	Added David's support for "raw strings" via the introduction of the raw-string token.  This needs to be revisited later to see if we can optimize it.

2002-06-23  ponced  <ponced@choochoo>

	* wisent/wisent.texi: More fixes.
	Added index entries.
	Use the GNU Free Documentation License.

	* wisent/fdl.texi:
	New file.  Text of the GNU Free Documentation License.

2002-06-23  emacsman  <emacsman@choochoo>

	* wisent/wisent-python.el, wisent/wisent-python.wy:
	Added support for \ token which is the explicit line continuation token.
	This was done by adding BACKSLASH token along with a handler which gets rid
	of 'newline and 'bol tokens that follow the \ token.

2002-06-22  ponced  <ponced@choochoo>

	* wisent/wisent.texi: Fixes & more text added.

2002-06-22  emacsman  <emacsman@choochoo>

	* wisent/wisent-python.el, wisent/wisent-python.wy:
	Fixed 'lambdef' NT by adding the missing 'varargslist_opt'.

	* tests/test.py:
	Added the content of /usr/lib/python2.2/BaseHTTPServer.py.

	* wisent/wisent-python.el, wisent/wisent-python.wy:
	Rather than blindly implementing 'varargslist' NT, I refactored the rules to be cleaner.  With this change, /usr/lib/python2.2/BaseHTTPServer.py now parses successfully.

	* wisent/wisent-python.el, wisent/wisent-python.wy:
	Deleted `(read $1)' semantic rule for `one_or_more_string' NT,
	because it generates an error for single quoted strings!

	* wisent/wisent-python.el:
	wisent-python-default-setup is added back to python-mode-hook.
	I tried adding this to semantic-init-hooks, but that does
	not work.

2002-06-21  ponced  <ponced@choochoo>

	* wisent/wisent.texi: Major update!

2002-06-21  emacsman  <emacsman@choochoo>

	* wisent/wisent-python.el, wisent/wisent-python.wy:
	The lexer must not generate NEWLINE, DEDENT, nor INDENT tokens when a
	physical line is continued onto the next line.  Such line continuation
	occurs when (, [, or { appear in a line without matching ), ],
	and/or } tokens. This is called implicit line continuation in python.

	The implementation relys on wisent's token "handler" feature for
	'newline', 'open-paren', and 'close-paren' tokens.

	* wisent/wisent-python.el:
	Pick up changes recently made in wisent-python.wy.

	* wisent/wisent-python.wy:
	wisent-python-lexer-indent-stack defaults to '(0) rather than nil.

	Reverted 'stmt' NT back to official rule rather than a hack that I had.

	Renamed trailer_opt to trailer_zom then fixed the rule accordingly,
	i.e., "zero or more" rather than "zero or one". Ditto for exponent_opt
	NT.

	'argument' NT was modified slightly from the official rule in order to
	parse function calls with arguments, e.g., f(x).  Need to revisit this
	later to see why the official rule does not parse 'f(x)'.

	* wisent/wisent-python.wy:
	Added over 20 new semantic rules to aid in debugging.

	* wisent/wisent-python.wy:
	Cosmetic indentation change only.  Lined up keywords so that they all start in the same column.

2002-06-19  emacsman  <emacsman@choochoo>

	* tests/test.py: Python code to excersize the parser.

	* wisent/wisent-python.el, wisent/wisent-python.wy:
	First unfinished version of the Python parser.

2002-06-18  ponced  <ponced@choochoo>

	* senator.el:
	Use `senator-minor-mode-hook' to add semantic completion to
	`hippie-expand'.  Thanks to Phillip Lord <p.lord@russet.org.uk>.

	(hippie-expand): Removed `defadvice'.
	(senator-try-function-already-enabled): New variable.
	(senator-hippie-expand-hook): New function.
	(senator-try-expand-semantic): Removed (require 'senator).  Added an
	autoload cookie.

	* semantic-bnf.el (semantic-bnf-complete): Removed (require 'senator).

	* semantic-load.el (senator-try-expand-semantic): auto-loaded.
	(senator-complete-symbol): auto-loaded.

2002-06-17  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-el.el (semantic-elisp-use-read): Support `defun*'.

2002-06-14  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/test.cpp: New tets in include, namespace, and templates.

	* tests/test.c: Various new tests.

	* semantic-util.el (semantic-nonterminal-full-name): New name.
	(semantic-nonterminal-full-name-default): New name.
	(semantic-assert-valid-token): New function.

	* semantic.el: Removed crufty History comment.
	(semantic-flex-tokens): Removed trailing whitespace.

	* semanticdb.el:
	(semanticdb-table-oob-santity-check, semantic-table-sanity-check):
	(semanticdb-database-santity-check): New functions.

2002-06-13  ponced  <ponced@choochoo>

	* INSTALL, semantic.texi: Fixed typo.

2002-06-13  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el (semantic-toplevel-c-bovine-table): New c.bnf.
	(semantic-flex-c-extensions): Added `semantic-flex-c-include-system'.
	(semantic-flex-c-include-system): New fn.

	* c.bnf (macro-or-include): Use new lexical symbol system-include
	(filename-prefix, filename-extension,filename): Deleted.
	(namespacesubparts): Added template and using clauses
	(using): Added :: notation support.
	(METADECLMOD): Added MUTABLE
	(func-decl): Added template type specifier
	(throw-exception-list): Support empty throw lists.
	(function-call): New rule.
	(expression): Support function calls in expressions.

2002-06-11  Eric M. Ludlam  <eric@siege-engine.com>

	* INSTALL: Added mailing list information.

	* semantic.texi (Top): Removed request for parser help.
	Added mailing list information.

2002-06-11  ponced  <ponced@choochoo>

	* wisent/wisent-flex.el (wisent-flex):
	Fixed incorrect "eating" of `wisent-flex-istream'.

2002-06-07  ponced  <ponced@choochoo>

	* wisent/wisent-flex.el (wisent-flex-token-get): Doc fix.
	(wisent-flex): Doc fix.  New 'handler mapping rule.

	* semantic.texi: no message

2002-05-31  ponced  <ponced@choochoo>

	* semantic.el (semantic-flex-tokens): Updated token list.
	(semantic-flex-enable-bol): New variable.
	(semantic-flex): Use it to catch beginning of lines when needed.
	Handle `semantic-flex-extensions' first, just after BOL.
	Handle newlines and whitespaces independently.
	Return comments as whitespaces when `semantic-ignore-comments' and
	`semantic-flex-enable-whitespace' are both non-nil.
	Correctly handle newlines following comments.

2002-05-16  ponced  <ponced@choochoo>

	* semantic-util.el (semantic-summarize-nonterminal-default): Use
	`semantic-symbol->name-assoc-list-for-type-parts' and
	`semantic-bucketize-token-token'.

2002-05-15  ponced  <ponced@choochoo>

	* wisent/wisent-java-tags.el, wisent/wisent-java.el (wisent-java-parser-tables):
	Re-generated from updated grammar.
	(wisent-java-keywords): Ditto.
	(wisent-java-tokens): Ditto.
	(wisent-java-default-setup): Ditto.

	* wisent/wisent-java-tags.wy, wisent/wisent-java.wy (setup):
	take into account new
	`semantic-symbol->name-assoc-list-for-type-parts' option.

	* semantic-java.el (semantic-default-java-setup):
	Re-generated from updated grammar.

	* java.bnf (setup): take into account new
	`semantic-symbol->name-assoc-list-for-type-parts' option.

2002-05-13  emacsman  <emacsman@choochoo>

	* semantic-bnf.el, semantic.el:
	Corrected spelling in comments and doc-strings.

	* semantic.texi:
	Corrected spelling and added "LocalWords" at the end of the file as
	texinfo comments for the benefit of future ispell runs.

2002-05-09  emacsman  <emacsman@choochoo>

	* semantic-bnf.el:
	Added (eval-after-load "info-look" ...) form to hook up semantic-bnf-mode with semantic.info file.

	* semantic.texi:
	Replaced use of "@table...@end table" with "@deffn ... @end deffn" for
	the BNF settings so that a proper index entry is create for each
	setting.

2002-05-08  ponced  <ponced@choochoo>

	* semantic-util.el (semantic-util):
	provided before requiring semantic-util-modes to
	avoid recursive load.

2002-05-07  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util-modes.el: Removed require for semantic-util.el

	* semantic-util.el: Added a provide statement to end.

	* semantic-util.el (semantic-something-to-stream): Fixed typos
	(semantic-find-nonterminal-by-function-first-match): Fixed typos

	* Project.ede, document.el, make.bnf, semantic-analyze.el, semantic-c.el, semantic-ctxt.el, semantic-el.el, semantic-imenu.el, semantic-load.el, semantic-make.el, semantic-sb.el, semantic-texi.el, semantic-util-modes.el, semantic.el, semanticdb.el, senator.el, sformat.el, working.el, c.bnf:
	Merged from v1_4 branch.

	* semantic-util.el: Merged from v1_4 branch.
	(semantic-something-to-stream): New function.
	(semantic-find-nonterminal-by-function):
	(semantic-find-nonterminal-by-function-first-match): Use above.
	(semantic-nonterminal-full-package-name): New function
	(semantic-nonterminal-full-package-name-default): New function

2002-04-06  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-bnf.el (semantic-bnf-to-bovine):
	Remove errant space from last CR insert.

2002-03-23  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util.el (semantic-nonterminal-external-member-parent):
	Fixed name of override symbol.

	* semantic-ia-sb.el (semantic-speedbar-analysis): Doc fix

	* semantic-ia.el (semantic-ia-complete-symbol): Doc fix
	(semantic-ia-complete-symbol-menu): Doc fix

	* semantic-cb.el (semantic-cb-new-class-browser): Doc fix
	(semantic-cb-speedbar-mode): Doc fix

	* semantic-analyze.el (semantic-analyze-possible-completions): Doc fix.

	* semantic.texi:
	(analyzer, Smart Completion, Speedbar Analysis, class browser):
	New sections.
	(Speedbar): Added references to new speedbar displays in new nodes.

	* semantic-ctxt.el (semantic-ctxt-current-symbol-default):
	Fixed bug for commands
	prefixed with a comment while narrowed.

	* semantic-c.el: Require cc-mode so that some commands are available.

	* semantic-imenu.el (semantic-create-imenu-index):
	Make sure the directory menu generator
	also gets a stream.

2002-03-22  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-analyze.el (semantic-analyze-find-nonterminal-sequence):
	Fix to handle long sequences.

	* semantic-c.el (semantic-c-analyze-type-constants): New method
	(semantic-default-c-setup): Add type-constants method.

	* semantic-analyze.el (semantic-analyze-type-constraint):
	Allow types that are psuedo-tokens
	to return themselves.
	(semantic-analyze-type-constants): New override function
	(semantic-analyze-possible-completions): Find constants as possible
	completions.

2002-03-20  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-ia-sb.el (semantic-ia-sb-key-map): Removed expand/contract
	(semantic-ia-sb-token-info): fix bug w/ use of `semantic-analyze-token-type'.
	(semantic-ia-sb-tag-info): New command.

	* semantic-ctxt.el (semantic-beginning-of-command-default):
	Skip over end-of-command
	syntax of previous command.
	(semantic-ctxt-current-symbol-default): Stop scanning backwards once
	the point stops moving.  Do not use bobp which can loose 1st symbol.

	* semantic.el (semantic-version): Update version.
	(semantic-bovinate-debug-set-table): Allow user reset of table.

	* semantic-c.el (semantic-toplevel-c-bovine-table): New c.bnf
	(semantic-expand-c-nonterminal): Added multi-typedef support.
	(semantic-c-analyze-dereference-metatype): New override
	(semantic-default-c-setup): Added new override.

	* c.bnf (typesimple): Support typedefs w/ more than one name.
	Re-arranged how typedefs are structured.

	* semantic-ia-sb.el (semantic-ia-sb-more-buttons):
	Fixed copy/paste bug.

	* semantic-analyze.el (semantic-analyze-dereference-metatype):
	New override function
	(semantic-analyze-token-type): Use above fn to deref meta types
	(semantic-analyze-current-context): Fixed fallthrough if statement.

	* semantic-ia-sb.el (semantic-ia-speedbar): Added in current function.
	Call method to display specialized speedbar buttons for a given
	context.
	(semantic-ia-sb-more-buttons): New method.
	(semantic-ia-sb-token-info): Replace big icky bits with special call
	to semantic-analyze function I had forgotten about.

2002-03-18  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-analyze.el (semantic-analyze-current-context):
	Use no-side effects reverse for
	getting the end symbol.
	Do not move point when calculating the bounds.

2002-03-17  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-cb.el: Added requirement for eieio-base.

2002-03-16  Eric M. Ludlam  <eric@siege-engine.com>

	* senator.el: Added menu items for some analysis functions.

	* semantic.texi (Token Queries): Added semantic-equivalent-tokens-p.

	* semantic-load.el:
	Add autoloads for clsss browser, and analysis functions.
	Force new speedbar modes to load when speedbar is loaded.

	* semantic-ia-sb.el (semantic-ia-sb-easymenu-definition):
	Added some basic entries
	(semantic-ia-speedbar): Use new speedbar labels.
	Use completion functions.
	Use info speedbar icons.
	(semantic-ia-sb-token-info): New function
	(semantic-ia-sb-completion-list): New function
	(semantic-ia-sb-complete): Delete text and insert new more sanely.

	* semanticdb.el: Klaus Berndl
	(semanticdb-default-save-directory): Update documentation & custom type.
	(semanticdb-cache-filename): Calculate the file names so that it
	works on Windows.

	* semantic-cb.el (initialize-instance:semantic-cb-token):
	New initializer.
	(semantic-cb-speedbar-mode): Renamed, autoloaded token.

	* semantic-analyze.el (semantic-analyze-current-context):
	Calculate bounds more accuratly.
	(semantic-analyze-pop-to-context): Show bounds.

	* NEWS: Updated with some new news.

2002-03-14  ponced  <ponced@choochoo>

	* wisent/wisent-cim.el (wisent-cim-automaton):
	Generated from new grammar in wisent-cim.wy.
	(wisent-cim-keywords):  Ditto.
	(wisent-cim-tokens): Ditto.
	(wisent-cim-default-setup): Ditto.

	* wisent/wisent-cim.wy: Port of Bison's GNU Simula 87 Compiler grammar.

2002-03-14  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-analyze.el (semantic-analyze-current-context):
	Allow function calls to not be found.

	* semantic-ia-sb.el: Add some function overrides for our Analyze mode.
	(semantic-ia-speedbar): Fix typo.
	Add functions to our buttons to jump to those tags.
	(semantic-ia-sb-line-path): New function.
	(semantic-ia-sb-complete): New function.

	* semantic-ia-sb.el:
	Speedbar mode for displaying context sensitive information.

2002-03-13  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util.el (semantic-find-nonterminal-by-token): Doc fix.

	* semanticdb.el (semanticdb-find-nonterminal-by-token):
	Protect `token' argument.

	* semantic-cb.el: Create a class browser structure.
	Primitive speedbar hack on the structure.

2002-03-12  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util.el (semantic-equivalent-tokens-p):
	Use positional information, not just
	overlay so that we can compare tokens swapped out buffers.

2002-03-07  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util.el (semantic-equivalent-tokens-p): New test
	(semantic-adopt-external-members): add 'faux property to made up types

	* semantic.el (semantic-before-toplevel-bovination-hook): Doc fix

	* semantic-util.el (semantic-mark-external-member-function):
	Updated doc
	(semantic-adopt-external-members): Call `semantic-mark-external-member-function'
	after we find the parent it belongs to.  Pass it the parent.
	(semantic-nonterminal-external-member-children-default): Fixed typo.
	(semantic-nonterminal-children): When filtering for position, reverse
	the list back to the forward direction.

	* semantic-imenu.el (semantic-imenu-positioned-children): Deleted
	(semantic-create-imenu-subindex): Use working
	`semantic-nonterminal-children' instead of above.

	* semantic-util.el (semantic-nonterminal-children): Fixed consing bug.

	* semantic-util.el (semantic-nonterminal-children):
	If POSITIONONLY, filter whole list,
	not just first element.
	(semantic-nonterminal-external-member-children-db): New function
	(semantic-nonterminal-external-member-children-default): Remove DB
	children fn into new function.

2002-03-03  ponced  <ponced@choochoo>

	* wisent/wisent-wy.wy (rule):
	New rules allowing mid-rule actions anywhere.
	(element): Ditto.

	* wisent/wisent-wy.el (wisent-wy-automaton): Re-generated.
	(wisent-wy-keywords): Ditto.
	(wisent-wy-tokens): Ditto.
	(wisent-wy-setup-semantic): Ditto.
	(wisent-wy-nonterminals): Take into account new format of 'rule token.

2002-02-28  ponced  <ponced@choochoo>

	* wisent/wisent-wy.wy: More comments ;-)
	(setupfunction_decl): Use any_symbol instead of SYMBOL.
	(keywordtable_decl): Ditto.
	(parsetable_decl): Ditto.
	(tokentable_decl): Ditto.
	(token_decl): Ditto.
	(token_type): Ditto.
	(start_decl): Ditto.
	(put_decl): Ditto.
	(put_names): Ditto.
	(put_value): Ditto.
	(any_value): Ditto.
	(lifo_symbols): Ditto.
	(nonterminal): Ditto.
	(item): Ditto.
	(any_symbol): New rule to allow use of reserved words anywhere.
	(left_decl): Added token_type_opt to allow <type> in declaration.
	(right_decl): Ditto.
	(nonassoc_decl): Ditto.

	* wisent/wisent-wy.el (wisent-wy-automaton): Re-generated.
	(wisent-wy-keywords): Ditto.
	(wisent-wy-tokens): Ditto.
	(wisent-wy-setup-semantic): Ditto.
	(wisent-wy-tokens): Process <type> in %left, %right and %nonassoc
	declarations.
	(wisent-wy-mode-keywords-1): Fixed highlighting of '$' between quotes.
	(wisent-wy-goto-grammar-indent-anchor): Fixed skipping of C-like char
	expressions.
	(wisent-wy-grammar-compute-indentation): No more switch syntax table.

	* wisent/wisent-comp.el (wisent-context-name): New messages format.
	(wisent-append-to-log-file): Ditto.
	(wisent-reduce-grammar): Ditto.
	(wisent-map-goto): Ditto.
	(wisent-add-lookback-edge): Ditto.
	(wisent-push-token): Ditto.
	(wisent-push-var): Ditto.
	(wisent-parse-nonterminals): Ditto.  Doc string.  Produce a list of
	rules consistent with Bison's internal format.
	(wisent-parse-grammar): New messages format.  Use new form of the rule
	list produced by `wisent-parse-nonterminals'.

	* wisent/wisent-awk.el (wisent-awk-parser-tables):
	Renamed to `wisent-awk-automaton'.
	Generated from wisent-awk.wy.
	(wisent-awk-keywords): Re-generated from wisent-awk.wy.
	(wisent-awk-tokens): Ditto.
	(wisent-awk-default-setup): Renamed to `wisent-awk-setup-parser'.
	Generated from wisent-awk.wy.

	* wisent/wisent-awk.wy: GNU AWK grammar to torture Wisent.

2002-02-28  ponced  <ponced@choochoo>

	* wisent/wisent-wy.wy: More comments ;-)
	(setupfunction_decl): Use any_symbol instead of SYMBOL.
	(keywordtable_decl): Ditto.
	(parsetable_decl): Ditto.
	(tokentable_decl): Ditto.
	(token_decl): Ditto.
	(token_type): Ditto.
	(start_decl): Ditto.
	(put_decl): Ditto.
	(put_names): Ditto.
	(put_value): Ditto.
	(any_value): Ditto.
	(lifo_symbols): Ditto.
	(nonterminal): Ditto.
	(item): Ditto.
	(any_symbol): New rule to allow use of reserved words anywhere.
	(left_decl): Added token_type_opt to allow <type> in declaration.
	(right_decl): Ditto.
	(nonassoc_decl): Ditto.

	* wisent/wisent-wy.el (wisent-wy-automaton): Re-generated.
	(wisent-wy-keywords): Ditto.
	(wisent-wy-tokens): Ditto.
	(wisent-wy-setup-semantic): Ditto.
	(wisent-wy-tokens): Process <type> in %left, %right and %nonassoc
	declarations.
	(wisent-wy-mode-keywords-1): Fixed highlighting of '$' between quotes.
	(wisent-wy-goto-grammar-indent-anchor): Fixed skipping of C-like char
	expressions.
	(wisent-wy-grammar-compute-indentation): No more switch syntax table.

	* wisent/wisent-comp.el (wisent-context-name): New messages format.
	(wisent-append-to-log-file): Ditto.
	(wisent-reduce-grammar): Ditto.
	(wisent-map-goto): Ditto.
	(wisent-add-lookback-edge): Ditto.
	(wisent-push-token): Ditto.
	(wisent-push-var): Ditto.
	(wisent-parse-nonterminals): Ditto.  Doc string.  Produce a list of
	rules consistent with Bison's internal format.
	(wisent-parse-grammar): New messages format.  Use new form of the rule
	list produced by `wisent-parse-nonterminals'.

	* wisent/wisent-awk.el (wisent-awk-parser-tables):
	Renamed to `wisent-awk-automaton'.
	Generated from wisent-awk.wy.
	(wisent-awk-keywords): Re-generated from wisent-awk.wy.
	(wisent-awk-tokens): Ditto.
	(wisent-awk-default-setup): Renamed to `wisent-awk-setup-parser'.
	Generated from wisent-awk.wy.

	* wisent/wisent-awk.wy: GNU AWK grammar to torture Wisent.

2002-02-28  Eric M. Ludlam  <eric@siege-engine.com>

	* Project.ede: Added semantic-example.el

	* semantic.texi (Example Programs): New section.

	* semantic-example.el: Examples for basic semantic API calls.

	* semantic-util.el (semantic-find-nonterminal-standard): Fixed.

	* semantic-sb.el (semantic-fetch-dynamic-bovine): Support adoption.

	* semantic-el.el (semantic-default-elisp-setup):
	Specify Types first in the name-assoc list.

2002-02-27  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-texi.el (semantic-texi-bovinate-toplevel):
	Overlay the created list.

2002-02-27  ponced  <ponced@choochoo>

	* wisent/wisent-wy.wy (setupcode):
	Use `semantic-flex-extensions( to handle C-like
	character literals.  Use `font-lock-type-face' instead of
	`font-lock-constant-face' in `semantic-face-alist'.
	(CHARACTER): New token.
	(left_decl): Use 'items' instead of 'symbols'.  New Semantic token
	format.
	(right_decl): Ditto.
	(nonassoc_decl): Ditto.
	(level): Use 'item' instead of 'SYMBOL'.
	(element): Ditto.
	(items): New nonterminal.
	(lifo_items): New nonterminal.
	(item): New nonterminal.  Handle C-like character literal.

	* wisent/wisent-wy.el (wisent-wy-c-char-re): New constant.
	(wisent-wy-flex-extensions): New constant.
	(wisent-wy-flex-char): New function.
	(wisent-wy-automaton): Re-generated.
	(wisent-wy-keywords): Ditto.
	(wisent-wy-tokens): Ditto.
	(wisent-wy-setup-semantic): Ditto.
	(wisent-wy-item-value): New function.
	(wisent-wy-nonterminals): Use it.
	(wisent-wy-left): Removed.
	(wisent-wy-right): Removed.
	(wisent-wy-nonassoc): Removed.
	(wisent-wy-assocs): New function.
	(wisent-wy-grammar): Use it.
	(wisent-wy-elisp-syntax-table): Removed.
	(wisent-wy-mode-keywords-1): Highlight %keywords with
	`font-lock-keyword-face'.  Highlight C-like char literals.
	(wisent-wy-grammar-compute-indentation): Take into account C-like char
	literals.
	(wisent-wy-do-lisp-indent): Use copy of
	`emacs-lisp-mode-syntax-table' instead of
	`wisent-wy-elisp-syntax-table'.

	* wisent/wisent-flex.el (wisent-flex-put-default): New function.
	(wisent-flex-make-token-table): Initialize obarray with 0 instead of
	nil.  Set up default value of new 'char-literal property.
	(wisent-flex): Return character value as category of default token if
	'char-literal property is non-nil.

	* wisent/wisent-comp.el (compile-grammar): Added `ptable' to context.
	(wisent-escape-sequence-tags): New constant.
	(wisent-tag): New function.
	(wisent-put): New function.
	(wisent-get): New function.
	(wisent-item-number): Moved. Use `wisent-get'.
	(wisent-assoc): Ditto.
	(wisent-prec): Ditto.
	(wisent-set-item-number): Moved. Use `wisent-put'.
	(wisent-set-assoc): Ditto.
	(wisent-set-prec): Ditto.
	(wisent-reduce-grammar): Use `wisent-tag'.
	(wisent-print-useless): Ditto.
	(wisent-print-nullable): Ditto.
	(wisent-print-fderives): Ditto.
	(wisent-print-firsts): Ditto.
	(wisent-log-resolution): Ditto.
	(wisent-print-grammar): Ditto.
	(wisent-print-reductions): Ditto.
	(wisent-print-actions): Ditto.
	(wisent-print-core): Ditto.
	(wisent-resolve-sr-conflict): Pass item number to
	`wisent-log-resolution', instead of symbol.
	(wisent-ISVALID): Removed.
	(wisent-ISVALID-VAR): New function.
	(wisent-push-var): Use it.
	(wisent-ISVALID-TOKEN): New function.
	(wisent-push-token): Use it.
	(wisent-parse-nonterminals): Put symbol between `' in message.  Create
	new literal character tokens when referenced the first time.
	(wisent-parse-grammar): Put symbol between `' in messages.

	* wisent/wisent-calc.wy: Use C-like character literals :-)

	* wisent/wisent-calc.el (wisent-calc-automaton): Re-generated.
	(wisent-calc-tokens): Ditto.
	(wisent-calc-setup-parser): Ditto.

2002-02-27  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/Project.ede: Added templates.cpp

	* tests/templates.cpp: Template examples.

	* tests/test.cpp: Added body to fn for testing smart completion.

	* tests/test.make: Added some harsher test cases.

	* Project.ede: Updated version number.
	Added semantic-ia.el.

	* semantic-imenu.el (semantic-imenu-positioned-children): New function
	(semantic-create-imenu-subindex): Use above to strip out positionless children.

	* semantic-analyze.el (semantic-analyze-current-context):
	Set the bounds in the analysis of
	the prefix.
	(semantic-analyze-possible-completions): Accept a point (position) OR
	a precalculated analysis.

	* semantic-c.el: New c.bnf

	* c.bnf (knr-arguments): Need to expand inline.

	* semantic-ia.el: Interactive access to analysis functions.

	* document.el (document-update-comment): Fix error
	(document-argument-name): New function
	(document-update-paramlist): Use above to safely get arg names.

	* semantic-analyze.el (semantic-analyze-type-parts):
	Use `semantic-nonterminal-member-children'.

2002-02-26  ponced  <ponced@choochoo>

	* wisent/wisent-wy.el (wisent-wy-tokens):
	Use a default symbol name for tokens without type.
	(wisent-wy-mode): Set `font-lock-multiline' to 'undecided, to handle
	multiline patterns when encountered.
	(wisent-wy-goto-grammar-indent-anchor): Don't stop at % anchor when
	it is the first character of %prec keyword (inside rule).
	(wisent-wy-between-name-and-colon-p): New function.
	(wisent-wy-grammar-compute-indentation): Use it.

	* wisent/wisent-wy.wy: Removed defaults from setup code.
	(%tokentable): New definition.
	(%tokens): Modified <type> for use by `wisent-flex' lexer.
	(token_decl): New format.
	(rule): Use 'level' instead of 'prec' which is a reserved keyword.
	(prec): Renamed to 'level'.

	* wisent/wisent-wy.el (wisent-wy-automaton): WY grammar re-generated.
	(wisent-wy-keywords): Ditto.
	(wisent-wy-setup-semantic): Ditto.
	(wisent-wy-tokens): New constant.
	(wisent-wy-lex): Removed.
	(wisent-wy-setupcode): Added missing default setup.
	(wisent-wy-keywords): Change in semantic token's format.
	(wisent-wy-tokens): Ditto.
	(wisent-wy-token-properties): New function.
	(wisent-wy-terminals): Keep order of declarations.
	(wisent-wy-keyword-properties): Allow duplicates lexical symbols.
	(wisent-wy-tokentable-value): Generate call to
	`wisent-flex-make-token-table'.
	(wisent-wy-update-setupfunction): Fixed format arguments.
	(wisent-wy-mode-keywords-1): Minor improvements.

	* wisent/wisent-java.el (wisent-java-parser-tables):
	Generated from wisent-java.wy.
	(wisent-java-keywords): Ditto.
	(wisent-java-tokens): Ditto.
	(wisent-java-default-setup): Ditto. Moved.
	(wisent-java-lex): Removed.

	* wisent/wisent-java-tags.el (wisent-java-parser-tables):
	Generated from wisent-java-tags.wy.
	(wisent-java-keywords): Ditto.
	(wisent-java-tokens): Ditto.
	(wisent-java-default-setup): Ditto.
	(wisent-java-lex): Removed.

	* wisent/wisent-comp.el (wisent-push-token):
	Only warns on duplicate terminal symbols.  Put
	symbol between `' in messages.
	(wisent-push-var): Put symbol between `' in messages.

	* wisent/wisent-calc.el (wisent-calc-parser-tables):
	Renamed to `wisent-calc-automaton'.
	Generated from wisent-calc.wy.
	(wisent-calc-keywords): Removed.
	(wisent-calc-tokens): Generated from wisent-calc.wy.
	(wisent-calc-default-setup): Renamed to
	`wisent-calc-setup-parser'. Generated from wisent-calc.wy.
	(wisent-calc-number-regexp): Removed.
	(wisent-calc-lexer-input-stream): Removed.
	(wisent-calc-lexer): Removed.
	(wisent-calc): Use `wisent-flex' via a temporary buffer.

2002-02-26  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-texi.el (semantic-texi-update-doc-from-source):
	Fixed error message.

2002-02-26  ponced  <ponced@choochoo>

	* wisent/wisent-bovine.el: (require 'wisent-flex)
	(semantic-flex-token-value): Removed.
	(semantic-flex-token-key): Removed.
	(wisent-collect-unmatched-syntax): Moved.
	(wisent-lexer-function): Moved.
	(wisent-flex-istream): Moved into wisent-flex.el.
	(wisent-flex-depth): Removed.
	(wisent-rebovinate-token): Mo more use it.
	(wisent-bovinate-toplevel): Ditto.

	* wisent/wisent-java.wy: Java LALR grammar.

	* wisent/wisent-java-tags.wy:
	Java LALR grammar optimized for Semantic environment.

	* wisent/wisent-flex.el:
	Lexical analyser for use by Wisent's parser in Semantic environment.

	* wisent/wisent-calc.wy:
	LALR grammar of the infix notation calculator sample.

2002-02-26  Eric M. Ludlam  <eric@siege-engine.com>

	* plan.txt: Plan.

	* sformat.el: From Vladimir Sekissov <svg@surnet.ru>
	(sformat-just-before-token-regexp, sformat-just-after-token-regexp):
	Handle %% as non-tokens.

	* semantic-c.el: New c.bnf

	* c.bnf: Added symbol->name-assoc-list values.

	* semantic.el (semantic-symbol->name-assoc-list):
	Rearranged default list.
	(semantic-symbol->name-assoc-list-for-type-parts): New variable
	(semantic-token-put-no-side-effect): New function.

	* semantic-util.el (semantic-bucketize-token-token): New variable
	(semantic-bucketize): Accept a new parent argument.
	When there is a parent, use a different name list.
	Use `semantic-bucketize-token-token'.
	(semantic-orphaned-member-metaparent-type): New variable.
	(semantic-mark-external-member-function): New variable.
	(semantic-adopt-external-members): Updated to use above two variables.
	Creates meta classes for orphaned tokens that have parents.
	Make copies of tokens that are parented, apply an 'adopted property,
	and call new mark function above.
	(semantic-colorize-merge-text): Pass in the string to `add-text-properties'.

	* semantic-imenu.el (semantic-imenu-goto-function):
	Do not require a file.  Makes this
	useable by external apps that encounter sub menus.
	(semantic-create-imenu-index): Pass nil into new `parent' argument for
	`semantic-create-imenu-index-1'.
	(semantic-create-imenu-directory-index): As above
	(semantic-create-imenu-index-1): Accept a parent token.  Use this when
	calling the bucket function which also uses this new argument to
	distinguish between different types of buckets.
	(semantic-create-imenu-subindex): Create submenus based on valid
	positions in the returned streams.  The adopting function creates
	metatypes w/out positions, and the bucket function now takes a parent
	object which can change the sub-bucket names.

2002-02-25  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.el (semantic-version): Update version to 1.4 beta14

	* sformat.el (Sformat): Support byte compiled lambdas.

2002-02-24  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-imenu.el (semantic-imenu-adopt-external-members): New option
	(semantic-create-imenu-index): Bovinate buffer if no stream available.
	(semantic-create-imenu-index-1): Do not bovinate buffer if no stream
	available.  Do rebuild the token stream to adopt external children
	into their types.

	* semantic.texi (Nonterminal sorting): New section.

	* semantic-util.el (semantic-adopt-external-members): New function
	(semantic-colorize-merge-text): Added XEmacs support
	(semantic-nonterminal-external-member-parent)
	(semantic-nonterminal-external-member-parent-default)
	(semantic-nonterminal-external-member-p)
	(semantic-nonterminal-external-member-p-default): New functions
	(semantic-nonterminal-external-member-children): Updated doc string
	(semantic-nonterminal-external-member-children-default): Fixed

2002-02-23  ponced  <ponced@choochoo>

	* wisent/wisent-wy.wy: LALR grammar of Wisent's input grammar.

	* wisent/wisent-wy.el:
	Major mode for editing Wisent's input grammar (.wy) files.

	* working.el (noninteractive):
	Define it to avoid byte-compiler warnings.
	(working-current-message): New function.
	(working-status-forms): Restore current message when it exits.
	(working-status-timeout): Ditto.

2002-02-22  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util.el (semantic-find-nonterminal-by-*):
	Converted to defun to avoid macro errors.
	(semantic-colorize-merge-text): Fixed to use paramter correctly.
	(semantic-uml-attribute-string): New function
	(semantic-nonterminal-external-member-children): New function

2002-02-21  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el (semantic-c-nonterminal-abstract):
	Make types abstract if destructor
	is virtual, and constructor protected, OR if any function is
	pure-virtual.  Make methods abstract if they are pure-virtual.

	* semantic-el.el (semantic-elisp-use-read):
	Enable defclass to have :documentation
	preceeding it's documentation.

	* working.el (working-status-call-process):
	Use `accept-process-output' w/
	site-for commented out.

	* semantic-el.el (semantic-elisp-clos-args-to-semantic):
	Identify `static' entries
	(semantic-elisp-nonterminal-static): New function
	(semantic-default-elisp-setup): Add above as override.

	* semantic-c.el (semantic-c-nonterminal-abstract): New function
	(semantic-default-c-setup): Added above to override table.

	* semantic-util.el (semantic-test-all-token->text-functions):
	Support color output.
	(semantic-face-alist): Added `abstract, and 'static colors for UML
	(semantic-colorize-merge-text): New function
	(semantic-concise-prototype-nonterminal-default): Support color for
	variables, and unhandled token types.
	(semantic-uml-post-colorize): New function
	(semantic-uml-abbreviate-nonterminal-default): Use semantic-uml-post-colorize
	(semantic-uml-prototype-nonterminal-default): Use semantic-uml-post-colorize
	(semantic-uml-concise-prototype-nonterminal-default): Use semantic-uml-post-colorize
	(semantic-nonterminal-protection): Doc fix
	(semantic-nonterminal-abstract, semantic-nonterminal-abstract-default)
	(semantic-nonterminal-leaf, semantic-nonterminal-abstract-leaf)
	(semantic-nonterminal-static, semantic-nonterminal-abstract-static):
	New functions.

2002-02-20  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el (semantic-toplevel-c-bovine-table): New c.bnf
	(semantic-c-keyword-table): New c.bnf
	(semantic-c-template-string): Also show template, not just template-specifier
	(semantic-c-uml-prototype-nonterminal): New function
	(semantic-default-c-setup): Added above overload.

	* c.bnf (variablearg): Made variable name optional.

	* c.bnf (USING, FRIEND): New tokens
	(declaration): Added using match
	(filename-extension): Fixed to handle includes w/out extensions (C++)
	(classsubparts): Added templates
	(using): New rule
	(template): Added opt-friend
	(opt-template-equal): Fixed typo
	(opt-friend): New rule
	(DECLMOD): Added FRIEND
	(variablearg): Added an extra opt-ref
	(operatorsym): Added -> and ! as possible operators

2002-02-20  ponced  <ponced@choochoo>

	* wisent/wisent-bovine.el (wisent-token):
	Always provide token location.
	(wisent-bovinate-nonterminal): Made more robust.

	* wisent/wisent-comp.el (wisent-parse-nonterminals):
	Accept nil as a mid-rule action.
	Fixed bad synchronization of RULES, RCODE & RPREC lists.

2002-02-20  Eric M. Ludlam  <eric@siege-engine.com>

	* c.bnf (template-var): Combine stars with the type name
	(template-type): Added in additional 'type fields as nil.

2002-02-19  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-make.el: New make.bnf.
	(semantic-expand-make-nonterminal): New function

	* make.bnf (setup): Enable whitespace
	(BACKSLASH): New token
	(variable rule conditional targets include): Use whitespace where needed.
	(targets): Enable subtarget groupings w/ mixed variables.
	(target sub-target): New rules
	(element-list, element, sub-element): New rules
	(elements): Enable mixed groupings.
	(opt-whitespace): New rule.

	* semantic.el (semantic-flex-enable-whitespace): New variable
	(semantic-flex): If above var is non-nil, create whitespace tokens.

2002-02-16  ponced  <ponced@choochoo>

	* wisent/wisent-comp.el (wisent-check-$N): New function.
	(wisent-semantic-action-expand-body): Use it.

	(wisent-semantic-action): Handle mid-rule actions.
	(wisent-semantic-actions): Doc string.

	(wisent-default-semantic-action-body): Removed.
	(wisent-reserved-capitals): New constant.
	(wisent-ISVALID): Use it. Moved.

	(wisent-parse-nonterminal): Removed.
	(wisent-parse-nonterminals): New function.  Handle mid-rule actions.
	(wisent-parse-grammar): Use it.

2002-02-14  ponced  <ponced@choochoo>

	* wisent/wisent-comp.el (wisent-set-conflicts):
	 Implementation consistent with Bison 1.33.

	* semantic-bnf.el (semantic-bnf-matching-to-lalr):
	Don't discard %prec clause in EMPTY rules.

2002-02-13  ponced  <ponced@choochoo>

	* wisent/wisent-comp.el (wisent-print-useless):
	 Didn't print correct nonterminals.  Minor
	improvement.

	* wisent/wisent-bovine.el (wisent-bovinate-nonterminal):
	Removed LEXER and ERROR arguments.
	(wisent-bovinate-nonterminals): Updated call to above.
	(wisent-rebovinate-token): Ditto.

2002-02-11  ponced  <ponced@choochoo>

	* wisent/wisent-comp.el (compile-grammar):
	Added `ruseful' and `rcode' variables to context.
	Removed `rule-table'.

	(wisent-reduce-grammar-tables): New function.
	(wisent-nonterminals-reduce): New function.
	(wisent-reduce-grammar): Call them.

	(wisent-set-derives): Ignore useless rules.
	(wisent-set-nullable): Ditto.

	(wisent-allocate-itemsets): Allocate room for all the symbols.

	(wisent-print-grammar): Don't print useless rules.  No more use
	`rule-table'.  'error' token was not in cross reference.

	(wisent-semantic-action): No more use `rule-table'.  Take into account
	useless rules.  Directly byte-compile function.

	(wisent-byte-compile-semantic-actions): Removed.
	(wisent-semantic-actions): No more use `rule-table'.

	(wisent-parse-nonterminal): Directly count items and rules.  Collect
	semantic action bodies in a separate vector.

	(wisent-grammar-production-lhs): Removed.
	(wisent-grammar-rule-rhs): Removed.
	(wisent-grammar-production: Removed.

	(wisent-parse-grammar): Follow changes in `wisent-parse-nonterminal'.

2002-02-11  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-bnf.el (semantic-bnf-to-bovine):
	Do not add space to line after final paren.

2002-02-10  Eric M. Ludlam  <eric@siege-engine.com>

	* Project.ede: Version update.
	Add speedbar to path.

	* semantic-make.el: New make.bnf

	* make.bnf (semantic-flex-syntax-modifications): Remove tab.
	(conditional): Return explicit nils.

2002-02-09  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.el (semantic-version): New function.

2002-02-08  ponced  <ponced@choochoo>

	* wisent/wisent-java-tags.el (wisent-java-parser-tables):
	Re-generated from BNF.

	* wisent/wisent-java-tags.bnf (operator): Added missing XOR operator.

	* wisent/wisent-cim.bnf, wisent/wisent-cim.el: Comments.

	* wisent/wisent.texi: no message

	* wisent/wisent.el (wisent-parse): Doc string.

	* wisent/wisent-comp.el (wisent-append-to-log-file):
	Check that the log buffer is not empty.
	(compile-grammar): Updated context.

	(wisent-bits-equal): New function.
	(wisent-nbits): New function.
	(wisent-bits-size): New function.
	(wisent-useful-production): New function.
	(wisent-useless-nonterminals): New function.
	(wisent-inaccessable-symbols): New function.
	(wisent-total-useless): New function.
	(wisent-reduce-grammar): New function.
	(wisent-print-useless): New function.

	(wisent-log-resolution): Log things if verbose or debug flag set.
	(wisent-resolve-sr-conflict): Handle item numbers in `rprec'.
	(wisent-set-conflicts): No more use `any_conflicts'.
	(wisent-resolve-conflicts): Ditto.
	(wisent-print-conflicts): Print details if verbose or debug flag set.
	(wisent-print-results): Ditto.  Also report useless things.
	(wisent-print-states): New function.
	(wisent-print-grammar): Print where tokens & nonterminals are used.

	(wisent-parser-automaton): Check for useless stuff.  Doc string.
	(wisent-parse-grammar): Set `rprec' with item numbers.
	(wisent-parse-nonterminal): Ditto.  Check level of %prec token.
	(wisent-compile-grammar): Doc string and comments.

2002-02-07  ponced  <ponced@choochoo>

	* wisent/wisent-java-tags.el, wisent/wisent-java.el (wisent-java-parser-tables):
	BNF updated.

	* wisent/wisent-java-tags.bnf, wisent/wisent-java.bnf:
	Added required definition of the default start symbol.

	* wisent/wisent.el (wisent-parse-start):
	Handle single start symbol like Bison.

	* wisent/wisent-comp.el (wisent-item-number): Moved.
	(wisent-set-item-number): New function.
	(wisent-assoc): New function.
	(wisent-set-assoc): New function.
	(wisent-prec): New function.
	(wisent-set-prec): New function.

	(wisent-resolve-sr-conflict): Use above functions.
	(wisent-parse-nonterminal): Ditto.

	(wisent-count-rr-conflicts): Fixed misplaced close parenthesis.
	(wisent-print-conflicts): Removed bad extra argument.
	(wisent-print-reductions): Fixed some nasty bugs.

	(item-numbers [defcontext]): Removed.
	(wisent-set-token-item-number): Removed.
	(wisent-set-var-item-number): Removed.
	(wisent-clear-properties): Removed.

	(wisent-no-xstarts-flag): Renamed to
	(wisent-single-start-flag): New variable.

	(wisent-push-token): New function.  Push a new symbol in the list of
	tokens.
	(wisent-push-var): New function.  Push a new symbol in the list of
	nonterminals.

	(wisent-parse-grammar): Code improvement & Bison compatibility
	changes.  No more require to declare tokens used in associativity &
	precedence rules.  Handle single start symbol like Bison.

	(wisent-compile-grammar): Doc string updated.

	* wisent/wisent-cim.el: Elisp code associated to wisent-cim.bnf.

	* wisent/wisent-cim.bnf:
	New torture test!  From the GNU Simula 87 Compiler grammar found in
	Bison 1.32 tests/torture.at.

2002-02-06  ponced  <ponced@choochoo>

	* wisent/wisent-comp.el (wisent-clear-item-number): Removed.
	(wisent-set-item-numbers): Removed.  Code moved into
	`wisent-parse-grammar'.

	(wisent-clear-properties): New function.  Clear all Wisent's symbol
	properties.

	(wisent-parse-grammar): Redesigned so setting precedence level and
	associativity of built-in token `error' now works.

2002-02-06  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/test.c: Added bit fields.

	* semantic-util.el (semantic-token-add-extra-spec):
	Removed unused local variable esl
	(semantic-token->text-functions): Renamed
	`semantic-emacs-lisp-nonterminal' to
	(semantic-prin1-nonterminal): Renamed.

	* semantic-util.el (semantic-token-extra-specs): New fcn
	(semantic-token-add-extra-spec): New fcn
	(semantic-token->text-functions): Added `semantic-emacs-lisp-nonterminal'.
	(semantic-emacs-lisp-nonterminal): New fcn

	* semantic.el (semantic-bovinate-show):
	Added ?a for abort.  Quit now exits properly.

	* semantic-c.el (semantic-toplevel-c-bovine-table): New c.bnf 1.57
	(semantic-c-reconstitute-template): New fcn
	(semantic-c-keyword-table): Removed extra TEMPLATE token.
	(semantic-c-nonterminal-template, semantic-c-nonterminal-template-specifier)
	(semantic-c-template-string-body, semantic-c-template-string)
	(semantic-c-concise-prototype-nonterminal): New functions
	(semantic-default-c-setup): Add `concise-prototype-nonterminal' override.

	* c.bnf (typesimple): Add template specifiers to the extra spec
	(opt-template-equal): Use template-specifier-type, not the list.
	(template-type): Concat in the type.  Indentation.
	(opt-bits): Use new number terminal.

2002-02-05  ponced  <ponced@choochoo>

	* wisent/wisent.texi: Following Eric's patch ;-)

	* wisent/wisent.texi: Applied Eric's patch.

2002-02-04  ponced  <ponced@choochoo>

	* wisent/wisent-comp.el (wisent-print-grammar):
	The last rule was not printed.

	(wisent-no-xstarts-flag): New flag.  Non-nil means disable extra start
	symbols.  That is don't add extra start rules to the grammar.  This is
	useful to compare the Wisent's generated automaton with the Bison's
	one.

	(wisent-parse-grammar): Don't add extra start rules to the grammar if
	`wisent-no-xstarts-flag' is non-nil.

	* wisent/wisent-awk.el: Typo in the one-line summary.

	* wisent/wisent.el (wisent-parse):
	Made ERROR reporting function optional.  Defaults to
	standard function `error'.

	* wisent/wisent.texi: Synchronized with latest code changes.

	(Writing a Lexer, Report errors): New nodes.

2002-02-02  ponced  <ponced@choochoo>

	* wisent/wisent-comp.el (wisent-total-conflicts):
	No warning when there is no conflict!

2002-02-01  ponced  <ponced@choochoo>

	* wisent/wisent.el:
	New major version rewrote from scratch based on Bison's 1.28 & 1.31 C
	sources.  The parser generator in now auto-loaded from file
	wisent-comp.el.

	* wisent/wisent-awk.el: GNU AWK grammar Elisp code.

	* wisent/wisent-awk.bnf: GNU AWK grammar to torture Wisent.

	* wisent/wisent-comp.el:
	New implementation of the parser generator based on Bison's 1.28 &
	1.31 C sources.

2002-01-19  Eric M. Ludlam  <eric@siege-engine.com>

	* c.bnf (TEMPLATE): Removed duplicate definition.
	(opt-symbol): New rule
	(classsubparts): Use opt-symbol to help QT slot definition thingies.
	(opt-class-parents): Added optional template specifier
	(opt-class-protection): New rule
	(class-protection): Removed `EMPTY'
	(namespacesubparts): Use opt-class-protection
	(typesimple): Added template specifier.  Added bodyless class/struct.
	(template): Reconstitute the template definition.
	(template-specifier, tempalate-specifier-type-list):
	(template-var, opt-template-specifier, template-type): Update to
	return something useful.

	* semantic-bnf.el (semantic-bnf-generate-and-load):
	Bind `inhibit-modification-hooks'.

2002-01-16  ponced  <ponced@choochoo>

	* wisent/wisent.el (wisent-pack-grammar):
	Correctly compute the default precedence level
	of rule.  That is the precedence level of the last terminal in it.

	(wisent-add-action): Fixed default resolution of shift/reduce
	conflicts.

2002-01-15  ponced  <ponced@choochoo>

	* semantic-bnf.el (semantic-bnf-to-lalr-EXPANDTHING):
	No more bind `$regionI'
	variables.  Use existing ones instead.

2002-01-14  ponced  <ponced@choochoo>

	* wisent/wisent-java-tags.el (wisent-java-parser-tables): Regenerated.

	* wisent/wisent.texi (@defun wisent-compile-grammar):
	Removed optional argument STREAM.
	Doc fixes.
	(@defun wisent-parse): Doc fixes.

	* wisent/wisent.el:
	Moved doc from header comments into file wisent.texi.

	(wisent-reduce-action): Explicitly bind `$regionI' variables.

	(wisent-build-tables): Removed optional argument STREAM.
	(wisent-process-grammar): Ditto.
	(wisent-compile-grammar): Ditto.

	(wisent-process-grammar, wisent-compile-grammar, wisent-nerrs,
	wisent-lookahead, wisent-errok, wisent-clearin, wisent-parse): Updated
	doc string.

2002-01-08  ponced  <ponced@choochoo>

	* wisent/wisent.texi: Initial revision.

2001-12-19  ponced  <ponced@choochoo>

	* wisent/wisent-bovine.el: Synchronized with semantic.el.

	(wisent-collect-unmatched-syntax): Moved.

	(wisent-bovinate-nonterminals): Call `wisent-collect-unmatched-syntax'
	via `wisent-skip-token-hook'.

	(wisent-bovinate-from-nonterminal-full):  Moved. Doc string fixes.
	(wisent-bovinate-region-until-error): Ditto.

	(wisent-bovinate-toplevel): Synchronized with latest
	`semantic-bovinate-toplevel' code.

2001-12-18  emacsman  <emacsman@choochoo>

	* semantic.el:
	Created semantic-flex-tokens variable to document the token types returend by semantic-flex.

2001-12-18  ponced  <ponced@choochoo>

	* wisent/wisent-java.el, wisent/wisent-java-tags.el (wisent-java-parser-tables):
	BNF recompiled.

	* wisent/wisent-java.bnf (goal):
	`wisent-bovinate-toplevel' requires to return result reversed.
	(formal_parameter_modifier_opt): new nonterminal.
	(formal_parameter): Use it.

	* wisent/wisent-java-tags.bnf: More comments.
	Reordered rules plus small fixes.

	* wisent/wisent.el (Commentary): Fixed STARTS definition.

2001-12-18  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/test.cpp: Added templates.
	Added const * const example.

	* semantic.el (semantic-bovinate-toplevel):
	When doing a full reparse, lex the
	buffer before clearing the cache.  If an error occurs, the cache will
	be safe.

	* semantic-c.el: New c.bnf supporting templates.
	(semantic-c-nonterminal-protection): If type type of a type is
	unknown in a parent, specify an unknown protection.

	* c.bnf (TEMPLATE): New token
	(declaration): Added template
	(template, template-specifier, template-specifier-type-list,
	 template-var, opt-template-equal, template-type,
	 template-definition): New rules
	(typeformbase): Added tempalte specified type and class :: types.

	* semantic-make.el: New make.bnf

	* make.bnf: Removed parens and $ from symbol syntax types.
	Added IFEQ and IFNEQ tokens
	Added BACKSLASH and DOLLAR tokens
	Added IFEQ and IFNEQ rule matches
	Added $(VAR) types to expression.
	Support backslash terminated lines for variables.

2001-12-15  ponced  <ponced@choochoo>

	* wisent/wisent-java-tags.bnf, wisent/wisent-java-tags.el: New file.

	* wisent/wisent.el (wisent-lookahead):
	New variable.  Hold the lookahead lexical token
	after parse error.
	(wisent-parse): Use the above.

	* wisent/wisent-bovine.el (wisent-lexer-lookahead): New variable.
	(wisent-lexer-wrapper): Use the above to push the lookahead
	token back in the lexical input stream.

	(wisent-unmatched-syntax): New variable.
	(wisent-collect-unmatched-syntax): Use the above.
	(wisent-bovinate-nonterminals):  Push unmatched lookahead tokens in
	the unmatched syntax stream.  Minor performance enhancement.

	(wisent-bovinate-from-nonterminal-full):  Use 1 as default depth for
	`semantic-flex'.  Reverse the result list.

	(wisent-bovinate-region-until-error): Reverse the result list.

	(wisent-bovinate-toplevel): [full parse] Don't clear the unmatched
	cache after parsing!  Reverse the result list.

	* semantic-bnf.el (semantic-bnf-to-lalr-EXPANDTHING):
	Fixed missing quote.

2001-12-15  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/test.make: New test for makefile things.

2001-12-12  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.el:
	Small language changes to doc strings suggested by Alex Schroeder <alex@gnu.org>

	* semantic.texi:
	Small language changes suggested by Alex Schroeder <alex@gnu.org>

2001-12-08  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util-modes.el (semantic-auto-parse-bovinate): Use
	`semantic-flex-unterminated-syntax-end-function' instead of
	`semantic-flex-unterminated-syntax-throw-symbol' to throw lexical issues.

	* semantic.el (semantic-flex-unterminated-syntax-end-function):
	New variable
	(semantic-flex): Use above var instead of old throw variable.

2001-12-07  ponced  <ponced@choochoo>

	* wisent/wisent-bovine.el (wisent-bovinate-toplevel): Check if
	`semantic-before-toplevel-bovination-hook' allow to parse.
	When doing a full re-parse clear the cache just before setting the new
	one.  This way, if an error occurs, we can capture it, and leave the
	old state behind.

	* senator.el (senator-mode-menu-item-format):
	New option.  Format of menu item
	labels in the "Modes" menu when displaying through a window system.

	(senator-mode-menu-item-format-tty): New option.  Format of menu item
	labels in the "Modes" menu when using a text-only terminal.

	(senator-build-mode-menu-items): Use the above options.  On window
	system minor mode labels as now simple text items.  Emacs displays
	them as menu titles in bold face.

2001-12-07  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el (semantic-toplevel-c-bovine-table, semantic-c-keyword-table):
	New c.bnf
	(semantic-c-reconstitute-token): For functions, add methodconst, and pure-virtual

	* c.bnf (UNDERP, UNDERUNDERP): Fix typo in summary
	(opt-stars): Add opt-starmod
	(opt-starmod, STARMOD): New rule
	(func-decl): Un-splic $7 in  match2
	(variablearg): Let varname handle stars and refs.
	(arg-list): Explicit (void) match added
	(fun-or-proto-end): Add pure-virtual case return.

	* Project.ede: Update version

	* semantic-make.el: New make.bnf

	* make.bnf: Added ifdef, and ifndef tokens.  (Oy)

	* make.bnf: Added ifdef, and ifndef commands.

	* semantic.el (semantic-before-toplevel-bovination-hook):
	New hook suggested by Klaus Berndl.
	(semantic-bovinate-toplevel): Do not parse anything if above hook returns nil.
	When a full reparse is needed, do not clear the cache till after the
	parse has happened, and everything was successful.

2001-12-04  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el (semantic-toplevel-c-bovine-table): New c.bnf
	(semantic-c-nonterminal-children): New override fcn
	(semantic-default-c-setup): Add above override.

	* c.bnf (extern-c): Add quotes to the "C" string regex.

	* semanticdb.el (semanticdb-default-save-directory): New variable.
	(semanticdb-project-database): Added `reference-directory' slot.
	(semanticdb-create-database): Simplified if to existence of the found DB
	(semantic-get-database): Use `semantic-file-loaded-p'
	(semantic-file-loaded-p): Moved.  Use eieio call.
	(semanticdb-file-table): Tables use file name w/out path.
	(semanticdb-full-filename): Tables use file name w/out path.
	(semanticdb-write-directory-p): Use new reference directory for tables.
	(semanticdb-cache-filename): New function to calc filename of a DB.
	(semanticdb-semantic-init-hook-fcn): use above Fcn for directory name.
	Always set the reference directory slot in the DB.
	Specify the file of new tables as the file name sans directory.

	* semantic-util-modes.el (semantic-auto-parse-bovinate):
	Enable syntax error `throw'ing.  Catch
	those errors, and do not pester the user who is probably in the
	middle of thinking important thoughts, and is uninterested in having
	Emacs complain about such things.

	* semantic.el (semantic-flex-unterminated-syntax-throw-symbol):
	New variable
	(semantic-flex): `throw' an error for incomplete syntax when above is non-nil.

	* working.el (working-message):
	Only display a canned message for the first entry.
	(working-status-forms): Clear mode line when using modeline mode.
	(working-status-timeout): Clear mode line when using modeline mode.

2001-12-03  ponced  <ponced@choochoo>

	* semantic-util-modes.el (semantic-auto-parse-timer):
	Moved before first use.
	(semantic-auto-parse-idle-time): Added `:set' clause to re-setup the
	`semantic-auto-parse-timer' when the idle time value is changed.

2001-12-03  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.el: Updated version to 1.4 beta 13

2001-11-30  ponced  <ponced@choochoo>

	* working.el (append global-mode-string):
	Quoted `working-mode-line-message'.

2001-11-30  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util-modes.el (global-semantic-show-dirty-mode): Doc fix.
	(semantic-show-dirty-mode-setup): Doc fix.
	Use `semantic-make-local-hook' alias.
	(global-semantic-show-unmatched-syntax-mode): Doc fix
	(semantic-show-unmatched-syntax-mode-setup):
	Use `semantic-make-local-hook' alias.
	(semantic-auto-parse-working-in-modeline-flag): New variable
	(global-semantic-auto-parse-mode): Doc Fix
	(semantic-auto-parse-bovinate): Doc fix.
	Use the mode-line to display working messages when auto-parsing.
	(semantic-auto-parse-mode-setup): Doc Fix
	(semantic-auto-parse-mode): Doc Fix
	(global-semantic-summary-mode): Doc Fix
	(semantic-summary-mode-setup): Doc Fix
	(semantic-summary-mode): Doc Fix

	* working.el (working-message):
	Added sit-for to help force modeline updates.

	* semantic-c.el: New c.bnf fix for include filename.

	* c.bnf (filename): Fixed OLE to get the string from filename prefix.

	* working.el:
	If `global-mode-string' is available, use it as the location to
	display mode-line based working messages.

	* senator.el (senator-minor-mode-setup):
	Use `semantic-make-local-hook' alias.

	* semantic-imenu.el (semantic-create-imenu-index):
	Use `semantic-make-local-hook' alias.

	* semantic.el (semantic-make-local-hook): New alias
	(semantic-set-toplevel-bovine-cache): Use this alias.

	* semantic-util-modes.el (semantic-auto-parse-bovinate):
	Enable quiting during a parse.

	* semantic-load.el: Add .bnf as a speedbar extension.
	New variable `semantic-load-turn-useful-things-on'.
	Consider which-func to be non-useful.
	Consider show-dirty-mode non-useful.
	Do not load semantic-sb for speedbar.  This already happens.

	* semantic-util.el (semantic-bucketize):
	Remove ref to speedbar in doc string.

	* semanticdb.el (semanticdb-semantic-init-hook-fcn):
	When a table isn't valid, do not
	force a parse.  This will happen in time.

	* semantic-bnf.el:
	Changed how speedbar support for BNF files were added.

	* semantic-c.el: New c.bnf supporting float.h.

	* c.bnf:
	Added support for float.h, where `float' was snagged as a keyword.

2001-11-26  ponced  <ponced@choochoo>

	* semantic.el (semantic-flex):  Handle broken strings.

	* senator.el (senator-minor-mode-name):
	Defined as constant.  Moved just before it
	is first used.
	(senator-minor-mode-isearch-suffix): Ditto.

	(senator-minor-mode-on-hook): Removed.
	(senator-minor-mode-off-hook): Removed.
	(senator-minor-mode): Don't run on/off mode hooks.

	(senator-register-mode-menu-entry["Summaries"]): Added.
	(senator-register-mode-menu-entry"[Which Function"]): Added when
	'which-func feature is available.

	* semantic-util-modes.el (semantic-propertize):
	New function.  Return a copy of STRING with
	text properties added.

	(semantic-mode-line-prefix): New option.  Prefix added to minor mode
	indicators in the mode line.  The default value use
	`semantic-propertize' to have this string displayed in 'bold face on
	Emacs 21 :-)

	(semantic-mode-line-update): Skip empty strings.  Use
	`semantic-mode-line-prefix'.

	(semantic-show-dirty-mode-on-hook): Removed.
	(semantic-show-dirty-mode-off-hook): Removed.
	(semantic-show-dirty-mode): Don't run on/off mode hooks.

	(semantic-show-unmatched-syntax-mode-on-hook): Removed.
	(semantic-show-unmatched-syntax-mode-off-hook): Removed.
	(semantic-show-unmatched-syntax-mode): Don't run on/off mode hooks.

	(semantic-auto-parse-mode-on-hook): Removed.
	(semantic-auto-parse-mode-off-hook): Removed.
	(semantic-auto-parse-mode): Don't run on/off mode hooks.

	(global-semantic-summary-mode): New function.  Toggle global use of
	`semantic-summary-mode'.
	(global-semantic-summary-mode): New variable.  If non-nil enable
	global use of summary mode.
	(semantic-summary-mode-hook): New hook.  Run at the end of function
	`semantic-summary-mode'.
	(semantic-summary-mode-map: New variable.  Keymap for summary minor
	mode.
	(semantic-summary-mode: New variable.  Non-nil if summary minor mode
	is enabled.
	(semantic-summary-mode-setup: New function.  Setup
	`semantic-summary-mode'.
	(semantic-summary-mode): New function.  Minor mode to show useful
	things about tokens in echo area.
	(semantic-add-minor-mode[semantic-summary-mode]): Added.

	* semantic-load.el: Added autoloads for `semantic-summary-mode'.
	(when semantic-load-turn-everything-on): Use
	`global-semantic-summary-mode'.

2001-11-26  emacsman  <emacsman@choochoo>

	* semantic.texi: Added "Lexer Overview" and "Lexer Output" nodes.

2001-11-23  emacsman  <emacsman@choochoo>

	* semantic.texi: Fixed a typo in last checkin.  Sorry.

	* semantic.texi: Created "Overview" and "Semantic Components" chapters.

2001-11-22  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-sb.el (semantic-fetch-dynamic-bovine):
	Set out to t when there is no parser available.

2001-11-21  ponced  <ponced@choochoo>

	* senator.el (senator-minor-mode-name): Use "n" as default value.
	(senator-minor-mode-isearch-suffix): Use "i" as default value.

	(senator-jump-regexp): Added autoload cookie.

	(senator-register-mode-menu-entry["Senator"]): No more use
	`senator-mode'.

	(senator-status): Renamed from `senator-mode'.

	(senator-mode-line-update): Renamed from `senator-show-status'.  Use
	`senator-status'.  Use `semantic-mode-line-update' instead of
	`force-mode-line-update'.  Removed "Emacs 21 goodies".

	(senator-minor-mode-setup): Removed call to `senator-show-status'.

	(senator-minor-mode): Use `senator-mode-line-update' instead
	of `force-mode-line-update'.
	(senator-isearch-toggle-semantic-mode): Ditto.
	(senator-isearch-mode-hook): Ditto.

	(semantic-add-minor-mode[senator-minor-mode]): Use 'senator-status.

	(semantic-add-minor-mode[senator-isearch-semantic-mode]): Added.

	* semantic-util-modes.el (semantic-update-mode-line):
	New option.  If non-nil show enabled
	minor modes in the mode line.

	(semantic-minor-modes-status): New variable.  String displayed in the
	mode line to show the Semantic minor modes which are locally enabled.

	(semantic-minor-mode-alist): New variable.  Alist saying how to show
	Semantic minor modes in the mode line.a

	(semantic-mode-line-update): New function.  Update display of Semantic
	minor modes in the mode line.

	(semantic-add-minor-mode): Update `semantic-minor-mode-alist'.  Lazily
	install `semantic-minor-modes-status' as a dummy minor mode used to
	show Semantic minor modes status in the mode line.

	(semantic-show-dirty-mode):  Use `semantic-mode-line-update'.
	(semantic-show-unmatched-syntax-mode): Ditto.
	(semantic-auto-parse-mode): Ditto.

	(semantic-add-minor-mode[semantic-show-dirty-mode]): Use "d" to
	indicate that the minor mode is enabled.
	(semantic-add-minor-mode[semantic-show-unmatched-syntax-mode]): Use
	"u" to indicate that the minor mode is enabled.
	(semantic-add-minor-mode[semantic-auto-parse-mode]): Use "a" to
	indicate that the minor mode is enabled.

	* semanticdb.el (global-semanticdb-minor-mode):  Fixed bad setting of
	`semanticdb-global-mode'.

2001-11-19  emacsman  <emacsman@choochoo>

	* semantic.texi:
	Added comments on semantic-flex and in "document" node.
	This is only the first of many additions to be made in the future.

2001-11-17  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/test.cpp: Added extern "C" samples.

2001-11-17  ponced  <ponced@choochoo>

	* senator.el (senator-last-local-item-name): Removed.
	(senator-last-global-item-name): Removed.
	(senator-new-menu-item-name): Removed.

	(senator-modes-menu-cache): New variable.  Cache the last computed
	value of the "Modes" sub-menu.

	(senator-register-command-menu): Renamed from
	`senator-register-mode-menu-item'.  Register and return a command menu
	specification instead of a pre-build menu item.
	(senator-register-mode-menu-entry): Clear the cached menu.  Register
	specifications instead of actual menu items.  Thus the menu building
	is clearly a separated task.

	(senator-base-local-label): New constant.  Default name of the menu
	item used to change minor mode buffer local setting.
	(senator-base-global-label): New constant.  Default name of the menu
	item used to change minor mode global setting.
	(senator-uniquify-count): New variable.  Used to generate unique menu
	item names.

	(senator-build-command-menu-item): New function.  Return a command
	menu item with an unique name.

	(senator-build-mode-menu-items): With window system display minor mode
	labels as a disabled menu items to get a consistent look of the
	"Modes" menu both in Emacs and XEmacs.  On text-only terminal no more
	use the hard coded strings " (In this buffer)" and " (Globally)" but
	the corresponding default name constant.

	(senator-build-modes-menu): Compute the value of the menu only if
	necessary.  Return a cached value when available.
	Use "--" instead of single "-" for menu separator.  The "Emacs Lisp
	Reference Manual" says that "separator-type is a string starting with
	two or more dashes".

	(senator-menu-bar): Use "--" instead of single "-" for menu separator.

	(semantic database menu item): When selected show if the database is
	persistent (saved on disk) or only available for the current session.

2001-11-17  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-texi.el (semantic-default-texi-setup): Added autoload

	* semantic-c.el (semantic-toplevel-c-bovine-table): New c.bnf
	(semantic-expand-c-nonterminal): Expand batched extern "c" entries.
	(semantic-default-c-setup): Added autoload

	* c.bnf (declaration): Added extern-c entry
	(extern-c-contents, extern-c): new rules

	* semantic-bnf.el (bnf-mode, semantic-bnf-mode): Added autoload

	* semantic-chart.el (semantic-chart-nonterminals-by-token):
	Added autoload
	(semantic-chart-database-size): Added autoload
	(semantic-chart-nonterminal-complexity-token): Added autoload

	* semanticdb.el (global-semanticdb-minor-mode): Added autoload

	* semantic-el.el (semantic-default-elisp-setup): Added autoload

	* semantic-java.el (semantic-default-java-setup): Added autoload

	* semantic-make.el (semantic-default-make-setup): Added autoload

	* semantic-scm.el (semantic-default-scheme-setup): Added autoload

	* semantic-skel.el (semantic-default-skel-setup): Fixed typo in name.

2001-11-14  ponced  <ponced@choochoo>

	* semantic-sb.el (semantic-fetch-dynamic-bovine):
	Fixed.  Didn't get the tokens
	returned by `semantic-bovinate-toplevel'.

	* senator.el (senator-menu-item):  Moved before it is first used.

	(senator-last-local-item-name): New variable.
	(senator-last-global-item-name): Ditto.
	(senator-registered-mode-entries): Ditto.
	(senator-registered-mode-settings): Ditto.

	(senator-new-menu-item-name):  New function.  Return a new unique
	generated menu item name.

	(senator-register-mode-menu-item):  New function.  Register a minor
	mode menu item.
	(senator-register-mode-menu-entry): New function.  Register a minor
	mode menu entry.
	(senator-build-mode-menu-items): New function.  Return menu items for
	a registered minor mode.
	(senator-build-modes-menu): New function.  Build and return the
	"Modes" menu.

	(senator-global-mode-options): Removed.
	(senator-global-mode-options-save): Renamed to
	`senator-save-registered-mode-settings'.

	(open code): Added registration of Semantic minor modes.

	(senator-menu-bar):  Use `senator-build-modes-menu' to dynamically
	build the "Modes" sub-menu based on registered minor modes.

2001-11-14  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi (miscellaneous): Renamed
	(minor modes): Added variable options for all the modes listed.

	* semantic-util-modes.el: (semantic-show-dirty-mode-*hook),
	(semantic-show-unmatched-syntax-mode-*hook),
	(semantic-unmatched-syntax-face),
	(semantic-auto-parse-mode-*hook): Add * as a user option.

2001-11-13  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util-modes.el (semantic-show-unmatched-syntax):
	Remove message about no bad syntax.

2001-11-12  ponced  <ponced@choochoo>

	* senator.el (senator-global-mode-options):
	New constant.  List of Semantic minor
	modes which can be enabled globally.

	(senator-global-mode-options-save): New command.  Save current values
	of `senator-global-mode-options' using Custom."

	(senator-menu-bar):  New menu items in the "Modes" sub-menu to toggle
	minor modes globally and save these settings via custom.

	* semanticdb.el (global-semanticdb-minor-mode):
	 Set `semanticdb-global-mode' to the
	minor mode status.

2001-11-10  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi (miscellaneous):
	Added `[global-]semantic-auto-parse-mode'.

2001-11-10  ponced  <ponced@choochoo>

	* semantic.el (semantic-rebovinate-token):
	Removed specific error handler.

	(semantic-bovinate-nonterminal): Added general error handler.

2001-11-10  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi (miscellaneous):
	Added `[global-]semantic-auto-parse-mode'.

2001-11-10  ponced  <ponced@choochoo>

	* semantic.el (semantic-rebovinate-token):
	Removed specific error handler.

	(semantic-bovinate-nonterminal): Added general error handler.

2001-11-08  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-make.el: New make.bnf 1.9

	* make.bnf (Makefile): Handle blank lines

	* Project.ede: Updated the web directory

	* senator.el, semantic-load.el, semantic-imenu.el, semantic.el:
	Removed all ^M line endings.

	* NEWS: Added new news.

2001-11-07  ponced  <ponced@choochoo>

	* wisent/wisent-bovine.el (wisent-collect-unmatched-syntax):
	New function.
	`wisent-skip-token-hook' hook function to add a lexical token to the
	cache of unmatched tokens.

	(wisent-bovinate-nonterminals): Use it to collect unmatched syntax
	tokens.

	(wisent-bovinate-toplevel):  Clear the cache of unmatched syntax
	tokens after a partial re-parse.

	* wisent/wisent.el (wisent-skip-token-hook):
	New variable.  Hook run when the parser
	skips a lexical token.

	(wisent-skip-token): Run `wisent-skip-token-hook'.
	(wisent-skip-block): Ditto.
	(wisent-parse): Ditto.

	(wisent--maxrhs, wisent-set-max-rhs): Removed.  Unused.

	Checkdoc fixes.

	* semanticdb.el (semanticdb-toggle-global-mode):
	No more call `semanticdb-kill-hook'.
	When `semanticdb-write-directory-p' returns nil, that is indicating to
	not write the DB on disk, overlays were removed from the token cache
	by `semanticdb-kill-hook' and not recreated.

	* semantic-util-modes.el (semantic-auto-parse-interval): Removed.

	(semantic-auto-parse-idle-time): New variable.  Time in seconds of
	idle time before auto-reparse.

	(semantic-auto-parse-timer): No more buffer local.  Now an idle timer.

	(semantic-auto-parse-bovinate): Moved.  Does nothing if
	`semantic-auto-parse-mode' is not enabled.

	(semantic-auto-parse-enabled-p): Moved.  Also check
	`semantic-auto-parse-mode'.

	(semantic-auto-parse-triggering-delay): Removed.
	(semantic-auto-parse-change-hook): Removed.
	(semantic-auto-parse-stop-after-parse): Removed.

	(semantic-auto-parse-setup-timer): New function.  Lazy initialization
	of the auto parse idle timer.
	(semantic-auto-parse-mode-setup): Use it.

2001-11-02  ponced  <ponced@choochoo>

	* semantic.el (semantic-set-toplevel-bovine-cache):
	Made `after-change-functions'
	hook local using `make-local-hook' before using `add-hook' with the
	LOCAL flag set.

	* semantic-imenu.el (semantic-create-imenu-index): Made
	`semantic-before-toplevel-cache-flush-hook' and
	`semantic-clean-token-hooks' locals using `make-local-hook' before
	using `add-hook' with the LOCAL flag set.

	* senator.el (senator-menu-bar): Added auto parse to "Modes" sub-menu.

	(senator-minor-mode-setup): Made
	`semantic-before-toplevel-cache-flush-hook' and
	`semantic-clean-token-hooks' locals using `make-local-hook' before
	using `add-hook' with the LOCAL flag set.

	* semantic-load.el:
	Added autoloads for `semantic-auto-parse-mode' minor mode.
	Turn on `global-semantic-auto-parse-mode' when
	`semantic-load-turn-everything-on' is non-nil.

	* semantic-util-modes.el:
	New `semantic-auto-parse-mode' minor mode to auto reparse buffer.

	(semantic-auto-parse-no-working-message): New variable.  Non-nil
	disable display of working message during auto-parse.
	(semantic-auto-parse-interval): New variable.  Time in seconds between
	buffer change and reparse.
	(semantic-auto-parse-max-buffer-size): New variable.  Maximum size in
	bytes of buffers automatically reparsed.
	(semantic-auto-parse-timer): New variable.  Timer used to schedule
	automatic reparse.
	(semantic-auto-parse-bovinate): New function.  Reparse the current
	buffer.
	(semantic-auto-parse-enabled-p): New function.  Return non-nil if
	auto-parse is enabled for this buffer.
	(semantic-auto-parse-triggering-delay): New function.  Return the time
	in seconds before auto-parse triggering.
	(semantic-auto-parse-change-hook): New function.  Hook run to schedule
	the auto-parse task when Semantic detects a change in the current
	buffer.
	(semantic-auto-parse-stop-after-parse): New function.  Hook run to
	stop scheduled auto-parse task after Semantic changed the token cache.
	(global-semantic-auto-parse-mode): New variable.  If non-nil enable
	global use of auto-parse mode.
	(global-semantic-auto-parse-mode): New function.  Toggle global use of
	`semantic-auto-parse-mode'.
	(semantic-auto-parse-mode-hook): New variable.  Hook run at the end of
	function `semantic-show-dirty-mode'.
	(semantic-auto-parse-mode-on-hook): New variable.  Hook run when
	auto-parse minor mode is turned on.
	(semantic-auto-parse-mode-off-hook): New variable.  Hook run when
	auto-parse minor mode is turned off.
	(semantic-auto-parse-mode): New variable.  Non-nil if auto-parse minor
	mode is enabled.
	(semantic-auto-parse-mode-setup): New function.  Setup
	`semantic-auto-parse-mode'.
	(semantic-auto-parse-mode): New function.  Minor mode to auto parse
	buffer following changes.

2001-10-31  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util.el (semantic-prototype-nonterminal-default):
	Support reference &
	(semantic-uml-token-or-string-to-string): Support pointers *, and references &

	* working.el (working-mode-line-update): New compat alias
	(working-mode-line-message, working-use-echo-area-p): New vars
	(working-message): Renamed to working-message-echo.
	New function that obeys working-use-echo-area-p.
	(working-status-forms): Always reset working-mode-line-message
	(working-status-timeout): Resest working-mode-line-message
	(working-verify-mode-line): New test function.

	* semantic-sb.el (semantic-fetch-dynamic-bovine):
	If a file isn't in semanticdb, load
	it and bovinate it.

2001-10-30  Eric M. Ludlam  <eric@siege-engine.com>

	* semanticdb.el (semanticdb-semantic-init-hook-fcn):
	For backward compatibility with
	old cache files, handle the case when the unmatched-syntax slot
	is not bound.

2001-10-28  Eric M. Ludlam  <eric@siege-engine.com>

	* semanticdb.el (semanticdb-table): Add unmatched-syntax slot.
	(semanticdb-semantic-init-hook-fcn): Set the unmatched syntax cache.
	(semanticdb-post-bovination-unmatched-syntax): New hook fcn.
	(semanticdb-hooks): Set our init hook into `semantic-init-db-hooks'.

	* semantic.el (semantic-init-db-hooks):
	New hook variable for semanticdb.
	(semantic-new-buffer-fcn): Call semantic-init-db-hooks before other hooks.
	(semantic-set-unmatched-syntax-cache): New function for semanticdb.
	(semantic-bovinate-nonterminals): Indent change.

	* semantic-load.el: Enable show-unmatched-syntax-mode by default.

	* tests/test.cpp (class3): Add local var.
	(method3_for_class3): Added class with parent decl-mods.

	* tests/test.c (dont_show_function): Text if 0 code.
	(vara4): Test casting in an expression.
	(funk3): Added interesting conditions to call to fun3

	* semantic.texi (Local Context):
	Removed old context analysis functions.
	Added xref to to new context analysis section.

	* semantic-analyze.el (semantic-analyze-token-type):
	New function extraced from
	'semantic-analyze-find-nonterminal-sequence'
	(semantic-analyze-find-nonterminal-sequence): Extracted token type analysis.
	(semantic-analyze-scoped-nonterminals): Added a comment about getting
	all parents.
	(semantic-analyze-scoped-types): Add in scope from functions with
	parnts.  Add in context scopes (eg. code-wise use clauses)
	(semantic-analyze-possible-completions): Fixed search to use the
	completetexttype.
	Add in search for the local scope.

	* semantic-sb.el (semantic-sb-insert-details):
	When inserting a type's parts, bucketize
	them if they appear as tokens.

	* semantic-c.el (semantic-toplevel-c-bovine-table): New c.bnf 1.49
	(semantic-expand-c-nonterminal): Extract default value for vars

	* c.bnf (codeblock): Use codeblock-var-or-fun instead of var-or-fun
	(class-parents): Add opt-class-declmod to one-parent case.
	(opt-name): empty name gets "" string instead of nil.
	(opt-ref): Pass back a 1 for a ref match
	(codeblock-var-or-fun): New rule. Don't match anon types.
	(opt-initializers): Add coma prefixed initializer.
	(variablearg): Pass down a reference
	(expression): Send back start/end of the expression.

2001-10-26  ponced  <ponced@choochoo>

	* semantic.el (semantic-unmatched-syntax-cache):
	New variable.  Cached copy of
	unmatched syntax tokens.

	(semantic-unmatched-syntax-cache-check): New variable.  Non nil if the
	unmatched syntax cache is out of date.

	(semantic-overlay-error-recovery-stack): Removed.
	(semantic-overlay-stack-add): Removed.
	(semantic-overlay-stack-clear): Removed.

	(semantic-bovine-umatched-syntax-refresh-needed-p): New function.
	Return non-nil if the unmatched syntax cache needs a refresh.

	(semantic-clear-unmatched-syntax-cache): New function.  Clear
	`semantic-unmatched-syntax-cache'.

	(semantic-bovinate-unmatched-syntax): New function.  Return the list
	of unmatched syntax tokens.

	(semantic-clear-toplevel-cache): Call
	`semantic-clear-unmatched-syntax-cache'.

	(semantic-bovinate-toplevel): Call
	`semantic-clear-unmatched-syntax-cache' after partial re-parse.  Use
	`semantic-overlay-list' to setup token overlays after full re-parse.

	(semantic-set-toplevel-bovine-cache): Set
	`semantic-unmatched-syntax-cache-check' to nil.  Run hook
	`semantic-unmatched-syntax-hook' to refresh highlighting of unmatched
	syntax tokens.

	(semantic-change-function): Set
	`semantic-unmatched-syntax-cache-check' to t.

	(semantic-raw-to-cooked-token): Replaced token overlay by vector of
	START END positions.

	(semantic-bovinate-nonterminals): Setup
	`semantic-unmatched-syntax-cache'.  No more use overlay recovery
	stack.  No more run `semantic-unmatched-syntax-hook'.

	(semantic-rebovinate-token, semantic-bovinate-nonterminal): No more
	setup token overlays.

	* semantic-util-modes.el:
	  (semantic-unmatched-syntax-overlay-p): New function.

	  (semantic-showing-unmatched-syntax-p): Use `semantic-overlays-in'
	  instead of `semantic-overlay-lists'.  Use
	  `semantic-unmatched-syntax-overlay-p'.

	  (semantic-clean-unmatched-syntax-in-region):Moved for clarity.
	  (semantic-clean-token-of-unmatched-syntax): Ditto.

	  (semantic-clean-unmatched-syntax-in-buffer): New function.

	  (semantic-hide-unmatched-syntax): Removed.  Replaced by
	  `semantic-clean-unmatched-syntax-in-buffer'.

	  (semantic-show-unmatched-syntax): Clear any previous highlighting.
	  No more use `semantic-overlay-stack-add'.  Comment fixes.

	  (semantic-next-unmatched-syntax):  Use
	  `semantic-unmatched-syntax-overlay-p'.

	  (semantic-show-unmatched-syntax-mode-setup): Use the function
	  `semantic-bovinate-unmatched-syntax' to get the list of unmatched
	  syntax tokens.  Then call `semantic-show-unmatched-syntax' to
	  highlight them.

2001-10-26  Eric M. Ludlam  <eric@siege-engine.com>

	* document.el (document-massage-to-texinfo):
	When searching for things to wrap
	in @var, move search start point after each match to avoid
	double-match for THREE-WORD-SYMBOLS.

	* semantic-ctxt.el (semantic-ctxt-scoped-types, semantic-ctxt-scoped-types-default):
	New fcn

	* semantic-util.el (semantic-nonterminal-children-default):
	Handle anonymous types with children.

2001-10-24  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi (Tools): Added a charts section
	(speedbar): Made note of semantic-load.el
	(imenu): Made note of semantic-load.el
	(charts): New section

	* semantic-util-modes.el (global-semantic-show-dirty-mode): Fixed doc.

	* semantic.texi (Bovinating, BNF conversion, Optional Lambda Expression):
	xref syntax fix
	(Current Context): Renamed "suggestions" node to "syntax analysis"
	(Local Variables): Doc update from source
	(Derived Context): Doc update from source
	(Context Analysis): New section w/ doc copied from source
	(senator): xref syntax fix
	(miscellaneous): Updated from source.  Added show-unmatched-syntax functions.

	* semantic-c.el: Updated for c.bnf
	(semantic-flex-c-if-0): Optimize #if 0 out of lexical stream.
	(semantic-flex-c-extensions): Added above.

	* c.bnf: Removed log comments.
	(unionparts): Fixed names
	(class-parents): Added opt-class-declmods.
	(typesimple): Fixed name of union parts
	(var-or-fun): Split to two sub-rules
	(opt-initializers): Fixed COMA case.
	(expression): Added cast info of an expression.

	* semantic-util-modes.el (semantic-show-dirty-mode-on-hook,  semantic-show-dirty-mode-off-hook):
	Fixed doc strings.

	* INSTALL: Fixed quoting problem with LOADPATH.

	* semanticdb.el (semanticdb-semantic-init-hook-fcn): Added comments.

	* semantic-load.el:
	Do not enable global-semantic-show-unmatched-syntax-mode when turning
	everything on until bugs in it are fixed.

2001-10-17  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-bnf.el: By Juanma Barranquero <lektu@terra.es>:
	(which-func-modes): In Emacs 21, it can be t, so don't add
	semantic-bnf mode.

2001-10-10  ponced  <ponced@choochoo>

	* wisent/wisent-java.el (wisent-java-get-local-variables):
	New implementation consistent with
	`semantic-java-get-local-variables'.

	* wisent/wisent-bovine.el (wisent-bovinate-region-until-error):
	New function. Counterpart of
	`semantic-bovinate-region-until-error'.

2001-10-09  ponced  <ponced@choochoo>

	* semantic-ctxt.el (semantic-get-local-variables, semantic-get-local-arguments):
	Fixed
	last check in.

	* semantic-ctxt.el (semantic-get-local-variables): For consistency with
	`semantic-get-local-variables' return tokens without overlay.

	(semantic-get-all-local-variables-default): Always return a cons
	(LOCAL-ARGUMENTS . LOCAL-VARIABLES).  Removed reversing of the result
	list because values returned by `semantic-get-local-arguments' and
	`semantic-get-local-variables' are already in correct order.

2001-10-08  Eric M. Ludlam  <eric@siege-engine.com>

	* Project.ede:
	Added an "example" target with skeletons bnf, and Lisp file.

	* semantic-load.el: Moved charting autoloads together.

	* semantic-c.el (semantic-toplevel-c-bovine-table): New c.bnf
	(semantic-c-classname): New state variable
	(semantic-c-reconstitute-token): handle constructor via
	`semantic-c-classname' and new auto-typeing information for implicitly
	typed functions.
	(semantic-default-c-built-in-types): Deleted
	(semantic-default-c-setup): Don't assign
	 `semantic-default-c-built-in-types'

	* c.bnf (unionpartsparts): new rule; used to be classparts
	(typesimple): When building a class, store off the classname found.
	Used to reconstitute functions later.
	(var-or-fun): Re-enable untyped functions and variables.

	* semantic-analyze.el (semantic-analyze-possible-completions):
	Fixed typo.

	* semantic-analyze.el (semantic-analyze-current-local-variables):
	Removed
	(semantic-analyze-find-nonterminal-sequence): Accept localvariable
	list, and scoped variable list.
	(semantic-analyze-type-parts, semantic-analyze-scoped-nonterminals,
	semantic-analyze-scoped-types): New functions
	(semantic-analyze-context, semantic-analyze-context-assignment,
	 semantic-analyze-context-functionarg,
	 semantic-analyze-context-return): New classes
	(semantic-analyze-current-context): Use new classes instead of hacking
	together a list.  Collect new local variable and scoping information
	into the analysis.
	(semantic-analyze-type-constraint): New method set for new classes.
	(semantic-analyze-possible-completions): use new object returned by
	`semantic-analyze-current-context' to do the same thing.
	(semantic-analyze-show): New method set for new classes.
	(semantic-analyze-pop-to-context): Use new method.

	* semantic-util.el (semantic-default-built-in-types): Removed.

	* semantic.texi: Spelling and grammar fixes.  (Thanks Colin Marquardt)
	Added detail about constructor specifier in tokens.

	* semantic-skel.el:
	Example on how to start an Emacs Lisp source target for a bnf file.

	* skeleton.bnf: Example on how to start a .bnf project.

2001-10-08  ponced  <ponced@choochoo>

	* semantic-java.el (semantic-java-get-local-variables):
	New implementation consistent
	with `semantic-get-local-variables-default'.

2001-10-05  ponced  <ponced@choochoo>

	* semantic-bnf.el: Merged wisent branch.

	* semantic.texi: Fixed typo.

2001-10-05  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-analyze.el (semantic-analyze-current-local-variables):
	New var
	(semantic-analyze-find-nonterminals-by-prefix): New function
	(semantic-analyze-find-nonterminal-sequence): New arg TYPERETURN.
	(semantic-analyze-current-context): Get back the types from prefix
	sequence.  Add them to the return value.
	(semantic-analyze-possible-completions): New command.
	(semantic-analyze-pop-to-context): Handle the types of the prefix.

	* semantic-c.el: New c.bnf

	* c.bnf (var-or-fun):
	Disable support (for now) of int declarations for vars
	and funs with unspecified types.  Who does that anymore anyway?

	* semantic-ctxt.el (semantic-up-context):
	Specify a bounds type (ie, only go up withing
	the bounds of a specific token type.)  Narrow region to that token.
	(semantic-up-context-default): Remove old narrowing code.
	(semantic-get-local-variables-default): Disable working messages.
	Go up w/in the scope of 'function only. Be sure to append old vars.
	(semantic-get-all-local-variables-default): Do not loop up contexts.
	Let the get-local-vars function do that.

	* semantic-util.el (semantic-find-nonterminal-by-type):
	Do not return built in types.
	This function is supposed to return non-type tokens which have TYPE
	as an type.

	* tests/test.c: Fixed typedef_of_anonymous_enum contents.

	* semantic-util-modes.el (semantic-next-unmatched-syntax): New function
	(semantic-clean-unmatched-syntax-in-region): Implemented.
	(semantic-clean-token-of-unmatched-syntax): New function for hook.
	(semantic-show-unmatched-syntax-mode-map): Add binding
	`semantic-show-unmatched-syntax-next'.
	(semantic-show-unmatched-syntax-mode-setup): Add pre clean token hook.
	(semantic-show-unmatched-syntax-next): New command.

	* semantic-ctxt.el (semantic-get-local-variables-default):
	Disable all hooks associated
	with unmatched syntax.

	* semantic-c.el: New c.bnf

	* c.bnf (UNDERP, UNDERUNDERP): New keywords
	(macro-or-include): Handle optional argument list
	(opt-define-arglist): New rules
	(var-or-func-decl): Account for optional _P before arglist.
	(opt-under-p): New rule
	(arg-list): Remove check for _P here.  Regex wasn't working.
	(arg-sub-list): Unused.
	(expression): Add symbol as valid part.

2001-10-04  ponced  <ponced@choochoo>

	* semantic-bnf.el (semantic-bnf-mode-keywords, semantic-bnf-syntax-help):
	Added number
	to list of built ins.

2001-10-04  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/test.cpp: Forgot a semicolon.

	* tests/test.cpp, tests/test.c: A few more bits.

	* Project.ede: Added semantic-analyze.el

	* semantic-bnf.el (semantic-bnf-syntax-help):
	Added number to list of built ins.

	* semantic-util.el (semantic-current-nonterminal-of-type): New function
	(semantic-with-buffer-narrowed-to-current-token): New macro
	(semantic-with-buffer-narrowed-to-token): New macro

	* semantic.el (semantic-number-expression):
	Use number expression from semantic-java
	since it looks like the common way of parsing numbers for most
	langauges.

	* semantic-c.el: New c.bnf

	* c.bnf (expression): Use newer number token which handles floats.

	* semantic-ctxt.el (semantic-up-context-default):
	Narrow to current function token first.
	(semantic-get-local-variables-default): Collect variables from
	multiple levels.
	(semantic-ctxt-current-symbol-default): Break at beginning of buffer.
	(semantic-ctxt-current-argument): doc fix.
	(semantic-ctxt-current-argument-default): doc fix
	(semantic-suggest-lookup-item,
	 semantic-suggest-variable-token-hierarchy,
	 semantic-suggest-current-type): Deleted functionality moved to
	semantic-analyze.

	* semantic-analyze.el: Analysis of the current context.
	Uses semantic-ctxt to determine textual context around point.
	Uses searches to find the tokens associated with that context.

2001-10-04  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/test.cpp: Forgot a semicolon.

	* tests/test.cpp, tests/test.c: A few more bits.

	* Project.ede: Added semantic-analyze.el

	* semantic-bnf.el (semantic-bnf-syntax-help):
	Added number to list of built ins.

	* semantic-util.el (semantic-current-nonterminal-of-type): New function
	(semantic-with-buffer-narrowed-to-current-token): New macro
	(semantic-with-buffer-narrowed-to-token): New macro

	* semantic.el (semantic-number-expression):
	Use number expression from semantic-java
	since it looks like the common way of parsing numbers for most
	langauges.

	* semantic-c.el: New c.bnf

	* c.bnf (expression): Use newer number token which handles floats.

	* semantic-ctxt.el (semantic-up-context-default):
	Narrow to current function token first.
	(semantic-get-local-variables-default): Collect variables from
	multiple levels.
	(semantic-ctxt-current-symbol-default): Break at beginning of buffer.
	(semantic-ctxt-current-argument): doc fix.
	(semantic-ctxt-current-argument-default): doc fix
	(semantic-suggest-lookup-item,
	 semantic-suggest-variable-token-hierarchy,
	 semantic-suggest-current-type): Deleted functionality moved to
	semantic-analyze.

	* semantic-analyze.el: Analysis of the current context.
	Uses semantic-ctxt to determine textual context around point.
	Uses searches to find the tokens associated with that context.

2001-10-03  ponced  <ponced@choochoo>

	* wisent/wisent-java.el (wisent-java-number-regexp): Removed.  Use
	`semantic-java-number-regexp' instead.

	(wisent-java-lex): Use `semantic-flex' 'number lexemes.

	(wisent-java-default-setup): BNF update.

	* wisent/wisent-java.bnf:
	In setup: Added setting of `semantic-number-expression'.

	* wisent/wisent-bovine.el (wisent-rebovinate-token):
	Call `semantic-pre-clean-token-hooks'.

	* semantic-java.el (semantic-java-number-regexp):
	New constant.  Regular expression used
	by the lexer to match Java numbers.

	(semantic-toplevel-java-bovine-table, semantic-default-java-setup):
	BNF update.

	* java.bnf: In setup: Added setting of `semantic-number-expression'.

	In grammar: Removed 'number nonterminal now directly provided as
	terminal by the lexer.

	* semantic-c.el:
	Added (require 'senator) at compilation time to fix byte-compiler
	warning.

	* senator.el (senator-menu-bar): New "Chart" and "Modes" sub-menus.

	* semantic.el: Added (require 'assoc) to fix byte-compiler warning.

	(semantic-flex): Fixed to handle numbers which are not symbols (that
	is for example floating point numbers starting with a dot like ".10").

2001-10-03  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi (Settings): Added number expression doc.
	(Rules): Added large section about valid syntax tokens.

	* semantic-util-modes.el (global-semantic-show-dirty-mode): Doc Fix
	(semantic-show-dirty-mode-setup): Doc Fix
	(semantic-show-dirty-mode): Doc Fix
	(global-semantic-show-unmatched-syntax-mode): Doc Fix
	(semantic-clean-unmatched-syntax-in-region): New fn placeholder
	(semantic-show-unmatched-syntax-mode-map): Doc Fix
	(semantic-show-unmatched-syntax-mode-setup): Doc Fix
	(semantic-show-unmatched-syntax-mode): Doc Fix

	* Project.ede: Add semantic-util-modes.
	Update version number.

	* semantic-c.el: New c.bnf (1.43)

	* c.bnf (INLINE): Fix typo
	(opt-class-protection): EMPTY is valid match
	(opt-name): UNION can have class parts.  Fix typedef name.
	(DECLMOD): Add METADECLMOD
	(metadeclmod, METADECLMOD): New rules
	(var-or-fun-decl): Accept metadeclmods in the middle.
	(fun-or-proto-end): Accept "= 0;" as a valid function end.
	(opt-expression): Deal with numbers.

	* semantic-chart.el (semantic-chart-database-size): New command.
	(semantic-chart-nonterminal-complexity-token): Get the Y label from
	token type name assoc list.

	* semantic-load.el: Added in chart autoloads.

	* semantic-bnf.el (semantic-bnf-mode-keywords):
	Support the new number keyword.

	* semantic-scm.el: New version of scheme.bnf.

	* scheme.bnf: Disable number matching.

	* semantic-make.el: New version of make.bnf.

	* make.bnf: Disable number matching.

	* semantic.el (semantic-version): Update to 1.4beta 12
	(semantic-pre-clean-token-hooks): New hook.
	(semantic-rebovinate-token): Call `semantic-pre-clean-token-hooks'
	(semantic-number-expression): New flex option
	(semantic-flex): Create number tokens from symbols if they match
	above symbol.

2001-10-02  ponced  <ponced@choochoo>

	* senator.el (global-senator-minor-mode):
	New variable and function to turn on/off
	`senator-minor-mode' in every Semantic enabled buffer.

	(senator-minor-mode): Added autoload cookie.  Use
	`semantic-add-minor-mode' to register the minor mode.

	* semantic-util.el:
	(semantic-show-dirty-mode, semantic-show-unmatched-syntax-mode):
	All related code moved into semantic-util-modes.el.

	Added (require 'semantic-util-mode).

	* semantic-load.el: Updated minor mode autoloads.
	Use `global-senator-minor-mode', `global-semantic-show-dirty-mode' and
	`global-semantic-show-unmatched-syntax-mode' to globally turn on minor
	modes when `semantic-load-turn-everything-on' is non-nil.

	* semantic-util-modes.el:
	Initial revision.   Implementation of Semantic minor modes.

2001-09-30  ponced  <ponced@choochoo>

	* sformat.el (newstr):
	Local variable declared at compilation time to fix
	byte-compiler warnings.

	* senator.el (senator-completion-menu-window-offsets):
	Removed binding of unused
	local variables.

	(senator-minor-menu): Declared to fix byte-compiler warnings.

	(senator-minor-mode): Moved to fix byte-compiler warnings.

2001-09-29  ponced  <ponced@choochoo>

	* semantic.el (semantic-dirty-token-hooks): Fixed doc string typo.

	(semantic-flex-start, semantic-flex-end, semantic-flex-text,
	semantic-bovine-toplevel-full-reparse-needed-p,
	semantic-bovine-toplevel-partial-reparse-needed-p): Moved to fix byte
	compiler warnings.

	(semantic-token-with-position-p): To avoid implementation
	inconsistencies with `semantic-token-p' call it.

	(semantic-flex): Removed binding of unused local variable.

	* semantic-util.el:
	Require 'newcomment at compilation time to fix Emacs 21 byte-compiler
	warnings.

	(semantic-find-nonterminal-by-function): Ignore invalid children
	tokens when SEARCH-PARTS is not 'positiononly.  Some improvements.

	(semantic-name-nonterminal, semantic-prototype-nonterminal-default,
	semantic-concise-prototype-nonterminal-default,
	semantic-uml-token-or-string-to-string,
	semantic-uml-abbreviate-nonterminal-default,
	semantic-uml-concise-prototype-nonterminal-default): Removed binding
	of unused local variables.

	* semantic-texi.el (semantic-texi-recursive-combobulate-list):
	Removed binding of unused
	local variables.

	* semantic-sb.el (semantic-sb-one-button):
	Removed binding of unused local variable.

	* semantic-imenu.el:
	Require 'imenu at compilation time to fix byte-compiler warnings.

	(semantic-create-imenu-index-1): Removed binding of unused local
	variable.

	* semantic-el.el:
	Require 'semantic-imenu at compilation time to fix byte-compiler
	warnings.

	* semantic-ctxt.el (semantic-ctxt-current-symbol-default, semantic-suggest-variable-token-hierarchy):
	Removed binding of unused
	local variable.

	* semantic-c.el:
	Require 'semantic-imenu at compilation time to fix byte-compiler
	warnings.

	* semantic-bnf.el (semantic-bnf-find-setup-code, semantic-bnf-generate-and-load, semantic-bnf-find-state-position, semantic-bnf-ecsi):
	Removed binding
	of unused local variables.

	* document.el (document-comment-start, document-comment-end, document-comment-line-prefix):
	Moved to document-vars.el to fix
	byte-compiler warnings.

	Removed extra (require 'document-vars).

	* document-vars.el:
	Require 'newcomment at compilation time to fix Emacs 21 byte-compiler
	warnings.

	(document-comment-start, document-comment-end,
	document-comment-line-prefix): Moved from document.el to fix
	byte-compiler warnings.

2001-09-27  ponced  <ponced@choochoo>

	* wisent/wisent-java.el (wisent-java-default-setup): BNF update.

	* wisent/wisent-java.bnf:
	In setup: Removed unnecessary setting of `block-comment-end' which
	breaks `indent-new-comment-line'.

	* semantic-java.el (semantic-default-java-setup): BNF update.

	* java.bnf:
	In setup: Removed unnecessary setting of `block-comment-end' which
	breaks `indent-new-comment-line'.

2001-09-27  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-load.el: Added `semantic-show-unmatched-syntax-mode'.

	* semantic.el (semantic-unmatched-syntax-hook): New hook.
	(semantic-bovinate-nonterminals): Track all unmatched syntax elements.
	Call new hook with the unmatched syntax.

	* semantic-util.el (semantic-find-nonterminal-by-overlay,  semantic-find-nonterminal-by-overlay-in-region,  semantic-find-nonterminal-by-overlay-next,  semantic-find-nonterminal-by-overlay-prev):
	Make sure the 'semantic
	part of the overlay is a token to be valid while searching.
	(semantic-show-unmatched-syntax-mode): New user option.
	(semantic-unmatched-syntax-face): New face.
	(semantic-show-unmatched-syntax): New function
	(semantic-show-unmatched-syntax-mode): New mode.

2001-09-26  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el (semantic-toplevel-c-bovine-table): Updated from c.bnf

	* c.bnf (enumsubparts): Account for commas
	(arg-sub-list): Account for commas
	(opt-expression): Account for floating point numbers,
	or struct dereferences.

2001-09-26  ponced  <ponced@choochoo>

	* semantic-chart.el (semantic-chart-nonterminals-by-token):
	Changed the call to
	`semantic-find-nonterminal-by-token' to search in sub-parts of tokens.

	(semantic-chart-nonterminal-complexity-token): Changed call to
	`semantic-find-nonterminal-by-token' to use 'positiononly instead of
	t.

	* semantic-util.el (semantic-find-nonterminal-by-function):
	 Take into account
	'positiononly value of the SEARCH-PARTS argument.

2001-09-26  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-chart.el: Added a name to the complexity chart.

	* semantic.el: Update version numbers.

	* Project.ede: Updated version.

2001-09-25  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-chart.el (semantic-chart-nonterminal-complexity-token): 
	Added a reasonable name to chart.
	
	* semantic.el: Update version numbers.

	* Project.ede: Updated version.

2001-09-21  ponced  <ponced@choochoo>

	* wisent/wisent-java.el:
	Fixed byte compilation warnings.

	* wisent/wisent-bovine.el (wisent-bovinate-toplevel):
	Call `garbage-collect' before parsing to
	optimize memory use.

	* wisent/wisent.el (wisent-noninteractive):
	New function.  Return non-nil if running
	without interactive terminal.

	(wisent-log-file): New constant.  The logging file.

	(wisent-append-to-log-file): New function.  Append contents of
	`wisent-log-buffer' to `wisent-log-file'.

	(wisent-log-conflicts): Display the number of conflicts found in the
	message log buffer or on console output when running in batch mode.

	(wisent-build-tables): In batch mode append the contents of the log
	buffer to `wisent-log-file'.

	* semantic.el (semantic-token-name, semantic-token-get, semantic-token-start,semantic-token-end, semantic-token-buffer, semantic-token-p,semantic-bovine-toplevel-full-reparse-needed-p,semantic-bovine-toplevel-partial-reparse-needed-p):
	Defined as inline
	functions.

	(semantic-bovinate-toplevel): Garbage collector is run before parsing
	and suspended during parsing to speed up the parser and optimize
	memory use.

	* working.el (working-message-emacs, working-message-xemacs):
	Do nothing if running
	in batch mode.

	(working-run-with-timer, working-cancel-timer): Default implementation
	uses `working-message' instead of `message'.  Moved the definitions
	after definition of `working-message' to avoid byte compiler warnings.

2001-09-20  ponced  <ponced@choochoo>

	* wisent/wisent-java.el (wisent-java-default-setup):
	BNF update.

	* wisent/wisent-java.bnf:
	In setup: Renamed `wisent-flex-function' to `wisent-lexer-function'.
	Added setup of `wisent-flex-depth'.

	* wisent/wisent-bovine.el (wisent-flex-istream):
	No more buffer local.  Its value is local in
	function `wisent-bovinate-nonterminal'.

	(wisent-flex-depth): New variable to specify how `semantic-flex' will
	setup the lexer input stream.

	(wisent-flex-function): Renamed to more appropriate
	`wisent-lexer-function'.

	(wisent-lexer-wrapper): Minor improvements.

	(wisent-bovinate-nonterminal): Local binding of `gc-cons-threshold'
	moved into `wisent-bovinate-toplevel'.

	(wisent-rebovinate-token, wisent-bovinate-from-nonterminal-full): Use
	`wisent-flex-depth'.

	(wisent-bovinate-toplevel): Performance improvement.

2001-09-18  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-ctxt.el (semantic-function-argument-separation-character):
	Fix doc.

2001-09-18  ponced  <ponced@choochoo>

	* semantic-imenu.el (semantic-create-imenu-subindex):
	 Use `imenu--split-submenus' to sort
	and split sub index.

2001-09-18  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el (semantic-c-nonterminal-protection):
	Only check for class/struct if
	the token is a type.  Otherwise, always default to public.

	* semantic-el.el (semantic-elisp-prototype-nonterminal):
	Deleted
	(semantic-default-elisp-setup): Remove reference to above.
	Set `semantic-function-argument-separator' and
	`semantic-function-argument-separatiion' to good values.

	* semantic-util.el (semantic-test-all-token->text-functions):
	New function
	(semantic-function-argument-separator): New variable
	(semantic-prototype-nonterminal-default): Use new variable above.
	(semantic-concise-prototype-nonterminal-default): Use new variable above.
	(semantic-uml-token-or-string-to-string): Always display argument list.
	(semantic-uml-arguments-to-string): Use above new variable.

2001-09-18  ponced  <ponced@choochoo>

	* wisent/wisent.el (wisent-quote-p, wisent-backquote-p, wisent-action-expand):
	New
	functions to expand a semantic action expression and return the list
	of `$i' placeholders it actually uses.

	(wisent-reduce-action): Use `wisent-action-expand' to expand semantic
	action expression and only bind `$i' placeholders actually used.

	* semantic-bnf.el (semantic-bnf-to-lalr-action):
	Because macro expansions are
	implementation dependent, only expand `backquote' forms instead of all
	macros.

	(semantic-bnf-quote-p, semantic-bnf-backquote-p): New functions.

2001-09-17  ponced  <ponced@choochoo>

	* wisent/wisent-java.bnf (class_declaration, field_declaration, method_declaration,formal_parameter, constructor_declaration, interface_declaration,abstract_method_declaration):
	  Use ASSOC built-in instead of direct
	call to `semantic-bovinate-make-assoc-list' in semantic actions.

	* semantic-bnf.el (semantic-bnf-to-lalr-ASSOC, semantic-bnf-to-lalr-EXPANDTHING,semantic-bnf-to-lalr-EXPAND, semantic-bnf-to-lalr-EXPANDFULL,semantic-bnf-to-lalr-action):
	New functions to expand semantic actions
	in LALR grammar.

	(semantic-bnf-to-lalr-builtins): New variable.  Hold expanders of
	Semantic built-in functions in LALR grammar.

	(semantic-bnf-matching-to-lalr): Use `semantic-bnf-to-lalr-action' to
	expand semantic actions.

2001-09-14  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/test.cpp (class3::method5_for_class3):
	New testing post-const.
	(tinitializers1): test initializers.

	* tests/test.c (funk2):
	Added pointer test.
	(funk3): Added local variables.

	* Project.ede: Version update.
	Added semantic-chart.el to tools.

	* semantic-load.el:
	Added a semantic-chart autoload.

	* semantic-chart.el:
	Chart some aspects of a file based on what Semantic knows.
	(Requires eieio 0.17 beta 3 or better)

	* semantic-c.el:
	Removed broken commentary

2001-09-14  ponced  <ponced@choochoo>

	* wisent/wisent.el:
	Header comments: doc fixes.

	(wisent-working-...): Removed.

	(wisent-pack-grammar, wisent-set-derives, wisent-set-nullable,
	wisent-generate-states, wisent-lalr, wisent-build-states,
	wisent-compact-action-table, wisent-build-action-table,
	wisent-build-goto-table, wisent-build-reduction-table,
	wisent-build-terminal-table, wisent-build-tables,
	wisent-compile-grammar):  Use the working API instead of
	wisent-working-... wrappers.

	(wisent-compile-grammar): Doc string fixes.

	* working.el (working-status-dynamic-type):
	Added `working-text-display' to the
	list of available functions.

	(working-number-display): Doc string fix.

	(working-text-display): New function to display step strings.

	* semantic-el.el (semantic-expand-elisp-nonterminal):
	After expanding NONTERM delete
	the overlay from its buffer.

2001-09-14  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/test.cpp (class3::method5_for_class3):
	New testing post-const.
	(tinitializers1): test initializers.

	* tests/test.c (funk2):
	Added pointer test.
	(funk3): Added local variables.

	* Project.ede: Version update.
	Added semantic-chart.el to tools.

	* semantic-load.el:
	Added a semantic-chart autoload.

	* semantic-chart.el:
	Chart some aspects of a file based on what Semantic knows.
	(Requires eieio 0.17 beta 3 or better)

	* semantic-c.el:
	Removed broken commentary

2001-09-14  ponced  <ponced@choochoo>

	* wisent/wisent.el:
	Header comments: doc fixes.

	(wisent-working-...): Removed.

	(wisent-pack-grammar, wisent-set-derives, wisent-set-nullable,
	wisent-generate-states, wisent-lalr, wisent-build-states,
	wisent-compact-action-table, wisent-build-action-table,
	wisent-build-goto-table, wisent-build-reduction-table,
	wisent-build-terminal-table, wisent-build-tables,
	wisent-compile-grammar):  Use the working API instead of
	wisent-working-... wrappers.

	(wisent-compile-grammar): Doc string fixes.

	* working.el (working-status-dynamic-type):
	Added `working-text-display' to the
	list of available functions.

	(working-number-display): Doc string fix.

	(working-text-display): New function to display step strings.

	* semantic-el.el (semantic-expand-elisp-nonterminal):
	After expanding NONTERM delete
	the overlay from its buffer.

2001-09-13  ponced  <ponced@choochoo>

	* wisent/wisent.el:
	Header comments: Doc improvement.

	(wisent-log-buffer): Separate each compile log in the log buffer.

	(wisent-show, wisent-show-all): Removed.

	(wisent-free-all): Added missing global values.

	(wisent-build-tables): Skip lines after logging.

2001-09-12  ponced  <ponced@choochoo>

	* wisent/wisent-expr.el:
	Header comments: Doc fixes.

	(wisent-expr-grammar): Removed.  No more used.

	(wisent-expr-parser-tables): Updated to new format of Wisent's input
	grammar.  Minor grammar improvements.  Doc string.  Grammar compiled
	in byte code.

	(wisent-expr-operators): Terminal symbol name changes.  Doc string.

	(wisent-expr-digits): Removed.  No more used.

	(wisent-expr-number-regexp): New constant.  Lexer regexp used to parse
	the numbers.

	(wisent-expr-lexer-input-stream): Doc string.

	(wisent-expr-lexer): Doc string.  Use `wisent-expr-number-regexp' to
	parse numbers.  Minor improvements.

	(wisent-expr-error): Removed.  No more used.

	(wisent-expr-test): Renamed to `wisent-expr'.  Minor improvements.

	* semantic.el (find-file-hooks):
	Replaced `semantic-change-major-mode-hook-function'
	by `semantic-post-change-major-mode-function'.

	* wisent/wisent.el (wisent-parse):
	Missing space in parse error message.

2001-09-12  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi (Extra Specifiers):
	Fix end of table location.

	* semantic.el:
	Revert old find-file-hook behavior.

2001-09-12  ponced  <ponced@choochoo>

	* wisent/wisent.el:
	Header comments: Minor doc fix.

	(wisent-process-nonterminal): Missing declaration of local variable
	`rule'.

	(wisent-parse): Minor improvement of parse error message.

	* wisent/wisent-calc.bnf, wisent/wisent-calc.el:
	Initial revision of the infix notation calculator sample program.

2001-09-12  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.el (semantic-version):
	beta10.  Oy.
	(semantic-token-with-position-p): Make sure trailing array is not a string.
	(sematic-find-file-function): New hook function.
	(find-file-hooks): Add above.

	* semantic.texi (Extra Specifiers):
	Specify dereference spec for C example is a NUMBER.
	Specify new pionter spec.
	Specify new prototype flag.

	* semantic-util.el: Doc fixes.
	(semantic-prototype-nonterminal-default): Use new version of pointer value.

	* semantic-imenu.el (semantic-create-imenu-subindex):
	Only create submenues if the token
	being expanded has a position available for jumping and sorting.

	* semantic-el.el (semantic-elisp-use-read):
	Extract contents of `eval-and-load'.
	Support autoload as a prototyping mechanism for functions.
	(semantic-expand-elisp-nonterminal): Expand nested definition lists.
	(semantic-default-elisp-setup): Use above.

	* semantic-c.el: New c.bnf.

	* c.bnf (var-or-func-decl):
	Change to host multiple postfix fcn modifiers, and
	initializers.
	(opt-reentrant): deleted
	(opt-initializers, opt-post-fcn-modifiers, post-fcn-modifiers): New rules

2001-09-11  ponced  <ponced@choochoo>

	* wisent/wisent.el:
	Header comments: New input grammar format. New conflicts handling.

	(wisent--rprec): New variable for rules precedence.

	(wisent-pack-grammar): Setup rules precedence.

	(wisent-add-action): Handle S/R conflicts using terminals
	associativity and precedence, and rules precedence.

	(wisent-build-tables): Minor improvements.

	(wisent-process-nonterminal, wisent-process-grammar): New input
	grammar format with terminals associativity and precedence, and rules
	precedence.

	* wisent/wisent-java.el (wisent-java-parser-tables):
	New grammar format.

	* semantic-bnf.el (semantic-bovine-bnf-table):
	Added rules for %nonassoc, %left, %right
	statements.  And %prec specification in BNF rules.

	(semantic-bnf-keyword-table): Added NONASSOC, LEFT, RIGHT and PREC
	keywords.

	(semantic-bnf-token-assoc-terms): New macro to return the list of
	terminal names from an 'assoc token.

	(semantic-bnf-to-lalr, semantic-bnf-matching-to-lalr): Updated to
	produce new Wisent grammar format.

	(semantic-bnf-find-terminal-assocs): New function to return
	associativity rules of terminals.

2001-09-06  ponced  <ponced@choochoo>

	* wisent/wisent.el (wisent--action-table, wisent--nitems, wisent--nrules, wisent--nvars,wisent--nterms, wisent--nstates):
	Doc strings.

	(wisent--rules, wisent--conflicts-by-state, wisent--conflicts): New
	variables.

	(wisent-terminal-symbol, wisent-item-symbol): New functions to get
	symbol value from respectively a terminal ID and an item number.

	(wisent-log-starts, wisent-log-nullables, wisent-log-rules,
	wisent-log-conflicts, wisent-log-rr-conflict, wisent-log-sr-conflict):
	New logging functions.

	(wisent-show-nullable, wisent-show-starts): Removed.  Replaced by
	respectively `wisent-log-nullables' and `wisent-log-starts'.

	(wisent-add-action): Doc string.  Use `wisent-log-rr-conflict' and
	`wisent-log-sr-conflict' to log conflicts.

	(wisent-build-states): Doc string.  Initialize `wisent--conflicts' and
	`wisent--conflicts-by-state'.

	(wisent-build-tables): Setup `wisent--rules'.  Removed call to
	`wisent-show-nullable' and `wisent-show-starts'.  Log conflicts and
	grammar stuff after the parser tables have been built.

2001-09-03  ponced  <ponced@choochoo>

	* senator.el (senator-show-status):
	Emacs 21.0.105 compatibility change.  Set
	`senator-mode' local-map property to `mode-line-minor-mode-keymap'.
	The function `make-mode-line-mouse2-map' no more exists in 21.0.105.

	(senator-mode-line-toggle): Removed because of new mode line design
	for minor mode in GNU Emacs 21.0.105.

	* wisent/wisent-java.el (wisent-java-parser-tables, wisent-java-default-setup):
	BNF update.

	(wisent-java-lex): No more raise an error when it finds a
	`semantic-flex' token not yet used by the parser.  Return a valid
	lexical token instead and let the parser handle it.

	(wisent-java-get-local-variables): New function.  Java specific
	'get-local-variables' override that uses the LALR parser.

	* wisent/wisent-java.bnf: In setup:

	Added 'field_declarations_opt' %start nonterminal.
	'get-local-variables' override: replaced
	`semantic-java-get-local-variables' by
	`wisent-java-get-local-variables'.

	In grammar:

	Added 'field_declarations_opt', `field_declarations' and
	`field_declaration_maybe' nonterminals used to parse method and
	constructor local variables.

	* wisent/wisent-bovine.el (wisent-bovinate-from-nonterminal-full):
	New function, counterpart of
	`semantic-bovinate-from-nonterminal-full' for the LALR parser.

2001-08-31  ponced  <ponced@choochoo>

	* wisent/wisent-java.el (wisent-java-parser-tables):
	BNF update.

	* wisent/wisent-java.bnf: In grammar:

	Removed all "(identity $1)" semantic actions and "()" ones in EMPTY
	matches as they are now the defaults.  Moved call to
	`wisent-java-expand-nonterminal' from 'field_declaration' production
	in 'class_member_declaration' non terminal to 'field_declaration' non
	terminal.  So re-parsing at `field_declaration' produces valid
	Semantic tokens.

	* wisent/wisent-bovine.el (wisent-token):
	Added 'reparse-symbol property to token.

	(wisent-bovinate-nonterminal): Only keep valid Semantic tokens from
	data returned by the LALR parser.  When parser fails it returns the
	top element of its value stack as it is.  This let a chance to get any
	valid tokens pushed into the stack before the failure.  But at some
	point the top of stack element can contain a garbage value.  So this
	fix!

	(wisent-rebovinate-token): New function to re-parse a token.

	(wisent-bovinate-toplevel): Now handle partial re-parse!

	(semantic-bovinate-toplevel): New advice to delegate bovination to
	`wisent-bovinate-toplevel' if defined in
	`semantic-bovinate-toplevel-override'.  Currently necessary to let
	`wisent-bovinate-toplevel' handle partial re-parse because
	`semantic-bovinate-toplevel' always clears existing tokens before
	calling `semantic-bovinate-toplevel-override'!

2001-08-30  ponced  <ponced@choochoo>

	* wisent/wisent-bovine.el (wisent-bovinate-nonterminal, wisent-bovinate-toplevel):
	Moved overlay
	setup to `wisent-bovinate-toplevel '.

	* wisent/wisent-java.bnf:
	In setup, added lexer used by the LALR parser and call to
	`semantic-java-doc-setup'.

	* wisent/wisent-java.el:
	Use wisent-bovine.el gateway.

	(semantic-flex-token-value, semantic-flex-token-key): Removed.  Now in
	wisent-bovine.el.

	(wisent-java-lex-istream): Removed.

	(wisent-java-lex): Use `wisent-flex-istream' instead of
	`wisent-java-lex-istream'.  Removed `working' stuff now provided in
	wisent-bovine.el gateway.

	(wisent-java-bovinate-toplevel): Removed.  Replaced by
	`wisent-bovinate-toplevel' in wisent-bovine.el gateway.

	(wisent-java-default-setup): BNF update.

	(wisent-java-parse, wisent-java-lex-buffer): Removed.

	* wisent/wisent.el (wisent-token):
	Removed.  Now in wisent-bovine.el.

	* wisent/wisent-bovine.el:
	Initial revision of the Wisent - Semantic gateway.

	* wisent/wisent-expr.el:
	Removed version number from header.

2001-08-30  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-ctxt.el:
	(semantic-up-context, semantic-beginning-of-context,
	semantic-end-of-context, semantic-get-local-variables,
	semantic-get-local-arguments, semantic-get-all-local-variables,
	semantic-ctxt-current-symbol, semantic-ctxt-current-assignment,
	semantic-ctxt-current-function, semantic-ctxt-current-argument):
	Fixed bug going to (point) instead of `point'.
	(semantic-get-local-variables): deoverlay the local variables.
	(semantic-get-local-variables-default): Move to the beginning of the
	current context before parsing.

2001-08-30  ponced  <ponced@choochoo>

	* wisent/wisent-java.el (wisent-java-default-setup):
	BNF Update.

	* wisent/wisent-java.bnf:
	In setup, override `get-local-variables' with
	`semantic-java-get-local-variables'.

	* semantic-java.el (semantic-java-get-local-variables):
	New function.  Java specific
	`get-local-variables' override.

	(semantic-default-java-setup): Override `get-local-variables' with
	`semantic-java-get-local-variables'.

2001-08-28  ponced  <ponced@choochoo>

	* semantic.texi:
	Synchronized with semantic.el doc fixes.

	Added missing documentation for
	`semantic-after-toplevel-cache-change-hook' and documented new hook:
	`semantic-after-partial-cache-change-hook'.

	* semantic.el (semantic-after-partial-cache-change-hook):
	Fixed doc string.

	(semantic-remove-dirty-children-internal): Moved.

	(semantic-remove-dirty-children): Moved.  Now remove all children of
	dirty tokens from `semantic-dirty-tokens'.

	(semantic-bovinate-toplevel): Call `semantic-remove-dirty-children'
	before partial reparse.  Pass the list of updated tokens to hooks in
	`semantic-after-partial-cache-change-hook'.

	(semantic-rebovinate-token): No more need to call
	`semantic-remove-dirty-children'.

2001-08-27  ponced  <ponced@choochoo>

	* semantic.el (semantic-clean-token-hooks, semantic-change-hooks,semantic-after-toplevel-bovinate-hook,semantic-before-toplevel-cache-flush-hook):
	Fixed doc strings.

	(semantic-after-partial-cache-change-hook): New variable holding hooks
	run after the buffer token list has been updated after partial reparse
	completed.

	(semantic-bovinate-toplevel): Run hooks in
	`semantic-after-partial-cache-change-hook' after partial reparse
	completed.

	* senator.el (senator-minor-mode-name):
	Can be set to nil to disable display of the
	minor mode name in the mode line.

	(senator-minor-mode-isearch-suffix): New option to set up the string
	appended to the mode name when senator isearch mode is on.

	(senator-minor-mode-hook, senator-minor-mode-on-hook,
	senator-minor-mode-off-hook): Moved to group minor mode options
	together.

	(senator-menu-bar): For consistency always use "Senator" for the menu
	title.

	(senator-show-status): Use `senator-minor-mode-name' and
	`senator-minor-mode-isearch-suffix' settings.

	(senator-minor-mode-setup): Signal an error when attempting to turn on
	Senator minor mode in a buffer not set up for parsing.

	(senator-show-status, senator-mode-line-toggle): New GNU Emacs 21
	goodies to turn off Senator minor mode from the mode line or to turn
	it on or off from the the minor mode menu in the mode line.

2001-08-22  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-el.el (semantic-elisp-clos-slot-property-string,semantic-elisp-clos-args-to-semantic):
	New functions
	(semantic-elisp-form-to-doc-string): extract class slot details with
	above.
	(semantic-elisp-nonterminal-protection): New function.
	(semantic-default-elisp-setup): Remove old UML overrides, added
	`nonterminal-protection' override.

2001-08-21  ponced  <ponced@choochoo>

	* wisent/wisent.el:
	Updated header comments.

	(wisent-default-action, wisent-process-nonterminal): Bison like
	default action.

	(wisent-compile-grammar, wisent-parse): Updated doc strings.

2001-08-18  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el: New c.bnf 1.40
	(semantic-expand-c-nonterminal): Handle 'pointer stuff for variables.
	(semantic-c-reconstitute-token): Handle 'pointer stuff for functions.

	* c.bnf:
	Fixed the inclusion of * in variables and functions.

2001-08-17  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/test.cpp:
	Added test for protected section in a class.

	* tests/test.c: "register" test.
	Last fn has situations for testing local context.

	* Project.ede: Version change.

	* semantic.el (semantic-version): Update
	(semantic-toplevel-bovine-table): Removed main help on this variable,
	the details are in the texinfo manual now.

	* semantic.texi:
	Added a section on Extra Specifiers

	* semantic-util.el (semantic-override-table):
	Doc udpate.

	* semantic-c.el: New c.bnf (1.39)
	(semantic-c-nonterminal-protection): Fix default protection based on
	class or struct.
	(semantic-default-c-setup): Added `semantic-c-nonterminal-protection'
	to the list of function overrides.

	* c.bnf: Added register.
	Added template w/ comment, but don't use it.

2001-08-17  ponced  <ponced@choochoo>

	* wisent/wisent-java.el (semantic-java-lex):
	Reverted back to previous implementation used
	to find operator lexical tokens.  The regexp based approach is
	slower.

	(wisent-java-operator-regexp): Removed.

2001-08-16  ponced  <ponced@choochoo>

	* wisent/wisent-java.el:
	Reorganized the code to fix byte-compilation problems.

	* wisent/wisent-java.el (wisent-java-number-regexps):
	Removed.  Replaced by
	`wisent-java-number-regexp'.

	(wisent-java-number-regexp): New constant.  Regular expression to
	match Java numbers.

	(wisent-java-operator-regexp): New constant.  Regular expression to
	match Java operators.

	(wisent-java-lex): Improved lexical analysis of Java numbers and
	operators.  Use `wisent-java-number-regexp' and
	`wisent-java-operator-regexp' to do one shot check for a number or
	operator lexeme.

2001-08-15  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi:
	Added a style guide chapter, with lots of details about different
	tokens, and whats in them.

2001-08-14  ponced  <ponced@choochoo>

	* wisent/wisent-java.bnf:
	Updated %outputfile to wisent-java.el and %parsetable to
	`wisent-java-parser-tables'.  Added %start tokens for alternate entry
	point nonterminals.

	* wisent/wisent.el (wisent-compiled-grammar-p):
	New function to check if grammar is
	already compiled.

	(wisent-compile-grammar): Use `wisent-compiled-grammar-p' to check if
	the grammar is already compiled.  If so just return it.

	* wisent/wisent-java.el:
	Clean byte-compilation.

	(wisent-java-grammar, wisent-java-parens, wisent-java-operators):
	Removed.  Replaced by respectively `wisent-java-parser-tables' and
	`wisent-java-tokens'.

	(wisent-java-parser-tables): Generated from wisent-java.bnf.

	(wisent-java-keywords, wisent-java-tokens): New constants for Java
	keywords and lexical tokens.  Generated from wisent-java.bnf.

	(semantic-flex-token-value, semantic-flex-token-key): New functions to
	search in the token table.  These two functions should be moved to
	semantic.el.

	(wisent-java-lex): Use lexical stuff generated from wisent-java.bnf.

	(wisent-java-bovinate-toplevel): Use local value of
	`semantic-toplevel-bovine-table' instead of
	`wisent-java-parser-tables'.

	(wisent-java-mode-hook): Removed.  Replaced by
	`wisent-java-default-setup'.

	(wisent-java-default-setup): New `java-mode' hook to setup the
	Semantic environment of the LALR parser.  Partly generated from
	wisent-java.bnf.  It replaces the default
	`semantic-default-java-setup' hook when wisent-java.el is loaded.

	(wisent-java-parse, wisent-java-lex-buffer): Use local value of
	`semantic-toplevel-bovine-table' instead of
	`wisent-java-parser-tables'.

	* semantic-bnf.el (semantic-bnf-to-lalr):
	Added new argument for alternate entry point
	nonterminals.  Now generate parser tables like this:

	  (eval-when-compile
	     (wisent-compile-grammar
	        `<grammar>
	        '<start-nonterminals>))

	Thus the parser tables are compiled into the byte-code when the
	destination file source is byte-compiled.

	(semantic-bnf-generate-and-load): Pass the list of 'start tokens to
	`semantic-bnf-to-lalr'.

2001-08-13  ponced  <ponced@choochoo>

	* wisent/wisent-java.el (wisent-java-lex):
	Fixed (wrong-type-argument integer-or-marker-p nil)
	when scanning a number at end of input stream.

	(wisent-java-lex-buffer): Fixed error caused by missing `working'
	stuff.

	* wisent/wisent.el (wisent-starts-nonterm):
	New constant for secondary entry point
	productions.

	(wisent-reserved-symbols): Removed '$<name>' nonterminals which are
	now automatically reserved for internal use.

	(wisent-show-nullable): Insert newline before title.

	(wisent-show-starts): New function to report entry point
	nonterminals.

	(wisent-valid-nonterminal-p): '$<name>' nonterminals are now
	automatically reserved for internal use.

	(wisent-valid-terminal-p): Use `wisent-valid-nonterminal-p'.

	(wisent-build-tables): Add the table of defined entry point
	nonterminals to the parser tables.

	(wisent-process-grammar): New optional argument to specify a list of
	entry point nonterminals.  Build the table of entry point nonterminals
	and add the corresponding start productions to the grammar definition.

	(wisent-compile-grammar): New optional argument to specify a list of
	entry point nonterminals.

	(wisent-parse-start): New function to return the first lexical token
	to parse.

	(wisent-parse): New argument to specify the nonterminal production
	used at parser initial state.  So the parser can now use grammar
	subsets.

	* semantic-bnf.el (semantic-bnf-find-table-destination-old,semantic-bnf-find-table-destination,semantic-bnf-find-keyword-destination):
	Fixed "def[var|const]" regular
	expression to ensure that the searched variable or constant name is on
	word boundaries.

	* wisent/wisent.el:
	New customization group `wisent'.  Minor code reorganization.

	(wisent-parse-max-stack-size, wisent-parse-max-recover,
	wisent-state-table-size): Now customizable.

	* wisent/wisent-java.bnf:
	Fixed %keywordtable variable name.
	Added install of overloaded functions in setup.
	Use @tag notation for the javadoc keywords to avoid conflicts with
	language reserved words.

	* semantic-bnf.el (semantic-bnf-token-table):
	Added declaration of local variable tsymb.

	(semantic-beginning-of-body): New function to move the point to the
	beginning of a function body.

	(semantic-bnf-find-setup-code): Use `semantic-beginning-of-body' to
	insert new setup code at the beginning of the setup function.

	(semantic-bnf-find-table-destination-old,
	semantic-bnf-find-table-destination,
	semantic-bnf-find-keyword-destination,
	semantic-bnf-find-token-destination): Fixed "def[var|const]" regular
	expression to ensure that the searched variable or constant name is on
	word boundaries.

2001-08-12  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-ctxt.el (semantic-narrow-to-context, semantic-with-buffer-narrowed-to-context,semantic-point-at-beginning-of-command,semantic-point-at-end-of-command, semantic-narrow-to-command,semantic-with-buffer-narrowed-to-command):
	New functions.
	(semantic-end-of-command, semantic-beginning-of-context):
	Narrow to current context.
	(semantic-end-of-command-default, semantic-beginning-of-context-default):
	Use a search, and if that fails go to point-[min/max].
	(semantic-ctxt-current-assignment-default): Narrow to current statement.
	Use searching functions for an equals.

2001-08-12  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-ctxt.el (semantic-narrow-to-context, semantic-with-buffer-narrowed-to-context,semantic-point-at-beginning-of-command,semantic-point-at-end-of-command, semantic-narrow-to-command,semantic-with-buffer-narrowed-to-command):
	New functions.
	(semantic-end-of-command, semantic-beginning-of-context):
	Narrow to current context.
	(semantic-end-of-command-default, semantic-beginning-of-context-default):
	Use a search, and if that fails go to point-[min/max].
	(semantic-ctxt-current-assignment-default): Narrow to current statement.
	Use searching functions for an equals.

2001-08-10  ponced  <ponced@choochoo>

	* semantic-java.el (semantic-java-keyword-table):
	Updated BNF grammar.

	(semantic-java-doc-tag, semantic-java-doc-tag-name): New functions to
	convert to/from javadoc @tag notation.

	(semantic-java-doc-keyword-before-p, semantic-java-doc-keywords-map,
	semantic-java-doc-setup): Take into account new @tag notation used for
	javadoc keywords.

	* java.bnf:
	Use @tag notation for the javadoc keywords to avoid conflicts with
	language reserved words.

2001-08-09  ponced  <ponced@choochoo>

	* wisent/wisent-java.bnf:
	Initial revision.

	* semantic-bnf.el (semantic-bovine-bnf-table, semantic-bnf-keyword-table):
	Added new
	TOKENTABLE and PARSERMODE keywords.

	(semantic-bnf-token-name-symbol, semantic-bnf-token-token-type,
	semantic-bnf-token-token-value, semantic-bnf-token-rule-matchlist):
	New API macros/functions.

	(semantic-bnf-matching-to-lalr, semantic-bnf-terminal-token-p,
	semantic-bnf-find-terminals, semantic-bnf-find-terminal-symbols,
	semantic-bnf-to-lalr, semantic-bnf-find-parser-mode): New functions to
	generate tables for the LALR parser.

	(semantic-bnf-token-table, semantic-bnf-find-token-destination): New
	functions to generate a table of %token elements.

	(semantic-bnf-generate-and-load): Take into account new %tokentable
	and %parsermode declarations.  Added generation of tables for the LALR
	parser.

	(semantic-bnf-mode-keywords): Correctly highlight rule name when the
	colon is on a new line.

	(semantic-bnf-mode): Added specification of the
	`fill-paragraph-function'.

	(semantic-bnf-previous-colon-indentation): Improved indentation of
	rules when the colon and the matching list are on new lines.

	(semantic-bnf-fill-paragraph): New function to fill BNF comments.

2001-08-08  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/test.cpp:
	Added a reentrant example.

	* tests/test.c:
	Added typedef which was reported as not working.

	* semantic-sb.el (semantic-sb-button-token->text-function, semantic-sb-info-token->text-function):
	New options.
	(semantic-sb-one-button): Use above to get abbreviation text.

2001-08-04  ponced  <ponced@choochoo>

	* senator.el (senator-eldoc-print-current-symbol-info-default):
	Fixed void-variable
	error on `semanticdb-current-database' when the optional semanticdb
	feature is not provided.

2001-08-04  ponced  <ponced@choochoo>

	* senator.el (senator-eldoc-print-current-symbol-info-default):
	Fixed void-variable
	error on `semanticdb-current-database' when the optional semanticdb
	feature is not provided.

2001-08-02  ponced  <ponced@choochoo>

	* wisent/wisent.el (wisent-skip-token, wisent-skip-block):
	Do not clear the lookahead
	token nor call `wisent-errok' when at end of input to avoid infinite
	error recovery loop.

	(wisent-parse): Always return the value on top of the stack.  Maybe it
	is a useful value when the parser returns after error recovery.

	* wisent/wisent-java.el (wisent-java-parse):
	Fixed missing `working' stuff.

2001-08-02  ponced  <ponced@choochoo>

	* wisent/wisent.el (wisent-skip-token, wisent-skip-block):
	Do not clear the lookahead
	token nor call `wisent-errok' when at end of input to avoid infinite
	error recovery loop.

	(wisent-parse): Always return the value on top of the stack.  Maybe it
	is a useful value when the parser returns after error recovery.

	* wisent/wisent-java.el (wisent-java-parse):
	Fixed missing `working' stuff.

2001-08-01  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el: New c.bnf.
	(semantic-c-reconstitute-token): Added reentrant support.

	* c.bnf: Support reentrant.

2001-07-21  ponced  <ponced@choochoo>

	* wisent/wisent-java.el:
	Removed redefinitions of Semantic Flex functions which are now in
	semantic.el.

	(wisent-java-bovinate-toplevel): Added "LALR" indicator to
	`working-status-forms' message to distinguish LALR parsing from
	default Semantic one.

2001-07-20  ponced  <ponced@choochoo>

	* semantic.el (semantic-flex-keyword-p, semantic-flex-buffer, semantic-flex-start,semantic-flex-end, semantic-flex-text, semantic-flex-list):
	Use
	`defsubst' instead of `defun' to improve performance of byte compiled
	code.

2001-07-20  Eric M. Ludlam  <eric@siege-engine.com>

	* Project.ede: Version update.

	* semantic.el: Update version to beta 9

	* semantic.texi:
	Added bits about getting destructor information, and about
	semantic-current-nonterminal-parent.

	* semantic-util.el (semantic-name-nonterminal-default):
	Only get destructor flag if TOKEN
	 is a function.

	* semanticdb.el (semanticdb-find-nonterminal-by-token):
	New fn by Jesper Nordenberg

	* semantic-c.el:
	Return public for the protection on any class part which is unlabeled.

	* semantic-el.el: Support uml prototypes.

2001-07-20  ponced  <ponced@choochoo>

	* wisent/wisent.el:
	Initial import of the Semantic LALR parser: Wisent.

	* wisent/wisent.el: New file.

	* wisent/wisent-java.el:
	Initial import of the Semantic LALR parser: Wisent.

	* wisent/wisent-java.el: New file.

	* wisent/wisent-expr.el:
	Initial import of the Semantic LALR parser: Wisent.

	* wisent/wisent-expr.el: New file.

2001-07-19  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util.el (semantic-concise-prototype-nonterminal-default):
	Add spaces before (,
	and after ,
	(semantic-uml-colon-string, semantic-uml-no-protection-string): New Var
	(semantic-uml-protection-to-string): Return no-protection-string, more
	doc.
	(semantic-uml-arguments-to-string): Add some spaces into the text.
	(semantic-uml-prototype-nonterminal-default,
	 semantic-uml-concice-prototype-nonterminal-default): Use
	 -uml-colon-string.

	* semantic.el (semantic-toplevel-bovine-table):
	Added text for the destructor.

	* semantic-util.el (semantic-token-function-destructor):
	New function
	(semantic-current-nonterminal-parent): New function
	(semantic-name-nonterminal-default): Handle destructor.
	(semantic-uml-arguments-to-string): Pass arguments into mapconcat.
	(semantic-uml-prototype-nonterminal-default): Fixed argument display
	to not use non-uml prototype to string function, and added support
	for types.

	* semantic-util.el (semantic-token->text-functions):
	Added uml-concise... funciton.
	(semantic-uml-protection-to-string): Return nil for unknown protection.
	(semantic-uml-token-or-string-to-string): Convert a token or string
	into a UML like string.  Taken from the body of
	`semantic-uml-abbreviate-nonterminal-default'.
	(semantic-uml-abbreviate-nonterminal-default): Use the above.
	(semantic-uml-arguments-to-string): Convert an argument list to a UML
	string list.  Use in above.
	(semantic-uml-prototype-nonterminal-default): Use the above two new fns.
	(semantic-uml-concise-prototype-nonterminal[-default]): New functions
	(semantic-nonterminal-protection-default): Remove static from list of
	modifiers that mean private.

2001-07-13  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util.el (semantic-token-modifiers):
	New function.
	(semantic-uml-prototype-nonterminal): New function.
	(semantic-token->text-functions): Added above function.
	(semantic-face-alist): Added keyword font face, and more doc.
	(semantic-uml-protection-to-string): New function from
	  semantic-utml-abbreviate-nonterminal-default.
	(semantic-abbreviate-nonterminal-default): Use above fn.
	(semantic-nonterminal-protection): Swap out friend, use protected.
	(semantic-nonterminal-protection-default): Use
	  `semantic-token-modifiers' instead of
	  `semantic-token-type-modifiers'.

	* senator.el (senator-jump):
	Push the mark before moving.

	* semantic-el.el:
	Highlight &optional in prototypes with the keyword face.

	* semantic-c.el:
	Stop using friend, and use protected.

	* semantic.el: Updated version number.

2001-06-11  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi (semantic-token-type-parent):
	Describe the format of the parent list.
	(semantic-token-type-parent-superclass,
	semantic-token-type-parent-implement): New function doc.

	* semantic.el (semantic-toplevel-bovine-table):
	Doc fix.

	* semantic-util.el (semantic-token-type-parent):
	Describe the format of the parent list.
	(semantic-token-type-parent-superclass,
	semantic-token-type-parent-implement): New functions.

2001-06-06  Eric M. Ludlam  <eric@siege-engine.com>

	* tests/Project.ede:
	Project file for the tests directory.

2001-06-05  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el (semantic-default-c-path, semantic-default-c-built-in-types):
	Moved
	(semantic-c-nonterminal-protection): New function
	(semantic-default-c-setup): Add an override table with above in it.

	* semantic.texi (semantic-override-table):
	Doc update.
	(semantic-nonterminal-protection): New doc.

	* semantic-util.el (semantic-override-table):
	Doc update.
	(semantic-uml-abbreviate-nonterminal-default): Display protection symbol
	(semantic-nonterminal-protection, semantic-nonterminal-protection-default):
	  New functions.

2001-06-03  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.el (semantic-toplevel-bovine-cache):
	Doc fix.
	(semantic-after-toplevel-bovinate-hook): Doc fix.
	(semantic-after-toplevel-cache-change-hook): Doc fix.

	* semanticdb.el (semanticdb-post-bovination):
	Update to take a parameter.

	* Project.ede: Updated version.

	* semanticdb.el (semanticdb-hooks):
	Use `semantic-after-toplevel-cache-change-hook'
	instead of `semantic-after-toplevel-bovinate-hook'.

	* semantic.el (semantic-version):
	New version
	((semantic-toplevel-bovine-cache): Doc change.
	(semantic-after-toplevel-cache-change-hook): New hook.
	(semantic-clear-toplevel-cache): Do not call
	`semantic-after-toplevel-bovineate-hook' for 1.3 compatibility.
	Do call `semantic-after-toplevel-cache-change-hook'.
	(semantic-bovinate-toplevel): Do not call
	`semantic-after-toplevel-bovinate-hook' after custom parser.
	Call `semantic-after-toplevel-cache-change-hook' after full parse.

	* tests/test.cpp:
	Added new features of c.bnf 1.37.

	* semantic-c.el: New c.bnf
	Add throws to semantic-c-reconstitute-token.
	Add `throw' keyword.

	* c.bnf: Multi-inheritance for classes.
	Structs like classes for C++.
	No ; on name spaces.
	Throws for methods.
	(Bugs & patches from "Jesper Nordenberg" <mayhem@home.se>
	and Norbert Lindlbauer <Norbert_Lindlbauer@betaresearch.de>)

2001-05-29  ponced  <ponced@choochoo>

	* semantic.el (semantic-remove-dirty-children,semantic-remove-dirty-children-internal):
	New functions.

	(semantic-rebovinate-token): Fixed "wrong-type-argument overlayp" bug.
	Use `semantic-remove-dirty-children' to remove the old token children
	from the dirty list before deorverlaying it.

2001-05-28  ponced  <ponced@choochoo>

	* semantic-java.el (semantic-java-skip-spaces-backward,semantic-java-skip-spaces-forward):
	Changed definition from macro to
	more appropriate in-line function.

2001-05-25  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el: New c.bnf.

	* c.bnf (expression): Added string.

2001-05-24  Eric M. Ludlam  <eric@siege-engine.com>

	* working.el:
	Removed variables to stop message logging from working.*status fns.
	This was a merge error.

2001-05-23  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-scm.el: New scheme.bnf

	* scheme.bnf:
	Fixed type on LOAD token generation.

	* working.el: Updated version number.
	(working-status-percentage-type, working-status-dynamic-type): added nil option
	(working-percentage-step): New variable.
	(working-last-percent): New variable.
	(working-message): Added `eval-and-compile' around it.
	(working-status-forms): Added `working-last-percent' to let statement.
	(working-status): Wrap body of code in an if statement to make sure
	we only display a message if `working-percentage-step' had passed.
	Enable nil message type.
	(working-dynamic-status): Enable nil message type.

	* tests/test.c: Test parsing of C files.

2001-05-23  ponced  <ponced@choochoo>

	* semantic-java.el:
	Require 'senator at compile time.
	(semantic-default-java-setup): Rebuilt from updated java.bnf.

	* java.bnf:
	Added `senator-step-at-token-ids' useful default value in language
	settings.
	Removed in line CVS change log.

	* senator.el (senator-message):
	Removed. Replaced by new `working-message'
	function.

	(senator-step-at-parent): Now returns the outermost parent found
	instead of the innermost one.

	(senator-next-token, senator-previous-token, senator-jump,
	senator-beginning-of-defun, senator-isearch-toggle-semantic-mode): Use
	`working-message'.

	* working.el (working-message-emacs, working-message-xemacs, working-message):
	New
	functions to display messages without logging.

	(working-status, working-dynamic-status): Use `working-message'.

2001-05-21  ponced  <ponced@choochoo>

	* senator.el (senator-message):
	No more logging of messages on XEmacs.

	(senator-find-token-before, senator-find-previous-token,
	senator-find-last-token, senator-find-next-token): Removed these
	no more used functions.

	(senator-step-at-parent, senator-previous-token-or-parent): New
	functions.

	(senator-next-token, senator-previous-token): New implementation
	based on `semantic-find-nonterminal-by-overlay-next' and
	`semantic-find-nonterminal-by-overlay-prev'.

	(senator-beginning-of-defun): Fixed the bad
	`senator-step-at-start-end-token-ids' value.  Ensure that the
	point is always at the beginning of the previous token found.

	(senator-beginning-of-defun, senator-end-of-defun): Doc string
	updated to inform that the ARG parameter is not yet handled.

2001-05-20  Eric M. Ludlam  <eric@siege-engine.com>

	* Project.ede: Fixed name.
	Added URLs

2001-05-18  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-util.el (semantic-find-documentation):
	Fixed to handle deoverlayed (from db)
	cases, plus normalized cases of slots in structs without position info.

2001-05-16  ponced  <ponced@choochoo>

	* senator.el (senator-insert-foreign-token-default, senator-insert-foreign-token,senator-eldoc-print-current-symbol-info-default,senator-eldoc-print-current-symbol-info):
	Functions moved to avoid
	compiler warnings.

2001-05-16  Eric M. Ludlam  <eric@siege-engine.com>

	* INSTALL:
	Added info about adding speedbar to the load path.

	* semantic.el: Update version number.

2001-05-15  ponced  <ponced@choochoo>

	* senator.el (senator-completion-flatten-stream):
	No more add function arguments to
	the completion stream.

	(senator-completion-function-args): New function to build a string of
	function argument names.

	(senator-completion-refine-name): New function to refine a token
	completion name in an incremental way.

	(senator-completion-uniquify-names): New function to uniquify token
	names in a completion stream.

	(senator-completion-stream): Use `senator-completion-uniquify-names'.

2001-05-14  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi:
	Added new submenus for override functions, with big special detail
	about token->text functions.

	* semantic-imenu.el:
	Make sure that semantic-sb is loaded when this is loaded.
	Not because we needed it, but because speedbar will throw errors
	with semantic generated imenu tokens.

2001-05-12  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.el (semantic-bovinate-nonterminal):
	When calculating the results, if
	there was no match, then the result stream equals the input stream, so
	remove the non-matching token from the return stream, claiming that
	nothing matched.  This prevents repetitive parsing.
	(semantic-flex): If the comment-start-skip is matched, but
	forward-comment does nothing, then make sure we skip intervening
	boring characters so we don't loop infinitly.

2001-05-09  ponced  <ponced@choochoo>

	* semanticdb.el (semanticdb-current-database-list):
	Fixed `expand-file-name' bug when
	`root' local variable is nil.

2001-05-09  Eric M. Ludlam  <eric@siege-engine.com>

	* Project.ede: Version & files.

	* semantic-c.el: New c.bnf

	* c.bnf: Added inline method support.
	Store protection elements
	Change enum parts to be integer variables.

2001-05-07  ponced  <ponced@choochoo>

	* semantic-util.el (semantic-prototype-nonterminal-default):
	Fixed extra space added
	before the name of simple tokens like 'include and 'package.

	* semantic-java.el (semantic-java-prototype-function, semantic-java-prototype-variable,semantic-java-prototype-type):
	Follows `semantic-colorize-text' API
	change.

	(semantic-java-prototype-include, semantic-java-prototype-package):
	Removed these unnecessary functions.

2001-05-07  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-el.el (semantic-elisp-prototype-nonterminal):
	Changed with `semantic-colorize-text'.

	* semantic-bnf.el (semantic-bnf-mode):
	Removed `name-nonterminal' override.
	Added new values to `semantic-face-alist'
	(semantic-bnf-name-nonterminal): Removed.
	(semantic-summarize-nonterminal): Changed with `semantic-colorize-text'.

	* semantic-util.el (semantic-prototype-nonterminal):
	Pass parent/color to subfunction.

	* semantic-util.el (semantic-colorize-text):
	Take a token as a face class instead of a face.
	(semantic-face-alist): New.
	(semantic-name-nonterminal): Doc fix.
	(semantic-name-nonterminal-default): Use face-class.
	(semantic-prototype-nonterminal): Doc fix.
	(semantic-prototype-nonterminal-default): Use face-class.
	(semantic-concise-prototype-nonterminal): Doc fix
	(semantic-concise-prototype-nonterminal-default): Use face-class.
	(semantic-uml-abbreviate-nonterminal): Doc fix
	(semantic-uml-abbreviate-nonterminal-default): Use face-class.

2001-05-07  ponced  <ponced@choochoo>

	* semantic-java.el (semantic-java-prototype-function, semantic-java-prototype-variable,semantic-java-prototype-type):
	Added implementation for the COLOR
	parameter.

2001-05-06  ponced  <ponced@choochoo>

	* senator.el (senator-completion-menu-summary-function):
	Use
	`semantic-token->text-custom-list' type instead of function type.

	(senator-completion-menu-insert-function): Added choice between
	default `senator-completion-menu-insert-default' function or user's
	specified one.

	(senator-completion-menu-window-offsets): Fixed an Emacs 21 bug w/
	completion menu.  Returned offsets are now rounded down.

	(senator-eldoc-use-color): New option.

	(senator-eldoc-print-current-symbol-info): Use new
	`senator-eldoc-use-color' option.

	Minor "checkdoc" fixes.

	* semantic-java.el:
	(semantic-java-prototype-function, semantic-java-prototype-variable,
	semantic-java-prototype-type, semantic-java-prototype-include,
	semantic-java-prototype-package, semantic-java-prototype-nonterminal):
	Added new `semantic-prototype-nonterminal' optional parameters PARENT
	and COLOR (not yet used).

	(semantic-java-prototype-nonterminal): Replaced default behavior
	`semantic-abbreviate-nonterminal' by
	`semantic-prototype-nonterminal-default'. Minor code cleanup.

2001-05-05  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-imenu.el:
	Be safe about loading the imenu library.
	(semantic-imenu-summary-function): Use new
	`semantic-token->text-custom-list' for customization type.
	(semantic-which-function-use-color): New variable
	(semantic-default-which-function): Use
	`semantic-which-function-use-color' to draw the token with colors.

	* semantic-scm.el:
	Fixed the title comment.

	* semantic-load.el:
	Do not set up imenu code if the imenu library is not available.

	* semantic-bnf.el (semantic-bnf-mode):
	Added `semantic-bnf-name-nonterminal' as a new
	override fcn.
	(semantic-bnf-name-nonterminal): New fcn
	(semantic-bnf-abbreviate-nonterminal, semantic-bnf-summarize-nonterminal):
	Use semantic-name-nonterminal for some things, accept parent/color
	arguments.  Colorize text when appropriate.

	* semantic-el.el (semantic-elisp-prototype-nonterminal):
	Take parent/color argument.
	Use the color argument to colorize the output text.

	* semantic-util.el (semantic-override-table):
	Doc fix.
	(semantic-token->text-functions, semantic-token->text-custom-list): New var.
	(semantic-name-nonterminal, semantic-name-nonterminal-default): New fcn
	(semantic-abbreviate-nonterminal[-default]): Use semantic-name-nonterminal.
	Added color parameter.
	(semantic-summarize-nonterminal[-default]): Added color parameter.
	(semantic-prototype-nonterminal[-default]): Added color parameter.
	(semantic-concise-prototype-nonterminal[-default]): Added color parameter.
	(semantic-uml-abbreviate-nonterminal[-defailt]): New functions

	* semantic.el (semantic-version): Updated
	(semantic-token-p): nil is a symbol, so make sure that the 'token slot
	 in a token is not nil.

2001-05-04  ponced  <ponced@choochoo>

	* semantic.el (semantic-bovinate-nonterminal-check-obarray):
	New variable to
	remember streams already parsed for nonterminal symbols.

	(semantic-set-toplevel-bovine-cache): Cleanup
	`semantic-bovinate-nonterminal-check-obarray'.

	(semantic-bovinate-nonterminal-check): New function to check if a
	stream has already been parsed for nonterminal.

	(semantic-bovinate-nonterminal): Use
	`semantic-bovinate-nonterminal-check' to detect infinite recursion
	when doing a full reparse and abort parsing.

2001-05-02  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el: New c.bnf

2001-05-01  Eric M. Ludlam  <eric@siege-engine.com>

	* c.bnf:
	Revamped lots of summary strings.
	Added `type' as a possible expansion in classsubparts.

	* document-vars.el: Checkdoc run.

2001-04-30  Eric M. Ludlam  <eric@siege-engine.com>

	* semanticdb.el (semanticdb-project-roots):
	New variable
	(semanticdb-project-root-functions): New variable
	(semanticdb-current-database-list): New function
	(semanticdb-find-nonterminal-by-function): Use
	`semanticdb-current-database-list' to get list of databases if none
	is specified.

	* semantic-el.el (semantic-elisp-form-to-doc-string):
	Fixed final cond condition.

2001-04-30  ponced  <ponced@choochoo>

	* java.bnf, semantic-java.el:
	Changed "version" javadoc keyword to not optional.

2001-04-28  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.el:
	Added new documentation strings to all the reparsing related hooks to
	be much more descriptive.

	* semantic.texi: Changed the title.
	Added new section `parser hooks', and moved  the two
	`..reparse-needed' function doc in there, along with descriptions of
	all the hooks, sucked from the source.

	* semantic-bnf.el (semantic-bovine-bnf-table):
	Extract buffer strings without properties.
	Turn sublists in %put tokens into real tokens (with a symbol identifier)
	(semantic-bnf-mode): Add `semantic-bnf-nonterminal-children' to
	overload list.
	(semantic-bnf-nonterminal-children): New fcn.

2001-04-27  ponced  <ponced@choochoo>

	* working.el (working-status, working-dynamic-status):
	No more log progress
	messages on Xemacs.

2001-04-27  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-el.el:
	Fixed reading of doc strings if they are not actually strings.

2001-04-26  ponced  <ponced@choochoo>

	* semantic-java.el (semantic-java-keyword-table):
	reflect changes in java.bnf.

	(semantic-java-clean-docstring): removed.

	(semantic-java-find-documentation): use
	`semantic-find-doc-snarf-comment' instead of
	`semantic-java-clean-docstring'.

	(semantic-java-doc-line-tags, semantic-java-doc-with-name-tags,
	semantic-java-doc-with-ref-tags, semantic-java-doc-extra-type-tags,
	semantic-java-doc-extra-function-tags,
	semantic-java-doc-extra-variable-tags, semantic-java-doc-type-tags,
	semantic-java-doc-function-tags, semantic-java-doc-variable-tags): new
	variables to handle javadoc tags.

	(semantic-java-doc-keyword-before-p, semantic-java-doc-keywords-map,
	semantic-java-doc-setup): new functions to handle javadoc tags.

	(semantic-default-java-setup): reflect changes in java.bnf. Calls
	`semantic-java-doc-setup' to setup javadoc elements.

	* java.bnf:
	Added official javadoc line tag keywords.
	Provided a value for `block-comment-end'.

	* senator.el (senator-minor-mode, senator-minor-mode-setup):
	Doc fix.

2001-04-26  Eric M. Ludlam  <eric@siege-engine.com>

	* semanticdb.el (semanticdb-kill-hook):
	Use semantic-active-p, instead of checking for
	the semantic table.

2001-04-25  ponced  <ponced@choochoo>

	* semantic.el (semantic-new-buffer-fcn, semantic-change-major-mode-hook-function,semantic-post-change-major-mode-function):
	Fixed some problems when
	initializing Semantic enabled buffers.

	(semantic-changed-major-mode): Renamed to
	`semantic-changed-mode-buffers'.

2001-04-25  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi:
	Added documentation for new functions in semantic-util, and semanticdb.

	* semanticdb.el (semanticdb-current-database):
	new function.
	(semanticdb-find-nonterminal-by-property,
	 semanticdb-find-nonterminal-by-extra-spec,
	 semanticdb-find-nonterminal-by-extra-spec-value): new functions.
	(semanticdb-find-nonterminal-by-function): Use
	 `semanticdb-current-database' as a function, not a variable.

	* semantic-util.el:
	(semantic-find-nonterminal-by-extra-spec-value) New fcn.
	(semantic-read-symbol) show the default value, and return it.

2001-04-23  ponced  <ponced@choochoo>

	* semantic-imenu.el (semantic-imenu-flush-fcn):
	Added missing `remove-hook' local flags.
	(semantic-create-imenu-index): Index creation could remove hook just
	added so moved `add-hook' after index creation.

	* senator.el:
	semantic-imenu not only required at compile time.
	(senator-momentary-highlight-face): Fixed typo.
	(add-log-current-defun): new advice.

2001-04-22  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.el:
	Change name of old find-file-hook to semantic-new-buffer-fcn.
	Do not call semantic-new-buffer-fcn in find-file-hook, only
	call it from the change-major-mode-hook stuff.

2001-04-21  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi:
	Fixed up some docs, and added the semanticdb-persistent-path var too.

	* semantic.el:
	Changed the eval-defun function hook to be generic.
	Changed the change-major-mode sequence to a new function which
	  will only clear the cache in a semantic buffer.  It then tracks all
	  buffers changed, and in a post-command-hook, follows the find-file
	  hook code on every changed buffer.

	* semantic-util.el:
	When show-dirty-mode is on, add a rebovination into the after-save-hook.

	* semantic-el.el:
	Fixed problems with defstruct

	* semantic-ctxt.el:
	Make sure that semantic-case-fold is used for anything that uses
	regexps with names.

	* semantic-c.el: new c.bnf

	* c.bnf: Spelling error for integer.

	* INSTALL:
	Fixed instructions for .emacs files.

	* semanticdb.el: Small doc changes.
	When saving a database, use condition-case to protect against
	file errors, or file write-protection errors.  This assumes that
	we aren't going to worry about caches in directories we can't write
	to.

2001-04-19  ponced  <ponced@choochoo>

	* senator.el:
	Added isearch lazy highlighting support for XEmacs 21.4.

2001-04-13  ponced  <ponced@choochoo>

	* java.bnf: Updated copyrights.

2001-04-13  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-load.el:
	Added autoload `semantic-change-function-mark-dirty
	Add hook `semantic-change-hooks to contain above fcn.

	* semantic-util.el:
	Remove hokey semantic dependency, and explicitly depend on semantic.
	Moved several common token access functions back into semantic.el.
	Moved token overlay/deoverlay functions into semantic.el.
	Moved `semantic-file-token-stream' into this file.
	New fn `semantic-change-function-mark-dirty' to be used as
	  a hook in `semantic-change-hooks'.

	* semantic.el:
	Stop depending on semantic-util.  Pull in the proper bits needed to
	operate in from semantic-util.  (This makes undoes some of a previous
	check in.)  This includes common token access, and deoverlay/overlay a
	token functions.
	Removed the after change function body, and call a hook.

	* semantic.texi:
	Fixed a type originally found in document.el (which created much of
	this documetnation.)

	* document.el:
	Fixed a type-o (found by Richard Kim)

2001-04-13  ponced  <ponced@choochoo>

	* java.bnf: Added keyword summaries.

	* semantic-java.el (semantic-java-keyword-table):
	Added keyword summaries.

2001-04-13  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el: New c.bnf

	* c.bnf:
	Added built in types (void, char, etc) and summaries.

	* semantic-scm.el: New scheme.bnf.

	* scheme.bnf:
	Added some summaries to tokens.

	* semantic-make.el: New make.bnf

	* make.bnf:
	Added a keyword table, and several new tokens and summaries.
	Added support for the include macro.

	* INSTALL:
	Added makefile tricks to the INSTALL process.

	* semantic.texi:
	Added semanticdb-mode-hooks.

	* semantic-imenu.el:
	Added `semantic-imenu-flush-fcn', and add it to the semanticdb-mode-hooks.

	* semanticdb.el:
	Added `semanticdb-mode-hooks', run when the global semanticdb is
	turned on and off.
	Removed imenu reference when toggling semanticdb on and off.

2001-04-12  ponced  <ponced@choochoo>

	* senator.el:
	Eliminated lots of compile warnings.

	(senator-minor-mode): No more use Emacs 21 `define-minor-mode' to
	avoid byte code incompatibilities between Emacs 21 and previous
	versions.

2001-04-12  Eric M. Ludlam  <eric@siege-engine.com>

	* Project.ede: Version, and some naming.

	* semanticdb.el:
	Added compile time require statements.

	* semantic.el:
	Removed some compile time requirements.  Accept the errors.
	Remove autoloads for functions defined locally.

	* semantic-util.el, semantic-texi.el, semantic-scm.el, semantic-java.el, semantic-imenu.el, semantic-ctxt.el, semantic-c.el, semantic-bnf.el:
	Added compile time require statements.

2001-04-11  ponced  <ponced@choochoo>

	* senator.el (senator-completion-menu-window-offsets):
	On Emacs 21 add the window
	left margin width to XOFFSET.

2001-04-10  ponced  <ponced@choochoo>

	* semanticdb.el (semanticdb-find-nonterminal-by-function):
	Search take into account
	the current buffer local value of `semantic-case-fold'.

	* semantic-util.el (semantic-find-nonterminal-by-name,semantic-find-nonterminal-by-function,semantic-find-nonterminal-by-function-first-match):
	Search take into
	account the current buffer local value of `semantic-case-fold'.

2001-04-09  ponced  <ponced@choochoo>

	* senator.el:
	Fixed header comments and removed inline CVS change log.

	(senator-completion-menu-window-offsets): New function.

	(senator-completion-menu-point-as-event): When running Emacs, use
	`senator-completion-menu-window-offsets' to translate a point position
	in frame coordinates.

2001-04-07  Eric M. Ludlam  <eric@siege-engine.com>

	* Project.ede: More project updates.

	* semantic.texi:
	A series of cleanup items submitted by Karl Eichwalder <keichwa@gmx.net>.

	* semantic-el.el:
	Handle double parent case for quoted toplevel code.

	* semantic-c.el:
	Added equivalent modes setting from c.bnf w/ new semantic-bnf code.

	* semantic-ctxt.el:
	Fixed up some documentation that didn't mention the override function.

	* document.el:
	Added a note about texinfo generation.

	* semantic-bnf.el:
	Better speedbar support.
	Creates new local variable `semantic-equivalent-major-modes'.

	* semantic.el:
	Removed macros to semantic-util.
	Imported commands that deal specifically with parsing from semantic-util.

	* semantic-util.el:
	Copied some macros from semantic.el into semantic-util.el.
	Copied interactive parsing functions out of semantic-util.

	* semantic-imenu.el:
	Use `semantidb-equivalent-mode' instead of just comparing major modes.
	This lets C and C++ to show up in the same directory imenu menu.

	* semanticdb.el: Require semantic.
	When `semanticdb-persistent-path' is `project', and there are no
	 project predicates, be equivalent to 'always.
	Added `semanticdb-equivalent-mode' function.  Use it in the find function.

	* semantic-c.el: New c.bnf

	* c.bnf:
	Added name spaces, and references.

2001-03-27  ponced  <ponced@choochoo>

	* senator.el (senator-completion-menu-popup):
	Fixed error when handling a simple
	list of menu items returned when the Semantic Database feature is
	disabled.

2001-03-26  ponced  <ponced@choochoo>

	* senator.el (senator-find-nonterminal-by-name,senator-find-nonterminal-by-name-regexp, senator-complete-symbol,senator-eldoc-print-current-symbol-info-default):
	new format of the
	value returned by `semanticdb-find-nonterminal-by-name' and
	`semanticdb-find-nonterminal-by-name-regexp'.

	(senator-completion-menu-item, senator-completion-menu-popup): Added
	sub-menus for each file were tokens were found by Semantic Database
	search functions.

	* semantic-texi.el (semantic-texi-update-doc-from-texi, semantic-texi-goto-source):
	new
	format of the value returned by `semanticdb-find-nonterminal-by-name'.

	* semantic-ctxt.el (semantic-suggest-lookup-item):
	new format of the value returned by
	`semanticdb-find-nonterminal-by-name'.

	* semanticdb.el (semanticdb-find-nonterminal-by-name,semanticdb-find-nonterminal-by-name-regexp,semanticdb-find-nonterminal-by-type,semanticdb-find-nonterminal-by-function):
	return the DB table where
	tokens were found as the first element of each returned list.

2001-03-21  ponced  <ponced@choochoo>

	* semanticdb.el (semanticdb-toggle-global-mode):
	new function. Toggle use of the
	Semantic Database feature and update the environment of Semantic
	enabled buffers accordingly.

	* semantic-util.el (semantic-map-buffers):
	new function.  Run a function for each
	Semantic enabled buffer found.

	* senator.el (senator-find-nonterminal-by-name,senator-find-nonterminal-by-name-regexp):
	return the complete list of
	tokens found instead of the ones from the first semanticdb table.

	(senator-completion-menu-do-complete, senator-completion-menu-item):
	use a one element array to pass and receive token instead of the token
	overlay.  Thus can handle tokens without overlay, returned by
	semanticdb.

	(senator-completion-menu-point-as-event): New function that returns
	the text cursor position as an event.

	(senator-completion-menu-popup): Now a command.  Uses
	`senator-completion-menu-point-as-event' to popup the menu at
	completion point.

	(senator-completion-menu-mouse-popup,
	senator-completion-menu-keyboard-popup): deleted.  Replaced by
	`senator-completion-menu-popup'.

	(senator-prefix-map, senator-mode-map): updated to use
	`senator-completion-menu-popup'.

	(senator-menu-bar): Uses `senator-minor-mode-name' as menu title.
	Fixed typos.  Replaced `global-semanticdb-minor-mode' by
	`semanticdb-toggle-global-mode' to enable/disable the Semantic
	Database feature.

2001-03-14  ponced  <ponced@choochoo>

	* semanticdb.el (semanticdb-find-nonterminal-by-function):
	avoid unneeded refreshes
	while typing with senator-eldoc mode.

	* semantic.el (semantic-read-event):
	replaced `cond' by `if' to fix a
	byte-compilation error on FSF Emacs.
	(semantic-rebovinate-token): delay rebovination if a [maybe temporary]
	re-parse error occurs.
	(semantic-flex): fixed the lexer to calm possible errant parsing.

2001-03-12  ponced  <ponced@choochoo>

	* senator.el:
	New faster core search engine.

	Fixed `beginning-of-defun' and `end-of-defun' advices to accept
	optional argument ARG.  Usage of ARG is not yet implemented.

	Fixed `insert-register' and `jump-to-register' advices to use
	ad-get-arg.

	Added new hippie expand try function `senator-try-expand-semantic'
	to try Semantic inline completion.  This try function is
	automatically activated in Semantic enabled buffers.

	Many code cleanup and improvement.

2001-03-10  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-bnf.el:
	Fixed indentation after ; bug.

	* semantic-c.el: New c.bnf.
	Added `semantic-c-reconstitute-token'.

	* c.bnf:
	Added lots of summaries to %tokens.
	variables and functions now share declmod and typedecl start
	match, and then get recombobulated later.  Prevents massive
	reparsing.

	* semantic.texi:
	Ran texinfo menu and node updating command.
	Added section mentioning semantic-java as an example expand function.

	* semantic-util.el:
	Removed UNTRUSTED from docs of find-nonterminal-by-overlay-[next/prev].
	Added Nonterminal region splicing section, with two non-working functions.
	When concatinating arguments for a concise prototype, make sure we
	can handle many types of argument lists without crashing.
	Command `bovinate' now checks the cache.

	* semantic-load.el:
	Senator and which-fun modes are now forced on, as opposed to just
	toggled on, hoping they were off before.

	* semantic-load.el: Added scm load.
	Added which-func turn on.
	Removed load path hacks.

2001-03-08  ponced  <ponced@choochoo>

	* semantic-util.el:
	Fixed an infinite loop bug in
	`semantic-find-nonterminal-by-overlay-next' and
	`semantic-find-nonterminal-by-overlay-prev' when respectively the last
	or the first overlay are encountered.

	* semantic-java.el:
	Fixed `semantic-expand-java-nonterminal' which did not cleanup invalid
	expanded tokens and overlays.

2001-03-05  ponced  <ponced@choochoo>

	* semantic.el:
	Fixed an XEmacs compatibility problem with `read-event'.

2001-03-05  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi:
	Updated the chapter on senator to account for new features.

2001-03-05  ponced  <ponced@choochoo>

	* semantic-bnf.el:
	Improved function `semantic-bnf-find-state-position' to handle
	multiple match listes on the same line.  Also, if a match occurs in a
	string or comment it is ignored.

	New function `semantic-bnf-skip-string-or-comment' to skip strings and
	comments.

	Added font-locking for ASSOC, EXPAND and EXPANDFULL builtins.

	* semantic.el:
	New `semantic-bovinate-nonterminal' with iterative parser.
	Removed no more needed function `semantic-bovinate-stream'.
	Fixed some side effect problems when the BNF source debugger
	is enabled.

	* senator.el:
	Added new Eldoc suggestion mode feature.

2001-03-01  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-bnf.el:
	Added summary support to BNF keywords.
	Properly use the override table.
	Added a completion keybinding.

2001-02-28  ponced  <ponced@choochoo>

	* java.bnf, semantic-java.el:
	Fixed a bug on 'array_creation_expression' non-terminal which didn't
	match primitive type arrays.

2001-02-28  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.texi:
	Added chapter on debugging.

	* semantic.el:
	Update doc to `semantic-bovinate-toplevel'.
	If doing a partial reparse fails, recurse for a full reparse.
	Renamed variables in the cooking function to be wordier.
	For the token reparser, do even more checks after cooking for
	an expansion to additional tokens.  Queue a full reparse if it
	gets too hairy.
	Make sure the reparse symbol is attached to the new token.

2001-02-26  ponced  <ponced@choochoo>

	* semantic-java.el:
	Regenerated with new version of semantic-bnf.el.

2001-02-24  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-c.el:
	Updated c.bnf, and semantic-bnf.el.

	* c.bnf:
	Added a few optimizations for structure parts.
	Used some %tokens in a few spots where I wasn't using them before.

	* semantic.el:
	Added `semantic-toplevel-bovine-table-source' variable.
	Incorporate David Ponce's reparse fix for compounded tokens.
	Use table source to do source-level debugging.
	Use new semantic-bnf API to find the bit of source to highlight.

	* semantic-scm.el:
	Scheme parser lisp stuff.

	* scheme.bnf: Scheme parser

	* semantic-bnf.el:
	When making an init file, add in a new variable value identifying
	the .bnf source file it came from.
	Added a bunch of debugging routines for moving in the .bnf file.

2001-02-23  ponced  <ponced@choochoo>

	* senator.el:
	Copied over all the menu items that used to be in semanic-mode.
	Added the new token cut/paste items into a menu.
	Added menu items to configure semantic-imenu and enable semantic-db.
	Added Options sub menu to customize Semantic, Senator, Semantic Imenu
	and Semantic Database.
	Fixed some XEmacs compatibility issues.
	Improved robustness of some functions.

	* semantic-util.el:
	Fixed some XEmacs compatibility issues.
	Added function `semantic-token-invisible-p'.

2001-02-23  Eric M. Ludlam  <eric@siege-engine.com>

	* INSTALL:
	Added simplified installation instructions.

	* semantic-imenu.el:
	Moved all customizable items into semantic-imenu group.

	* semanticdb.el:
	Moved all customizable items into semanticdb group.

	* semantic-util.el:
	Added semantic-token-intangible-p and semantic-token-read-only-p.

2001-02-22  ponced  <ponced@choochoo>

	* semantic-el.el:
	Fixed "args-out-of-range" bugs when doc string is missing (nil)
	or an empty string ("").

	Minor typo on first line summary.

	* senator.el:
	Added token Copy, Cut & Paste and Register feature.

	Improvement to the senator-jump completion stuff:

	o The completion list is now cached (buffer local) and reused when
	  possible.  The cache is refreshed when parsing or partial parsing
	  occurs.

	o Greatly simplified the way completion name are handled.  Now only
	  duplicated names are suffixed by parent names :-)

	Some minor `checkdoc' fixes.

	* java.bnf:
	Moved setup of Semantic variables from semantic-java.el.

	* semantic-java.el:
	Some code reorganization.

	Moved setup of Semantic variables to java.bnf.

	Added setup of variables `semantic-command-separation-character',
	`document-comment-start', `document-comment-line-prefix',
	`document-comment-end'.

	New `semantic-find-documentation' function override
	`semantic-java-find-documentation' which handles javadoc comments.

2001-02-22  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic.el:
	Updated several doc strings.

	* semantic-texi.el:
	Added `semantic-texi-goto-source'.

	* semantic-ctxt.el:
	Updated almost all doc strings to include override information.

	* document.el:
	Added `-' to meta variable name search.
	Added support to turn "text" to ``text'' in texinfo files.

	* semantic.texi:
	Updated lots of deffn, defvar, and defuns.
	Added local context section.
	Fixed compilation errors by adding the utilities section.

2001-02-21  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-load.el:
	*** empty log message ***

	* Project.ede:
	Rearranged things.  There is now a languages target, full of the
	parser .el files.

	* semantic-el.el:
	Added `user-visible' as an extra spec to variables and fns.
	Added override fns for `find-documentation', and `insert-foreign-token'.

	* semanticdb.el:
	Added `semanticdb-set-buffer', and `semanticdb-refresh-table'.
	Added `find-file-match' param to all search routines.
	When a token is found in a file, make sure the file gets loaded into
	Emacs.  Useful when additional work to a token needs to be done.
	Fixed a search bug related to `diff-mode' parameter.

	* semantic-util.el:
	Fixed bug in `semantic-summarize-nonterminal' for when a token
	type doesn't exist in the name list.

	* semantic-imenu.el:
	Fixed reversing of token problem when making type submenus, but
	without running through the bucket function.

	* document.el:
	Moved where newlines were inserted for new function documentation.
	Support deffn with Command and Option descriptions.
	Protect against document generation switching buffers on us.

	* semantic-texi.el:
	Added 'x' version in -name-field-list.
	Fixed reversing problems in the return value of the texinfo parser.
	Added `semantic-texi-insert-foreign-token'.
	Added value for senator-step-at-start-end-token-ids.
	Added ':' as the relation-separator-character.
	Added semantic-texi-associate-files, semantic-texi-find-documentation,
	semantic-texi-update-doc-from-texi, semantic-texi-update-doc-from-source,
	and semantic-texi-updae-doc.

	* semantic.el:
	Added `user-visible' to the list of EXTRA-SPECs.
	Renamed `semantic-toplevel-bovinate-override' to
	  `semantic-bovinate-toplevel-override'.
	Added more documentation to `semantic-clear-toplevel-cache'.
	Added semantic cache/partial reparse logic around foreign
	  parsers.
	More doc for `semantic-flex-keyword-p'.

2001-02-21  ponced  <ponced@choochoo>

	* senator.el:
	`senator-minor-mode-setup' now uses the `semantic-active-p' function
	to check if the current buffer is set up for parsing.

	`senator-full-token-name' now append the parent names in reverse order
	to the token name.  Thus the `senator-jump' completion list is now
	easy to use.  You can just type a partial token name and press ENTER
	to jump to it.  If the name is not unique a completion buffer is
	displayed allowing to choose the right one.

	`senator-beginning-of-defun' and `senator-end-of-defun' now
	respectively step at start or end of tokens with identifier specified
	in `senator-step-at-token-ids'.  Thus, adviced `beginning-of-defun'
	and `end-of-defun' now work with any tokens where you can step at.

	`senator-step-at-start-end-token-ids' can be set to `t' to step at
	start and end of any token where it is allowed to step.

2001-02-20  ponced  <ponced@choochoo>

	* semantic.el:
	Fixed: with `semantic-flex-enable-newlines' on, `semantic-flex' didn't
	catch newline when there was whitespace characters before it.

2001-02-20  Eric M. Ludlam  <eric@siege-engine.com>

	* Project.ede:
	Version change.  Added semantic-texi.

	* semantic-ctxt.el:
	Fixed up token identifying when in a sequence of dereferences.

	* semantic-texi.el:
	New File: Parse texinfo files using semantic's parsing override mechanism.

	* semantic-el.el:
	Added `semantic-elisp-prototype-nonterminal'.
	Use it as an override for `prototype-nonterminal' and `concise-prototype-nonterminal'.

	* semantic-util.el:
	Pulled the default body from `semantoc-prototype-nonterminal', and
	turned it into `semantic-prototype-nonterminal-default'.

	* semantic-c.el: New c.bnf.

	* c.bnf: Removed unused %put calls.

	* semantic.el: Version change.
	Added `semantic-active-p' function.
	Use `semantic-active-p' in `semantic-find-file-hook'.
	Add beef to `semantic-toplevel-bovinate-override' usage.
	Removed `reparse needed' message.

	* semantic-imenu.el:
	Added `semantic-imenu-expand-type-parts' variable.  This lets you not
	  bucketize a file, and still expand nodes.
	Added `semantic-imenu-expandable-token' variable.  This lets you have
	  parser that doesn't have type information, but still benifits from
	  hierarchical tag display.
	Removed `notypecheck' from `semantic-create-imenu-index'.
	Use the above variables.

2001-02-20  Eric M. Ludlam  <eric@siege-engine.com>

	* semantic-texi.el: New File

