2007-06-06 Eric M. Ludlam * semantic-decorate.el (semantic-momentary-highlight-pulse-flag): Wrap logic on condition-case. * wisent/Makefile (VERSION): Regress to 2.0 prerelease 4 * tests/testsubclass.hh (deer::alces): Updated for testsubclass.cpp changes. * tests/testsubclass.cpp (animal::moose::doNothing): Add some completable code. (deer::alces::doLatinStuff): Add args and such. (deer::alces::createMoose): New test fcn for completion engine. * tests/Makefile, doc/Makefile (VERSION): Regress to 2.0 prerelease 4 * doc/lang-support-guide.texi (Tag Structure): Add description of ATTRIBUTES. Fix names property accessor functions. * bovine/Makefile (VERSION): Regress to 2.0 prerelease 4 * semantic-sort.el (semantic-tag-external-member-parent-default): Remove iff * semantic-lex-spp.el: Add ToDo item. * semantic.el (semantic-version): Regress to 2.0 pre 4. (Commentary): Update doc. * Project.ede ("semantic"): Regress version to prerelease 4. * Makefile (VERSION): Regress to 2.0 prerelease 4 2007-06-05 Eric M. Ludlam * semantic-complete.el (semantic-complete-inline-exit): Restore original window configuration (semantic-complete-inline-tag-engine): Store window configuration (semantic-complete-inline-analyzer-displayor-class): New option. (semantic-complete-inline-analyzer): Create a display based on the above. 2007-06-04 Eric M. Ludlam * semanticdb-find.el (semanticdb-find-default-throttle): Add 'unloaded. 2007-05-31 Eric M. Ludlam * doc/installation.texi (Canned Configuration): Update code-helpers w/ MRU bookmarks * doc/minor-modes.texi (Code Helpers): Addd below (MRU Bookmarks Mode): New node on new minor-mode. * semantic-load.el (semantic-load-enable-code-helpers): Add semantic-mru-bookmark-mode. * semanticdb-ebrowse.el (semanticdb-ebrowse-get-ebrowse-structure): Update doc (semanticdb-project-database-ebrowse::semanticdb-create-database): Add c-mode (semanticdb-ebrowse-dump): Use adebug. * Makefile (tools_LISP): Add semantic-mru-bookmark.el * Project.ede ("semantic"): Add semantic-mru-bookmark.el * semantic-mru-bookmark.el (semantic-mru-bookmark-mode): Update doc. * semantic-decorate.el (semantic-momentary-highlight-pulse-flag): New option. (semantic-momentary-highlight-one-tag-line) (semantic-momentary-highlight-tag): Only pulse based on option. 2007-05-22 Eric M. Ludlam * tests/testspp.c: Added sections for: #if defined #elif #else for macro parsing testing. * bovine/c.by (DEFINE, UNDEFINE): Removed. (define): Fix default value to correct token. * bovine/semantic-c.el (semantic-c-end-of-macro): Moved. (semantic-lex-cpp-define): Move end point to the end of the macro. (semantic-c-skip-conditional-section): New function (semantic-lex-c-if): Skip only subsets of a #if section. Add warnings when we skip. (semantic-lex-c-macrobits): Remove if handling. (semantic-lex-c-macro-else): New lexer. (semantic-c-lexer): Add semantic-lex-c-macro-else. * semantic-lex-spp.el (define-lex-spp-macro-declaration-analyzer): Support shifting lex-end-point. (edebug-setup-hook): Add edebug knowledge about these new macros. * semantic.el (semantic-clear-toplevel-cache): Clear parser warnings (semantic-fetch-tags): Keep parser warnings during full parse. (semantic-parser-warnings): New local variable (semantic-clear-parser-warnings, semantic-push-parser-warning) New functions (semantic-dump-parser-warnings): New Command 2007-05-21 Eric M. Ludlam * bovine/semantic-c.el (semantic-c-add-preprocessor-symbol): Allow resetting of values in the C list. * semantic-lex-spp.el (semantic-lex-spp-symbol-set): Treat value of "" as nil. (semantic-lex-make-spp-table): Pass value directly to new symbol. * bovine/c.by (__ATTRIBUTE__): New symbol (opt-attribute): Optional gcc attribute thingy. (type,fun-or-proto-end): Use opt-attribute 2007-05-20 Eric M. Ludlam * semantic-texi.el (document): Stop requiring this. Causes fail in Makefile build. * semantic-fw.el (semantic-subst-char-in-string): Remove sample impl. Moved to cedet-compat. * semanticdb-file.el (cedet-files): New requirement. (semanticdb-dir-sep-char): Moved to here. Marked for later deletion. (semanticdb-fix-pathname): Moved to here. Replaced body w/ `file-name-as-directory'. Marked for later deletion. (semanticdb-project-database-file::semanticdb-file-name-directory): Replace inner path conversion to a call to `semanticdb-file-name-directory'. * semanticdb.el (semanticdb-dir-sep-char, semanticdb-fix-pathname): Moved. 2007-05-19 Eric M. Ludlam * semantic-decorate.el: (semantic-tag-highlight-start-face, semantic-tag-highlight-face): New faces. (semantic-decorate-int-to-hex, semantic-color-values-to-hex): New fcns copied from Drew Adams. (semantic-pulse-iterations): New configurable variable. (semantic-lighten-highlight, semantic-highlight-reset-face): (semantic-decorate-pulse, semantic-decorate-test-pulse): New core color pulsing functions (semantic-highlight-tag): Change default face to 'semantic-tag-highlight-face. (semantic-momentary-highlight-one-tag-line) (semantic-momentary-highlight-tag): Use tag pulsing if no face is provided. * doc/installation.texi (Installation): New name. Many new sections w/ basic configuration advice. * doc/user-guide.texi (Semanticdb Search Configuration): Add ref to ebrowse. (Search Throttle): Add example. * doc/semantic.texi (top): Copyright (Installation/Basic Configuration): New name. * semantic-adebug.el: (semantic-adebug-insert-property-list, semantic-adebug-insert-stuff-list): Add autoload cookie. 2007-05-17 Eric M. Ludlam * semantic-analyze.el (semantic-analyze-select-best-tag): Prefer tags w/ type info. * bovine/semantic-c.el (semantic-lex-c-if): Support #if defined() type syntax. * tests/testspp.c: Add #if defined() and #if !defined() macros for testing SPP. * semantic-tag.el (semantic-tag-with-position-p): If it has an overlay, it must be live. * bovine/semantic-c.el (semantic-c-add-preprocessor-symbol): New command. * semantic-tag-file.el (semantic-dependency-tag-file): Add todo comment. * semantic-load.el (semantic-load-enable-minimum-features): doc fix. * semantic-dep.el: (semantic-add-system-include, semantic-remove-system-include): Force passed in dirs to be directory names. (semantic-reset-system-include): New command * semanticdb-find.el (semanticdb-find-load-unloaded-default): Fix varname typo! (semanticdb-find-test-translate-path,semanticdb-brute-deep-find-tags-for-completion): Add autoload cookies. * semanticdb-file.el: (semanticdb-project-database-file::semanticdb-save-db): Make robust to various types of errors that may occur. * semanticdb.el (semanticdb-dump-all-table-summary): Convert to use adebug. * semanticdb-ebrowse.el (semanticdb-ebrowse-C-file-p): make robust to itty-bitty files (semanticdb-create-ebrowse-database): Force / to tail of dir names. (semanticdb-ebrowse-get-ebrowse-structure): Turn off undo. 2007-05-16 Eric M. Ludlam * doc/user-guide.texi: Add new section about configuring semanticdb search routines. 2007-05-10 Eric M. Ludlam * semantic-mru-bookmark.el (semantic-mrub-completing-read): Fix case of only one entry in ring. (set-mark-command): Advise better function. * semantic-mru-bookmark.el: New bookmark/mru tag mode. * semantic-tag.el (semantic-tag-copy): Enhance doc string. * semantic-adebug.el (semantic-adebug-insert-tag-parts): Make tag start/end display more robust. (semantic-adebug-insert-ring-contents) (semantic-adebug-insert-ring-items-from-point) (semantic-adebug-insert-ring-button): New ring debug support. (semantic-adebug-insert-thing): Add rings. (semantic-adebug-analyze): Fix buffer name. (semantic-adebug-edebug-expr): New command to be bound into EDEBUG support. * semantic-adebug-eieio.el (semantic-adebug-insert-object-fields): Add autoload cookie. 2007-05-01 Eric M. Ludlam * semantic-complete.el (semantic-complete-do-completion): Support 'displayend option. Use exactmatch completion list if we have it, otherwise the full list. If displayend, then always use the fulll list. (semantic-complete-next-action): Allow displayor and collector to both have a say. (semantic-collector-abstract::semantic-collector-next-action): When the exact-match list is 1 long, but there are lots of regular completions, then don't say done on second matching keystroke. (semantic-displayor-focus-abstract::semantic-displayor-next-action): When the focus cycles, return 'displayend. 2007-04-15 Eric M. Ludlam * doc/tags.texi (Tag Hooks): Added unlink-copy-hook. (Creating Tags): Updated semantic-tag-copy w/ unlink-copy-hook. * semantic-decorate.el (semantic-tag-create-secondary-overlay): Add an unlink-copy-hook. (semantic--tag-unlink-copy-secondary-overlays): New function (semantic--tag-unlink-secondary-overlays): Remove unlink-copy-hook. * semantic-tag.el (semantic-tag-copy): Run unlink-copy-hook on the copied tag. Added comments a bout trying to do special copy things to the tag members. 2007-04-03 Eric M. Ludlam * semantic-tag-file.el (semantic-dependency-tag-file): Save point location when calculating a filename for a given include tag. 2007-03-26 Eric M. Ludlam * semanticdb-find.el (semantic-adebug): Remove requirement. * semantic-adebug.el (semantic-adebug-new-buffer): autoload cookie. 2007-03-25 Eric M. Ludlam * semanticdb-find.el (require): Add semantic-adebug during compile (semanticdb-find-table-for-include-default): Take out special stuff for omniscient databases. Simplify case where we know where the file is. (semanticdb-find-test-translate-path): Convert to use adebug. * semanticdb-find.el: (semanticdb-strip-find-results, semanticdb-find-results-p) (semanticdb-find-result-with-nil-p) (semanticdb-find-reslut-nth, semanticdb-find-result-nth-in-buffer): Add autoload cookie. 2007-03-23 Eric M. Ludlam * semanticdb-find.el (semanticdb-find-throttle-custom-list): Add autoload cookie. (semanticdb-find-result-prin1-to-string): Fix doc. 2007-03-19 Eric M. Ludlam * doc/user-guide.texi (Analyzer): Update various command strings. (Smart Idle Completion): new section * semanticdb.el: Add comment. * semanticdb-ebrowse.el (semanticdb-project-database-ebrowse): Doc update. * semantic-adebug.el (semantic-adebug-bovinate): Doc updates. * doc/app-dev-guide.texi: (top) (Tag Sorting) (Tag Completion Convenience Functions) (Custom Tag Completion Functions) (Tag Collectors) (Tag Displayors) (Old Tag Completion) (Override Methods) (Format Tag) (Tag Members) (Tag Details) (Parser Hooks) (Semanticdb in Programs) (DB Results) (DB Basic Name Search) (DB Basic Brute Search) (DB Advanced Search) (DB Generic Brute Search) (System Databases) (Blocks) (Local Variables) (Derived Context) (Context Analysis) (Analysis Overview): Update @defun's from source. (App Debugger): New Section * semantic-complete.el: (semantic-collector-abstract) (semantic-collector-buffer-abstract) (semantic-collector-buffer-deep) (semantic-collector-project-abstract) (semantic-displayor-abstract) (semantic-displayor-traditional) (semantic-displayor-traditional-with-focus-highlight) (semantic-complete-read-tag-analyzer) (semantic-complete-inline-analyzer): Doc Enhancements. 2007-03-18 Eric M. Ludlam * wisent/Makefile (LOADPATH): Strip out duplicates (wy_SEMANTIC_GRAMMER_EL, dist): Spelling fix * bovine/Makefile (LOADPATH): Remove duplicates (by_SEMANTIC_GRAMMAR_EL,dist): Spelling fix. * semantic-ede-grammar.el: (semantic-ede-proj-target-grammar::ede-proj-makefile-insert-variables): Use `ede-proj-makefile-insert-loadpath-items'. * Makefile (LOADPATH): Remove duplicates * Makefile (metagrammar_SEMANTIC_GRAMMAR_EL, dist): Spelling fix. (tools_LISP): Add adebug files. * Project.ede ("tools"): Add adebug files. * semantic-analyze.el (semantic-analyze-possible-completions-default): :operator-flag. * bovine/semantic-c.el (semantic-c-reconstitute-token): Add an operator-flag * semantic-analyze.el (semantic-analyze-possible-completions-default): Revamp raw results stripping. Strip operators, destructor/constructor. * semantic-adebug.el (semantic-adebug-insert-find-results-from-point): Remove 'parent'. * semantic-adebug-eieio.el: Adebug support for EIEIO objects. * semantic-adebug.el: Basic debugger for Semantic data structures. 2007-03-17 Eric M. Ludlam * doc/tags.texi (Tag Attributes Internals, Tag Properties Internals): Fix @dots. Delete duplicates. * semanticdb-system.el: (semanticdb-project-database-system::semanticdb-load-system-database): use oref-default for major-modes. Thanks Jamie Macbeth. * document.el (document-texify-elisp-docstring): Fix @dots replacement. 2007-03-13 Eric M. Ludlam * bovine/semantic-c.el (semantic-c-reconstitute-token): Use `semantic-tag-new-type' when fabricating the :type of a constructor. 2007-03-12 Eric M. Ludlam * document.el (document-texify-elisp-docstring): Fix byte-comp found warning. * document.el (document-massage-to-texinfo): Do not @var the variable 'a'. (document-texify-elisp-docstring): Add @dots. * doc/tags.texi (Tag Basics): Added a few extra blurbs. (Tag Query): Rearranged, sorted, added subsections. (Tag Overlay, Tag Hooks, Misc Tag Functions,Tag Attributes Internals) (Tag Properties Internals,Tag Overlay Internals,Creating Tags): Updated doc of @defuns from the source. * bovine/semantic-c.el (c-mode::semantic-format-tag-type): Move fcn. Do not print 'class' if the type is of type class. * semantic-format.el (semantic-test-all-format-tag-functions): Add argument. Universal argument now prints the text w/out color. (semantic-format-tag-type-default): Obey the color argument. * semantic-tag.el: (semantic-tag-name, semantic-tag-overlay, semantic-equivalent-tag-p) (semantic-tag-of-type-p, semantic-tag-new-variable) (semantic-tag-new-function, semantic-tag-new-type) (semantic-tag-new-include,semantic-tag-new-package, semantic-tag-new-code,semantic-tag-modifiers,semantic-tag-include-filename) (semantic-tag-components,semantic-narrow-to-tag): Updated doc strings with more details. * semantic-texi.el (semantic-texi-update-doc-from-texi): Use a deep search to find fcns within a document. (semantic-texi-update-doc-from-source) (semantic-texi-goto-source): Use `semanticdb-with-match-any-mode' and a brutish deep search. * semanticdb.el (semanticdb-match-any-mode): New variable (semanticdb-with-match-any-mode): New macro (semanticdb-equivalent-mode-for-search): Obey semanticdb-match-any-mode. * semantic-tag.el (semantic-tag-file-name): Update doc. 2007-03-11 Eric M. Ludlam * semantic-analyze.el (semantic-analyze-tag-type): When finding a tag for a type, ask for only tags that are class 'type. (semantic-analyze-possible-completions-default): When matching name matching completions loop over each one, and validate the type name is the same, or that the symbol is a compound type. Compound type detection is now looked up. (Thanks Jamie Macbeth.) 2007-03-10 Eric M. Ludlam * semanticdb-el.el: (semanticdb-project-database-emacs-lisp::semanticdb-get-database-tables): Nicer name. (semanticdb-project-database-emacs-list::semanticdb-find-translate-path): Delete. (semanticdb-table-emacs-lisp::semanticdb-equivalent-mode): Doc fix. * semanticdb-find.el (semanticdb-find-translate-path-includes-default): Always append omniscient system databases to our load path. (semanticdb-find-load-unloaded): New override function for loading in a database that is currently not in any databases. (semanticdb-find-table-for-include-default): Use above. 2007-03-08 Eric M. Ludlam * doc/wisent.texi: (Grammar format, Compiling a grammar, Conflicts, Iterative style) (Bison style): Minor language changes. * bovine/c.by (opt-template-equal): Support =SYM and not just = (func-decl): Add support for arg-listless function that has a TRY at the end. (fun-or-proto-end): Use fun-try-end. (fun-try-end): new for try blocks. (fun-try-several-catches): Multiple stacked catch blocks after a try. (function-call): Add more function call options. * bovine/semantic-el.el (semantic-elisp-form-to-doc-string): Add TODO comment about Lisp. * semantic-ede-grammar.el: (semantic-ede-proj-target-grammar::ede-proj-makefile-insert-variables) (semantic-ede-proj-target-grammar::ede-proj-makefile-insert-dist-dependencies): Fix spelling error of SEMANTIC_GRAMMAR_EL. Thanks Tetsurou Okazaki. * semantic-lex.el (define-lex): Override `parse-sexp-lookup-properties' so that text properties can't screw up our modified syntax table. * tests/test.py: Added test cases for implicity joining. * wisent/wisent-python.wy: (function_parameter_list, paren_class_list): Set wisent-python-EXPANDING-block to t when expanding the sub-block. * wisent/wisent-python.el (wisent-python-EXPANDING-block): New lexical state variable. (wisent-python-implicit-line-joining-p): Use above, no searching. (wisent-python-end-of-block): Fix doc string. * INSTALL: Fix counting. * semantic-load.el (noninteractive): Do not load minimum features by default. 2007-02-23 Eric M. Ludlam * semantic-analyze.el (semantic-analyze-dereference-metatype): Moved (semantic-analyze-type-parts): Moved. (semantic-analyze-select-best-tag): New fcn (semantic-analyze-find-tag): Replace comple mess at end w/ `semantic-analyze-select-best-tag'. (semantic-analyze-tag-type): Replace FIXME comment with `semantic-analyze-select-best-tag'. (semantic-analyze-find-tag-sequence): Replace `should be smarter' comment with `semantic-analyze-select-best-tag'. Replace `semantic-find-first-tag-by-name' with the plural version. Replace "should be smarter" comment with `semantic-analyze-select-best-tag'. * bovine/c.by (typesimple): Class/struct w/ no body is considered a prototype. 2007-02-22 Eric M. Ludlam * semanticdb-ebrowse.el (semanticdb-create-ebrowse-database): Load file should use the helper. (semanticdb-load-ebrowse-caches): Remove comments (semanticdb-ebrowse-load-helper): New function. Check for obsolete files. * semantic-ia.el (semantic-ia-complete-symbol-menu): Use senator if semantic gets nothing. * semantic-analyze.el (semantic-analyze-dereference-metatype): Add scope argument, pass down. (semantic-analyze-tag-type): Add scope argument, pass down. (semantic-analyze-find-tag-sequence): Pass scope through to above. (semantic-analyze-scoped-tags): For any namespace, search for all other occurances and merge. * bovine/semantic-c.el (c-mode::semantic-analyze-dereference-metatype): Add scope argument. * semantic-complete.el (semantic-complete-self-insert): Handy function for doing completion when typing in a key that needs to insert itself. * semanticdb-ebrowse.el (semanticdb-ebrowse-add-tree-to-table): Fixed bugs found when run against C files. 2007-02-21 Eric M. Ludlam * semanticdb-ebrowse.el (semanticdb-ebrowse-file-match): New variable (semanticdb-ebrowse-C-file-p): New predicate (semanticdb-create-ebrowse-database): Use new predicate instead of old code. 2007-02-19 Eric M. Ludlam * semanticdb-ebrowse.el (comments): Deleted (semanticdb-table-ebrowse::semanticdb-find-tags-by-name-method) (semanticdb-table-ebrowse::semanticdb-find-tags-by-name-regexp-method) (semanticdb-table-ebrowse::semanticdb-find-tags-for-completion-method) (semanticdb-table-ebrowse::semanticdb-find-tags-external-children-of-type-method): Updated various to describe new methods. (jvebrowse-find, fvebrowse-find2, jvebrowse-find-name): Deleted * semanticdb-ebrowse.el (ebrowse): Add eval-and-compile to fix byte-comp warnings. (semanticdb-project-database-ebrowse): Remove the 'globals' slot. (semanticdb-project-database-ebrowse::semanticdb-create-database): Track default-directory. Don't track the 'globals'. (semanticdb-project-database-ebrowse::semanticdb-ebrowse-strip-trees): New function (semanticdb-ebrowse-strip-tables) (semanticdb-project-database-ebrowse::semanticdb-ebrowse-add-etree-to-table) (semanticdb-table-ebrowse::semanticdb-file-table-add) (semanticdb-project-database-ebrowse::semanticdb-ebrowse-extract-globals) (semanticdb-project-database-ebrowse::semanticdb-ebrowse-extract-globals-from-sublist): Deleted (semanticdb-normalize-tag): Renamed. (semanticdb-table-ebrowse::semanticdb-get-tags): Deleted. (semanticdb-ebrowse-add-globals-to-table): New fcn (semanticdb-ebrowse-add-tree-to-table): New fcn (semanticdb-table-ebrowse::semanticdb-ebrowse-find-tags-by-name-method) (semanticdb-table-ebrowse::semanticdb-find-tags-by-name-regexp-method) (semanticdb-table-ebrowse::semanticdb-find-tags-for-completion-method) (semanticdb-find-tags-by-class-method) (semanticdb-table-ebrowse::semanticdb-find-tags-external-children-of-type-method): Revamped to use `call-next-method'. * semanticdb-find.el (eieio): Add require (semanticdb-find-translate-path-brutish-default): Use `semanticdb-equivalent-mode-for-search'. Only get the baseDB's dir if there is a base DB. (semanticdb-find-translate-path-includes-default): Use `semanticdb-equivalent-mode-for-search'. (semanticdb-find-table-for-include-default): Revamp how explicitly identified file's tables are loaded to also go through system style databases, if available. Obey the 'unloaded' throttle as well. (semanticdb-strip-find-results): Use 'semanticdb-normalize-tags'. * semanticdb-el.el (semanticdb-table-emacs-lisp::semanticdb-normalize-tags): Add method. * semanticdb.el (semanticdb-abstract-table::semanticdb-normalize-tags): Change name. Takes and returns a list. (semanticdb-equivalent-mode-for-search): New function. Allows some modes to search in any other modes buffers. * semantic-ctxt.el (semantic-command-separation-character): Add autoload cookie. * semantic-complete.el (semantic-complete-inline-force-display): Add autoload cookie. * wisent/wisent.el (wisent-char-p): Fix byte-comp warnings. * wisent/wisent-debug.el (wisent-debug-pp-to-string): Fix byte-comp warning. * wisent/wisent-comp.el (wisent-check-$N): Use string-to-number. * bovine/semantic-java.el (semantic-doc): add require (semantic-java-expand-tag): Add a variable to a let statement. * bovine/semantic-el.el: (emacs-lisp-mode::semantic-documentation-for-tag): Use documentation-property as documented. * bovine/semantic-c.el (semantic-lex-c-if): Remove erroneous debug message. (semantic-c-end-of-macro): Remove byte-comp warning. * bovine/semantic-bovine.el: Doc fix. (bovine-debug): Add require (semantic-bovinate-nonterminal-check-obarray): Add autoload cookie. * bovine/erlang-edoc.el (document-vars): Add require (erlang-edoc-type-spec, erlang-edoc-desc-spec): Add customize group. * bovine/bovine-grammar.el (bovine-grammar-expand-form): Use string-to-number (bovine-grammar-parsetable-builder): Fix format string. * senator.el (semanticdb-find): add require. * semantic-util-modes.el (semantic-stickyfunc-indent-string): Add to customize group. * semantic-util.el (semantic-assert-valid-token): Fix a message w/ not enough arguments. * semantic-tag-file.el: Remove ede require. It had some wierd byte-comp issues. * semantic-sb.el (semantic-sb-detail-parent): Use string-to-number. * semantic-lex.el (semantic-flex): Add noisy message to encourage conversion. * semantic-imenu.el: Add some autoload cookies. * semantic-html.el (semantic-default-html-setup): Fix typo for imenu support. * semantic-fw.el (string-to-number): Add alias if we have an old emacs. 2007-02-18 Eric M. Ludlam * semantic-tag-file.el (ede): Require in EDE during byte-comp. * semantic-tag.el (semantic--tag-expand): Explain why there is a byte-comp warning. * semantic-grammar.el (semantic-idle): Add require. (semantic-grammar-mode::senator-add-log-tags): Use newer name. * semantic-fw.el (semantic-alias-obsolete): Do not throw warning if within the CEDET tool suite. I have to use those fns for compatibility issues. * semantic.el (semantic): Add semantic group to 'lisp' group. * semantic-edit.el (semantic-edits-verbose-flag): Add autoload cookie. * semantic-dep.el (semantic--dependency-find-file-on-path): Add autoload cookie. * semantic-decorate.el (semantic-momentary-highlight-one-tag-line): Use semantic-make-overlay. * semantic-complete.el (semanticdb-find): Require it. Fix byte-comp warnings (minibuffer-contents): Fix byte-comp warnings * document.el (ede): Try to get it loaded for byte-comp. (document-get-date-time-string): Use string-to-number 2007-02-15 Eric M. Ludlam * semanticdb-ebrowse.el (semanticdb-create-ebrowse-database): Expand the dirname (semanticdb-ebrowse-file-for-directory): Expand the dirname (semanticdb-project-database-ebrowse::semanticdb-ebrowse-add-etree-to-table): Formatting change. * semanticdb.el (semanticdb-current-database-list): Remove erroneous test before including a DB. (semanticdb-kill-hook): Doc fix. (semanticdb-file-table-object): Add dontload argument. 2007-02-08 Eric M. Ludlam * semantic-grammar.el (semantic-grammar-batch-build-packages): Add msg when batch compiling to debug the source of the compiler function. * semantic-load.el (compat vars): Do not use compatibility variables in batch mode. * wisent/wisent-java-tags.wy (unicode): Quote in the \ for the syntax regexp. 2007-02-08 David Ponce * wisent/wisent-java-tags.wy (): add missing `syntax' property. (epilogue): Replace `wisent-java-tags-unicode-analyzer' declaration by auto-generated declaration of `wisent-java-tags-wy---regexp-analyzer'. 2007-02-08 Eric M. Ludlam * wisent/wisent-java-tags.wy (wisent-java-tags-unicode-analyzer): New lexical analyzer. (wisent-java-tags-lexer): Added unicode support. 2007-02-06 Eric M. Ludlam * semantic-ia.el (semantic-ia-complete-symbol): Fix case when the context's prefix is a tag, not a string. 2007-02-05 Eric M. Ludlam * semanticdb.el: (semanticdb-abstract-table::semanticdb-normalize-tag): Changed the baseclass this derives from. 2007-02-03 Eric M. Ludlam * Project.ede (tools): Added semantic-utest.el * Makefile (tools_LISP): Added semantic-utest.el * tests/test.cpp: (class3::method1_for_class3, namespace1, funny_prototype): Added various features for testing code the analyzer. * doc/tags.texi (Tag Query): Add semantic-tag-type-compound-p and semantic-tag-faux-p. * semantic-utest.el (semantic-utest-Python-buffer-contents): Change from setq to defvar. * semantic-format.el: (semantic-format-tag-uml-protection-to-string-default): Copy our protection strings so fonts that are applied don't change the original stored string. 2007-01-28 Eric M. Ludlam * semantic-analyze.el (semantic-analyze-merge-namespaces): New function. (semantic-analyze-find-tag): Merge namespaces if a tag found is a namespace. * tests/testsubclass.cpp, tests/testsubclass.hh (deer::alces): Adding new namespace and class for testing this case in the analyzer. 2007-01-25 Eric M. Ludlam * semantic-analyze.el (semantic-analyze-inherited-tags): Child classes can see protected memebers of parents. * bovine/semantic-c.el (c-mode::semantic-analyze-split-name): Use older interface to split-string. * semantic-format.el (semantic-format-tag-prototype-default): Remove display of a compound type's contents. Big and messy. * tests/testsubclass.hh, tests/testsubclass.cpp: Test case for subclasses in C++ for the semantic analyzer. * bovine/semantic-c.el (c-mode::semantic-analyze-split-name): New implementation for C. * semantic-analyze.el (semantic-analyze-split-name): New overload function. (semantic-analyze-find-tag): Test if NAME is splittable. Use alternate lookup method if it is. (semantic-analyze-find-tag-sequence): Handle the case if the first entry in the sequence is a type we can use directly. 2007-01-24 Eric M. Ludlam * semantic-utest.el: Unit tests. 2007-01-23 David Ponce * wisent/semantic-wisent.el (wisent-parse-stream): Signal when wisent-parse-max-stack-size might need to be increased. 2007-01-23 Eric M. Ludlam * tests/testspp.c: Test various states of SPP lexing. * bovine/c.by (BOOL): New token for C++. Sadly, also added for C. (macro, macro-or-include, define): Use new SPP token symbols. (builtintype-types): Added BOOL. * bovine/semantic-c.el (semantic-lex-spp): new requirement (semantic-lex-c-preprocessor-symbol-map): Change the customize format. (semantic-lex-c-preprocessor-dynamic-symbol-map) (semantic-lex-c-preprocessor-p, semantic-lex-c-define) (semantic-lex-c-preprocess-replace-or-symbol-or-keyword) (semantic-lex-c-if-0, semantic-lex-c-if): Deleted. (semantic-lex-cpp-define, semantic-lex-cpp-undef) (semantic-lex-c-if, semantic-lex-c-macrobits): New functions (semantic-c-lexer): Use SPP instead of previously hacked preprocessor stuff. (c-mode::semantic-dependency-system-include-path): (semantic-default-c-path): New value is nil. (semantic-dependency-system-include-path): New variable (semantic-default-c-setup): Add the SPP reset hook. * semantic-lex.el (semantic-lex-reset-hooks): new variable. (define-lex): Call the lexical reset hooks. * semantic-lex-spp.el (semantic-lex-spp-reset-hook): New function to use as a hook. (semantic-lex-spp-describe): Improve the layout a little. * semantic-lex-spp.el (semantic-lex-spp-reset-dynamic-table): New fcn. * semanticdb-ebrowse.el: (semanticdb-table-ebrowse::semanticdb-find-tags-by-name-method): Remove message. (jvebrowse-find2): Add comment about last fix. * semantic-format.el: (semantic-format-tag-name-from-anything): If anything is a tag, and that tag has no name, then use the type of the tag instead. * semanticdb-find.el (semanticdb-find-translate-path-includes-default): When using semanticdb to find tags in a table, use the method, not the generic search term. This avoids recursion. 2007-01-22 Eric M. Ludlam * semanticdb-ebrowse.el (semanticdb-create-ebrowse-database): Fix post loading of a created EBROWSE file. 2007-01-21 Eric M. Ludlam * semanticdb-ebrowse.el (ebrowse): Catch errors while loading. (semanticdb-table-ebrowse): Add 'global-extract' slot. (semanticdb-project-database-ebrowse): Remove 'mytables' slot. Add a 'globals' slot. (semanticdb-get-database-tables): Deleted (semanticdb-ebrowse-get-ebrowse-structure): Block ebrowse from displaying a progress bar. (semanticdb-project-database-ebrowse::semanticdb-create-database): Search for globals. Apply globals to constructed tables. (semanticdb-project-database-ebrowse::semanticdb-ebrowse-strip-tables): Find globals. (semanticdb-project-database-ebrowse::semanticdb-ebrowse-add-etree-to-table): Use `semanticdb-create-table' to construct new tables. (semanticdb-project-database-ebrowse::semanticdb-ebrowse-extract-globals) (semanticdb-project-database-ebrowse::semanticdb-ebrowse-extract-globals-from-sublist) (semanticdb-project-database-ebrowse::semanticdb-normalize-tag) New methods. (semanticdb-table-ebrowse::semanticdb-equivalent-mode) (semanticdb-table-ebrowse::semanticdb-find-translate-path): Deleted methods. (semanticdb-table-ebrowse::semanticdb-find-tags-by-name-method): Better doc. Constructed tags are marked as 'faux', since they are not tightly bound to the buffer. * semantic-load.el: (semantic-load-enable-minimum-features): Add support for loading in ebrowse caches. No ebrowse cache loading on XEmacs. * semantic-dep.el (semantic--dependency-find-file-on-path): Add autoload cookie. Mmm... cookies. * semanticdb-find.el: (semanticdb-strip-find-results): Allow each table in which a match was found to convert the found tags into something better. * semanticdb.el: (semanticdb-table::semanticdb-normalize-tag): New method. * semantic-analyze.el: (semantic-analyze-current-context-default): Don't do scope analysis if there are no bounds to a symbol to analyze later. 2007-01-13 Eric M. Ludlam * semantic-fw.el (semantic-fw-font-lock-keywords): Add two spp lexical macros. * bovine/semantic-bovine.el (semantic-bovinate-stream): Use `semantic-lex-token-end' and `semantic-lex-token-start' instead of directly referencing into the lexical tokens w/ car and cdr. 2007-01-12 Eric M. Ludlam * semantic-lex-spp.el (semantic-lex-spp-describe): Fix compiler warning. * semantic-lex.el (semantic-lex-keyword-symbol): Update doc. (semantic-lex-test): Add timing information (semantic-lex-token): Allow an optional string to be added to a token. (semantic-lex-token-bounds): If a token has a string (it's a macro), then bounds are in a different place. (semantic-lex-token-start): When a token contains a string return that instead of extracting the string from the current buffer. * semantic-lex-spp.el (semantic-lex-make-spp-table): Fix some argument calls. * Makefile (semantic_LISP, tolls_lisp): Added new files. * Project.ede: Add semantic-dep.el and semanticdb-ebrowse.el * semanticdb-find.el (semanticdb-find-translate-path-brutish-default): Fix reference to list of tables. (semanticdb-find-translate-path-includes-default): When recursing into dependency files for more dependencies, do a semanticdb specific search if the found table is based on semanticdb. (semanticdb-find-test-translate-path): Be robust to tables that do no provide a raw list of tags. * semantic-decorate.el (semantic-momentary-unhighlight-one-tag-line): Fix doc. * semantic-tag-file.el (semantic-dependency-tag-file): Move some parts to semantic-dep.el. Use routines in semantic-dep.el. * semantic-dep.el: Functions for dependency lookup (include tags). Contains the search path that was in semantic-tag-file. * semanticdb-ebrowse.el (semanticdb-create-ebrowse-database): Added autoload tag. Force load of created loader file. (semanticdb-ebrowse-database-list): deleted. (semanticdb-project-database-ebrowse): Remove tracking symbol. Add system-include-p flag. (c++-mode::semanticdb-find-default-throttle): Change to `project system recursive'. (semanticdb-project-database-ebrowse::semanticdb-create-database): Recycled ebrowse database objects that are pointing at the same place. (semanticdb-project-database-ebrowse::semanticdb-file-table): Search the table list with only the filename. 2007-01-09 Eric M. Ludlam * semanticdb-el.el: (semanticdb-table-emacs-lisp::semanticdb-find-tags-by-name-method): Fix a typeo. * semantic-edit.el (semantic-edits-change-over-tokens): When searching end-of-buffer tags for hits, do not compare against next tag unless there is a next tag. 2007-01-08 Eric M. Ludlam * semanticdb-ebrowse.el: Merge in changes from Joakim Verona. Updated commentary. (semanticdb-create-ebrowse-database, semanticdb-load-ebrowse-caches): New user functions for setting up databases. (semanticdb-needs-refresh-p): New JV * EL. (semanticdb-ebrowse-file-for-directory): new utility. (semanticdb-ebrowse-database-list): Local tracker variable. (*): Updates from JV. 2006-09-12 Eric M. Ludlam * semantic-idle.el (semantic-idle-scheduler-function): Remove the kill/restart of the idle timer. 2006-08-07 Eric M. Ludlam * semantic-decorate.el: (semantic-momentary-highlight-one-tag-line) (semantic-momentary-unhighlight-on-tag-line): New fcns (semantic-momentary-highlight-tag): If a tag has no overlay, use above. 2006-07-29 Eric M. Ludlam * senator.el (senator-find-tag-for-completion): Add semantic-analysis mode as an option for finding completions. Add semanticdb results stripping here. (senator-complete-symbol): Removed semanticdb result stripping. (senator-completion-menu-item): Removed semanticdb result stripping. * semantic-tag-ls.el (semantic-tag-protection): Add extra check that the tag has an overlay. * semantic-sb.el (semantic-sb-token-jump): Add an extra means of extracting a file name from a token. * semantic-ia-sb.el (semantic-ia-speedbar): Set the active mode for tag-display (semantic-ia-sb-string-list): Better non-tag tag word. * semantic-edit.el (semantic-edits-verbose-flag): Make customizable. * semanticdb-skel.el: Removed refs to emacs-lisp, replace with generic terms * semanticdb-find.el: (semanticdb-find-translate-path-brutish-default): Only return tables in a DB of the same major mod as the current major-mode. * semanticdb.el: (semanticdb-get-buffer) (semanticdb-file-table-object): Pass extra option to find-file-noselect to avoid displaying warnings. 2006-07-04 David Ponce * semantic-ede-grammar.el: Fix recursive (require 'semantic-ede-grammar) error on Emacs 22. 2006-05-31 David Ponce * wisent/wisent-java.wy (wildcard, wildcard_1, wildcard_2, wildcard_3): Add space around keywords in the returned value. (method_declarator, constructor_declarator, annotation): Pass $I placeholder to SKIP-BLOCK. (method_header, constructor_declaration): Set :template-specifier as a string for now. (type_parameters, type_parameter_list, type_parameter_list_1) (type_parameter, type_parameter_1, type_bound_opt, type_bound) (type_bound_1, additional_bound_list_opt) (additional_bound_list, additional_bound_list_1) (additional_bound, additional_bound_1): Produce a string for now. * wisent/wisent-java-tags.el, wisent/wisent-java.el (wisent-java-expand-tag): Remove. (wisent-java-default-setup): Use `semantic-java-expand-tag'. * wisent/wisent-grammar-macros.el (wisent-grammar-SKIP-BLOCK): Receive an optional $I placeholder symbol. * bovine/semantic-java.el: (semantic-java-dim, semantic-java-expand-tag) (semantic-java-type): New functions. (semantic-java-prototype-variable): Use `semantic-java-type'. (semantic-java-prototype-function): Likewise. Include :template-specifier. (semantic-java-prototype-type): Include :template-specifier. 2006-05-19 David Ponce * semantic-format.el (semantic--format-tag-arguments): Fix last change. 2006-04-06 Eric M. Ludlam * semantic-ctxt.el: (semantic-get-local-variables-default) (semantic-get-local-arguments): Add a :filename property to every found tag so the source buffer can be found later. 2006-03-27 David Ponce * wisent/wisent.el (wisent-parse-verbose-flag, wisent-recovering): Doc fix. * wisent/wisent-comp.el: (wisent-debug-flag, wisent-new-log-flag, wisent-verbose-flag) (wisent-single-start-flag, wisent-compile-grammar): Doc fix. (wisent-automaton-lisp-form): New function renamed from `wisent-byte-compile-automaton'. Don't byte-compile here. (wisent-byte-compile-grammar): Use it. byte-compile here. 2006-02-24 David Ponce * wisent/wisent-java.wy (modifiers, modifier): Revert last change. (class_body_declaration) (interface_member_declaration): Use the SKIP-TOKEN macro. (enum_body, enum_arguments_opt) (constructor_body, array_initializer, block, switch_block) (dim_expr, annotation_type_body) (member_value_array_initializer): Use the SKIP-BLOCK macro. (method_declarator) (constructor_declarator): Likewise. Improve recovery rule. (annotation): Return the annotation name. * wisent/wisent-grammar-macros.el: (wisent-grammar-SKIP-BLOCK) (wisent-grammar-SKIP-TOKEN): New functions. (wisent-grammar-mode::semantic-grammar-macros): Add SKIP-BLOCK and SKIP-TOKEN macros. * wisent/wisent.el (wisent-skip-block): Accept the starting location of the block as an optional parameter. 2006-02-24 Eric M. Ludlam * semantic-lex-spp.el: Semantic Pre-processor, for emulating pre-processors and their symbols. 2006-02-23 David Ponce * wisent/wisent-java.wy (package_declaration): Simplify. Store package modifiers for future use. (modifiers): Ignore nil values. (modifier): Don't store annotation for now. (formal_parameter, local_variable_declaration, foreach_statement) (foreach_statement_no_short_if): Handle annotations. 2006-02-17 Eric M. Ludlam * bovine/semantic-c.el (semantic-lex-c-preprocessor-symbol-map): New option (semantic-lex-c-preprocessor-dynamic-symbol-map): New var (unused) (semantic-lex-c-preprocessor-p): New fn (semantic-lex-c-define): New lexer (unused) (semantic-lex-c-preprocessor-replace-or-symbol-or-keyword): New lexer (semantic-c-lexer): Use new lexer 2006-02-16 Eric M. Ludlam * semantic-edit.el (semantic-edits-assert-valid-region): New macro (semantic-edits-incremental-parser-1): Protect against a bug where psrse-start is after parse-end. Added debugging assistance. Added some comments in some confusing code. * tests/test.py (HTTPServer.server_bind): Uncomment. * wisent/wisent-python.el (wisent-python-default-setup): Remove errant paren. * semantic-load.el (semantic-load-enable-semantic-debugging-helpers): Enable incremental parser verbosity. * doc/user-guide.texi (Speed Debug): New node. 2006-02-09 Eric M. Ludlam * wisent/wisent-python.el (wisent-python-default-setup): Apply the semantic imenu override so we don't use the one in python.el. Add symbol-> name association lists. 2006-02-08 Eric M. Ludlam * doc/Project.ede (images): Added grammar-fw-ov.txt * wisent/Makefile, tests/Makefile, doc/Makefile, bovine/Makefile (VERSION): updated * semantic-load.el (semantic-load-enable-guady-code-helpers): Alias. * semantic.el (semantic-version): Updated * Project.ede (:version): updated * Makefile (VERSION): updated * semantic-ia.el (semantic-ia-show-summary): New fcn/example * senator.el (semantic-narrow-to-tag): Undo previous... already defined as narrow-to-defun * semantic-tag.el (semantic-narrow-to-tag): Make this interactive. * senator.el (senator-menu-bar): Add item for senator-narrow-to-tag. * semantic-load.el, INSTALL: Fix gaudy typo 2006-01-12 David Ponce * wisent/wisent-java-tags.wy (variable_declarators): Include the COMMA delimiter into compound declaration bounds. 2006-01-09 David Ponce * wisent/wisent-java.wy (variable_declarators): Include the COMMA delimiter into compound declaration bounds. * senator.el (senator-search-tag-name): Search the tag name between word delimiters, whitespaces, or punctuations. 2006-01-03 David Ponce * semantic-ctxt.el (semantic-ctxt-current-symbol-default): Skip array-like expressions around symbols. * bovine/semantic-c.el (c-mode::semantic-type-relation-separator-character): Revert last change. 2005-12-07 Eric M. Ludlam * bovine/semantic-c.el: (c-mode::semantic-type-relation-separator-character): Add simple Arrays as occuring between symbols. 2005-11-22 David Ponce * wisent/wisent-java.wy (static_initializer): Use :typemodifiers attribute. (block_statements): Use :members attribute. (method_declaration, constructor_declaration): Don't store the :body attribute to save place in the tag database. * senator.el (senator-previous-tag-or-parent): Don't use `semantic-find-tag-by-overlay-prev' which skips the current tag when point is at the end of a tag overlay. 2005-11-17 David Ponce * wisent/wisent-java.wy (local_variable_declaration): Fix tag production. 2005-11-03 David Ponce * semantic-ia.el (semantic-ia-complete-symbol-menu): XEmacs `imenu--mouse-menu' compatibility fix. 2005-10-23 Eric M. Ludlam * semantic-ia.el (semantic-ia-complete-symbol): Use `senator-complete-symbol' as backup technique if smart stuff fails. * semantic-ia.el (semantic-ia-complete-symbol-menu): Fix case with only one menu item. * bovine/semantic-c.el (semantic-expand-c-tag): Replace obsolete 'token-parent' call with 'tag-type-superclasses' call instead. * bovine/c.by (typesimple): For typedef, pass 'parent' in as a list 2005-09-30 Eric M. Ludlam * tests/test.cpp (stdio.h): New include. (simple1): New function. (class1): Add var12 (class3): Add operator^= (class3::method1_for_class3): Various smart completion testing changes. (class4): Add constructor initializers (Action): Add operator+=. * tests/test.c (fun1): New. * tests/gr-test.wy, doc/fdl.texi, wisent/wisent-python.wy, wisent/wisent-python.el, wisent/wisent-java.wy, wisent/wisent-java-tags.wy, wisent/wisent-java-tags.el, wisent/wisent-java.el, wisent/wisent-grammar-macros.el, wisent/wisent-grammar.el, wisent/wisent-expr.el, wisent/wisent.el, wisent/wisent-debug.el, wisent/wisent-c.wy, wisent/wisent-comp.el, wisent/wisent-cim.wy, wisent/wisent-c.el, wisent/wisent-calc.wy, wisent/wisent-calc.el, wisent/wisent-awk.wy, wisent/semantic-wisent.el, wisent/bison-wisent.el, bovine/skeleton.by, bovine/semantic-skeleton-by.el, bovine/semantic-skel.el, bovine/semantic-scm.el, bovine/semantic-make.el, bovine/semantic-java.el, bovine/semantic-erlang.el, bovine/semantic-el.el, bovine/semantic-c.el, bovine/semantic-bovine.el, bovine/scheme.by, bovine/make.by, bovine/erlang-edoc.el, bovine/erlang.by, bovine/c.by, bovine/bovine-grammar-macros.el, bovine/bovine-grammar.el, bovine/bovine-debug.el, senator.el, semantic-util-modes.el, semantic-util.el, semantic-texi.el, semantic-tag-ls.el, semantic-tag-file.el, semantic-tag.el, semantic-sort.el, semantic-sb.el, semantic-regtest.el, semantic-load.el, semantic-lex.el, semantic-inc.el, semantic-imenu.el, semantic-idle.el, semantic-ia-sb.el, semantic-ia.el, semantic-html.el, semantic-grammar-wy.el, semantic-grammar.wy, semantic-grammar.el, semantic-fw.el, semantic-format.el, semantic-fold.el, semantic-find.el, semantic-example.el, semantic.el, semantic-edit.el, semantic-ede-grammar.el, semantic-doc.el, semantic-decorate-mode.el, semantic-decorate.el, semantic-debug.el, semanticdb-system.el, semanticdb-skel.el, semanticdb.sh, semanticdb-search.el, semanticdb-mk.el, semanticdb-java.el, semanticdb-find.el, semanticdb-file.el, semanticdb-el.el, semanticdb.el, semanticdb-ebrowse.el, semantic-ctxt.el, semantic-complete.el, semantic-chart.el, semantic-cb.el, semantic-ast.el, semantic-analyze.el, document-vars.el, document.el: Update all GPL headers with script from savannah.gnu.org. 2005-09-29 Eric M. Ludlam * bovine/c.by (HAT): Fix regexp. * bovine/semantic-c.el (c-mode::semantic-format-tag-canonical-name): New override. * document.el (document-find-file): Fix warning. * document.el (document): Fix doc. (document-inline): Use overlays to find the current tag. * semantic-doc.el (semantic-documentation-for-tag): Use below for getting a comment. (semantic-documentation-comment-preceeding-tag): New function. Like code taken from above, but using overlays to find boundaries between tags. Robust to functions with no preceeding comments. * semantic-debug.el (semantic-debug-interface::semantic-debug-highlight-rule): Make very long rules visible when focus changes to the end of those rules. * semantic-find.el (semantic-find-tag-by-overlay-prev): Find stops at END of tags when going backward. (semantic-brute-find-first-tag-by-function): Fix doc string. (semantic-brute-find-tag-by-position): Fix doc string. 2005-09-21 David Ponce * senator.el: (semantic-insert-foreign-tag-default) (semantic-insert-foreign-tag): Move to semantic-tag.el. (senator-copy-tag, senator-yank-tag) (senator-copy-tag-to-register) (insert-register, jump-to-register): Use foreign tags. * semantic-texi.el (semantic-insert-foreign-tag): Receive a foreign tag. Use `semantic-tag-buffer'. * semantic-tag.el (semantic-tag-buffer): Handle tag with an originating file. (semantic-tag-mode) (semantic-foreign-tag-invalid, semantic-foreign-tag-p) (semantic-foreign-tag-check, semantic-foreign-tag) (semantic-obtain-foreign-tag): New functions. (semantic-insert-foreign-tag-default) (semantic-insert-foreign-tag): Move from senator.el. Change arguments. * semantic-grammar.el: (semantic-ctxt-current-function) (semantic-ctxt-current-argument) (semantic-ctxt-current-assignment) (semantic-ctxt-current-class-list): Take into account the optional argument POINT. (semantic-ctxt-current-mode): New function. * semantic-ctxt.el: (semantic-ctxt-current-mode) (semantic-ctxt-current-mode-default): New functions. * document.el (document-massage-to-texinfo): Use `semantic-tag-mode'. 2005-09-16 Eric M. Ludlam * bovine/c.by (operatorsym): Move HAT EQUAL operatorysym to the end of the list. It breaks following rules. 2005-09-07 David Ponce * bovine/semantic-el.el (eval-and-compile, eval-when-compile): Make the nested form parser more robust. 2005-09-01 Eric M. Ludlam * senator.el (add-log-current-defun): Output canonical names too. Work harder at finding a parent to add to canonical name. * semantic-format.el (semantic-format-tag-functions): Add semantic-format-tag-canonical-name. (semantic-format-parent-separator): New option. (semantic--format-tag-arguments): Use below fcn (semantic-format-tag-name-from-anything): New function (from above) (semantic--format-tag-parent-tree): New unfinished function. (semantic-format-tag-canonical-name): New overload function. (semantic-format-tag-abbreviate-default): Use above. 2005-08-27 David Ponce * doc/tags.texi (Tag Overlay): Fix @strong{Note...} warning. 2005-08-26 Eric M. Ludlam * doc/tags.texi (Tag Query): New doc. * semantic-tag.el (semantic-tag-named-parent): New function (semantic-tag-function-parent): Use above. 2005-08-15 Eric M. Ludlam * semantic-fold.el (semantic-folding-click): doc update (provide): Add one. 2005-07-14 David Ponce * Makefile, wisent/Makefile, bovine/Makefile: Re-generate. * semantic-ede-grammar.el: (semantic-ede-grammar-compiler-wisent) (semantic-ede-grammar-compiler-bovine): Add quotes around EMACS. 2005-06-30 Eric M. Ludlam * semantic.el (semantic-version): Updated. * Project.ede (:version): Updated. * wisent/Makefile, tests/Makefile, doc/Makefile, bovine/Makefile, Makefile (VERSION): Updated. * senator.el: toplevel: ran checkdoc, cleaned up errant whitespace. (senantor-fold-tag,senator-unfold-tag,senator-fold-tag-toggle): Doc fix. (senator-go-to-up-reference): Error fix. (semantic-up-reference-default): Error fix. * semantic-util-modes.el: toplevel: ran checkdoc, cleaned up errant whitespace. * semantic-util.el (semantic-recursive-find-nonterminal-by-name): Doc change pending deletion. * semantic-tag-file.el: toplevel: ran checkdoc, cleaned up errant whitespace. * semantic-tag.el (semantic-tag-faux-p): Doc fix. * semantic-sort.el: toplevel: ran checkdoc, cleaned up errant whitespace. * semantic-sb.el: (semantic-sb-tag-set-buffer) (semantic-sb-insert-tag-table): Doc fix. * semantic-load.el (semantic-load-enable-minimum-features): Fix broken if statement. * semantic-lex.el (semantic-lex-expand-block-specs): Doc fix. * semantic-idle.el, semantic-grammar.el: toplevel: ran checkdoc, cleaned up errant whitespace. * semantic-fw.el: Copyright updated. * semantic-example.el: Checkdoc fixes. * semantic.el: toplevel: ran checkdoc, cleaned up errant whitespace. (semantic-parse-region): Doc fix. (semantic-parse-region-default): Error msg fixes. * semantic-decorate-mode.el: (global-semantic-decoration-mode): (semantic-decoration-mode): Checkdoc fixes. * semantic-decorate.el (semantic-set-tag-folded-isearch): Doc fix. * semantic-debug.el: (semantic-debug-find-parser-source) (semantic-debug-set-breakpoint) (semantic-debug-parser-fames): Various checkdoc fixes. * semanticdb-system.el: (semanticdb-load-system-database) (semanticdb-collect-matching-filenames): Doc fix. * semanticdb-find.el: Commentary: updated. (semanticdb-find-table-for-include-default): Add comment about cache loading. (semanticdb-find-test-translate-path): doc fix. (semanticdb-find-result-test): Fix error message. * semanticdb-file.el: toplevel: ran checkdoc, cleaned up errant whitespace. (semanticdb-file-name-directory): Doc fix. Renamed argument PATH to DIRECTORY for GNU conventions. * semanticdb-el.el: toplevel: ran checkdoc, cleaned up errant whitespace. * semanticdb.el (semanticdb-file-table): Doc fix. * semantic-ctxt.el: toplevel: ran checkdoc, cleaned up errant whitespace. (semantic-ctt-current-argument-default): Doc fix. * semantic-complete.el, semantic-chart.el, semantic-analyze.el: toplevel: ran checkdoc, cleaned up errant whitespace. 2005-06-13 David Ponce * semantic-util-modes.el (semantic-stickyfunc-mode-setup): Fix last change. Thanks to Nicholas Sandow . 2005-06-11 David Ponce * semantic-util-modes.el (semantic-stickyfunc-old-hlf): No more automatically buffer local. (semantic-stickyfunc-mode-setup): Fix save/restore of previous header line. 2005-06-02 David Ponce * semantic-grammar.el (semantic-grammar-mode): Use `semantic-run-mode-hooks'. * semantic-fw.el (semantic-run-mode-hooks): New compatibility function. (semantic-safe): Add the current buffer to the error message. * semantic-decorate-mode.el (semantic-build-decoration-mode-menu): Add autoload cookie. 2005-05-19 David Ponce * senator.el: (senator-search-ignore-tag-classes) (senator--search-filter): New variables. (senator-search-default-tag-filter): New function. (senator-search-tag-filter): Remove. (senator-search-tag-filter-functions): New hook. (senator-search): Use it. (senator-search-set-tag-class-filter): Likewise. Doc fix. 2005-05-13 David Ponce * senator.el (senator-search-tag-name): Don't fail if TAG name doesn't come from source. Doc fix. (senator-search): Likewise. 2005-05-08 Suraj Acharya * semantic-fw.el: added a binding for overlay-size/extent-length to semantic-overlay-size 2005-05-06 Eric M. Ludlam * wisent/Makefile (VERSION): Update version number (tools, wisent, languages): Add quotes around EMACS. * tests/Makefile (VERSION): Update version number * semantic-fold.el (semantic-tag-folding-decoration): Disable folding style by default. * semantic-debug.el (semantic-debug-find-parser-source): Provide a useful error if the parser source was not found. * semantic-load.el (semantic-load-system-cache-loaded): New variable. (semantic-load-enable-minimum-features): Do not load system caches more than once. * semantic-idle.el: (semantic-idle-summary-current-symbol-info-context): Be robust to failures in analysis calculation. * semantic.el (semantic-version): Update version number * semanticdb-system.el (semanticdb-load-system-caches): Disable loading non cache files. This allows other types of files in the cache directory. * INSTALL: Added semantic-load-enable-guady-code-helpers. Add custom setup section. * Makefile (VERSION): Update version number (autoloads, maintenance, init, semantic, Languages, tools, senator): Add quotes around EMACS. * Project.ede ("semantic"): Update version number * bovine/Makefile (VERSION): Update version number (bovinator, languages): Add quotes around EMACS. * doc/Makefile (VERSION): Update version number (semantic-user_info_TEXINFOS): Added minor-modes.texi. * doc/Project.ede ("semantic-user.info"): Broke out minor modes section to new file. * doc/user-guide.texi (senator): Add some new keybindings (Analyzer): Replace 'token' with 'tag'. (Class Browser): Tidy up some text. (Idle Scheduler): Menu update. (Idle Summary Mode): Add new variable. Remove completions mode. (Idle Completions Mode): New section. (Minor Modes): Moved into a sub-file. * doc/minor-modes.texi: Doc for various minor modes. 2005-05-01 Eric M. Ludlam * semanticdb-ebrowse.el: Ebrowse semanticdb backend. 2005-04-30 Eric M. Ludlam * senator.el (senator-register-custom-menu): Add space to menu item name. (senator-menu-bar): Move some items. Add decoration sub-menu. * semantic-load.el (semantic-load-enable-code-helpers): Remove some items (semantic-load-enable-guady-code-helpers): New (semantic-load-enable-excessive-code-helpers): Remove ref to old variable. * semantic-decorate-mode.el (semantic-decoration-style-enabled-p): New fcn. (semantic-decoration-menu-cache, semantic-decoration-build-style-menu) (semantic-build-decoration-mode-menu): New. (define-semantic-decoration-style): Enable a set of optional flags. (semantic-tag-boundary-p-default): Remove minimum size constraint. (semantic-decoration-on-private-members) (semantic-decoration-on-protected-members): Disable by default. 2005-04-23 Eric M. Ludlam * semantic-util-modes.el (semantic-stickyfunc-mode-map): Add keypress for menu in header line. (semantic-stickyfunc-popup-menu): New variable and menu. (semantic-stickyfunc-menu): Command. 2005-04-22 Eric M. Ludlam * semantic-tag.el: Update Commentary. 2005-04-20 Eric M. Ludlam * semantic-load.el (semantic-load-enable-code-helpers): For code helpers, do not turn on completions mode if there are no tooltips. 2005-04-19 Eric M. Ludlam * semantic.el (semantic-version): Update version number. * wisent/Makefile, tests/Makefile, doc/Makefile, bovine/Makefile, Makefile (VERSION): Updated. * Project.ede ("semantic"): Update version number. * bovine/semantic-el.el (semantic-dependency-tag-file): Renamed from old not compatible name. * semantic-sort.el (semantic-tag-external-member-parent): Fix Typo. * NEWS: Add section on lexical debugging. 2005-04-17 Eric M. Ludlam * semantic-fold.el (semantic-tag-folding-decoration-p-default): Fix comment. Only show +/- if in folding mode. (semantic-tag-folding-decoration-highlight-default): Fix doc. 2005-04-16 David Ponce * semantic-tag.el (semantic-tag-faux-p, semantic-tag-set-faux): Rename the 'faux property to :faux-flag. * semantic-sort.el (semantic-adopt-external-members): Use `semantic-tag-set-faux'. * bovine/c.by (operatorsym): Fix previous change. 2005-04-16 Eric M. Ludlam * senator.el (senator-go-to-up-reference): New command. (semantic-up-reference[-default]): New override method. (senator-prefix-map): Add up-reference command. (senator-menu-bar): same. 2005-04-15 Eric M. Ludlam * bovine/semantic-c.el (semantic-tag-protection): Use tag equivalency, not eq. * bovine/c.by (MOD, HAT, OR): New tokens. (operatorsym): Add many more possible overloadable operators. * semantic-sort.el (semantic-adopt-external-members): Revamp to use 'faux' tag interface added to semantic-tag.el * semantic-tag.el (semantic-tag-faux-p, semantic-tag-set-faux): New functions 2005-04-01 Eric M. Ludlam * bovine/c.by (fun-or-proto-end): Allow arguments after catch. * bovine/c.by (fun-or-proto-end): Allow initializers after TRY. * bovine/c.by (TRY, CATCH): New tokens (fun-or-proto-end): Add TRY/CATCH option to function body. * semantic-idle.el (semantic-idle-core-handler): Allow services to run if lexical unsafe. (semantic-idle-summary-current-symbol-info-context): Use new analyzer API call to get an interesting tag. * semantic-analyze.el: (semantic-analyze-interesting-tag): New methods for `semantic-analyze-context', `-functionarg', and `-assignment'. * semantic-ctxt.el (semantic-end-of-context-default): Make robust to incomplete syntax. * semantic.el (semantic-refresh-tags-safe): New function. * semantic-lex.el (semantic-lex-debug-analyzers): New option. (semantic-lex-unterminated-syntax-protection): Debug syntax problems iff both lex debug and debug-on-error is active. 2005-03-24 Eric M. Ludlam * semantic-imenu.el: (semantic-imenu-index-directory) (semantic-imenu-auto-rebuild-directory-indexes): New default value is nil. 2005-03-01 Eric M. Ludlam * semantic-sb.el (semantic-sb-token-jump): Be sure to switch to the buffer being jumped to by `semantic-go-to-tag'. 2005-02-20 Eric M. Ludlam * semantic-tag-file.el (semantic-go-to-tag): Use `cond'. Use `semantic-tag-file-name' when applicable. If no position is found, use current buffer and re-search-forward. (semantic-dependency-tag-file): Switch to tag originating buffer before calling any override methods. Add caching mechanism around the override part. 2005-02-17 Eric M. Ludlam * bovine/semantic-el.el (semantic--elisp-parse-table): Fix reverse issue on tag lists. (semantic-elisp-setup-form-parser): New parser entity (defvar): Add defezimage. (defmethod): Don't specify parent of not specified in arg list. (define-mode-overload-implementation): Add obsolete comment. * tests/test.el: New test functions for Emacs Lisp. * semantic-util-modes.el (semantic-stickyfunc-mode-setup): Pass a second argument to local-variable-p. 2005-02-15 Klaus Berndl * semantic-regtest.el: - Removed the semantic 1.4 support - Whitespace-normalizing of tag-name and tag-text - Added help-echos for semantic-regtest-mode - distinction between user-commands and internal-equivalents for being used from within elisp - new option semantic-regtest-print-tag-boundaries 2005-02-13 Eric M. Ludlam * semantic-util-modes.el (semantic-stickyfunc-indent-string): New default value calculated from the environment. (semantic-stickyfunc-fetch-stickyline): Replace tabs with spaces before presenting the string. * semantic-tag-file.el (semantic-dependency-tag-file): Cache found dependency in tag property. If it isn't found, cache that too. * semantic-idle.el (semantic-idle-scheduler-verbose-flag): New option (semantic-idle-core-handler) (semantic-idle-scheduler-refresh-tags): Be verbose if flag is non-nil. 2005-02-04 Eric M. Ludlam * semanticdb-system.el (semanticdb-system-database-warn-level): New option (semanticdb-system-db-directory-search-recursed): New state (semanticdb-load-system-database): Ask if files list is very long (semanticdb-collect-matching-filenames): Add not-recursive option. * senator.el: (semantor-fold-tag, senator-unfold-tag, senator-fold-tag-tooggle): New commands. (senator-prefix-map): Add folding commands. (senator-menu-bar): Add folding commands. 2005-02-03 Eric M. Ludlam * semantic-fold.el: Folding decoration/mode. * wisent/Makefile, tests/Makefile (VERSION): Updated version number. * tests/test.cpp (method1_for_class3): Added space where completion tests cn occur (method5_for_class3): Added 'doc' string in comment at top. * doc/user-guide.texi (semanticdb): Refer to updated install mechanism. (Semanticdb Search Configuration): Added throttle discussion. (Semanticdb System Backends): Mention the omniscience throttle key. * doc/app-dev-guide.texi (top): Add Tag Decoration node (Tag Decoration): New chapter with several subsections (Semanticdb Tag Queries): Fixed up first paragraph Remove path translation. (DB Results): Change "token" to "tag". (DB Search Paths): New section * doc/Makefile, bovine/Makefile (VERSION): Updated version number. * NEWS: Added folded tags to news. Fixed name of a function with -nonterminal- Added info about texi parser. * Makefile (VERSION): Updated version number. * Makefile (VERSION): Updated version number. (example_MISC): Added semanticdb-skel.el * Project.ede ("semantic"): Update version number. ("example"): Added semanticdb-skel.el * semantic-fold.el: A hack for a folding mode with +/- in the fringe. * semantic-decorate.el (semantic-set-tag-folded, semantic-tag-folded-p): New functions. (semantic-set-tag-folded-isearch): New callback 2005-02-02 Eric M. Ludlam * semanticdb-find.el (semanticdb-find-test-translate-path): Refer to the throttle variable in doc string. 2005-02-01 Eric M. Ludlam * semanticdb-skel.el: First pass at a skeleton for making new semanticdb system databases. 2005-01-30 Eric M. Ludlam * semanticdb-el.el (semanticdb-find-default-throttle): Rename 'omnipotent' to 'omniscience' * semanticdb-find.el: (semanticdb-find-throttle-custom-list) (semanticdb-find-default-throttle) (semanticdb-find-table-for-include-default): Rename 'omnipotent' to 'omniscience', which is a better word. 2005-01-29 Eric M. Ludlam * bovine/semantic-c.el (semantic-default-c-path): Add to semantic custom group. * semantic-load.el (semantic-load-enable-minimum-features): Fix doc * semanticdb-system.el (semanticdb-load-system-caches): Don't load backup files. (semanticdb-load-system-database): Force tag parsing at load time since this is no longer guaranteed. * semanticdb-find.el (semanticdb-find-throttle-custom-list): New variable (semanticdb-find-default-throttle): New user option. (semanticdb-find-throttle-active-p): New predicate (semanticdb-find-translate-path-includes-default): Only recurse if recursion is enabled. (semanticdb-find-table-for-include-default): Add throttling code. Re-enable old system database loading. Use new commnds to get system databases if available, then resort to a normal load. (semanticdb-find-test-translate-path): Update from Jan's input. * semanticdb-el.el (semanticdb-find-default-throttle): Specifiy an Emacs Lisp value. * semanticdb.el (semanticdb-dump-all-table-summary): New debugging command. (semanticdb-file-table-object): When loading a table, make sure we grab system databases too. 2005-01-28 David Ponce * semantic-tag.el (semantic-tag-buffer): Ensure the tag's overlay is living. * semantic-fw.el: (semantic-overlay-live-p) [XEmacs]: Align with Emacs' `overlay-buffer' behavior. 2005-01-20 Eric M. Ludlam * doc/user-guide.texi (Minor Modes): Update doc to many minor modes. highlight-by-attribute mode was replaced with decoration mode. (semanticdb): Update doc with doc-strings, usually by adding an achor. * semantic.el (semantic-version): Update to 2.0! Whoo Hoo! (semantic-repeat-parse-whole-stream): Add infinite loop detection. * semantic-cb.el: (semantic-cb-tag) (semantic-cb-type) (semantic-cb-add-incomplete-type) (semantic-cb-new-class-browser) (semantic-cb-complete-type) (semantic-cb-convert-type) (semantic-cb-convert-children) (initialize-instance) (semantic-dot*) (eieio-speedbar-*): Replace all references to TOKEN with TAG. (semantic-cb-speedbar-key-map): Create an eieio-speedbar-key-map. * semanticdb.el (semanticdb-current-database-list): If no roots are found, use the current directory as the root. 2005-01-20 David Ponce * doc/internals.texi (Semanticdb): New section. * doc/semantic.texi: Copyright update. 2005-01-17 Eric M. Ludlam * semantic-complete.el (semantic-complete-inline-analyzer): Allow completion when the current symbol is empty, but there is an active parent symbol. 2005-01-16 Eric M. Ludlam * semantic-texi.el (semantic-sb-tag-children-to-expand): Delete. The semantic support file already does this. * bovine/semantic-el.el: Fix copyright. 2005-01-13 Eric M. Ludlam * semantic-edit.el, semantic-grammar.el, semantic-ia.el, semantic-sb.el, semanticdb-find.el: Fix copyright year listing 2005-01-12 Eric M. Ludlam * bovine/semantic-el.el (semantic-documentation-for-tag): For tags with no known documentation, cheat and snag some from the Emacs environment. * semanticdb.el (semanticdb-project-root-functions): Update doc. (semanticdb-current-database-list): Allow prev to return multiple roots. * semanticdb-el.el (semanticdb-find-translate-path): Prevent the systemdb from being added when we recurse into this fcn. * semanticdb-find.el (semanticdb-find-test-translate-path): Fix doc (semanticdb-strip-find-results): Implement previously missing feature for `find-file-match'. (semanticdb-find-tags-collector): Reverse return results so they are in the same order as the input path. * doc/user-guide.texi (Smart Completion): Added semantic-ia-show-doc * semantic-ia.el (semantic-ia-sow-doc): New command. * semantic-sb.el: Update comment/TODO * semantic-sb.el (semantic-sb-tag-set-buffer, semantic-sb-with-tag-buffer): New fcn/macro (semantic-sb-tag-children-to-expand-default) (semantc-sb-one-button, semantic-sb-insert-details) (semantic-sb-fetch-tag-table): Wrap calls to override methods with new macro. 2005-01-12 David Ponce * wisent/wisent-grammar-macros.el (wisent-grammar-ALIAS-TAG): New function. (semantic-grammar-macros): Add ALIAS-tAG. 2005-01-11 Eric M. Ludlam * semantic-sb.el (semantic-sb-one-button): Replace old logic with new override function. * semantic-grammar.el (semantic-grammar-syntax-help): Add ALIAS-TAG help. * doc/lang-support-guide.texi (Incremental Parser Debugging): Add verbosity flag. * semantic-edit.el (semantic-edits-verbose-flag): New flag. (semantic-parse-changes-failed, semantic-edits-incremental-fail) (semantic-edits-incremental-parser-1): Use above new flag. * doc/lang-support-guide.texi (Incremental Parser Debugging): Updated to changes in lisp code. * semantic-util-modes.el (semantic-show-parser-state-marker): change state symbol so it is more visible. * bovine/bovine-grammar-macros.el (bovine-grammar-ALIAS-TAG): New fcn (semantic-grammar-macros): Add above. 2005-01-10 David Ponce * semantic.el (semantic-parse-region-default): Try to reuse tokens from inside collapsed blocks. (semantic-fetch-tags): Initialize `semantic-lex-block-streams'. * semantic-lex.el: (semantic-lex-block-streams) (semantic-lex-block-stack): New variables. (define-lex): Use them. Improved error messages. Handle unterminated collapsed blocks. (semantic-lex-start-block, semantic-lex-end-block): New functions. (semantic-lex-expand-block-specs): New function. (semantic-lex-push-token): Use it. Doc fix. 2005-01-07 Eric M. Ludlam * semantic-html.el: (semantic-html-extract-section-name): Fix up requires. Improve robustness of anchor text extraction. 2005-01-06 David Ponce * semantic-tag.el: (semantic-tag-new-alias, semantic-tag-alias-class) (semantic-tag-alias-definition): New functions. 2005-01-06 Eric M. Ludlam * semantic-util.el: (semantic-describe-tag, semantic-add-label, semantic-show-label): Convert "token" names to "tag". 2005-01-05 David Ponce * wisent/wisent.el (wisent-production-bounds): Ensure i doesn't go beyond j. * bovine/semantic-el.el (defstruct): Don't put doc string in structure members. Handle defstruct name when it is a simple symbol. 2005-01-04 Eric M. Ludlam * semantic-cb.el (semantic-cb-speedbar-mode): Force a new class browser to be created before initializing speedbar. 2004-12-18 Eric M. Ludlam * semantic-complete.el (semantic-complete-default-to-tag): Get car of search results. (semantic-displayor-focus-request): Have match index be 1 based. 2004-12-15 Eric M. Ludlam * semanticdb-find.el (semanticdb-find-translate-path-brutish-default): Fix comments (semanticdb-find-test-translate-path): New command. 2004-12-01 David Ponce * senator.el (senator-add-log-tags): Doc fix. (add-log-current-defun): Process tags in reverse order to examine the ones closest to point first (thanks to Alan Shutko ). Minor code improvements. 2004-10-26 Eric M. Ludlam * semantic-fw.el (subst-char-in-string): Removed previous re-implementation. * semanticdb-file.el: (semanticdb-file-name-directory): Use compatible version of subst-char-in-string. * semantic-fw.el (subst-char-in-string): New alias/compat function. Thanks Andrey Slusar. (semantic-safe): Notes to self. 2004-10-21 David Ponce * semantic-imenu.el (working): Require it. (semantic-imenu-rebuild-directory-indexes): Use `working-temp-message' to not obscure other important messages. 2004-10-19 David Ponce * semantic-fw.el (subst-char-in-string): Define if not fboundp for compatibility with XEmacs. 2004-10-14 Eric M. Ludlam * semantic-ia-sb.el (semantic-ia-sb-key-map): Fix name of info function (semantic-ia-sb-tag-info): Don't show info for non-tags. Remove use of old semantic-ia-sb-last-analysis. (semantic-ia-sb-line-path, semantic-ia-sb-complete): Remove use of old semantic-ia-sb-last-analysis. 2004-10-05 David Ponce * semantic-tag.el (semantic-tag-p): Fix last change. 2004-10-04 David Ponce * semantic-tag.el (semantic-tag-p): Return nil if an error occurs. 2004-09-22 David Ponce * bovine/skeleton.by (PERIOD): Replace \\b \\b by \\` \\' in token regexp. * bovine/make.by: (COLON, PLUS, EQUAL) (DOLLAR, BACKSLASH): Replace \\b \\b by \\` \\' in token regexp. * bovine/erlang.by: (HASH, PERIOD, COLON, SEMICOLON, STAR, AMPERSAND) (DIVIDE, PLUS, MINUS, BANG, WHY, EQUAL, LESS, GREATER) (COMA, VDE): Replace \\b \\b by \\` \\' in token regexp. * bovine/c.by: (HASH, PERIOD, COLON, SEMICOLON, STAR, AMPERSAND) (DIVIDE, PLUS, MINUS, BANG, EQUAL, LESS, GREATER) (COMA, TILDE): Replace \\b \\b by \\` \\' in token regexp. 2004-09-21 David Ponce * NEWS: Add note about Elisp parser improvement. * bovine/semantic-el.el (semantic-emacs-lisp-lexer): Move. (semantic-elisp-reuse-form-parser): New function. (semantic-elisp-setup-form-parser): New function. (semantic-elisp-use-read): Use it. (eval-and-compile, eval-when-compile, defun, defun*, defsubst) (defmacro, define-overload, defvar, defconst, defcustom) (defface, defimage, autoload, defmethod, defgeneric, defadvice) (defclass, defstruct, define-lex) (define-mode-overload-implementation, define-mode-local-override) (defvar-mode-local, require, provide): Setup form parsers. 2004-09-15 David Ponce * wisent/wisent-python.el (wisent-python-forward-line): Don't use forward-sexp to skip comment at end of line. (wisent-python-end-of-block): Include final newline in block. * wisent/wisent-python.wy: Reorder and cleanup token declarations to avoid warnings. Auto-generate symbol, keyword, number, block and punctuation analyzers. Use %keyword to declare keywords. (class_declaration): Fix TYPE-TAG production. (paren_class_list): Return a list of class names. (paren_class): Handle dotted name. * wisent/wisent-python.el: Remove obsolete code and update comments. Use variable and function names consistent with the library name. Cleanup and improve lexical analysis code. (wisent-python-explicit-line-continuation): Remove. (wisent-python-string-re): Update from python 2.3 specs. (wisent-python-indent-stack): Rename from wisent-python-lexer-indent-stack. Move. All uses changed. (semantic-lex-python-pop-indent-stack): Remove. (wisent-python-implicit-line-joining-p) (wisent-python-forward-string) (wisent-python-forward-line-skip-indented) (wisent-python-end-of-block): New functions. (wisent-python-scan-lists, scan-lists): Remove. (wisent-python-forward-line): Rename from python-next-line. Simplify and make more robust. (wisent-python-lex-beginning-of-line): Rename from semantic-lex-python-beginning-of-line. All uses changed. Simplify with use of above new functions. Don't hard code too much things. (semantic-lex-python-reset-continued-line): Remove. (wisent-python-lex-end-of-line): Rename from semantic-lex-python-newline. All uses changed. Does nothing if implicit line joining. No more handle what remains in the indentation stack. (wisent-python-lex-string): Rename from semantic-lex-python-string. All uses changed. Simplify with use of wisent-python-forward-string. (wisent-python-lex-ignore-backslash): Rename from semantic-lex-python-charquote, simplify. All uses changed. (semantic-lex-python-symbol, semantic-lex-python-number) (semantic-lex-python-blocks): Remove. Auto-generate. (wisent-python-lexer): Rename from semantic-python-lexer. All uses changed. Use updated and auto-generated analyzers. (semantic-parse-region): Remove. (semantic-lex): Override in python-mode to handle the indentation stack. (semantic-get-local-variables): Move. (wisent-python-default-setup): Set parse-sexp-ignore-comments to non-nil. Remove unnecessary code. (wisent-python-lex-buffer): Code cleanup. * semantic-lex.el (semantic-lex-init): Code cleanup. (semantic-lex-unterminated-syntax-protection): Don't catch errors when debug-on-error is set. (semantic-lex-catch-errors): Code cleanup. Print the symbol on which lexical analysis failed. * semantic-idle.el (semantic-idle-core-handler): Ignore non file buffers. Check here if the idle scheduler is enabled in current buffer. Use dolist and with-current-buffer to simplify the code. (semantic-idle-scheduler-function): Let a chance to process other buffers even if the idle scheduler is not enabled in current buffer. Ensure to always resume the idle scheduler timer. Don't do unnecessary save match data. * semantic.el (semantic-new-buffer-fcn): Set semantic-new-buffer-fcn-was-run to non-nil before calling semantic functions. Remove unnecessary call to semantic-parse-tree-set-needs-rebuild. (semantic-parse-region-default): Fix messages. Remove obsolete code and comments. 2004-09-08 David Ponce * bovine/semantic-c.el (semantic-tag-abstract-p): Also check for virtual modifier in function tag. 2004-08-25 David Ponce * wisent/wisent-java.wy (prologue): Define `wisent-java-wy--anons'. (field_declaration): Include definition of anonymous classes. (variable_declarator): Handle definition of anonymous classes. (class_instance_creation_expression): Ditto. * wisent/wisent-java.el (wisent-java-default-setup): Setup `semantic-imenu-expandable-tag-classes' to expand types and variables. * doc/user-guide.texi (imenu): Document `semantic-imenu-expandable-tag-classes' in place of `semantic-imenu-expandable-tag-class'. * semantic-texi.el (semantic-default-texi-setup): Update to use `semantic-imenu-expandable-tag-classes'. * semantic-imenu.el (semantic-imenu-expandable-tag-classes): Rename from `semantic-imenu-expandable-tag-class'. Accept a list of tag classes. All uses changed. * semanticdb.el (semanticdb-file-table-object): After loading a file, ensure that the returned DB table contains tags. 2004-08-09 Eric M. Ludlam * semanticdb-mk.el (toplevel): Remove "compare" message. Add better per-file message reporting number of toplevel tags. Fix bug when jumping between subdirectories. 2004-08-04 Eric M. Ludlam * wisent/wisent-python.el (python-next-line): Fix hang on unterminated lists. 2004-08-03 Eric M. Ludlam * semantic-complete.el (initialize-instance): Make tooltip loading safe. * semanticdb-mk.el (semanticdb-mk-find-eieio): Deleted. ("Old setup code"): Replaced with ("New setup code"): load cedet.el from the usual place for a full seutp. ("Argument parser"): Stop if there are no files found. * semanticdb.sh: Add smarter auto-path setup. 2004-07-30 Eric M. Ludlam * semantic-html.el: (semantic-html-set-endpoint, semantic-html-recursive-combobulate-list): Fix locatins still refering to "texinfo" files. * semanticdb-find.el (semanticdb-find-translate-path-brutish-default): Update code comments. 2004-07-29 Eric M. Ludlam * semantic-fw.el (semantic-fw-font-lock-keywords): Made Emacs 21.2 safe. 2004-07-26 David Ponce * doc/grammar-fw.texi (Editing grammars): Document `semantic-grammar-insert-keyword'. 2004-07-23 Eric M. Ludlam * bovine/semantic-c.el (semantic-tag-abstract-p): Fix bug referencing cs. 2004-07-21 Eric M. Ludlam * NEWS: Added `semantic-decoration-mode'. 2004-07-20 Eric M. Ludlam * wisent/Makefile (VERSION): Updated to beta3 * tests/test.cpp (method1_for_class3, method4_for_class3): Various completion tests. * tests/test.c (funcptr): Test function pointer parsing. * tests/scopetest.cpp (amethod2): Added some entries to test completion. * tests/Makefile, doc/Makefile, bovine/Makefile, Makefile (VERSION): Updated to beta3 * semantic-fw.el (semantic-compile-warn): Make sure this alias is evaluated at compile time. * semantic-grammar.el (semantic-grammar-map, semantic-grammar-menu): Add semantic-grammar-insert-keyword function. (semantic-grammar-insert-keyword): New function. * semantic.el (semantic-version): Version change. * Project.ede ("semantic"): Version chane. * semanticdb-find.el (semanticdb-find-result-test): new function 2004-07-16 Eric M. Ludlam * semantic-complete.el (semantic-complete-default-to-tag): Extract tag from find-result-nth correctly. (semantic-collector-abstract): Change datatype of last-all-completions to allow nil. (semantic-collector-calculate-completions-raw): Break it up so it is easier to debug. (semantic-collector-calculate-completions): Only calculate last-completion slot if there is a value for `completion'. 2004-07-15 Eric M. Ludlam * semanticdb-file.el (semanticdb-persistent-path): doc fix. * semantic-ctxt.el (semantic-get-local-variables-default): Do nothing if there is no parser table. * semantic-html.el (html-helper-mode): Make this a child mode of html-mode. * semantic.el (semantic-parse-region-default): Do nothing if the parse table has a bad value. * bovine/semantic-c.el: (semantic-tag-expand-function) (semantic-dependency-include-path) (semantic-orphaned-member-metaparent-type) (semantic-symbol->name-assoc-list) (semantic-symbol->name-assoc-list-for-type-parts) (imenu-create-index-function) (semantic-type-relation-separator-character) (semantic-command-separation-character) (document-comment-start) (document-comment-line-prefix) (document-comment-end) (senator-step-at-tag-classes): New mode local variables (semantic-default-c-setup): Removed above from hook. * bovine/semantic-c.el: (semantic-format-tag-name, semantic-tag-protection) (semantic-tag-components, semantic-format-tag-type) (semantic-format-tag-concise-prototype) (semantic-format-tag-uml-prototype, semantic-tag-abstract-p) (semantic-analyze-dereference-metatype) (semantic-analyze-type-constants): Converted from semantic-c-* to methods created with `define-mode-local-override'. (semantic-default-c-setup): Remove old setup code (c++-mode): Declair as a mode-local child of c-mode. 2004-07-13 Eric M. Ludlam * INSTALL: Fix numbering issue. 2004-06-29 David Ponce * semantic-edit.el (working): Require. (semantic-parse-changes-failed): Use `working-temp-message'. (semantic-edits-incremental-fail) (semantic-edits-incremental-parser) (semantic-edits-incremental-parser-1): Likewise. * bovine/semantic-c.el (semantic-c-end-of-macro): New function. (semantic-lex-c-if): Use it. * semantic-decorate-mode.el (semantic-decoration-mode): Add autoload cookie. 2004-06-28 David Ponce * semantic-decorate-mode.el (semantic-decoration-styles): Remove duplicate definition. 2004-06-28 Eric M. Ludlam * semantic-idle.el: (global-semantic-idle-scheduler-mode) (define-semantic-idle-service): Added to semantic-modes group. * semantic-decorate-mode.el (semantic-decoration-styles): Moved (global-semantic-decoration-mode): Add to semantic-modes group. (define-semantic-decoration-style): Do not eval-and-compile in the macro. * semantic-util-modes.el (semantic-modes): New customization group (global-semantic-highlight-edits-mode) (global-semantic-show-unmatched-syntax-mode) (global-semantic-stickyfunc-mode): Add to new customization group. 2004-06-28 David Ponce * wisent/wisent-python.el (semantic-get-local-variables): New override. * semantic-decorate-mode.el (semantic-decoration-styles): Move before first use and make available at compilation time. 2004-06-24 David Ponce * bovine/Makefile, doc/Makefile, Makefile, tests/Makefile, wisent/Makefile: Re-generated. * semantic.el (semantic-new-buffer-fcn): Don't setup semantic again if buffer is already semantic-enabled. 2004-06-24 Eric M. Ludlam * semantic-load.el: (semantic-load-enable-minimum-features) (semantic-load-enable-code-helpers) (semantic-load-enable-excessive-code-helpers) (semantic-load-enable-semantic-debugging-helpers): New functions toplevel: Remove old enabling code, replace with call to new functions. * Makefile (tools_LISP): Includese semantic-decorate-mode.el * Project.ede: ("tools") Added semantic-decoration-mode.el * semantic-format.el (semantic-format-tag-custom-list): Add autoload cookie. * bovine/semantic-el.el (semantic-format-tag-abbreviate): Remove trailing space from name. (semantic-format-tag-prototype): If there are no arguments, remove trailing space from name. * semantic-complete.el (semantic-complete-inline-analyzer): Enable inline completion if there is only one match, and that match is not the same as the input symbol. 2004-06-22 David Ponce * semantic-fw.el (defvar-mode-local, defconst-mode-local): Remove setup of lisp-indent-function property now in common/mode-local.el. * semantic-fw.el (semantic-fw-font-lock-keywords): Add `define-semantic-decoration-style'. 2004-06-21 David Ponce * semantic-fw.el (semantic-compile-warn): New function. (semantic-alias-obsolete): Use it to issue less intrusive messages. (semantic-varalias-obsolete): Ditto. 2004-06-19 Eric M. Ludlam * semantic-util-modes.el: Note: The functionality moved to semantic-decoration-mode: (global-semantic-show-tag-boundaries-mode) (semantic-show-tag-boundaries-setup) (semantic-show-tag-boundaries-mode) (semantic-tag-boundary-p-default) (semantic-tag-boundary-overlay-p) (semantic-stb-flush-rogue-boundaries) (semantic-stb-clear-boundaries) (semantic-stb-after-full-reparse-hook) (semantic-stb-reparse-hook) (semantic-stb-highlight-tag-line1) (global-semantic-highlight-by-attribute-mode) (semantic-highlight-by-attribute-setup) (semantic-highlight-by-attribute-mode) (semantic-hba-clear-highlighting) (semantic-hba-reparse-hook) (semantic-hba-highlight-tag): Deleted functions (semantic-show-tag-boundaries-mode) (semantic-highlight-by-attribute-mode): Deleted variables (global-semantic-show-tag-boundaries-mode) (semantic-show-tag-boundaries-hook) (global-semantic-highlight-by-attribute-mode) (semantic-highlight-by-attribute-hook) (semantic-highlight-attribute-alist): Deleted custom vars. * senator.el (senator-register-custom-menu): New function. (senator-register-mode-menu-entry): Add `custom' argument. Add customization menu entries to the dynamic list. (senator-build-mode-sub-menu): Support Customization menu entries. ("Senator"): Add customize group entry. ("Highlight changes", "Highlight Unmatched Syntax"): Add customize face entry ("Idle Scheduler"): Add entry to customize two variables. ("Tag Decoration"): New entry. ("Show Tag Boundaries", "Highlight Tags by attribute"): Deleted. * doc/lang-support-guide.texi (Parsing a language file): Add space between paragraphs * semantic-decorate-mode.el (semantic-decorate-add-decorations): Support invalid entries in the styles list. (semantic-decoration-styles): Enable customization. 2004-06-19 David Ponce * doc/lang-support-guide.texi (Parsing a language file): Doc for `semantic-fetch-available-tags'. 2004-06-18 David Ponce * semantic-decorate-mode.el (semantic-decoration-mode-setup): Use `semantic-fetch-available-tags' to postpone parse till after the buffer is displayed. * semantic.el (semantic-fetch-available-tags): New function. 2004-06-17 David Ponce * semantic-decorate-mode.el (semantic-decorate, cl): Require. (semantic-decorate-style-predicate) (semantic-decorate-style-highlighter) (semantic-decoration-p) (semantic-decoration-set-property) (semantic-decoration-get-property) (semantic-decoration-set-face) (semantic-decoration-face) (semantic-decoration-set-priority) (semantic-decoration-priority) (semantic-decoration-move) (semantic-decorate-tag) (semantic-decorate-clear-tag) (semantic-decorate-tag-decoration) (semantic-decorate-flush-decorations) (semantic-decorate-clear-decorations) (semantic-decorate-add-decorations) (semantic-decorate-tags-after-full-reparse) (semantic-decorate-tags-after-partial-reparse): New functions. (semantic-decoration-styles): New variable. (global-semantic-decoration-mode): Doc fix. (semantic-decoration-mode-hook): Rename from `semantic-decoration-hook'. Callers updated. (semantic-decoration-mode-setup): Rename from `semantic-decoration-setup'. Callers updated. Use new functions. (semantic-decoration-mode): Doc fix. (semantic-decorate-tag-secondary-overlay-p) (semantic-dso-flush-rogue-overlays) (semantic-dso-clear) (semantic-dso-after-full-reparse-hook) (semantic-decorate-reparse-hook) (semantic-decoration-primary-alist) (semantic-decoration-secondary-alist) (define-semantic-decoration-on-primary-overlay) (define-semantic-decoration-on-secondary-overlay): Remove. (semantic-toggle-decoration-style): New command. (define-semantic-decoration-style): New macro. (semantic-tag-boundary-face): Doc fix. (semantic-tag-boundary-p-default): Doc fix and minor code change. (semantic-tag-boundary-highlight-default): Update doc and code. (semantic-decoration-on-private-members) (semantic-decoration-on-private-members-face) (semantic-decoration-on-private-members-p-default) (semantic-decoration-on-private-members-highlight-default) Rename from `semantic-decoration-private-*'. Update doc and code. (semantic-decoration-on-protected-members) (semantic-decoration-on-protected-members-face) (semantic-decoration-on-protected-members-p-default) (semantic-decoration-on-protected-members-highlight-default): Rename from `semantic-decoration-protected-*'. Update doc and code. 2004-06-15 David Ponce * wisent/wisent-java.wy (formal_parameter): Fix :typemodifiers value. (local_variable_declaration): Likewise. 2004-06-14 David Ponce * semantic-decorate-mode.el (global-semantic-decoration-mode): Fix :require. 2004-06-13 Eric M. Ludlam * semantic-decorate-mode.el: Define a major mode for managing tag decorations. Define a way for creating decoration styles on the primary overlay. Define a way for creating decoration styles using a secondary overlay. Define replacements for defaults in semantic-higlight-by-attribute-mode and a replacement for semantic-show-tag-boundaries-mode. 2004-06-12 David Ponce * semantic-edit.el (semantic-edits-incremental-parser): Schedule a full re-parse on error, when `debug-on-error' is not set. 2004-06-11 David Ponce * senator.el (senator-minor-mode-setup): Remove unnecessary `condition-case'. 2004-06-10 Eric M. Ludlam * senator.el (senator-minor-mode-setup): Do not parse buffer when enabling senator. * semantic-util-modes.el (semantic-show-unmatched-syntax-mode-setup): When enabling the mode, if the syntax is out of date, do not immediatly display. (semantic-show-tag-boundaries-mode): Doc fix (semantic-highlight-by-attribute-mode): Doc fix * semantic-util-modes.el: Remove History: comment block. * semantic-idle.el (semantic-idle-scheduler-function): Wrap body in `save-match-data' 2004-06-09 David Ponce * semantic-edit.el (semantic-edits-change-between-tokens): Fix error on change after the last tag. (semantic-parse-changes-failed): Use `throw' instead of `signal'. (semantic-parse-changes-failed): Remove error condition. (semantic-edits-incremental-parser-1): Rename from `semantic-edits-incremental-parser'. Remove `condition-case'. (semantic-edits-incremental-parser): Call it safely. * semantic-edit.el (semantic-parse-changes-failed): New error condition. (semantic-parse-changes-failed): New function. (semantic-edits-incremental-parser): Use it. 2004-06-08 David Ponce * semantic-grammar.el (semantic-grammar-create-package): Use Unix EOLs, so that the generated file is portable to all platforms. 2004-06-06 David Ponce * semantic-idle.el (semantic-idle-summary): Move (require 'eldoc), which always returns non-nil, outside of the `or' condition. 2004-05-26 David Ponce * wisent/wisent-python.wy (suite): Fix last change. 2004-05-25 David Ponce * bovine/Makefile, tests/Makefile, wisent/Makefile, Makefile: Re-generated to start Emacs with --no-site-file. * semantic-ede-grammar.el (semantic-ede-grammar-compiler-wisent): Start Emacs with --no-site-file option instead of -q. (semantic-ede-grammar-compiler-bovine): Likewise. 2004-05-22 Eric M. Ludlam * wisent/wisent-python.wy (suite): Do not reverse the list of items from the indented block. * semantic-idle.el (define-semantic-idle-service): Comment fixes. (semantic-idle-summary): Add require for eldoc in this function. * semantic-util-modes.el: (semantic-highlight-attribute-face-private) (semantic-highlight-attibute-face-protected): Convert light background from an overline to a background color. 2004-05-12 David Ponce * semantic.el: (semantic-symbol->name-assoc-list-for-type-parts) (semantic-expand-nonterminal, semantic--buffer-cache) (semantic-edits-are-safe, semantic--before-fetch-tags-hook) (semantic-after-toplevel-bovinate-hook) (semantic-after-toplevel-cache-change-hook) (semantic-init-db-hooks, semantic-parse-stream) (semantic-parse-region, semantic-parse-region-default) (semantic-clear-toplevel-cache, semantic-working-type) (semantic-bovinate-from-nonterminal): Doc fix. (bovinate): Fix message. 2004-05-08 David Ponce * semantic.el (semantic-inhibit-functions): New variable. (semantic-new-buffer-fcn): Use it. 2004-04-29 David Ponce * semantic-tag-ls.el (semantic-tag-abstract-p): Declare with `define-overload'. (semantic-tag-leaf-p): Likewise. (semantic-nonterminal-abstract): Make obsolete overload. Fix alias. (semantic-nonterminal-leaf): Likewise. (semantic-tag-abstract-p-default) (semantic-tag-leaf-p-default) (semantic-tag-static-p-default): Doc fix. (semantic-nonterminal-abstract-default) (semantic-nonterminal-leaf) (semantic-nonterminal-leaf-default) (semantic-nonterminal-static-default): Fix alias. * semantic-tag-file.el (semantic-prototype-file): Declare with `define-overload'. * semantic-fw.el: (semantic-fetch-overload, define-mode-overload-implementation) (semantic-with-mode-bindings, define-semantic-child-mode): Mark obsolete. (semantic-fw-font-lock-keywords): Don't highlight them. * semantic-analyze.el (semantic-analyze-dereference-metatype): Declare with `define-overload'. (semantic-analyze-type-constants): Likewise. * semantic-grammar.el: Rename `define-mode-overload-implementation' to `define-mode-local-override', and `semantic-with-mode-bindings' to `with-mode-local'. * bovine/semantic-el.el: Rename `define-mode-overload-implementation' to `define-mode-local-override', and `define-semantic-child-mode' to `define-child-mode'. * bovine/semantic-java.el, bovine/semantic-make.el, bovine/semantic-scm.el, wisent/wisent-java-tags.el, wisent/wisent-java.el, wisent/wisent-python.el, semantic-html.el, semantic-texi.el, semanticdb-el.el: Rename `define-mode-overload-implementation' to `define-mode-local-override'. 2004-04-28 David Ponce * bovine/semantic-el.el (semantic-emacs-lisp-overridable-doc): Use `overload-docstring-extension'. (semantic-documentation-for-tag): Simplify. (semantic-insert-foreign-token): Rename to... (semantic-insert-foreign-tag): The right name. * senator.el (senator-insert-foreign-tag-default): Rename to... (semantic-insert-foreign-tag-default): Doc fix. (senator-insert-foreign-tag): Rename to... (semantic-insert-foreign-tag): Declare with `define-overload'. Doc fix. Update references. (semantic-insert-foreign-token): Declare obsolete overload. * semantic-texi.el (semantic-texi-expand-tag): Use `semantic-tag-components'. (semantic-sb-tag-children-to-expand): Likewise. (semantic-texi-components): Replace by... (semantic-tag-components): New mode local overload. (semantic-texi-insert-foreign-tag): Declare as mode local overload. (semantic-default-texi-setup): Don't install overrides here. * semantic-tag-ls.el (semantic-tag-protection): Declare with `define-overload'. (semantic-tag-full-name): Likewise. (semantic-nonterminal-protection): Declare obsolete overload. (semantic-nonterminal-full-name): Likewise. * semantic-tag-file.el (semantic-go-to-tag): Declare with `define-overload'. (semantic-dependency-tag-file): Likewise. (semantic-find-nonterminal): Declare obsolete overload. (semantic-find-dependency): Likewise. * semantic-idle.el (semantic-eldoc-current-symbol-info): Use `make-obsolete-overload'. * semantic-ia-sb.el (semantic-ia-sb-complete): Fix comment. * semantic-fw.el (mode-local): Require. (semantic-overload-symbol-from-function): Move. (semantic-alias-obsolete): Detect and make obsolete overload too. (semantic-make-obsolete-overload) (semantic-obsolete-overload): Remove. (semantic-map-buffers): Use `mode-local-map-file-buffers'. (semantic-map-mode-buffers): Alias of `mode-local-map-mode-buffers'. (semantic-set-parent-mode, semantic-get-parent-mode) (semantic-symbol-table, semantic-bindings-active-mode) (semantic-new-bindings, semantic-bind, semantic-symbol) (semantic-symbol-value, semantic-set-local-variable) (semantic-activate-mode-bindings) (semantic-deactivate-mode-bindings): Remove. (semantic-fetch-overload): Alias of `fetch-overload'. (define-mode-overload-implementation): Alias of `define-mode-local-override'. (semantic-with-mode-bindings): Alias of `with-mode-local'. (define-semantic-child-mode): Alias of `define-child-mode'. (defvar-mode-local, defconst-mode-local) (define-overload): Now in mode-local. (semantic-install-function-overrides): Use `mode-local-bind'. (semantic--override, semantic--expand-overrides) (semantic--overload-body, semantic-function-overload-p) (semantic-overload-docstring-extension) (semantic-augment-function-help, describe-function) (semantic-print-binding, semantic-print-bindings) (semantic-describe-bindings-2, semantic-describe-bindings-1) (semantic-describe-buffer-bindings) (semantic-describe-mode-bindings): Remove. (semantic-fw-font-lock-keywords, edebug-setup-hook): Update. * semantic.el (semantic-new-buffer-fcn): Remove call to `semantic-activate-mode-bindings'. (mode-local-init-hook): Add above to it. (semantic-changed-mode-buffers) (semantic-post-change-major-mode-function) (semantic-change-major-mode-hook-function): Remove. * semantic-doc.el (semantic-documentation-for-tag): Declare with `define-overload'. (semantic-find-documentation): Declare obsolete overload. * semanticdb-el.el (semanticdb-equivalent-mode): Use `mode-local-active-mode'. * semantic-ctxt.el (semantic-up-context): Declare with `define-overload'. (semantic-get-local-variables): Likewise. (semantic-get-local-variables-default): Remove unnecessary optional argument. Doc fix. (semantic-get-local-arguments): Declare with `define-overload'. Save excursion. Improve error message. (semantic-get-local-arguments-default): Remove unnecessary optional argument. Doc fix. * semantic-analyze.el (semantic-analyze-current-context): Declare with `define-overload'. (semantic-analyze-possible-completions): Likewise. 2004-04-23 David Ponce * semantic-fw.el (semantic-current-bindings): Remove. (semantic-new-bindings): Just return an empty symbol table. (semantic-bind): Updated. (semantic-symbol): Lookup for symbol into buffer local and/or hierarchy of modes bindings. (semantic-set-local-variable): Move definition. (define-mode-overload-implementation): Use `semantic-overload-symbol-from-function'. Doc fix. (semantic-with-mode-bindings): Doc fix. (semantic-print-bindings, semantic-print-binding) (semantic-describe-bindings-1, semantic-describe-bindings-2) (semantic-describe-buffer-bindings): New functions. (semantic-describe-mode-bindings): New commands. 2004-04-20 David Ponce * semantic-idle.el (semantic-idle-summary-current-symbol-info): New overload. (eldoc-current-symbol-info): Obsoleted by above overload. (semantic-idle-summary): Use above new overload. * semantic-fw.el: (semantic-make-obsolete-overload) (semantic-obsolete-overload): New function. (semantic-fetch-overload): Handle obsoleted overloads. (semantic--override, semantic--expand-overrides) (semantic--overload-body): New functions. (define-overload): Use them. (semantic-fw-font-lock-keywords): Add `semantic-make-obsolete-overload'. 2004-04-13 David Ponce * doc/lang-support-guide.texi, doc/semantic.texi, doc/user-guide.texi, doc/wisent.texi, doc/bovine.texi, doc/grammar-fw.texi, doc/app-dev-guide.texi: Add a table of contents. 2004-04-11 Eric M. Ludlam * Makefile (dist): Add autoloads * semanticdb-system.el (semanticdb-load-system-database): Fix variable name typo. * wisent/wisent.el (wisent-production-bounds): New function. 2004-04-06 Eric M. Ludlam * wisent/wisent-comp.el (wisent-check-$N): Return non-nil for valid $regionN symbols. Improve warning message. (wisent-semantic-action): Only bind referenced $regionN symbols. Compute $region directly from stack. Avoid to generate unnecessary code. * semantic-lex.el (semantic-lex-push-token): Do not evaluate 'token twice. 2004-04-06 David Ponce * wisent/wisent.el (wisent-production-bounds): New function. * wisent/wisent-comp.el (wisent-check-$N): Return non-nil for valid $regionN symbols. Improve warning message. (wisent-semantic-action): Only bind referenced $regionN symbols. Compute $region directly from stack. Avoid to generate unnecessary code. * semantic-lex.el (semantic-lex-push-token): Don't eval TOKEN twice. 2004-04-06 Eric M. Ludlam * doc/Makefile (clean): Clean all info files. * Makefile (dist): Distribute the autoload file 2004-04-05 Eric M. Ludlam * bovine/semantic-c.el (semantic-default-c-setup): Add modified syntax entries for < > which are list constituents in newer versions of C++ mode. * bovine/semantic-c.el (semantic-default-c-setup): New versions of c++-mode declare < and > to make a list. Disable it. 2004-04-01 Eric M. Ludlam * semantic.el (semantic-bovinate-toplevel): New function for backward compat. * bovine/semantic-make.el (semantic-make-expand-tag): Expand functions and includes the same way. 2004-03-31 David Ponce * bovine/semantic-make.el (semantic-make-expand-tag): Fix according to latest grammar change. 2004-03-30 Eric M. Ludlam * doc/Makefile (Documentation_TEXINFOS): Remove duplicate semantic.texi (all): New names for some info names. (semantic-user.info, semantic-appdev.info, semantic-langdev.info): New names. (clean): Update info garbage pattern. (dist): New names for some info names. * doc/Project.ede (Documentation): Remove second copy of semantic.texi * doc/Makefile (Documentation_TEXINFOS): Remove second copy of semantic.texi * doc/Project.ede (Documentation): Remove second copy of semantic.texi * wisent/wisent.el, wisent/wisent-comp.el (wisent-verbose-flag): add autoload cookie * doc/Makefile (images_MISC): New var (all): Add images (dist): Include images. * doc/Project.ede ("images"): new target. 2004-03-30 David Ponce * wisent/wisent.el (wisent-parse-verbose-flag): Add autoload cookie. * wisent/wisent-comp.el (wisent-verbose-flag): Add autoload cookie. * doc/Makefile: Rebuild. * doc/Project.ede ("images"): New target. 2004-03-28 David Ponce * semantic-grammar.el (semantic-grammar-mode): Merge `set' and `make-local-variable'. Make `semantic-format-face-alist' local to buffer. * wisent/Makefile: Rebuild. * wisent/Project.ede (taggers): Rename target to "wy". * wisent/wisent.el ($region, $nterm, $action): Initialize to nil to fix byte-compiler warnings in dependent libraries. * semantic-util.el (semantic-file-tag-table): Remove CHECKCACHE argument. (semantic-something-to-tag-table): Fix call to above. * semantic-html.el (semantic-html-recursive-combobulate-list): Use `assoc-ignore-case'. `assoc-string' is a new function in GNU Emacs CVS. 2004-03-28 Eric M. Ludlam * Makefile (misc_AUX): Add renamelist.txt * Project.ede ("semantic"): Add renamelist.txt. * doc/tags.texi (Semantic Tags): Replace "bovine" type named fns with new names. * doc/lang-support-guide.texi: (Language Support Overview, Semantic Parser Structure) (Writing Lexers, Writing Parsers, Parsing a language file): (Semantic 1.4 Doc): Replace "bovine" type named fns with new names. * bovine/semantic-make.el (require): Add semantic-format and semantic-analyze * bovine/semantic-c.el (require): Add semantic-tag-ls. * semantic.el (semantic-fetch-tags): Doc fix. * semantic-ede-grammar.el (semantic-ede-grammar-compiler-class): Doc fix. * semantic-ctxt.el (semantic-get-local-variables): Doc fix * semantic-complete.el (semantic-displayor-show-request): Note to self. * renamelist.txt: List of all functions that have been renamed. * doc/app-dev-guide.texi (Override Methods): Removed Local Context from override methods list. (Lexical Safety): Fix ref to semantic-fetch-tags. (Blocks): Updated all deffn with automatic command. (Local Variables): same (Derived Context): same (Analysis Overview): Teaked the diagram. 2004-03-26 David Ponce * wisent/wisent-java.wy: Major revision of the grammar to support Java 1.5 specifications. * wisent/wisent-java.el: Code reordered. (wisent-java-expand-tag) (semantic-get-local-variables-java-mode): Update for new grammar. (wisent-java-init-parser-context): New function. (wisent-java-default-setup): Use it. Doc fix. (wisent-java-parse-error): Remove. 2004-03-25 David Ponce * wisent/wisent-java.wy (constructor_declaration): Fix typo. * wisent/wisent-java-tags.wy, wisent/wisent-java.wy (constructor_declaration): Add :contructor-flag. * semantic-tag.el (semantic-tag-function-constructor-p): New function. * doc/wisent.texi (Grammar format): Fix doc and style. Update example. (Compiling a grammar): Fix doc and style. (Grammar Debugging): Ditto. Add doc for `wisent-toggle-verbose-flag'. (Understanding the automaton): Fix style. (Wisent Parsing): Fix style and doc. Add variable indexes. (Writing a lexer): Add variable index. (Actions goodies): Fix doc. (Report errors): Add doc for `wisent-message', `wisent-token-to-string', `wisent-parse-verbose-flag' and `wisent-parse-toggle-verbose-flag'. (Error recovery): Fix doc and style. (Debugging actions): Ditto. (Wisent Lex): Ditto. 2004-03-24 David Ponce * wisent/semantic-wisent.el (wisent-error-function): Default to nil. * wisent/wisent.el (wisent-char-p): Move here from wisent-comp.el. (wisent-escape-sequence-strings): New constant. (wisent-region) (wisent-pre-parse-hook, wisent-post-parse-hook) (wisent-loop): Move declaration. (wisent-parse-verbose-flag): New variable. (wisent-item-to-string, wisent-token-to-string) (wisent-parse-toggle-verbose-flag) (wisent-message): New function. (wisent-parse-max-stack-size) (wisent-parse-max-recover) (wisent-parse-lexer-function) (wisent-parse-error-function) (wisent-input, wisent-recovering) (wisent-errok, wisent-clearin, wisent-abort) (wisent-parse-action): Doc fix. ($region, $nterm): Remove default value and doc string. ($action): New. (wisent-skip-token): No more inlined. Doc fix. Inform about skipped token. (wisent-skip-block): Doc fix. Return nil. Inform about skipped tokens. (wisent-parse): Use `wisent-message' as default error reporting function. Report expected tokens on syntax error. Inform about skipped tokens. Simplify (and fix?) error recovery code. * wisent/wisent-comp.el (wisent-char-p): Move to from wisent.el. (wisent-context-name, wisent-reduce-grammar) (wisent-add-lookback-edge, wisent-push-token) (wisent-push-var, wisent-parse-nonterminals) (wisent-parse-grammar): Fix error messages. (wisent-struct, wisent-debug-flag, wisent-new-log-flag) (wisent-verbose-flag, wisent-single-start-flag) (wisent-append-to-log-file, wisent-TC) (wisent-initialize-closure): Doc fix. (wisent-escape-sequence-tags): Remove. (wisent-tag): Use `wisent-item-to-string' from wisent.el. (wisent-map-goto): Fix doc and error message. (wisent-defcontext 'semantic-actions): Add NAME. (wisent-token-actions): Rename to... (wisent-state-actions): Fix working message. Callers updated. (wisent-goto-actions): Fix working message. (wisent-check-$N): Include action name in message. (wisent-semantic-action-expand-body): Doc fix. Rename $N-LIST argument to FOUND. (wisent-semantic-action): Share action name with called functions. * wisent/wisent-calc.wy (line): Add error recovery rule. * wisent/wisent-calc.el (wisent-calc): Use default syntax error reporting function. 2004-03-21 David Ponce * wisent/wisent-bovine.el: Renamed to semantic-wisent.el. * wisent/Makefile: Re-generated. * wisent/Project.ede (wisent): Include semantic-wisent instead of wisent-bovine. Add speedbar to aux packages to ensure that the cedet version of speedbar will be in the load-path. * wisent/wisent-java-tags.el, wisent/wisent-python.el, semantic-grammar.el, wisent/wisent-c.el, wisent/wisent-calc.el, wisent/wisent-java.el (semantic-wisent): Require instead of wisent-bovine. * wisent/semantic-wisent.el: Renamed from wisent-bovine.el. * semantic-util-modes.el, semantic-util.el: Commentary fix. * semantic-sb.el (semantic-sb-fetch-tag-table): Doc fix. * semantic-imenu.el: (semantic-create-imenu-index) (semantic-create-imenu-index-1): Doc fix. * semantic.el (semantic-fetch-tags): Doc fix. (semantic-bovinate-toplevel): Define as alias of the above. (semantic-repeat-parse-whole-stream): Doc fix. Use tag instead of token. 2004-03-20 Eric M. Ludlam * bovine/semantic-scm.el (semantic-format): Add compile time require * bovine/erlang-edoc.el (erlang-edoc--tag-name): Moved and renamed. (erlang-edoc-inline) (erlang-edoc-insert-comment-new) (erlang-edoc-insert-comment) (erlang-edoc--function-template) (erlang-edoc--record-template) (erlang-edoc--strip-arity) (erlang-edoc--type-specs) (erlang-edoc--nonterm-comment) (erlang-edoc): Use new names, such as `semantic-tag-name'. 2004-03-20 David Ponce * semantic-grammar-wy.el: Re-generated. * semantic.el (semantic-bovination-working-type): Fix typo in alias. 2004-03-20 Eric M. Ludlam * wisent/wisent-grammar.el: (wisent-grammar-setupcode-builder): Use new names. See semantic.el V 1.177. * wisent/wisent-calc.el (wisent-calc): Use new names. See semantic.el V 1.177. * wisent/wisent-bovine.el: (wisent-parse-stream, wisent-parse-region): Use new names. See semantic.el V 1.177. * wisent/Makefile, doc/Makefile (Makefile): Updated from new EDE sources. * bovine/semantic-el.el (semantic-toplevel-elisp-bovine-table): Renamed to (semantic--elisp-parse-table): new name. (semantic-toplevel-bovine-table): Renamed mode value to (semantic--parse-table): New name. * bovine/semantic-bovine.el (semantic-bovinate-nonterminal-check-obarray): Moved this here. (semantic-bovinate-stream): Use new names. See semantic.el V 1.177. * bovine/Makefile (Makefile): Updated from new EDE sources. * bovine/erlang-edoc.el: (erlang-edoc-inline): * bovine/bovine-grammar.el: (bovine-grammar-setupcode-builder): Use new names. See semantic.el V 1.177. * senator.el: (senator-parse, senator-try-expand-semantic): Use new names. See semantic.el V 1.177. * semantic-util-modes.el: (semantic-show-unmatched-syntax-mode-setup) (semantic-show-tag-boundaries-setup) (semantic-highlight-by-attribute-setup): Use new names. See semantic.el V 1.177. * semantic-util.el (semantic-describe-token): Renamed to (semantic-describe-tag): New name. Also use new names. (semantic-file-tag-table) (semantic-something-to-tag-table) (semantic-recursive-find-nonterminal-by-name) (semantic-read-symbol, semantic-add-label, semantic-show-label) (semantic-hack-search, semantic-sanity-check): Use new names. See semantic.el V 1.177. * semantic-texi.el (semantic-texi-bovinate-headings): Rename to (semantic-texi-parse-headings): New name. (semantic-texi-parse-region, semantic-default-texi-setup) (semantic-texi-find-documentation) (semantic-texi-update-doc-from-texi) (semantic-texi-update-doc-from-source) (semantic-texi-goto-source): Use new names. See semantic.el V 1.177. * semantic-tag-file.el (semantic-go-to-tag): Update comments. * semantic-tag.el: (semantic--tag-unlink-cache-from-buffer) (semantic--tag-link-cache-to-buffer): Use new names. See semantic.el V 1.177. * semantic-sb.el (semantic-sb-maybe-token-to-button): Doc fix. (semantic-insert-bovine-list): Rename to (semantic-sb-insert-tag-table): New name. (semantic-fetch-dynamic-bovine): Rename to (semantic-sb-fetch-tag-table): new name. (semantic-sb-insert-details): Use new names above. (speedbar-dynamic-tags-function-list): Use new names. See semantic.el V 1.177. * semantic-imenu.el: (semantic-create-imenu-index) (which-function): Use new names. See semantic.el V 1.177. 2004-03-19 Eric M. Ludlam * semantic-idle.el: (semantic-idle-scheduler-refresh-tags): Use new names. See semantic.el V 1.177. * semantic-html.el: (semantic-default-html-setup): Use new names. See semantic.el V 1.177. * semantic-grammar-wy.el: (semantic-grammar-wy--install-parser): Use new names. See semantic.el V 1.177. * semantic-grammar.el (semantic-grammar-create-package): Use new names. See semantic.el V 1.177. * semantic-format.el: (semantic-test-all-format-tag-functions): Use new names. See semantic.el V 1.177. * semantic-find.el: (semantic-brute-find-tag-by-position): Use new names. See semantic.el V 1.177. * semantic-example.el (se-jump): Use new names. See semantic.el V 1.177. * semantic-debug.el (semantic-debug): Use new names. See semantic.el V 1.177. * semanticdb-search.el (semanticdb-refresh-table): Update doc string. * semanticdb-file.el (object-write): Use new names. See semantic.el V 1.177. * semanticdb.el: (semanticdb-refresh-table, semanticdb-semantic-init-hook-fcn) (semanticdb-kill-hook): Use new names. See semantic.el V 1.177. (semanticdb-post-bovination): Renamed to (semantic-synchronize-table): New name. (semanticdb-hooks): Use new name above * semantic-ctxt.el: (semantic-get-local-variables) (semantic-get-local-variables-default): Use new names. See semantic.el V 1.177. * Makefile: misc_AUX: Add ONEWS. * Project.ede ("misc"): Add ONEWS. * document.el (document, document-inline, document-update-comment): Use new names. See semantic.el V 1.177. * semantic-edit.el (semantic-edits-change-function-handle-changes): Move call to set that the parse tree needs update up one level. (semantic-edits-change-between-tokens) (semantic-edits-change-over-tokens, semantic-edits-incremental-parser) (semantic-edits-splice-remove, semantic-edits-splice-insert): Use new names. See semantic.el V 1.177. * semantic.el (semantic-after-toplevel-bovinate-hook): Fix obsoletion call. * semantic.el (Commentary): Rewrite last paragraph. (semantic-toplevel-bovine-table): Renamed to (semantic--parse-table): New name (semantic-toplevel-bovine-cache): Renamed to (semantic--buffer-cache): New name (semantic-edits-are-safe): Doc update (semantic-bovinate-nonterminal-check-obarray): Removed to bovine/semantic-bovine.el (semantic-before-toplevel-bovination-hook): Rename to (semantic--before-fetch-tags-hook): New name (semantic-after-toplevel-bovinate-hook): Made obsolete (semantic-bovine-unmatched-syntax-refresh-needed-p): Renamed to (semantic--umatched-syntax-needs-refresh-p): New name (semantic-new-buffer-fcn): Use new names. (semantic-rebovinate-quickly-hook): Renamed to (semantic-fetch-tags-fast): New name. (eval-defun-hooks): Use new function name above. (semantic-edebug): Doc change. (bovinate): New doc. Use new names where apropriate. (bovinate-debug): Deleted. (semantic-parse-stream): New names in doc. (semantic-bovinate-unmatched-syntax): Renamed to (semantic-unmatched-syntax-tokens): New name. Use new names. (semantic-clear-toplevel-cache): Use new names. (semantic-set-toplevel-bovine-cache): Renamed to (semantic--set-buffer-cache): New name. Use new names. (semantic-bovination-working-type): Renamed to (semantic-working-type): New name. (semantic-bovinate-toplevel): Renamed to (semantic-fetch-tags): New name. (semantic-repeat-parse-whole-stream): Use new names. * semanticdb-find.el: (semanticdb-find-translate-path-includes-default): Add `semantic-throw-on-input' while looping over include tags. 2004-03-15 David Ponce * wisent/wisent-java.wy: Re-introduce rules to fully parse language constructs. Add Java 1.4 assert statement. First attempt to produce tags for declarations inside blocks. * semantic-lex.el (semantic-lex-preset-default-types): Fix punctuation regexp. 2004-03-11 David Ponce * doc/tags.texi: Info style fixes. Use lowercase in @var markups. Fix doc strings with renamed tag attributes. * doc/wisent.texi (Debugging actions): Fix doc string style. (Iterative style, Bison style): Fix examples with renamed tag attributes. * doc/bovine.texi (Optional Lambda Expression): Fix renamed tag attributes. * document.el (document-massage-to-texinfo): Use lowercase in @var markup. 2004-03-11 Eric M. Ludlam * semantic-grammar.el: (semantic-ctxt-current-function, semantic-ctxt-current-argument): New overload implementations. (semantic-analyze-possible-completions): Use `semantic-with-mode-bindings' and recurse when in lisp code. * semantic-format.el: (semantic-test-all-format-tag-functions): Remove doc about semantic-token->text-functions. * semantic-example.el (se-show): Removed ref to semantic-token->text-functions. * semanticdb-el.el (semanticdb-equivalent-mode): Also pay attention to `semantic-bindings-active-mode'. (semanticdb-find-translate-path): New overload for `emacs-lisp-mode'. Always includes the system database since all Emacs programs also include the system database. * semantic-analyze.el (semantic-analyze-current-context): make input arg optional. (semantic-analyze-current-context-default): Calculate the assignment tag in `condition-case'. (semantic-analyze-possible-completions-default): Uniquafy by name instead of by position and name. * semantic-sb.el: (semantic-sb-tag-children-to-expand) (semantic-sb-tag-children-to-expand-default): New override fcn and the default. (semantic-sb-one-button): Use above to choose to expand a tag. (semantic-sb-insert-details): If there is no built in way to show a child details, instead ask it for it's components and do something smiple to show them. * semantic-texi.el: (semantic-sb-tag-children-to-expand) (semantic-ctxt-current-class-list) (semantic-format-tag-abbreviate, semantic-format-tag-prototype) (semantic-analyze-current-contet) (semantic-analyze-possible-completions): New overloads (semantic-texi-command-completion-list): New variable. * Makefile (Languages_LISP): Added semantic-html.el (Makefile): New friendlier message if makefile out of date. * Project.ede (Languages): Added semantic-html.el. * NEWS (Smart Completion): New section. (HTML parser): New section added. (Makefile parser): Description of smart completion. 2004-03-10 David Ponce * wisent/wisent-java.wy: (goal, class_declaration, interface_declaration) (constructor_declaration, method_declaration) (formal_parameter, field_declarations_opt, field_declaration) (abstract_method_declaration): Rename attributes. * wisent/wisent-java-tags.wy: (class_declaration, interface_declaration) (constructor_declaration, method_declaration) (formal_parameter, field_declaration): Rename attributes. * wisent/wisent-java.el (wisent-java-expand-tag): Rename attribute. * wisent/wisent-c.wy: (declaration, parameter-declaration) (function-definition): Rename attribute. * wisent/wisent-c.el (wisent-c-expand-tag): Rename attributes. * bovine/semantic-el.el: (semantic-elisp-clos-args-to-semantic) (semantic-elisp-use-read) (semantic-tag-static-p): Rename attributes. (semantic-tag-protection): Ditto. Doc fix. * bovine/semantic-c.el: (semantic-expand-c-tag, semantic-c-reconstitute-token) (semantic-c-reconstitute-template, semantic-c-format-tag-name) (semantic-c-format-tag-type, semantic-c-tag-template) (semantic-c-tag-template-specifier) (semantic-c-analyze-dereference-metatype) (semantic-c-tag-abstract-p): Rename attributes. * bovine/erlang.by (macro-def-list): Rename attribute. * bovine/c.by: (macro-or-include, define, enumsubparts) (typesimple, template-type, variablearg) (fun-or-proto-end): Rename attributes. * semantic-util-modes.el (semantic-tag-boundary-p-default): Rename attribute. * semantic-texi.el (semantic-texi-update-doc-from-texi): Rename attribute. * semantic-tag.el: (semantic-tag-modifiers) (semantic-tag-function-throws) (semantic-tag-function-parent) (semantic-tag-function-destructor-p) (semantic-tag-variable-constant-p): Rename attribute. * semantic-sort.el (semantic-tag-external-member-parent-default): Rename attribute. (semantic-tag-external-member-p): Doc fix. * semantic-format.el (semantic-format-tag-prototype-default): Rename attributes. (semantic-format-tag-concise-prototype-default): Ditto. * semanticdb-el.el (semanticdb-elisp-sym->tag): Rename attribute. * semantic-analyze.el (semantic-analyze-tag-prototype-p-default): Rename attribute. * document.el (document-insert-texinfo): Rename attribute. 2004-03-09 David Ponce * doc/bovine.texi (Optional Lambda Expressions): Fix info style. (Bovine Examples): Fix info style and update examples according to BY grammar specifications. * doc/grammar-fw.texi (start Decl): Fix inforef. * senator.el (senator-isearch-search-fun): New function. (senator-isearch-mode-hook): Use it when possible. (boundp 'isearch-search-fun-function): Don't advice built-in search functions. (isearch-mode-end-hook): Add `senator-isearch-mode-hook'. 2004-03-08 David Ponce * semantic-fw.el (semantic-activate-mode-bindings): Fix parent modes & mode order. * semantic-fw.el (semantic-activate-mode-bindings): Activate mode local bindings from parent modes. (semantic-activate-mode-bindings): Deactivate mode local bindings from parent modes. * semantic-fw.el (semantic-with-mode-bindings): Call semantic-[de]activate-mode-bindings with an explicit mode. (semantic-activate-mode-bindings): Revert previous change. (semantic-deactivate-mode-bindings): Use current major mode as default mode. * semantic-fw.el (semantic-current-bindings): Fix last change. (semantic-symbol): Don't change the local symbol table when `semantic-bindings-active-mode' is non-nil. 2004-03-07 Eric M. Ludlam * semantic-html.el: HTML support. 2004-03-06 Eric M. Ludlam * semantic-sb.el (semantic-sb-one-button): Format the string in the context of the originating buffer. * semantic-analyze.el: (semantic-analyze-current-context) (semantic-analyze-possible-completions): Only execute with the current modified syntax table. * bovine/semantic-make.el (semantic-ctxt-current-class-list): Variables can have functions, not variable parts. (semantic-format-tag-abbreviate) (semantic-format-tag-prototype): file -> filename confusion (semantic-analyze-possible-completions): Only calc file list if filename is a possible class. * bovine/semantic-make.el (semantic-default-make-setup): Add "Files" to assoc list. (semantic-function-argument-separator): New mode variable (semantic-ctxt-current-class-list) (semantic-format-tag-abbreviate) (semantic-format-tag-prototype) (semantic-format-tag-concise-prototype) (semantic-format-tag-uml-prototype) (semantic-analyze-possible-completions): New override methods. * bovine/make.by (elements): Splice them together. * semantic-grammar.el (semantic-grammar-complete): use `semantic-grammar-in-lisp-p' (eldoc-current-symbol-info): Renamed (semantic-idle-summary-current-symbol-info): to this. (semantic-ctxt-current-class-list): New method. (semantic-analyze-current-context) (semantic-analyze-possible-completions): New methods. * doc/tags.texi (Creating Tags): Reran defun generation script on some entries. * doc/app-dev-guide.texi (Override Methods): Add semantic-with-mode-bindings. * semantic-ctxt.el (semantic-ctxt-current-class-list-default): Make robust when there is not tag under point. * semantic-fw.el (semantic-bindings-active-mode): New variable (semantic-current-bindings): Also pay attention to above var. (semantic-activate-mode-bindings): Do not use major-mode. (semantic-with-mode-bindings): New macro. * semantic-analyze.el (semantic-analyze-tags-of-class-list): New function (semantic-analyze-possible-completions): Turn input arg to a context here. (semantic-analyze-possible-completions-default): Remove login in above. Use new fcn above. 2004-03-05 Eric M. Ludlam * doc/app-dev-guide.texi (Tag Details): Updated defuns via script. (Local Context): Updated defuns, and added `semantic-ctxt-current-class-list'. * semantic-texi.el (semantic-texi-update-doc-from-texi): Do not accept override-function tags to insert as doc. Always look for the original. * semantic-tag.el (semantic-equivalent-tag-p): Allow two tags to not have a buffer. * semantic-ctxt.el (semantic-ctxt-current-class-list): new override method. (semantic-ctxt-current-class-list-default): new override implementation. * bovine/semantic-el.el (semantic-ctxt-current-function): Don't use built-in anymore. Find it ourselves. (semantic-ctxt-current-class-list): New override. * semantic-analyze.el (semantic-analyze-context): Added PREFIXCLASS slot. (semantic-analyze-current-context-default): Find and store the prefixclass (semantic-analyze-type-constraint): Only calculate on TAG input. (semantic-analyze-possible-completions): Made into an override method. (semantic-analyze-possible-completions-default): Old body of above. Added desired-class filter on output. (semantic-analyze-princ-sequence): More logical flow. 2004-03-04 Eric M. Ludlam * semantic-analyze.el: (semantic-analyze-find-tags-by-prefix) (semantic-analyze-find-tag): Do not require that tags are only allowed if there is a file. If a file is there, load it. (semantic-analyze-find-tag-sequence): Allow non-variables to be found. (semantic-analyze-calculate-bounds): New function (semantic-analyze-current-context): Made an override function (semantic-analyze-current-context-default): Implementation from above. (semantic-analyze-princ-sequence): If a non-tag is being displayed, mark it so it is obvious. * semantic-idle.el (semantic-idle-summary-out-of-context-faces): Add string-face. * bovine/semantic-el.el (semantic-ctxt-current-assignment): Moved and Implemented. (semantic-ctxt-current-function): Improved. (semantic-format-tag-abbreviate, semantic-format-tag-prototype) (semantic-format-tag-concise-prototype) (semantic-format-tag-uml-prototype): New implementations. 2004-03-03 David Ponce * doc/overview.texi (Overview): Rewrite. (Semantic Components): Fix typos and style. 2004-03-03 Eric M. Ludlam * document.el (document-texify-elisp-docstring): Support `.' as a char after quoted symbols. 2004-03-03 David Ponce * doc/grammar-fw.texi (Overview): Add ref. to sections... (BY grammars): Add note and ref. to the bovine manual. (WY grammars): Add note and ref. to the wisent manual. 2004-03-03 Eric M. Ludlam * semantic-complete.el: (semantic-displayor-window-edges): eval-AND-compile this block. * semantic-tag-ls.el: (semantic-tag-protection, semantic-tag-full-name): Add 'semantic-overload' property. (semantic-tag-abstract-p, semantic-tag-leaf-p): Fix call to default which was renamed. * doc/lang-support-guide.texi (Tag Structure): Renamed `semantic-expand-nonterminal' reference to `semantic-tag-expand-function'. (Writing Parsers): Added `Parser Backend Support' section. (Parsing a language file): Removed `semantic-bovinate-stream' as it is not a 2.0 compatible function. (Parser Backend Support): New node and subnodes. (Parser Output tools): Fixed formatting of a keymap table. * doc/glossary.texi (Glossary): Changed the format. Added token table. * bovine/semantic-skel.el (semantic-skeleton-expand-tag): Renamed (semantic-default-skel-setup): Updated. 2004-03-02 David Ponce * doc/user-guide.texi (Contact information for Senator): Remove. Add common ending nodes. * doc/semantic.texi (top): Remove info ref from menu that produce bad URLs in HTML output. Move them into... (Semantic Manuals): New chapter with ref to other manuals. * doc/semanticheader.texi: Add common settings in this file. (obsolete): Improve readability. * doc/lang-support-guide.texi (direntry): Fix typo. (Compiling): Rename to... (Parsing a language file): Update definitions. (Writing Parsers): Add ref. to parser manuals. Remove from menu. (Grammar Programming Environment): Add ref. to grammar framework manual. Remove duplicated things. (Parser Output tools): Fix typo. Add common ending nodes. * doc/grammar-fw.texi (Editing grammars): Add note about semantic-grammar-create-package. * doc/bovine.texi (top): Update. (%start, %languagemode, %token): Remove. (Starting Rules): New. (Bovine Grammar Rules): Update. (How Lexical Tokens Match) (Grammar-to-Lisp Details) (Order of components in rules): New sections. Add common ending nodes. * doc/app-dev-guide.texi (top): Fix inforef. Add common ending nodes. 2004-03-01 David Ponce * doc/grammar-fw.texi (languagemode Decl): Use mode1 for consistency. (Querying grammars): New intro. Add... (Grammar Tags, Querying Declarations): New subsections. * doc/grammar-fw.texi (Editing grammars): Better @inforef. (Grammar Macros): Typo. (Adding a new grammar mode): Add... (Specialized Implementation, Querying grammars): New sections. 2004-03-01 Eric M. Ludlam * doc/app-dev-guide.texi (Context Analysis): Added new menu and three sub chapters. * semantic-format.el (semantic-format-tag-type): Autoload cookie. * doc/app-dev-guide.texi (Format Tag): Add `semantic-format-tag-type'. * doc/tags.texi (Tag Basics): Fix name of `semantic-tag-expand-function'. * bovine/semantic-el.el (semantic-tag-static): Renamed to (semantic-tag-static-p): New name. * bovine/semantic-c.el (semantic-c-tag-abstract): Renamed to (semantic-c-tag-abstract-p): New name. Use new name when deferring to the default. (semantic-default-c-setup): Use new name above. * semantic-format.el: (semantic--format-uml-post-colorize) (semantic-uml-attribute-string): Use new names for `semantic-tag-abstract-p', `semantic-tag-leaf-p', `semantic-tag-static-p'. * semantic-tag-ls.el (semantic-tag-abstract): Renamed to (semantic-tag-abstract-p): New name (semantic-tag-abstract-p-default): New name (semantic-tag-leaf): Renamed to (semantic-tag-leaf-p): New name. (semantic-tag-leaf-p-default): New name. (semantic-tag-static): Renamed to (semantic-tag-static-p): New name (semantic-tag-static-p-default): New name * doc/app-dev-guide.texi (Tag Details): Updated names of some functions. 2004-02-29 Eric M. Ludlam * doc/lang-support-guide.texi (Writing Parsers): Added menu item pointing to Grammar Framework. * INSTALL: Revamped. We are a part of a CEDET install now. 2004-02-27 David Ponce * doc/grammar-fw.texi (use-macros Decl): More things. (Editing grammars): Add note about semantic-grammar-find-macro-expander and semanticdb. (Grammar Macros): More things. (Common grammar macros): Add ref. 2004-02-26 David Ponce * semantic-idle.el (semantic-idle-scheduler-max-buffer-size): Declare before first use. Fix doc string. (define-semantic-idle-service): Use `eval-and-compile' to have generated declarations available at compile time. * semantic-ia-sb.el (semantic-ia-sb-string-list): Use `semantic-ia-sb-tag-info' instead of `semantic-ia-sb-token-info'. (semantic-ia-sb-completion-list): Ditto. (semantic-ia-sb-tag-info): Use `semantic-analyze-tag-type' instead of `semantic-analyze-token-type'. * semantic-complete.el (semantic-displayor-window-edges): New compatibility function. (semantic-displayor-point-position): Use it. * wisent/wisent-grammar.el (wisent-grammar-menu): New variable. (wisent-grammar-mode): Setup the grammar menu. * wisent/wisent-comp.el (wisent-toggle-verbose-flag): New command. * bovine/bovine-grammar.el (bovine-grammar-menu): New variable. (bovine-grammar-mode): Setup the grammar menu. * semantic-grammar.el (semantic-grammar-recreate-package): New command. (semantic-grammar-menu): New variable. (semantic-grammar-setup-menu-emacs) (semantic-grammar-setup-menu-xemacs) (semantic-grammar-setup-menu): New functions. 2004-02-24 Eric M. Ludlam * semantic-cb.el (semantic-cb-speedbar-buttons): Do not create a class browser if one already exists. Allow a power click to force a refresh. 2004-02-23 David Ponce * doc/grammar-fw.texi (Grammar Rules): Fix @inforef. * semantic-idle.el (semantic-idle-core-handler): Only re-parse buffers having the same major mode as the current buffer, before eval of scheduled services. Then re-parse other buffers. * doc/grammar-fw.texi (Grammar Rules): Add %prec, mid-rule actions and $N values. * doc/grammar-fw-ov.txt: New diagram. 2004-02-22 Eric M. Ludlam * semantic-complete.el: Update credits for tooltip displayor. * semantic-format.el (semantic-format-tag-uml-protection): Update doc. * bovine/semantic-el.el (semantic-nonterminal-protection): Renamed to (semantic-tag-protection): new name (semantic-elisp-nonterminal-static): Renamed to (semantic-tag-static): new name. * semantic-ia-sb.el (semantic-ia-sb-last-analysis): Deleted (semantic-speedbar-analysis): Doc Fix (semantic-ia-speedbar): Don't use above deleted cache index. * semantic-tag-ls.el (semantic-tag-calculate-parent-default): After switching buffers, add a second `save-excursion' to protect that movement. * semantic-analyze.el (semantic-analyze-current-context): Do not cache the data if the bounds are empty. 2004-02-21 Eric M. Ludlam * semantic-idle.el (semantic-idle-scheduler-function): Exit if recursively editing. 2004-02-20 David Ponce * semantic-grammar-wy.el: Re-generated. * semantic-grammar.wy (prologue): Remove `semantic-grammar-wy--tag-value'. Define ` semantic-grammar-wy--nterm' and ` semantic-grammar-wy--rindx'. (put_decl): Simplify semantic actions. (use_macros_decl): Ditto. (put_name_list, use_name_list): Return names instead of tags. (put_value_list): Return values instead of tags. (put_names): Change tag format. (put_values, use_names): Ditto. (nonterminal): Initialize nonterminal name and rule index. (rule): Rule name based on nonterminal name and rule index. Increment rule index. Signal an error on duplicate %prec. 2004-02-19 David Ponce * semantic-fw.el (semantic-cache-data-to-buffer): Use cache-name instead of tag. Check for errors before to create the overlay. (semantic-cache-data-post-command-hook): Use `oldcache' in the loop. (semantic-get-cache-data): Use cache-name instead of tag. 2004-02-19 Eric M. Ludlam * bovine/semantic-el.el (semantic-get-local-variables): Implemented it. * semantic-sort.el (semantic-unique-tag-table): Support lists mixed tags with and without buffer positions. * bovine/semantic-c.el (semantic-c-tag-protection): If no protection was specified, and the tag has a class, return public only iff that parent is also of the 'type class. This prevents function arguments from being given a protection string. * bovine/semantic-el.el (semantic-nonterminal-protection): Only return 'public for unspecified protection if there is a parent class. * semantic-analyze.el (semantic-analyze-current-context): Use new buffer data cache to save the calculated context so a second call in the same small area will be faster. * semantic-fw.el (semantic-cache-data-overlays): New state variable (semantic-cache-data-to-buffer, semantic-cache-data-post-command-hook) (semantic-get-cache-data): New functions (semantic-test-data-cache): New testing function. 2004-02-18 David Ponce * wisent/wisent-bovine.el (wisent-parse-stream): Use `semantic-safe' to help debugging. (wisent-parse-region): Likewise. * semantic-idle.el (semantic-idle-scheduler-enabled-p): Take into account `semantic-idle-scheduler-max-buffer-size'. (semantic-idle-core-handler): New function. (semantic-idle-scheduler-function): Call it through `semantic-safe' to help debugging. Doc fix. (semantic-idle-scheduler-refresh-tags): Doc fix. * semantic-fw.el (semantic-safe): New macro. (semantic-fw-font-lock-keywords): Add `define-semantic-idle-service'. 2004-02-17 David Ponce * document.el (document-update-history): Fix doc string. (document-update-paramlist): Likewise. * doc/wisent.texi: Major update to sync. with semantic version 2. 2004-02-16 Eric M. Ludlam * semantic-complete.el (avoid): No longer required. (semantic-complete-post-command-hook): Protect against errors. (initialize-instance::semantic-displayor-tooltip): Do not require avoid. (semantic-displayor-point-position): New fcn (semantic-displayor-tooltip-show): Use above. Reposition mouse pointer by pixel location. 2004-02-16 David Ponce * doc/grammar-fw.texi: Don't skip line after @deffn. (put Decl): Rewrite to look better in HTML output. (token Decl): Ditto. Use match-value instead of token-value. * doc/grammar-fw.texi: Fix cross-references. * doc/grammar-fw.texi (Grammar outline): Remove section. All sub sections promoted. (Common facilities): Ditto. (Terminal and Nonterminal Symbols): New section. (Declarations): Reference it. (Grammar Rules): Complete. (Macros): Rename to "Grammar Macros". 2004-02-13 David Ponce * bovine/bovine-grammar.el (bovine-grammar-parsetable-builder): start/scopestart generate true internal rules. Use the first grammar rule as default start rule. Check some trivial things about grammar correctness. 2004-02-12 Eric M. Ludlam * doc/bovine.texi (Order of MATCH rules): New section * tests/Makefile (Tests_AUX): Added scope tests. * tests/Project.ede: Project file for the test directory. * tests/scopetest.java, tests/scopetest.cpp: Tests for scope analysis. * wisent/Makefile (VERSION): Updated. * doc/Makefile (semantic-grammar_TEXINFOS): New (dist): Add above. * doc/Project.ede ("semantic-grammar"): New info file. * doc/user-guide.texi (semantic-show-parser-state-mode): Updated from code. * bovine/Makefile (VERSION): updated. * NEWS (Obsoletion Strategy): Add about semantic-varalias-obsolete. (semanticdb-find-*-by-name-for-completion): Renamed as apropriate. (semantic-idle-*): Updated. * semantic.el (semantic-version): updated to beta 2. * Makefile (VERSION): Updated. * Project.ede (version): Updated. * semantic-util-modes.el: (semantic-highlight-edits-mode) (semantic-show-unmatched-syntax-mode): Doc string updates. * semantic-tag-ls.el (semantic-tag-protected-p): Add autoload cookie. * semantic-lex.el (semantic-lex-debug): Doc update. * semantic-idle.el: (semantic-idle-summary-current-symbol-info-brutish) (semantic-idle-summary-current-symbol-keyword): Fixed byte compiler warnings. * semantic-fw.el (semantic-test-throw-on-input): Add another test case. * semantic-tag.el (cedet-edebug): New eval-after-load for edebug support. (semantic--tag-expand): Add message in case of debug call. * semanticdb-find.el (cedet-edebug): New eval-after-load for edebug support. * doc/lang-support-guide.texi (Application API Structure): Add a menu and menu for: (Semantic Analyzer Support): Add comment about what should go in this node. (Debugging): Add large menu, move old content to a section. (Lexical Debugging, Parser Output tools, Bovine Parser Debugging) (Wisent Parser Debugging, Overlay Debugging, Incremental Parser Debugging) (Debugging Analysis): New sections. (Semantic 1.4 Doc): Location of old Debugging section text. 2004-02-11 David Ponce * doc/grammar-fw.texi: Fix direntry. (Overview): Use a graphic image if possible. (Adding a new grammar mode): Add function and variable definitions. * doc/grammar-fw-ov.dia, doc/grammar-fw-ov.png, doc/grammar-fw-ov.txt: New file. 2004-02-11 Eric M. Ludlam * semantic-sort.el (semantic-string-lessp-ci): Accept a value of t from `compare-strings'. Thanks Dimitry Gashinsky. 2004-02-10 David Ponce * semantic-idle.el (semantic-idle-summary-out-of-context-faces): New variable. (semantic-idle-summary-useful-context-p): Use it. 2004-02-10 Eric M. Ludlam * semantic-sort.el (semantic-unique-tag-table): Fix doc. * doc/app-dev-guide.texi (Tag Sorting): Add semantic-unique-tag-table. * semantic-analyze.el (semantic-analyze-tag-prototype-p): New fcn (semantic-analyze-find-tag): Skip over prototypes, but return one if there is no real version. * senator.el (senator-try-expand-semantic): Don't quote 1st arg to semantic-lex-catch-errors. * semantic-util-modes.el (semantic-show-parser-state-mode): Doc Update (semantic-show-parser-state-marker): Show unparseable state. * semantic-idle.el (semantic-idle-summary-useful-context-p): New fcn (semantic-idle-summary): Don't show summaries if it's boring. (semantic-idle-completion-list-default): Don't do completion if it's boring context. 2004-02-08 Eric M. Ludlam * semantic-analyze.el: Add vocabulary section. * semantic-analyze.el (semantic-analyze-tag-type): Comment (semantic-analyze-inherited-tags): Recurse across all parents. (semantic-analyze-scoped-tags): Allow each element to find itself in previously found scopes * semantic-idle.el (semantic-idle-scheduler-refresh-tags): Fix use of `semantic-lex-catch-errors'. 2004-02-06 David Ponce * semantic-analyze.el (semantic-analyze-find-tags-by-prefix): Use `semanticdb-strip-find-results' and `semantic-find-tags-for-completion'. (semantic-analyze-find-tag): Fix when the TAGCLASS argument is not provided. 2004-02-06 Eric M. Ludlam * semantic-complete.el (semantic-complete-try-completion): Replace old call to `buffer-string' with `semantic-completion-text'. * semantic-sort.el: (semantic-unique-tag-table-by-name) (semantic-unique-tag-table): When sorting, does not modify original list by side-effect. * semantic-analyze.el (semantic-analyze-find-tag): Accept SCOPE tags for additional searching. Make TAGCLASS argument work as documented. (semantic-analyze-inherited-tags) (semantic-analyze-type-parts): Accept SCOPE tags for additional searching. (semantic-analyze-scope-nested-tags): Accept SCOPETYPE argument for parent data types to search. (semantic-analyze-scoped-types): Move code so that a parent can be found in the local scope which is also calculated here. (semantic-analyze-possible-completions): Pass in the scope from the context into top level search. 2004-02-05 Eric M. Ludlam * bovine/semantic-c.el (semantic-c-ctxt-scoped-types): New fcn (semantic-default-c-setup): Use above. * semantic-ctxt.el (semantic-ctxt-scoped-types): Update Doc. * semantic-imenu.el (semantic-imenu-sort-bucket-function): Add better customization. * semantic-sort.el (semantic-sort-tag-type): Change token->tag. (semantic-sort-tokens-by-name-increasing): Renamed to (semantic-sort-tags-by-name-increasing): new name (semantic-sort-tokens-by-name-decreasing): Renamed to (semantic-sort-tags-by-name-decreasing): new name (semantic-sort-tokens-by-type-increasing): Renamed to (semantic-sort-tags-by-type-increasing): new name (semantic-sort-tokens-by-type-decreasing): Renamed to (semantic-sort-tags-by-type-decreasing): new name (semantic-sort-tokens-by-name-increasing-ci): Renamed to (semantic-sort-tags-by-name-increasing-ci): new name (semantic-sort-tokens-by-name-decreasing-ci): Renamed to (semantic-sort-tags-by-name-decreasing-ci): new name (semantic-sort-tokens-by-type-increasing-ci): Renamed to (semantic-sort-tags-by-type-increasing-ci): new name (semantic-sort-tokens-by-type-decreasing-ci): Renamed to (semantic-sort-tags-by-type-decreasing-ci): new name (semantic-unique-tag-table-by-name): Use new name (semantic-unique-tag-table): Sort by position first, then unique. * semantic-analyze.el (semantic-analyze-inherited-tags): Fixed typo. * semantic-idle.el: (semantic-idle-completion-popup-max-size) (semantic-idle-completion-popup-list) (semantic-idle-completion-region-map) (semantic-idle-completion-TAB) (semantic-idle-completion-self-insert) (semantic-idle-create-overlay-with-completion-map) (semantic-idle-momentary-unoverlay) (semantic-idle-momentary-overlay-with-completion-map): Deleted. (semantic-idle-completion-list-default): Remove old implementation. Use `semantic-complete-analyze-inline' instead, and force the popup display if needed. * semantic-complete.el (semantic-completion-inline-active-p): New function (semantic-complete-post-command-hook): Remove auto-display code (semantic-complete-inline-force-display): New fcn from above. (semantic-displayor-tooltip::semantic-displayor-show-request): Force display to only be unique names. (semantic-complete-inline-analyzer): Don't start up iff there is nothing useful to display. (semantic-complete-analyze-inline): Show message if interactive, and the engine didn't start up. * semantic-complete.el (semantic-complete-post-command-hook): Robust to buffer switch. (semantic-displayor-show-request): Changes to messages output in the tooltip. * semantic-sort.el (semantic-unique-tag-table): New fcn. * semantic-analyze.el: (semantic-analyze-possible-completions): Make sure all tags in return list are sorted (alphanumerically) and unique. * doc/app-dev-guide.texi (top): Renamed below (Searching Tag Tables): Renamed from "Tag Tables" (Breadth Search): New section, old content. (Deep Search, Specialty Search, Custom Search): New sections (Tag Details) (Example Programs): Reference "Searching Tag TAbles" by new name. * semantic-complete.el: (semantic-displayor-tooltip::semantic-displayor-show-request): Also test if tooltip mode is active. 2004-02-04 Eric M. Ludlam * semantic-analyze.el (semantic-analyze-inherited-tags): New fcn (semantic-analyze-type-parts): Add also inherited tags (semantic-analyze-scoped-tags): Moved * semantic-find.el (semantic-find-tags-by-scope-protection): New fcn * semantic-tag-ls.el (semantic-tag-protected-p): New fcn. 2004-02-03 Eric M. Ludlam * semantic-analyze.el (semantic-analyze-scope-nested-tags): New fcn (semantic-analyze-scoped-types): Use above, some logic of which came from this one. * semantic-analyze.el (semantic-analyze-find-tag-sequence): Doc fix (semantic-analyze-scoped-types): Fix nesting error in code. 2004-02-02 David Ponce * doc/grammar-fw.texi: Add more things. * bovine/semantic-java.el (semantic-ctxt-scoped-types): Don't return tags but names. * bovine/semantic-java.el (semantic-ctxt-scoped-types): New override for `java-mode'. 2004-02-02 Eric M. Ludlam * semantic-complete.el (semantic-complete-inline-overlay): Moved here (semantic-completion-message): Moved. Support inline completion. (semantic-complete-default-to-tag) (semantic-complete-current-match) (semantic-complete-do-completion): Protect completion calculation from cursor movement. (semantic-complete-inline-map): Changed several keybindings. (semantic-complete-inline-quit): New fcn (semantic-complete-inline-exit): Make interactive (semantic-complete-post-command-hook): Always popup completions. (semantic-complete-inline-TAB): non-partial completion. (semantic-complete-inline-up): Fix typo (semantic-displayor-tooltip): New parent type. Enable graceful degredation of service. Methods below of this type (semantic-displayor-show-request): Call to parent class if tooltips are not available. (semantic-displayor-scroll-request): New method (semantic-complete-inline-analyzer): Use tooltips. Autoload cookie. (semantic-complete-read-tag-buffer-deep) (semantic-complete-read-tag-project) (semantic-complete-read-tag-analyzer) (semantic-complete-anlyze-and-replace): Add autoload cookies. * semantic-analyze.el (semantic-analyze-current-context): Support "" in bounds. (semantic-analyze-possible-completions): Allow variables or methods that have a compound data type to be included in completion lists. * semantic-find.el (semantic-deep-find-tags-by-name): New function. * semantic-tag.el (semantic-tag-type-compound-p): New fcn 2004-02-01 David Ponce * doc/grammar-fw.texi: New grammar framework manual. 2004-01-29 Eric M. Ludlam * semantic-complete.el (Commentary:): Updated. Discuss INLINE completion (semantic-completion-text, semantic-completion-delete-text): New function wrappers. (semantic-complete-read-tag-engine): Doc update. (semantic-complete-inline-map): New keymap (semantic-complete-inline-face): New face (semantic-complete-inline-overlay): New variable (semantic-complete-inline-text) (semantic-complete-inline-delete-text) (semantic-complete-inline-exit) (semantic-complete-pre-command-hook) (semantic-complete-post-command-hook) (semantic-complete-inline-tag-engine): New functions (semantic-complete-inline-TAB) (semantic-complete-inline-up) (semantic-complete-inline-down): New commands (semantic-complete-current-match) (semantic-complete-try-completion) (semantic-complete-do-completion) (semantic-collector-next-action) (semantic-displayor-current-focus) (semantic-displayor-focus-request) (semantic-complete-inline-analyzer) (semantic-complete-analyze-and-replace) (semantic-complete-analyze-inline): Use new wrappers for dealing with minibuffer text. * semantic-analyze.el (semantic-analyze-find-nonterminals-by-prefix): Renamed to (semantic-analyze-find-tags-by-prefix): New name. (semantic-analyze-find-nontermials): Renamed to (semantic-analyze-find-tags): new name. (semantic-analyze-token-type-to-name): renamed to (semantic-analyze-tag-type-to-name): new name (semantic-analyze-token-type): renamed to (semantic-analyze-tag-type): new name (semantic-analyze-find-nonterminal-sequence): renamed to (semantic-analyze-find-tag-sequence): new name (semantic-analyze-scoped-nonterminals): renamed to (semantic-analyze-scoped-tags): new name (semantic-analyze-dereference-metatype) (semantic-analyze-type-parts) (semantic-analyze-scoped-types) (semantic-analyze-context) (semantic-analyze-context-assignment) (semantic-analyze-context-functionarg) (semantic-analyze-context-return) (semantic-analyze-current-context) (semantic-analyze-type-constraint) (semantic-analyze-type-constants) (semantic-analyze-possible-completions) (semantic-analyze-summary-function) (semantic-analyze-pric-sequence): Renamed occurances of "token" to "tag", and "nonterminal" to "tag". Also true for renamed fns above. 2004-01-27 Eric M. Ludlam * senator.el ("Idle Summaries", "Idle Completion"): Fix typos. (senator-menu-bar): Add narrow-to-tag binding * semantic-util-modes.el (semantic-show-unmatched-lex-tokens-fetch): New fcn * semantic-grammar.el (semantic-grammar-complete): Extend doc. * semanticdb-file.el (object-write): Keep the unmatched syntax up to date. Success is bound to use of `semantic-show-unmatched-syntax-mode'. * semanticdb.el (semanticdb-post-bovination-unmatched-syntax): Deleted (semanticdb-hooks): Remove above from list. * bovine/Makefile (bovinator, languages): --no-site-file * bovine/c.by (UNDEFINE): New keyword (define): Add UNDEF support. * doc/lang-support-guide.texi (Tag Structure): Describe CLASS more. (Language Support Overview): Moved old comment. Added new content. (Semantic Overload Mechanism): New intro. Describe the default a little more. Added more about advice. (Semantic Parser Structure): new (Application API Structure): New (Lexer Overview): Typos (Lexer Construction): Discus deprication of semantic-flex. Update define-lex. (Grammar Files): Removed. This is in the bovine section. (Grammar Programming Environment): New content. * doc/bovine.texi (Optional Lambda Expression): Added details on new TAG macros. * wisent/Makefile (languages_LISP): Removed wisent-java-lex.el (tools, wisent, languages): Exclude site-init file. * wisent/Project.ede ("languages"): Remove wisent-java-lex.el 2004-01-23 David Ponce * wisent/wisent-java-lex.el: Remove. No more used. * wisent/wisent-grammar.el (wisent-grammar-tokentable-builder): Remove. Not more necessary. (wisent-grammar-mode): Updated. * wisent/wisent-bovine.el: (wisent-lex-token-rules, wisent-lex-token-get) (wisent-lex-match, wisent-flex): Remove. Obsolete. (wisent-lex-make-token-table): Alias of `semantic-lex-make-type-table'. * semantic-lex.el: (semantic--lex-delim-spec, semantic--lex-block-specs) (semantic-lex-block-type): Remove. No more necessary. (define-lex-block-type-analyzer): Improve doc string. * semantic-grammar-wy.el: Re-generated. * NEWS: Add "Auto-generation of lexical rules" topic. Use "lexical rule" instead of "single lexical analyzer" terminology. 2004-01-19 Eric M. Ludlam * semantic-ede-grammar.el: (ede-buffer-mine::semantic-ede-proj-target-grammar): New method. 2004-01-19 David Ponce * semantic-grammar-wy.el: Re-generated. * semantic-grammar.wy: (, , , , , ) (): Declare as types. (PERCENT_PERCENT): Fix regexp. (PREFIXED_LIST): Move regexp to type syntax. (PAREN_BLOCK, BRACE_BLOCK): Fix block definition. (LPAREN, RPAREN): New tokens. (epilogue): Define `semantic-grammar-lexer' here. * semantic-grammar.el (semantic-grammar-wy): Require after specific analyzers. (semantic-grammar-lex-c-char-re): Move before analyzers. (semantic-grammar-lex-symbol, semantic-grammar-lex-string) (semantic-grammar-lex-char, semantic-grammar-lex-blocks) (semantic-grammar-lex-sexp, semantic-grammar-lex-prefixed-list) (semantic-grammar-lexer): Remove. Defined in grammar. 2004-01-18 David Ponce * wisent/wisent-java-tags.wy, wisent/wisent-java.wy: (, , , ) (, ): Use default values in %type declarations. * semantic-lex.el (semantic-lex-preset-default-types): New function. (semantic-lex-make-type-table): Use it. * semantic-grammar-wy.el: Re-generated. * semantic-grammar.wy (plist_opt): New rule. (type_decl): Use it. * semantic-grammar.el (semantic-grammar-token-%type-properties): Remember types explicitly declared with a %type statement. (semantic-grammar-insert-defanalyzer): Generate analyzer for explicitly declared types. (semantic-grammar-create-package): Add optional argument force to unconditionally re-generate Lisp code. 2004-01-16 David Ponce * semantic-grammar.el (semantic-grammar--lex-block-specs): Fix doc and condition-case. * wisent/wisent-java.wy: Use %keyword to declare keywords. Automatically generate analyzers used to build the lexer. (, , , ) (, ): Add %type declaration. (epilogue): Add lexer declaration. * wisent/wisent-java.el (require 'wisent-java-lex): Remove. * semantic-grammar.el (semantic-grammar-insert-defanalyzer): Fix use of quote in declaration of regexp analyzer. * wisent/wisent-java-tags.wy: Use %keyword to declare keywords. Automatically generate analyzers used to build the lexer. (, , , ) (, ): Add %type declaration. (epilogue): Add lexer declaration. * wisent/wisent-java-tags.el (require 'wisent-java-lex): Remove. * semantic-lex.el (semantic-lex-make-type-table): Implicitly create types with properties but without tokens associated. (define-lex-keyword-type-analyzer) (define-lex-sexp-type-analyzer): New macros. * semantic-grammar.el (semantic-grammar-token-%type-properties): %type statements unconditionally declare new types. (semantic-grammar-token-properties): Updated. (semantic-grammar-quoted-form): New function. (semantic-grammar-insert-defanalyzer): Use it to fix use of quote in analyzer declarations. Enclose type between < > in generated analyzer name. Fix conditions that select the type of analyzer to declare. Add declaration of sexp and keyword analyzers. (semantic-grammar-mode-keywords-1): Add highlighting of semantic keywords. * semantic-fw.el (semantic-fw-font-lock-keywords): Add new macro names. 2004-01-15 David Ponce * tests/gr-test.wy (block): Remove unnecessary \( and \) delimiters from the syntax regexp. * semantic-lex.el (define-lex-string-type-analyzer): Add missing comma. 2004-01-15 Eric M. Ludlam * semantic-complete.el (semantic-collector-analyze-completions): New collector class (semantic-collector-calculate-completions-raw): New method on above. (semantic-complete-read-tag-buffer-deep) (semantic-complete-read-tag-project): Fix doc string (semantic-complete-read-tag-analyzer): New function (semantic-complete-analyze-inline): New command * semantic-analyze.el (semantic-analyze-context): Fixed doc strings. Add :buffer slot. (semantic-analyze-current-context): Set the :buffer slot in above. * semantic-idle.el (semantic-idle-scheduler-function): Move catch inside the condition case. 2004-01-14 David Ponce * semantic-grammar.el: Fix last check-in. * semantic-lex.el: (define-lex-regex-type-analyzer) (define-lex-string-type-analyzer) (define-lex-block-type-analyzer): New macros. * semantic-grammar-wy.el: Re-generated. * semantic-grammar.wy: Introduce new %type statement. (TYPE): New keyword. (decl): Handle type_decl. (type_decl, plist): New rules. Fix errors due to use of ill-formed tags in EXPANDFULL mechanism. (prologue): Define function `semantic-grammar-wy--tag-value'. (put_decl, use_macros_decl): In semantic actions, use `semantic-grammar-wy--tag-value' instead of `semantic-tag-name' to retrieve the value of EXPANDFULL tags. (put_names, put_values, use_names): Produce valid tags. * semantic-grammar.el (require 'pp): Moved to top level. All callers updated. (semantic-grammar-token-%type-properties) (semantic-grammar-token-%put-properties): New functions. (semantic-grammar-token-properties): Use them. (semantic-grammar--lex-block-specs): New variable. (semantic-grammar-insert-define) (semantic-grammar--lex-delim-spec) (semantic-grammar--lex-block-specs) (semantic-grammar-insert-defanalyzer) (semantic-grammar-insert-defanalyzers): New functions. (semantic-grammar-create-package): Use the latter. * tests/gr-test.wy: New file. 2004-01-13 David Ponce * doc/wisent.texi (Wisent Parsing): Add `wisent-pre-parse-hook' and `wisent-post-parse-hook'. (Error recovery): Add `wisent-abort'. 2004-01-13 Eric M. Ludlam * doc/user-guide.texi (Idle Summary Mode): Added `semantic-idle-completions-mode'. * doc/app-dev-guide.texi (Tag Sorting): Added `semantic-unique-tag-table-by-name'. * semantic-idle.el (semantic-idle-completion-region-map): New binding for TAB (semantic-idle-completion-TAB): New command (semantic-idle-complete-self-insert): New command (semantic-idle-momentary-unoverlay): Reset `this-command' via keymap. If self-insert-command is to be run, reset to our own version. * semantic-ia.el: (semantic-ia-complete-symbol-menu, semantic-ia-complete-tip): autoload cookies. * semantic-idle.el (semantic-idle-scheduler-function): Wrap idle functions in save-excursion. Let idle functions run even if there was a lexical failure. (semantic-idle-summary): Support trailing dots for long lists. (semantic-idle-completion-region-map): New keymap. (semantic-idle-create-overlay-with-completion-map) (semantic-idle-momentary-unoverlay) (semantic-idle-momentary-overlay-with-completion-map): New fcns (semantic-idle-completion-list-default): Call above new fcn to show what the tooltips is for. Bind TAB to do the completion. 2004-01-12 Eric M. Ludlam * bovine/semantic-make.el (semantic-get-local-variables): Override to return nil. * semantic-ctxt.el: (semantic-end-of-command-default, semantic-beginning-of-command-default) (semantic-ctxt-current-symbol-default) (semantic-ctxt-current-assignment-default) (semantic-ctxt-current-function-default) (semantic-ctxt-current-argument-default): Wrap body in `with-syntax-table' and the lexical syntax table. That way variables and things are matched the same way the lexer matches them. 2004-01-12 David Ponce * semantic-idle.el (global-semantic-idle-scheduler-mode): defcustom requires semantic-idle instead of semantic-util-modes. (define-semantic-idle-service): Likewise. (semantic-idle-scheduler-mode): Add autoload cookie. 2004-01-10 Eric M. Ludlam * semantic-load.el (semantic-idle-completions-mode): Enable as useful. * semantic-idle.el: (semantic-idle-scheduler-function): Be sure to loop over the queue of idle functions. (semantic-idle-summary-current-symbol-info-brutish) (semantic-idle-summary-current-symbol-keyword): Do nothing if there was no found thing at point. (semantic-idle-completion-popup-max-size): New option. (semantic-idle-completion-popup-list) (semantic-idle-completion-list-default): New functions (semantic-idle-completions): New idle service. * semantic-sort.el (semantic-unique-tag-table-by-name): New function. * semantic-ctxt.el: (semantic-get-local-variables-default): Wrap body in `save-excursion'. 2004-01-09 Eric M. Ludlam * semantic-idle.el (global-semantic-idle-scheduler-mode): More documentation. (semantic-idle-scheduler-working-in-modeline-flag): Delete dup. (semantic-idle-summary-find-current-symbol-tag): More doc. (semantic-idle-summary-current-symbol-info-brutish): Does some of what the old print routine did. (semantic-idle-summary-current-symbol-keyword): Gets info if the current symbol is a keyword. (semantic-idle-summary-current-symbol-info-context): New routine to get a tag based on the current context (see semantic-analyze.el) (semantic-idle-summary-current-symbol-info-default): Rebuilt to use a sequence of attempted matches. * senator.el (senator-menu-bar): Jump menu items. * semantic-tag-file.el: (semantic-dependency-tag-file): Setting the buffer to a tag before trying to find the include file is now optional. Note to fix in the future. * semantic-tag.el (semantic-tag-copy): Do not modify filename/overlay if this tag does not include a position. * semantic-grammar.el (eldoc-current-symbol-info): Use new semantic-idle-summary function instead of old senator version. * semanticdb.el (semanticdb-file-table-object): Delete buffers to files loaded in to refresh a tags table. * semanticdb-find.el (semanticdb-find-table-for-include-default): fix typo * semanticdb-find.el: (semanticdb-find-table-for-include-default): Use `expand-file-name' instead of `concat'. Use fname (which we calculated) when loading the table for the include file. (semanticdb-find-log-flag, semanticdb-find-log-buffer-name): New var (semanticdb-find-toggle-logging, semanticdb-reset-log): New commands (semanticdb-find-log-move-to-end, semanticdb-find-log-new-search) (semanticdb-find-log-activity): New logging functions. (semanticdb-find-tags-collector): Use new logging functions. 2004-01-09 David Ponce * semantic-load.el: Add doc directories into `Info-default-directory-list' instead of `Info-directory-list'. Use `expand-file-name' to manipulate directory names. 2004-01-09 Eric M. Ludlam * NEWS: Add lexical safety note. Add idle-scheduler related data. * doc/user-guide.texi (top): Add Idle Scheduler (Idle Scheduler): New node, new content (Minor Modes): Remove auto-parser mode and summary mode. * doc/app-dev-guide.texi (top): Renamed Parser Hooks to Parser Features. Added Idle Scheduling (Parser Features): New name. Add a menu. (Parser State): New Node, old content (Parser Hooks): New Node, old content (Lexical Safety): New Node with new text (Idle Scheduling): New node and new content * semantic-complete.el (semantic-collector-try-completion-whitespace): Be robust to more types of non-matching whitespace completion. 2004-01-08 Eric M. Ludlam * semantic-load.el (Info-directory-list): Add our directory to the master list. * doc/Makefile: Regenerated * doc/Project.ede: (semantic-user.info, semantic-appdev.info, semantic-langdev.info) (bovine.info, wisent.info): New manuals split from Documentation. * doc/wisent.texi, doc/user-guide.texi, doc/tags.texi: Convert to stand alone manual. * doc/semantic.texi: Convert the users guide, developers guide, an lang support guide into standalong manuals. * doc/semanticheader.texi: Common macros for semantic manuals. * doc/lang-support-guide.texi: Convert to stand alone manual. Add notes in sections written for semantic 1.4 not yet updated. * doc/installation.texi: Add details about semantic being a part of CEDET. * doc/bovine.texi: Convert to stand alone manual. * doc/app-dev-guide.texi: Convert to stand alone manual. Add semanticdb search results node. Fixed a couple typos. 2004-01-08 David Ponce * semantic-lex.el (semantic-lex-catch-errors): Preserve the values of point, mark and the current buffer. * senator.el (senator-save-registered-mode-settings): Don't hang when `customize-save-variable' fails. 2004-01-03 Eric M. Ludlam * semantic-lex.el (semantic-lex-debug-break): Use `semantic-read-char'. 2003-12-29 Eric M. Ludlam * senator.el: (semantor-eldoc-use-color, semantic-eldoc-summary-function) (senator-find-current-symbol-tag) (senator-eldoc-print-current-symbol-info-default) (senator-eldoc-print-current-symbol-info): Deleted (eldoc-print-current-symbol-info): Deleted advice. (senator-try-expand-semantic): Catch errors on initial parse. 2003-12-28 Eric M. Ludlam * semantic.el: (semantic-parse-tree-unparseable, semantic-parse-tree-unparseable-p): New functions. (semantic-new-buffer-fcn-was-run): New variable (semantic-active-p): Change to use above variable. (semantic-new-buffer-fcn): Use content of old `semantic-active-p' to detect activation state. Set new variable above to t. (bovinate): Don't show the parse dump buffer if CLEAR set. (semantic-bovinate-toplevel): Do not parse the buffer it it is currently set as "unparseable". * semantic-idle.el (semantic-idle-scheduler-idle-time): Fix doc. (semantic-before-idle-scheduler-reparse-hooks) (semantic-after-idle-scheduler-reparse-hooks): Update doc. (semantic-idle-scheduler-refresh-tags): Remove lexical catch functions. Use 'semantic-lex-catch-errors' instead. (semantic-idle-summary-current-symbol-info-default): Fix senator references. * semantic-lex.el (semantic-lex-catch-errors): New macro (edebug-setup-hook): Support above. 2003-12-23 Eric M. Ludlam * semanticdb-find.el (semanticdb-find-tags-collector): Call `semantic-throw-on-input' between each DB search. * semantic-idle.el: (smeantic-idle-scheduler-input-function) (semantic-idle-scheduler-user-input-waiting-p): Deleted (semantic-idle-scheduler-function): Message on caught errors. Use `semantic-exit-on-input' macro. * semantic-fw.el (semantic-varalias-obsolete): Only emit compatibility warnings on when byte compiling. (semantic-current-input-throw-symbol): New var. (semantic-exit-on-input, semantic-throw-on-input): New macros (semantic-test-throw-on-input): New test fcn (edebug-setup-hook): Add `semantic-exit-on-input' edubug support. 2003-12-22 Eric M. Ludlam * semantic-util-modes.el (global-semantic-auto-parse-mode, semantic-auto-parse-*): Deleted (global-semantic-summary-mode, semantic-summary-mode-*): Deleted (semantic-show-tag-boundaries-mode): Fix start message (semantic-stb-reparse-hook): Do not delete secondary overlays fcn start. Add a sanity check to prove that it wasn't needed. * Makefile: Regenerated from Project.ede; --no-site-init added to many compile commands. * Project.ede ("semantic"): Add semantic-idle.el * semantic-grammar.el (semantic-format-tag-abbreviate): Renamed from old. (semantic-tag-boundary-p): New overload method (semantic-format-tag-summarize): Renamed from old. * senator.el ("Auto Parse", "Summaries): Delete old menu items ("Idle Scheduler", "Udle Summaries"): New menu items * semantic-load.el: (global-semantic-summary-mode, global-semantic-auto-parse-mode): Do not initialize. (global-semantic-idle-scheduler, global-semantic-idle-summary-mode): Enable these new modes. 2003-12-21 Eric M. Ludlam * semantic-idle.el (semantic-auto-parse-mode, global-semantic-auto-parse-mode): New alias (define-semantic-idle-service): Fix cut & paste errors (semantic-idle-summary): Add overload symbols. (semantic-summary-mode, global-semantic-summary-mode): New alias * semantic-decorate.el (semantic-tag-secondary-overlays): Moved. (semantic-tag-get-secondary-overlay): New fcn (semantic-tag-delete-secondary-overlay): Use above 2003-12-19 Eric M. Ludlam * semantic-util-modes.el (semantic-show-parser-state-mode-setup): Use idle-scheduler hooks instead of auto-pase hooks. (semantic-show-tag-boundaries-setup): Use new hook for `semantic-after-toplevel-cache-change-hook' On disble, completely flush all found boundary overlays. (semantic-tag-boundary-p): doc fix (semantic-stb-flush-rogue-boundaries): New function (semantic-stb-after-full-reparse-hook): New function used as hook (semantic-stb-reparse-hook): Delete boundaries on tags before adding a new one. * semantic-idle.el (semantic-idle-scheduler-idle-time): Change to 2 seconds (semantic-idle-scheduler-add, semantic-idle-scheduler-remove): Add autoload cookies (semantic-idle-scheduler-function): Reparse all buffers. Manage timers in this routines. Protect insides from long-jump. (semantic-idle-scheduler-refresh-tags): Remove timer management. (define-semantic-idle-service): New macro (semanticidle-summary-function) (semantic-idle-summary-find-current-symbol-tag) (semantic-idle-summary-current-symbol-info-default): New fcns (semantic-idle-summary): New idle minor mode. 2003-12-18 Eric M. Ludlam * semantic-idle.el: New file. 2003-12-17 Eric M. Ludlam * senator.el (senator-prefix-map): Have senator use the new semantic-complete jump prompt demos instead of senator-jump. (experiment). * doc/app-dev-guide.texi (Local Context): Added semantic-ctxt-current-thing. * semanticdb-find.el: (semanticdb-find-results-p, semanticdb-find-result-with-nil-p): Made tests more accurate. 2003-12-16 David Ponce * semantic-grammar-wy.el: Re-generated. * semantic-grammar.wy: Introduce new %keyword statement to declare keywords. Allow use of forms in %put statements. (use_names): Add to start symbols. (KEYWORD): New keyword. (DEFAULT-PREC, NO-DEFAULT-PREC, KEYWORD, LANGUAGEMODE) (LEFT, NONASSOC, PACKAGE, PREC, PUT, QUOTEMODE, RIGHT) (SCOPESTART, START, TOKEN, USE-MACROS): Declare with %keyword instead of %token. (KEYWORDTABLE, OUTPUTFILE, PARSETABLE, SETUPFUNCTION) (TOKENTABLE): Remove. Obsolete. (decl): Add keyword_decl rule. Remove obsolete rules. (put_decl): Use put_name rule instead of SYMBOL. (put_names): Likewise. (put_name, keyword_decl, use_names): New rules. (use_name_list): New rule. (use_macros_decl): Use it. (keywordtable_decl, outputfile_decl, parsetable_decl) (setupfunction_decl, tokentable_decl): Remove. Obsolete. * semantic-grammar.el (semantic-grammar-lex-symbol): Accept colon as symbol prefix. (semantic-grammar-anchored-indentation): Take care of colon used as symbol prefix. 2003-12-13 Eric M. Ludlam * semantic-complete.el (semantic-complete-do-completion): Add 'empty support (semantic-complete-next-action): fix doc (semantic-collector-abstract): Change type of last-all-completions (semantic-collector-next-action): If there are completions, return empty state. (semantic-collector-calculate-completions-raw): Put in a db table instead of nil. (semantic-collector-try-completion-whitespace): Handle case of exact matches amongst non exact matches (semantic-collector-calculate-cache): Put in a db table. 2003-12-11 David Ponce * senator.el (senator-eldoc-print-current-symbol-info): Check that `eldoc-echo-area-use-multiline-p' is defined. 2003-12-11 Eric M. Ludlam * bovine/semantic-el.el (semantic-ctxt-current-function): Make sure strings are returned. * semantic-util-modes.el: (semantic-highlight-attribute-face-private) (semantic-highlight-attribute-face-protected) (semantic-highlight-attribute-face-private): New colors. * NEWS: Fix names search-result -> find-result * semanticdb-file.el (semanticdb-create-database): Provde a more intelligent name for new DBs. * semanticdb.el (object-print): New method * semantic-cb.el (semantic-cb-new-class-browser): Turn of system DB. Use `semanticdb-brute-find-tags-by-class' to scan all files in a project. * semanticdb-find.el (semanticdb-find-result-prin1-to-string): New debug fcn (semanticdb-find-tags-by-class): doc fix. (semanticdb-brute-find-tags-by-class): New fcn * semantic-complete.el (semantic-collector-calculate-completions): Add new argument for PREFIX. (semantic-complete-default-to-tag): Use new arg (semantic-complete-current-match): Use new arg (semantic-complete-hack-word-boundaries): New function. (semantic-complete-do-completion): Use new arg and new fcn (semantic-complete-try-completion): Support partial completion of word boundary characters. (semantic-collector-abstract): Add cache for whitespace completion. (semantic-collector-next-action): Support whitespace completion and 'done state. (semantic-complete-next-action): Doc fix. (see previous) (semantic-collector-try-completion-whitespace) (semantic-collect-r-current-whitespace-completion): New fcns 2003-12-10 Eric M. Ludlam * semantic-lex.el (define-lex): Doc fix. 2003-12-05 David Ponce * wisent/wisent-java.wy (PAREN_BLOCK, BRACE_BLOCK, BRACK_BLOCK): New tokens. * wisent/wisent-java-tags.wy (PAREN_BLOCK): Change type to . (BRACE_BLOCK, BRACK_BLOCK): Likewise. * wisent/wisent-java-lex.el (wisent-java-lex-blocks): Remove. (wisent-java-tags-lexer): Use `semantic-lex-block-type'. (wisent-java-lexer): Ditto. * semantic-lex.el (semantic--lex-block-specs): New variable. (semantic--lex-delim-spec): New function. (semantic--lex-block-specs): New function. (semantic-lex-block-type): New lexical analyzer. 2003-12-04 Eric M. Ludlam * semantic-complete.el (semantic-complete-current-match): Account for new return arg of `semanticdb-find-result-nth'. Use `semanticdb-find-result-nth-in-buffer' when getting the final tag to return to the prompt. (semantic-complete-jump-local): Renamed from below. (semantic-complete-jump): Uses project level prompt for jumping. * semantic-complete.el (semantic-complete-choose-default): Moved to semantic-ctxt.el (semantic-complete-default-to-tag): Use `semantic-ctxt-current-thing'. (semantic-displayor-focus-request): Improve focus summary output. Make tag highlighting more robust to file loading. Show minibuffer message for position of current cycle, AND mimic completion on the current minibuffer contents. * semantic-ctxt.el (semantic-ctxt-current-thing): new function. * semantic-complete.el (semantic-displayor-focus-next-tag): Fixed to use new datatype of TABLE. (semantic-displayor-focus-request): Fixed to also show summaries if a tag cannot be focused on due to lack of position or lack of buffer. * semanticdb.el (semanticdb-get-buffer:semanticdb-abstract-table): New method. (semanticdb-get-buffer:semanticdb-table): New method. (semanticdb-set-buffer): Use above. 2003-12-01 David Ponce * semantic-lex.el (semantic-lex-make-type-table): Reset ALIST before processing next token type spec. 2003-11-29 Eric M. Ludlam * semanticdb-system.el (semanticdb-create-system-database): Add autoload cookie. * semantic-complete.el: (semantic-complete-read-tag-engine): Replaced setup with something simpler. Replaced end with single function call. (semantic-completion-message): Moved (semantic-complete-active-default): New variable (semantic-complete-choose-default): Moved (semantic-complete-default-to-tag): New (semantic-complete-current-matched-tag): New variable (semantic-complete-current-match): New fcn (semantic-complete-done): Moved and simplified. (semantic-complete-try-completion): Pass extra arg to `semantic-collector-try-completion' (semantic-complete-do-completion): Rebind some globals to local variables. Add implementation for 'scroll action type. (semantic-complete-next-action): New fcn. (semantic-collector-abstract): Make 'last-prefix protected. Rename `match-list' to `current-exact-match'. (semantic-collector-next-action): Move and simplify. (semantic-collector-calculate-completions): Differentiate between single and multiple exact matches vs multiple different matches. (semantic-collector-current-exact-match): New name. (semantic-collector-all-completions, semantic-collector-try-completion): Accept and use new prefix argument. (semantic-collector-flush): Account for renamed match-list. (semantic-displayor-abstract): Make table and last-prefix protected. (semantic-displayor-next-action): Return 'scroll instead of 'focus. (semantic-displayor-focus-request): Ding (semantic-displayor-scroll-request): New method (semantic-displayor-focus-abstract): Make 'focus protected. (semantic-displayor-next-action): New method. (semantic-displayor-current-focus): More protection around search. 2003-11-27 Eric M. Ludlam * semanticdb-el.el: (semanticdb-find-tags-by-name-method) (semanticdb-find-tags-by-name-regexp-method) (semanticdb-find-tags-for-completion-method) (semanticdb-find-tags-by-class-method) (semanticdb-deep-find-tags-by-name-method) (semanticdb-deep-find-tags-by-name-regexp-method) (semanticdb-deep-find-tags-external-children-of-type-method): Accept new TAGS argument. Dispatch to superclass if passed in. * semanticdb-find.el (semanticdb-find-translate-path): Update doc (semanticdb-find-translate-path-default): Support find results as a path. (semanticdb-find-result-nth, semantic-find-result-nth-in-buffer): Return a cons cell which includes the table the tag was found in. (semanticdb-find-tags-collector): Handle find results in the path. (semanticdb-find-tags-by-name, semanticdb-find-tags-by-name-regexp) (semanticdb-find-tags-for-completion, semanticdb-find-tags-by-class) (semanticdb-deep-find-tags-by-name, semanticdb-deep-find-tags-by-name-regexp) (semanticdb-deep-find-tags-for-completion) (semanticdb-brute-deep-find-tags-by-name) (semanticdb-find-tags-external-children-of-type): Lambda expression sent to collector taks a TAGS argument. (semanticdb-find-tags-by-name-method): (semanticdb-find-tags-by-for-completion-method) (semanticdb-find-tags-by-class-method) (semanticdb-find-deep-tags-by-name-method) (semanticdb-find-deep-tags-by-name-regexp-method) (semanticdb-find-deep-tags-by-for-completion-method): Accept a TAGS argument into the method. Search that tag list if passed in. 2003-11-20 Eric M. Ludlam * semantic-complete.el: Update commentary. (semantic-complete-read-tag-engine): handle empty match-lists. handle tags that do not have positions. Use new semanticdb find results API for tags read from a database. (semantic-complete-done): Force full recalculation on CR. (semantic-complete-try-completion): Use new semanticdb find result api. make sure minibuffer contents are flushed. (semantic-collector-abstract): Force the cache to be of :type semanticdb-find-result-with-nil. (semantic-collector-get-cache, semantic-collector-calculate-completions-raw): New methods. (semantic-collector-calculate-completions): Use new accessors. (semantic-collector-get-match-list, semantic-collector-get-match): New methods. (semantic-collector-calculate-cache): Create cache in semanticdb format. (semantic-collector-project-abstract): New class. (semantic-collector-project): New class. (semantic-collector-calculate-completions-raw): New method on above. 9semantic-collector-project-brutish): New class. (semantic-collector-calculate-completions-raw): New method on above. (semantic-displayor-abstract): Use db find result as table type. (semantic-displayor-current-focus): For above, return nil. (semantic-displayor-show-request): Use semanticdb-strip-find-results. (semantic-displayor-focus-abstract): New slot 'find-file-focus'. (semantic-displayor-current-focus): For above, use semanticdb-find-results-nth. (semantic-displayor-tradition-with-focus-highlight): Specify 'find-file-focus' slot value as t. (semantic-complete-read-tag-project): New function (semantic-complete-test): Change which function is tested here. * semantic-format.el (semantic-format-tag-protection-symbol-to-string-assoc-list): New variable. (semantic-format-tag-uml-protection-to-string): Now an override method. (semantic-format-tag-uml-protection-to-string-default): New function. Now uses semantic-format-tag-protection-symbol-to-string-assoc-list. * semantic-texi.el (semantic-texi-associated-files): Use `semanticdb-get-database-tables' method. * semantic-imenu.el (semantic-create-imenu-directory-index): Use `semanticdb-get-database-tables' method. * semanticdb-search.el: (semanticdb-find-nonterminal-by-function-method): Use `semanticdb-get-database-tables' method. * semanticdb-find.el (semanticdb-find-translate-path-brutish-default): Use `semanticdb-get-database-tables' method. (semanticdb-strip-find-results, semanticdb-find-results-p) (semanticdb-find-results-with-nil-p, semanticdb-find-result-length) (semanticdb-find-result-nth): New methods (semanticdb-find-tags-collector): Protect action by `save-excursion'. (semanticdb-brute-deep-find-tags-for-completion): new function. * semanticdb-file.el (semanticdb-load-database): Use `semanticdb-get-database-tables' method. * semantic-chart.el (semantic-chart-database-size): Use `semanticdb-get-database-tables' method. * semanticdb-el.el (semanticdb-file-table): Call new below method. (emanticdb-get-database-tables): Body was 'semanticdb-file-table' Table slot either has a value, or is unbound. It isn't nil. (semanticdb-elisp-sym-function-arglist): Use eieio function that returns an arglist. (semanticdb-elisp-sym->tag): More robust test for 'user-visible' value of functions. * semanticdb.el (semanticdb-project-database): Make the 'tables' slot protected. Add :accessor `semanticdb-get-database-tables'. (semanticdb-flush-database-tables): New method (semanticdb-current-database-list): Make sure `reference-directory' is bound before using it. (semanticdb-database-sanity-check): Use `semanticdb-get-database-tables' method. * Makefile, wisent/Makefile, wisent/Project.ede, Project.ede, bovine/Makefile, bovine/Project.ede, bovine/semantic-erlang.el, bovine/semantic-make.el, semantic-format.el, semantic-fw.el, semantic-grammar.el, semantic-imenu.el, semantic-regtest.el, semantic-sort.el, semantic-tag.el, semanticdb-file.el, semanticdb-find.el, semanticdb-search.el, semanticdb.el, senator.el: Merged with cedet-1p0beta1 branch. 2003-11-12 Eric M. Ludlam * Project.ede ("semantic"): Moved metagrammar after autoloads. 2003-11-10 David Ponce * semantic-regtest.el: Fix wrong line endings. * semantic-grammar.el: XEmacs needs font-lock at runtime. (semantic-grammar-item-value): Handle characters as integers in XEmacs to fix `pp-to-string' "Unbalanced parentheses" errors. (semantic-grammar-package): Don't use `replace-match' which have a different behavior in XEmacs and GNU Emacs. (semantic-grammar-batch-build-one-package): Use `byte-compile-file' instead of `batch-byte-compile-file' which is undefined in XEmacs. * semantic-fw.el (semantic-varalias-obsolete): Take care of `defvaralias' failures. For example, XEmacs don't permit to alias a buffer local variable. * Makefile (metagrammar): Add missing dependency on autoloads. 2003-11-07 David Ponce * bovine/semantic-make.el (semantic-make-expand-tag): Fix expansion of include tags. 2003-11-05 David Ponce * semantic-sort.el (semantic-adopt-external-members): Use the tag API to add external members. Thanks to Klaus Berndl . 2003-11-01 David Ponce * senator.el: (semantic-step-at-token-ids) (senator-step-at-start-end-token-ids) (senator-add-log-tokens): Use `semantic-varalias-obsolete'. * semantic-tag.el (semantic-expand-nonterminal): Use `semantic-varalias-obsolete'. * semantic-imenu.el: (semantic-imenu-bucketize-type-parts) (semantic-imenu-expandable-token) (semantic-imenu-expand-type-parts): Use `semantic-varalias-obsolete'. * semantic-fw.el (semantic-varalias-obsolete): New function. (semantic-fw-font-lock-keywords): Highlight it. * semantic-format.el: (semantic-token->text-functions) (semantic-token->text-custom-list) (semantic-face-alist): Use `semantic-varalias-obsolete'. 2003-10-30 David Ponce * bovine/semantic-erlang.el (semantic-erlang-default-setup): Fix call to `semantic-erlang-by--install-parser'. 2003-10-29 Eric M. Ludlam * bovine/Makefile (languages_LISP): Added erlang-edoc.el, and semantic-erlang.el. * bovine/Project.ede ("languages"): Added erlang-edoc.el, and semantic-erlang.el. * senator.el (senator-completion-menu-popup): Disable imenu jumping while using the popup. The tags are not valid. * semanticdb-find.el: (semanticdb-find-table-for-include-default): Attempted to get dependency search routine working. Left commented out since it has some bugs still. * semanticdb-file.el (semanticdb-create-database): Set reference directory to a value. * semanticdb.el (semanticdb-create-database): Set reference directory to a value. (semanticdb-semantic-init-hook-fcn): Do not set reference directory to a value anymore. 2003-10-27 Eric M. Ludlam * senator.el (senator-completion-menu-item): Use semanticdb-printable-name instead of directly referencing the file slot. Doc fix. * semanticdb.el, semanticdb-search.el (semanticdb-printable-name): New method. 2003-10-22 Eric M. Ludlam * semantic-grammar.el (semantic-grammar-batch-build-one-package): Require bytecomp * wisent/Makefile (wisent_LISP): add wisent-grammar-macros.el * wisent/Project.ede (wisent): add wisent-grammar-macros.el * bovine/Makefile (bovinator_LISP): Add bovine-grammar-macros.el * bovine/Project.ede (bovinator): Add bovine-grammar-macros.el * Project.ede: Remove wy. Add metagrammar. * Makefile (LOADPATH): Updated (all): Remove wy, add metagrammar (dist): remove wy, add metagrammar 2003-10-15 Eric M. Ludlam * doc/user-guide.texi (Summary Mode): Added summary function option. * senator.el (senator-eldoc-summary-function): New option. (senator-eldoc-print-current-symbol-info): Obey `eldoc-echo-area-use-multiline-p' 2003-10-02 David Ponce * doc/wisent.texi: Clarify definition of rule precedence in "Grammar format" node. * semantic-grammar-wy.el: Re-generate. * semantic-grammar.wy: Handle %default-prec/%no-default-prec declarations introduced in Bison 1.875c, to enable/disable default rule precedences. (NO-DEFAULT-PREC): New keyword. (default_prec_decl): Remove argument. (no_default_prec_decl): New rule. (decl): Use it. 2003-10-02 Eric M. Ludlam * Project.ede: Now a meta-subproject. * wisent/Makefile, tests/Makefile, doc/Makefile, bovine/Makefile (dist): Now phony. * Makefile (dist): Remove local creation of tar file. (dist,tags): Call subprojects differently. 2003-10-01 David Ponce * doc/wisent.texi: Add paragraphs on default-prec feature in "Grammar format" node. * semantic-grammar-wy.el: Re-generate. * semantic-grammar.el (semantic-grammar-create-package): Generate Lisp code if the grammar in the current buffer is modified. * semantic-grammar.wy: Handle new %default-prec declaration introduced in Bison 1.875c, to enable (the default) or disable default rule precedences. (DEFAULT-PREC): New token. (default_prec_decl): New rule. (decl): Use it. * wisent/wisent-comp.el: Handle new default-prec feature introduced in Bison 1.875c, to enable (the default) or disable default rule precedences. Add `default-prec' to compile-grammar context. (wisent-parse-grammar): Handle `default-prec' in associativity rules. 2003-09-24 Eric M. Ludlam * semantic-debug.el, semanticdb.el, semantic-analyze.el: Dependent on eieio 0.18beta1. 2003-09-24 David Ponce * sformat.el, working.el: Move to common. * Makefile: Re-generate. * Project.ede (tools): Remove sformat.el and working.el from target sources. 2003-09-18 David Ponce * Makefile: Re-generated. * Project.ede (init): Remove semantic-autogen.el from target. 2003-09-17 David Ponce * senator.el (senator-menu-bar): Fix typo. * Makefile: Re-generated. * Project.ede (autoloads): Change semantic-al.el by semantic-loaddefs.el. * semantic-fw.el: Load semantic-loaddefs instead of semantic-al. 2003-09-16 David Ponce * Makefile: Re-generated. * semantic-edit.el (semantic-changes-in-region): Don't go outside buffer's bounds. * bovine/erlang.bnf, semantic-autogen.el: Remove. Obsolete. * wisent/Wisent.mk: Remove. No more used. * wisent/Makefile: Re-generated. * wisent/Project.ede (make): Remove target. No more useful. * Makefile: Re-generated. 2003-09-12 David Ponce * semantic-tag.el (semantic--tag-hook-value): New variable. (semantic-tag-add-hook): Use `add-hook'. (semantic-tag-remove-hook): Use `remove-hook'. (semantic--tag-run-hooks): Use new variable above. 2003-09-11 Eric M. Ludlam * NEWS: (Versioning, Naming conventions, Grammar build process) (semanticdb-find.el, semantic-show-tag-boundaries) (semantic-highlight-by-attribute-mode): New (bovine-grammar-mode): don't support bnf. (semanticdb-search.el): Updated. (seup): updated (Erlang parser added): Updated 2003-09-10 David Ponce * Makefile: Re-generated. * Project.ede (autoloads target): Add "bovine" and "wisent" sub-directories to autoload-dirs. 2003-09-09 David Ponce * senator.el: Use a sub-menu for each Semantic minor mode to shorten the Senator/Modes menu. (senator-base-local-label) (senator-base-global-label) (senator-uniquify-count): Remove. (senator-build-command-menu-item): Simplify. (senator-mode-menu-item-format) (senator-mode-menu-item-format-tty): Remove. (senator-mode-menu-local-toggle-label) (senator-mode-menu-global-toggle-label): New options. (senator-build-mode-menu-items): Renamed to... (senator-build-mode-sub-menu): Build a minor mode sub-menu instead of separate menu items. (senator-build-modes-menu): Use it. 2003-09-08 David Ponce * wisent/Makefile: Re-generated. * wisent/Project.ede (taggers): Move after "wisent" target to use byte-compiled grammar compiler and speed up build. (languages): Remove "wisent-awk-wy.el" from target. * semantic-grammar-wy.el: Resurrect. Needed to parse grammars! * wisent/wisent-c-wy.el, wisent/wisent-calc-wy.el, wisent/wisent-java-tags-wy.el, wisent/wisent-java-wy.el, wisent/wisent-python-wy.el: Remove. Generated. * wisent/fdl.texi: Remove. Moved to doc. * semantic-grammar-wy.el: Remove. Generated. * wisent/wisent-grammar.el (semantic-find): Require at compile time. * doc/Makefile: Re-generated. * doc/Project.ede (Documentation): Remove semanticdb.texi from target. * bovine/Makefile: Re-generated. * bovine/Project.ede (languages): Add semantic-java.el to target. * semantic-sort.el: (semantic-tag-external-member-parent) (semantic-tag-external-member-p) (semantic-tag-external-member-children): Add autoload cookie. 2003-09-07 David Ponce * bovine/semantic-java.el (semantic-java-prototype-nonterminal): Add as obsolete alias of `semantic-format-prototype-tag-java-mode'. * wisent/wisent-bovine.el (wisent-parse-region): Fix local variable name and invalid function names. * semantic-sort.el (semantic-find): Add compile-time require. * semantic-sb.el (inversion-require): Fix speedbar version. * semantic-grammar.el (semantic-find): Add compile-time require. * semantic-find.el (semantic-sort): Remove compile-time require. 2003-09-07 Eric M. Ludlam * semantic-cb.el (semantic-dot): autload cookie. * semanticdb-el.el (semanticdb-find-tags-by-class-method): New method * wisent/Makefile (doc): Removed vars and rule. * wisent/Project.ede (doc): Removed * Makefile (LOADDEFS): New (maintenance_LISP): removed autoload file (all): Add autoload (semantic-al.el): new rule (init): remove semantic-al.el (dist): add loaddefs. * Project.ede ("init"): Removed autoload generator ("autoloads"): New 2003-09-06 Eric M. Ludlam * bovine/semantic-scm-by.el: autogenerated now * bovine/semantic-make-by.el: autogenerated now. * bovine/semantic-erlang-by.el: autogenerated now * bovine/semantic-c-by.el: Auto generated in makefile 2003-09-05 David Ponce * wisent/wisent-java-tags.el, wisent/wisent-java.el (wisent-java-get-local-variables): Replace by a define-mode-overload-implementation of `semantic-get-local-variables'. (semantic-install-function-overrides): Remove call. * bovine/semantic-java.el: (semantic-java-prototype-function) (semantic-java-prototype-variable) (semantic-java-prototype-type): Doc fix. (semantic-java-prototype-tag): Replace by a define-mode-overload-implementation of `semantic-format-prototype-tag'. (semantic-java-find-documentation): Replace by a define-mode-overload-implementation of `semantic-documentation-for-tag'. Fix implementation. * semantic-doc.el (semantic-doc-snarf-comment-for-tag): As indicated in doc string allow to pass `lex' in NOSNARF argument. (semantic-find-documentation): Declare obsolete. 2003-09-05 Eric M. Ludlam * bovine/semantic-scm.el: (semantic-format-tag-prototype, semantic-documentation-for-tag) (semantic-insert-foreign-tag): New name compatible * bovine/semantic-el.el (semantic-bovine): New requirement * bovine/semantic-bovine.el (semantic-lambda): Add autoload 2003-09-02 Eric M. Ludlam * senator.el (senator-transpose-tags-down): doc fix * semantic-tag-file.el (semantic-go-to-tag): Doc fix. * semantic-sort.el (semantic-adopt-external-members): Doc fix. Use new names. (semantic-nonterminal-external-member-parent): Renamed to (semantic-tag-external-member-parent): New name. (semantic-nonterminal-external-member-parent-default): Renamed to (semantic-tag-external-member-parent-default): new name (semantic-nonterminal-external-member-p): renamed to (semantic-tag-external-member-p): new name (semantic-nonterminal-external-member-p-default): renamed to (semantic-tag-external-member-p-default): new name (semantic-nonterminal-external-member-children): renamed to (semantic-tag-external-member-children): new name (semantic-nonterminal-external-member-children-default): renamed to (semantic-tag-external-member-children-default): new name * semantic-fw.el: Make documentation aspects of overload functions available to external modules: (semantic-overload-symbol-from-function): new function (define-overload): Use above (semantic-overload-docstring-extension): New function (semantic-augment-function-help): Use above * semantic-find.el: (semantic-find-tags-external-children-of-type): Use `semantic-tag-extenal-member-parent'. * semantic-complete.el (semantic-complete-read-tag-buffer-deep): doc fix * semantic-cb.el (semantic-cb-convert-type): Use `semantic-tag-extenal-member-children'. * semantic-analyze.el (semantic-analyze-type-parts): Use `semantic-tag-extenal-member-children'. 2003-09-02 David Ponce * bovine/semantic-bovine.el (semantic-lambda): Move here from semantic/semantic.el. (semantic-bovinate-nonterminal-db-nt): Doc fix. * bovine/bovine-grammar.el (bovine-grammar-parsetable-builder): Doc fix. * semantic.el (semantic-toplevel-bovine-table): Doc fix. (semantic-toplevel-bovine-table-source): Remove. No more used. (semantic-lambda): Move to bovine/semantic-bovine.el. (semantic-bovinate-region-until-error) (semantic-bovinate-from-nonterminal-full): Make obsolete. * semantic-util.el (semantic-equivalent-major-modes): Doc fix. 2003-09-01 Eric M. Ludlam * doc/wisent.texi: (Wisent Overview, Wisent Grammar, Grammar format, Example) (Compiling a grammar, Conflicts, Grammar Debugging) (Understanding the automaton, Wisent Parsing) (Writing a lexer, Actions goodies, Report errors) (Error recovery, Debugging actions, Wisent Semantic) (WY grammar format, Percent-keywords, WY Major Mode) (Grammar styles, Iterative style, Bison style) (Mixed style, Start nonterminals, Useful functions) (Wisent Lex, Wisent Index): Updated @section and @node names to be compatible with makeinfo. * doc/user-guide.texi (senator): Fixed ref. * doc/lang-support-guide.texi (Language Support Developer's Guide): Removed empty node. (Keywords): @ref updates. (Keyword Properties): Added property tables (Writing Parsers): Update refs (External Parsers, Bovine Parsers, Wisent Parsers, Grammar) (Programming Environment): Updated sections to be makeinfo compatible. * doc/bovine.texi: (%start, %languagemode, %token, Bovine Grammar Rules) (Optional Lambda Expression): Updated sectioning names to make compatible with makeinfo. 2003-08-31 David Ponce * wisent/wisent-grammar-macros.el: (wisent-grammar-EXPAND) (wisent-grammar-EXPANDFULL): Doc fix. (wisent-grammar-TAG) (wisent-grammar-VARIABLE-TAG) (wisent-grammar-FUNCTION-TAG) (wisent-grammar-TYPE-TAG) (wisent-grammar-INCLUDE-TAG) (wisent-grammar-PACKAGE-TAG) (wisent-grammar-CODE-TAG) (wisent-grammar-EXPANDTAG) (wisent-grammar-AST-ADD) (wisent-grammar-AST-PUT) (wisent-grammar-AST-GET) (wisent-grammar-AST-GET1) (wisent-grammar-AST-GET-STRING) (wisent-grammar-AST-MERGE): Use explicit arguments. * bovine/semantic-scm-by.el, bovine/semantic-erlang-by.el: Re-generated. * bovine/scheme.by (scheme): Fix call to the EXPAND macro. * bovine/erlang.by: (module-attr, import-attr, import-name-list) (fun-clause, macro-def, include-dir) (include-lib-dir): Fix call to the EXPAND macro. (record-decl, record-def): Fix call to the EXPANDFULL macro. * bovine/bovine-grammar-macros.el: (bovine-grammar-EXPAND) (bovine-grammar-EXPANDFULL) (bovine-grammar-TAG) (bovine-grammar-VARIABLE-TAG) (bovine-grammar-FUNCTION-TAG) (bovine-grammar-TYPE-TAG) (bovine-grammar-INCLUDE-TAG) (bovine-grammar-PACKAGE-TAG) (bovine-grammar-CODE-TAG): Use explicit arguments. * semantic-grammar.el (semantic-grammar-create-package): Move insert of declaration header into declaration part. 2003-08-31 Eric M. Ludlam * senator.el: (senator-transpose-tags-up) (senator-transpose-tags-down): New commands. * semantic-texi.el (semantic-default-texi-setup): Bind f9 to update texi from texi. * doc/wisent.texi: Converted from stand along documentation to part of semantic manual. (Wisent Parsers): Renamed. (Wisent Grammar): Renamed (Wisent Parsing): Renamed (Wisent Index): Unchaptered. * doc/semantic.texi: Added Richard to AUTHORS. * doc/Project.ede, doc/Makefile: Added bovine and wisent texi files. * doc/lang-support-guide.texi (Language Support Developer's Guide): Rename BNF section. (Language Support Overview): Use semantic macro. (Writing Parsers): Divided into three parser type sections. (Writing Grammars): Emptied out. * doc/bovine.texi: New. * doc/app-dev-guide.texi (Override Methods): Add pointer to the app dev guide. (Tag Details): Anchors and obsolete tags.. (System Databases): Added Anchor. * bovine/semantic-el.el (semantic-elisp-use-read): Add an :overloadable attribute. (semantic-emacs-lisp-overridable-doc) (semantic-emacs-lisp-obsoleted-doc): New functions (semantic-documentation-for-tag): Add above new info to doc strings. * semantic.texi: Now exists in the doc directory. * doc/wisent.texi, wisent/wisent.texi: Renamed wisent/wisent.texi to doc/wisent.texi * document.el (document-insert-texinfo): Add an anchor to all definitions. 2003-08-30 Eric M. Ludlam * doc/user-guide.texi: (Script Generated Cache Files) (Create System Databases): New sections. * doc/app-dev-guide.texi (Semantic Database): Added new sections for seraching and system databases. (Semanticdb in Programs): Updated (Semanticdb Tag Queries): Updated * doc/app-dev-guide.texi: (Tag Collectors) (Tag Displayors): Removed class hierarcy. (subsubsubsections bad.) (Override Methods): New node `tag-members'. (Format Tag): Updated all functions (Tag members): New section (Tag Details): Updated all functions (Local Context): Updated all functions (Parser Hooks): updated all hooks. 2003-08-29 Eric M. Ludlam * doc/app-dev-guide.texi (Application Developer's Guide): Fix menu. Add semanticdb. (Tags at Point): Add next/prev by overlay. (Tag Completion): Delegate previous doc as "old". All new doc for the new `semantic-complete.el' code. (Format Tag): Fcn name fixes. (Semantic Database): new * bovine/Makefile (bovinator_LISP): Removed semantic-bnf.el * Makefile: Added EDE onto the load path. * Project.ede: Added ede as a path extension. * semantic-util-modes.el (semantic-decorate): New require. * semantic-util.el (semanticdb): New require. * semantic-texi.el (semantic-doc): New require (semantic-texi-find-documentation): Fix compiler warning. (semantic-texi-update-doc-from-texi): Fix prototype doc transfer. (semantic-texi-update-doc-from-source): Fix compiler warning. * semantic-sort.el (semantic-bucketize-tag-class): Fix doc. * semantic-grammar.el (semantic-format): new require. * semantic-format.el (semantic-format-tag-summarize-default): Don't use bucketize function. Just get the class. * semantic-find.el (semantic-sort): New require. * semantic-doc.el (semantic-documentation-for-tag): Use `semantic-go-to-tag'. * semantic-decorate.el (semantic-tag-delete-secondary-overlay): Added autoload cookie. * semanticdb-el.el (eieio-opt): New require for byte-compiler modifications. * semantic-cb.el (semanticdb-find, semantic-sort): New require (eieio-speedbar-handle-click): Rename token to tag. * semantic-analyze.el (semantic-sort): new require. * bovine/semantic-bnf.el: *** empty log message *** * bovine/Project.ede (bovinator): Remove semantic-bnf.el * semantic-util.el (semantic-something-to-tag-table): Fixed compiler warnings (semantic-recursive-find-nonterminal-by-name): Replace obsoleted function call with new call. 2003-08-29 David Ponce * bovine/semantic-erlang-by.el: Re-generated. * bovine/erlang.by (record-def): Fix call to TYPE-TAG. (include-dir, include-lib-dir): Fix call to INCLUDE-TAG. * semantic-grammar.el (semantic-grammar-buffer-file): New function. (semantic-grammar-package, semantic-grammar-keywordtable) (semantic-grammar-tokentable, semantic-grammar-parsetable) (semantic-grammar-setupfunction, semantic-grammar-header) (semantic-grammar-footer): Use it. (semantic-grammar-batch-build-one-package): Increase some Emacs limits to byte-compile complex grammar tables. 2003-08-29 Eric M. Ludlam * doc/tags.texi (Semantic Tags): New menu item. (Tag Hooks): New section (Misc Tag Internals): Add refs to tag hooks. * doc/user-guide.texi (senator): Fix Command typo (semanticdb): Removed Semanticdb configuration node. * doc/overview.texi (Semantic Components): Remove BNF and bovine references. * doc/user-guide.texi (semanticdb): Doc fix (Semanticdb Configuration): Updated. (Semanticdb Tag Storage, Semanticdb Search Configuration) (Semanticdb System Backends, Changing Backends): New subsubsections. 2003-08-28 Eric M. Ludlam * semantic-ede-grammar.el (ede-proj-makefile-insert-dist-dependencies): New method 2003-08-28 David Ponce * bovine/semantic-erlang-by.el: Re-generated. * bovine/erlang.by (binary-segment-rest): Use basic-type instead of integer-literal. (binary-unit): Likewise. 2003-08-28 Eric M. Ludlam * doc/lang-support-guide.texi: (Writing Lexers) (Lexer Overview): Change to `semantic-lex'. (Lexer Options): Deleted (Lexer Construction): New (Lexer Built In Analyzers): New (Keywords): Updated (Writing Parsers): Added note to self. (Rules): Updated just enough so it compiles. * bovine/Makefile (by_SEMANTIC_GRAMMAR): Added erlang.by * bovine/Project.ede ("by"): Added erlang.by * bovine/erlang.bnf: (binary-segment-rest) (binary-unit): David Wallin's changes. 2003-08-28 David Ponce * bovine/semantic-erlang.el: Convert old BNF grammar to new BY format. (semantic-erlang-by): Require. (semantic-erlang-lex-char) (semantic-erlang-lexer): New function. (semantic-default-erlang-setup): Rename to... (semantic-erlang-default-setup): New. Update all references. (semantic-toplevel-erlang-bovine-table) (semantic-erlang-keyword-table): Remove. * bovine/semantic-erlang-by.el, bovine/erlang.by: New file. * semantic-util-modes.el: (semantic-stickyfunc-old-hlf) (semantic-stickyfunc-header-line-format): New variables. (semantic-stickyfunc-mode-setup): When turning sticky func mode on/off, take care of a header line previously there. 2003-08-28 Eric M. Ludlam * document.el (document-texify-elisp-docstring): Add <> as valid symbols characters. * semantic-texi.el (semantic-texi-set-endpoint): New fcn (semantic-texi-recursive-combobulate-list): Set section end point to the logical end of those sections instead of the end of the regexp. (semantic-default-texi-setup): Add stickyfunc support. (semantic-texi-update-doc-from-texi): Look for prototype, and variable doc strings. Go for the function first, then variable, then prototype. * semantic-util-modes.el: (semantic-highlight-edits-face, semantic-highlight-edits-mode) (semantic-show-unmatched-syntax-mode, semantic-auto-parse-mode) (semantic-show-parser-state-mode, semantic-summary-mode) (semantic-stickyfunc-mode, semantic-show-tag-boundaries-mode) (semantic-highlight-attribute-alist) (semantic-highlight-by-attribute-mode): Doc Fix (semantic-stickyfunc-sticky-classes): Made buffer local. (semantic-stickyfunc-fetch-stickyline): Start at bottom, and find first matching tag class. * doc/user-guide.texi (Semantic User's Guide): updated the menu. (Speedbar): Fixed ref to class browser. (Minor Modes): Added Summary Mode, Sticky Functions, Tag Boundaries, and attribute highlighting modes. 2003-08-27 Eric M. Ludlam * doc/user-guide.texi: (speedbar) (imenu): Added @file around .emacs (senator): Updated commands with new tag based names. Updated all doc strings. (Analyzer): Updated doc strings. Augmented some documentation. (Smart Completion): Updated doc strings. (Speedbar Analysis): Updated @ref to capitalized names. (Class Browser): Removed explicit reference to EIEIO. Formated some text. (Document): updated doc strings. Fixed target file for document output. Augmented text around commands. (Charts): Updated doc strings and function names. (Minor Modes): added subsection nheaders. Replaced obsolete commands with new commands. Updated all existing doc. Added some new text around each mode. 2003-08-27 David Ponce * senator.el: (senator-search-forward, senator-re-search-forward) (senator-word-search-forward): Doc fix. (senator-search-backward, senator-re-search-backward) (senator-word-search-backward): Doc fix. (senator-menu-bar): Fix use of obsolete variable. 2003-08-26 David Ponce * doc/user-guide.texi: Fix node @ref. 2003-08-26 Eric M. Ludlam * doc/user-guide.texi (Semantic User's Guide): Added ECB (speedbar): token->tag fix (ECB): New node (imenu): Update all variables. (senator): Update all command in first few subsubsections. * bovine/semantic-el.el (semantic-elisp-use-read): Fixed user-visible typo. (semantic-documentation-for-tag): Use substitute command keys on found string. * senator.el (senator-kill-tag): Doc fix. (senator-isearch-toggle-semantic-mode): Doc fix. * semantic-texi.el (semantic-default-texi-setup): Use new imenu variable names (semantic-texi-update-doc-from-texi): If the first doc match is a prototype, keep searching for the original. If there is no original, use the prototype. * semantic-imenu.el (semantic-imenu-summary-function): Doc fix. (semantic-imenu-expand-type-members): Renamed from ... (semantic-imenu-expand-type-parts): Obsolete (semantic-imenu-bucketize-type-members): Renamed from ... (semantic-imenu-bucketize-type-parts): Obsolete (semantic-imenu-sort-bucket-function): Doc fix. (semantic-imenu-expandable-tag-class): Renamed from ... (semantic-imenu-expandable-token): Obsolete (semantic-create-imenu-index-1, semantic-create-imenu-subindex) (semantic-imenu-toggle-bucketize-type-parts) (semantic-default-which-function): Use renamed variables. * document.el (document-texify-elisp-docstring): Support kbd items followed by punctuation. 2003-08-26 David Ponce * doc/lang-support-guide.texi: Fix node @ref. 2003-08-26 Eric M. Ludlam * semantic-edit.el: (define-lex-analyzer) (define-lex-regex-analyzer) (semantic-lex-number): Use `semantic-format-tag-name' instead of obsolete fcn. * semantic-lex.el: (define-lex-analyzer) (define-lex-regex-analyzer) (semantic-lex-number): Doc fix 2003-08-25 Eric M. Ludlam * doc/lang-support-guide.texi (Parser Error Handling): replace `token' fcns with `tag' fcns. (Tag Structure): Removed contents of standard tags. Refer to creating tags chapter instead. (Language Support Overview) (Semantic Overload Mechanism): Various token->tag updates (Writing Lexers) (Lexer Overview) (Lexer Output): Refer to sematnic-lex. This needs more work. * Makefile (semantic_LISP): Added semantic-ast (maintenance_LISP): new (maintenance): New (dist): Add above new sources. * Project.ede ("maintenance"): New target. * doc/glossary.texi (Glossary): Added more definitions to some keywords. * doc/Makefile (Documentation_TEXINFOS): Add tags.texi. * doc/Project.ede (Documentation): Add tags.texi. * bovine/semantic-el.el (semantic-elisp-store-documentation-in-tag): New flag. (semantic-elisp-do-doc): New flag (semantic-elisp-use-read): Add doc strings to tags iff above flag is enabled. (semantic-documentation-for-tag): Get doc string from tag. If there isn't one, re-run semantic-elisp-use-read with doc turned on. * semantic-texi.el (semantic-texi-update-doc-from-texi): Use new search routine. Combine all tags into one long list. (semantic-texi-update-doc-from-source): Use new doc fetching name. * semantic-util.el (semantic-something-to-tag-table): Use semanticdb-get-tags instead of oref. * semanticdb-find.el (semanticdb-find-translate-path): Accept a `brutish' flag. (semanticdb-find-translate-path-default): Accept a brutish flag. (semanticdb-find-translate-path-brutish-default) (semanticdb-find-translate-path-includes-default): New fcns. (semanticdb-find-tags-collector): Pass through a brutish flag to the collector. (semanticdb-brute-deep-find-tags-by-name): New fcn. * semanticdb.el (semanticdb-current-database-list): Add optional DIR argument for starting directory. 2003-08-25 David Ponce * semantic-grammar.el (semantic-grammar-create-package): In message, use the package name instead of the Lisp file name. (semantic-grammar-batch-build-one-package): Use `byte-compile-dest-file' to obtain the compiled file name. 2003-08-23 Eric M. Ludlam * doc/app-dev-guide.texi: (Application Developer's Guide, Tag Tables, Tags at Point) (Tag Sorting, Tag Completion, Override Methods, Format Tag) (Tag Details, Parser Hooks, Example Programs): Removed references to `token' and `nonterminal' where apropriate. Fixed all cross links within this file. * semantic-texi.el (semantic-texi-update-doc-from-texi): Use brute search when finding the tag for the doc. * semantic-sort.el (semantic-mark-external-member-function): Doc fix. * semantic-edit.el (semantic-after-partial-cache-change-hook): Doc fix. * semantic-ede-grammar.el (semantic-ede-proj-target-grammar): Added new source and compiler types. (semantic-ede-source-grammar): Renamed to (semantic-ede-source-grammar-wisent): (semantic-ede-grammar-compiler): Renamed to (semantic-ede-grammar-compiler-wisent): (semandic-ede-source-grammar-bovine, semantic-ede-grammar-compiler-bovine): New. * bovine/Makefile, bovine/Project.ede: Replaced old by target with new by target of semantic grammar type. 2003-08-22 Eric M. Ludlam * wisent/Makefile (LOADPATH): New stuf added (wy): Removed (all): added taggers (dist): removed wy, added taggers (taggers): new rule for compiling .wy files. * wisent/Project.ede (taggers): New (wy): deleted * semantic-ede-grammar.el (semantic-grammar): move require. (semantic-ede-proj-target-grammar): autoload cookie (semantic-ede-grammar-compiler): Remove extra rules. Use one single batch of actions. (ede-compile-intermediate-objects-p, ede-compiler-intermediate-object-variable): Removed. (ede-proj-makefile-insert-variables): changed extra variable to be the .el files. (ede-proj-makefile-insert-rules): Removed intermediate rules used before. (end of file): Fixed provide statement, and method for adding this project class. * semantic-grammar.el (semantic-grammar-create-package): Do not create the package if the package is not out of date. (semantic-grammar-batch-build-one-package): Do not byte compile if the compiled file is not out of date. 2003-08-21 David Ponce * semantic-grammar.el (semantic-grammar-create-package): Return name of created file. (semantic-grammar-create-package-from-file): Replace by... (semantic-grammar-batch-build-one-package): New fcn. Creates the package AND byte compiles it. (semantic-grammar-batch-create-package): Rename to... (semantic-grammar-batch-build-packages): Use new fcn above. Error checks with user comprehensible messages. Remove vc from find-file-hooks. It causes bad stuff to happen in Emacs 20. 2003-08-20 David Ponce * semantic-grammar.el (eldoc-current-symbol-info): Fix typo. * semantic-grammar.el: (semantic-grammar-insert-defconst) (semantic-grammar-insert-defun): No more call `eval-defun'. (semantic-grammar-file-regexp): New option. (semantic-grammar-noninteractive): New function. (semantic-grammar-create-package): Doc fix. Use `eval-region' to evaluate declarations and epilogue. Handle when run in batch mode. (semantic-grammar-create-package-from-file) (semantic-grammar-batch-create-package): New functions. (semantic-grammar-mode, semantic-abbreviate-nonterminal) (semantic-summarize-nonterminal): Don't use obsolete API. (semantic-grammar-function-argstring-from-docstring) (semantic-grammar-eldoc-get-macro-docstring): New functions. (eldoc-current-symbol-info): Handle grammar macros. * semantic-format.el (semantic-colorize-text): Declare obsolete. 2003-08-17 David Ponce * wisent/wisent-c.el (c-mode-hook): Remove autoload cookie. * senator.el: (senator-find-nonterminal-by-name) (senator-find-nonterminal-by-name-regexp): Remove "." at end of error message. (senator-search-tag-filter): New option. (senator-search-forward-raw) (senator-search-backward-raw): Remove. Replace by... (senator-search): New function. (senator-re-search-forward, senator-re-search-backward) (senator-word-search-forward, senator-word-search-backward) (senator-search-forward, senator-search-backward): Use it. (senator-last-search-type): New variable. (senator-nonincremental-repeat-search-forward) (senator-nonincremental-repeat-search-backward): Use it. (senator-nonincremental-search-forward) (senator-nonincremental-search-backward) (senator-nonincremental-re-search-forward) (senator-nonincremental-re-search-backward): Set it. (senator-nonincremental-repeat-re-search-forward) (senator-nonincremental-repeat-re-search-backward): Remove. (senator-search-set-tag-class-filter): New command. (senator-prefix-map): Add keyboard shortcut for it. (senator-menu-bar): Update search sub menu. 2003-08-17 Eric M. Ludlam * semantic-ede-grammar.el: EDE interface for grammar files. * senator.el (senator-menu-bar): Changed names of all charting functions. * semantic-util.el (semantic-something-to-tag-table): Update doc. * semantic-chart.el: (semantic-chart-database-size, semantic-chart-tags-by-class) (semantic-chart-tag-complexity): New fcn name. Remove all references to nonterminal or token. 2003-08-15 David Ponce * semantic-grammar.wy (USE-MACROS): New token. (decl): Add following... (use_macros_decl): New rule. * semantic-grammar.el (semantic-grammar-epilogue-start): Ensure the start location will never be reached when there is no epilogue. (semantic-grammar-tokens): Use `semantic-tag-type'. (semantic-summarize-nonterminal): Likewise. (semantic-grammar-use-macros): New function. (semantic-grammar-macros): Use it. (semantic--grammar-macdecl-re) (semantic--grammar-macros-regexp-2): New variables. (semantic--grammar-clear-macros-regexp-2): New function. (semantic--grammar-macros-regexp-2): Implement. (semantic-grammar-map): Add shortcut key for `semantic-grammar-find-macro-expander'. (semantic-grammar-mode): Install `semantic--grammar-clear-macros-regexp-2' in local `before-change-functions' hooks. (semantic--grammar-macro-function-tag) (semantic--grammar-macro-lib-part) (semantic--grammar-macro-compl-elt) (semantic--grammar-macro-compl-dict): New functions. (semantic-grammar-find-macro-expander): New command. * semantic-grammar-wy.el: Re-generated. 2003-08-15 Richard Y. Kim * doc/app-dev-guide.texi, doc/lang-support-guide.texi, doc/semantic.texi, doc/tags.texi: Created a new file, tags.texi, which documents the API for accessing semantic tags. This file is a section @include'd by app-dev-guide.texi. 2003-08-14 David Ponce * semanticdb-find.el (semanticdb-find-translate-path-default): Make code more efficient and compatible with old versions of Emacs. (semanticdb-find-tags-collector): Skip tables not associated to a file when FIND-FILE-MATCH is non-nil. 2003-08-11 David Ponce * wisent/wisent-grammar.el (wisent-grammar-macros): Require it. (wisent-grammar-region-placeholder) (wisent-grammar-EXPAND) (wisent-grammar-EXPANDFULL) (wisent-grammar-TAG) (wisent-grammar-VARIABLE-TAG) (wisent-grammar-FUNCTION-TAG) (wisent-grammar-TYPE-TAG) (wisent-grammar-INCLUDE-TAG) (wisent-grammar-PACKAGE-TAG) (wisent-grammar-EXPANDTAG) (wisent-grammar-CODE-TAG) (wisent-grammar-AST-ADD) (wisent-grammar-AST-PUT) (wisent-grammar-AST-GET) (wisent-grammar-AST-GET1) (wisent-grammar-AST-GET-STRING) (wisent-grammar-AST-MERGE) (wisent-grammar-builtins) (wisent-grammar-builtin-names): Remove. New definition in wisent-grammar-macros library. (wisent-grammar-expand-builtins): Move and rename... (wisent-grammar-expand-macros): New function. (wisent-grammar--macros): New variable. (wisent-grammar-nonterminals): Use `wisent-grammar-expand-macros'. Initialize macro definitions. (wisent-grammar-mode): Don't setup `semantic-grammar-builtin-names'. * wisent/wisent-grammar-macros.el: New file. * bovine/bovine-grammar.el (bovine-grammar-macros): Require it. (bovine--grammar-macros): New variable. (bovine-grammar-expand-EXPAND) (bovine-grammar-expand-EXPANDFULL) (bovine-grammar-expand-ASSOC) (bovine-grammar-expand-TAG) (bovine-grammar-expand-VARIABLE-TAG) (bovine-grammar-expand-FUNCTION-TAG) (bovine-grammar-expand-TYPE-TAG) (bovine-grammar-expand-INCLUDE-TAG) (bovine-grammar-expand-PACKAGE-TAG) (bovine-grammar-expand-CODE-TAG): Remove. New definition in bovine-grammar-macros library. (bovine-grammar-expand-form): Don't use hard-coded expanders. (bovine-grammar-expand-action): Likewise. (bovine-grammar-parsetable-builder): Initialize macro definitions. * bovine/bovine-grammar-macros.el: New file. * semantic-grammar.wy (decl): Remove extra empty rule. * semantic-grammar.el (semantic-grammar-macros): New variable and function. (semantic-grammar-header-template): Use %C and %V for respectively the copyright line and the version keyword. (semantic-grammar-copyright-line): New function. (semantic-grammar-header): Use it. Setup %C and %V. No more inlined. (semantic-grammar-footer): Doc fix. No more inlined. (semantic-grammar-token-data) (semantic-grammar-keyword-data) (semantic-grammar-parser-data) (semantic-grammar-setup-data): No more inlined. (semantic-grammar-create-package): Improve generation-evaluation of lisp code. (semantic--grammar-macros-regexp-1): New variable and function. (semantic--grammar-macros-regexp-2): New variable. (semantic--grammar-macros-matcher): New function. (semantic-grammar-builtin-names) (semantic-grammar-builtin-names-regexp) (semantic-grammar-builtin-names-matcher): Remove. (semantic-grammar-mode-keywords-1): Use `semantic--grammar-macros-matcher'. (semantic-grammar-map): Add ':' to electric punctuations. (semantic-grammar-skip-comments-backward) (semantic-grammar-goto-grammar-indent-anchor) (semantic-grammar-between-name-and-colon-p) (semantic-grammar-grammar-compute-indentation): Remove. (semantic-grammar-backward-item) (semantic-grammar-anchored-indentation): New function. (semantic-grammar-do-grammar-indent): Simplify. Use above new functions. * semantic-grammar-wy.el: Re-generated. 2003-08-11 Richard Y. Kim * doc/semantic.texi: Added @semantic{} macro. * doc/lang-support-guide.texi: Added sections titled "Tag Structure" and "Semantic Overload Mechanism". 2003-08-06 David Ponce * semantic-find.el (semantic-find-first-tag-by-name): Use `assoc' and `assoc-ignore-case' instead of `assoc-string'. 2003-08-05 Eric M. Ludlam * wisent/Makefile (languages_LISP): Removed unneeded lisp code (Wisent.mk): Include this file (dist): Aux makefile added to dist. * wisent/Wisent.mk: Makefile extension for autogenerated Wisent code. 2003-08-02 David Ponce * wisent/wisent-awk.el, wisent/wisent-cim.el: Obsolete file removed. * wisent/wisent-python.el (wisent-python-wy): Require. (wisent-python-parser-tables, wisent-python-keywords) (wisent-python-tokens): Remove. (wisent-python-default-setup): Moved. Call generated function to setup parser internals. Do user's setup here. * wisent/wisent-java-tags.el (wisent-java-tags-wy): Require. (wisent-java-parser-tables, wisent-java-keywords) (wisent-java-tokens): Remove. (wisent-java-default-setup): Call generated function to setup parser internals. Do user's setup here. Use new variable `senator-step-at-tag-classes'. * wisent/wisent-java.el (wisent-java-wy): Require. (wisent-java-parser-tables, wisent-java-keywords) (wisent-java-tokens): Remove. (wisent-java-default-setup): Call generated function to setup parser internals. Do user's setup here. Use new variable `senator-step-at-tag-classes'. (semantic-default-java-setup): Remove obsolete `remove-hook'. * wisent/wisent-java-tags.wy, wisent/wisent-java.wy, wisent/wisent-python.wy: (%outputfile, %parsetable, %tokentable) (%keywordtable, %setupfunction, setupcode): Remove. * wisent/wisent-grammar.el (require 'cl): Remove. (wisent-grammar-EXPAND) (wisent-grammar-EXPANDFULL): Fix error message. (wisent-grammar-CODE-TAG): Add missing comma. (wisent-grammar-expand-builtins): No more expand macros. (wisent-grammar-expand-sexpr): Remove. All callers changed. (wisent-grammar-setupcode-builder): Return only code to setup parser internals. * wisent/wisent-calc.el (wisent-calc-wy): Require. (wisent-calc-automaton, wisent-c-keyword-table) (wisent-calc-tokens): Remove. (wisent-calc-setup-parser): Moved in grammar epilogue. (wisent-calc): No more depend on `wisent-calc-automaton'. * wisent/wisent-calc.wy: (%outputfile, %parsetable, %tokentable) (%setupfunction, setupcode): Remove. (epilogue) : New. * wisent/wisent-c.el (wisent-c-wy): Require. (semantic-ast): Remove. It is required in above library. (wisent-c-parser-automaton, wisent-c-keyword-table) (wisent-c-token-table): Remove. (wisent-c-default-setup): Call generated function to setup parser internals. Do user's setup here. Use new variable `senator-step-at-tag-classes'. * wisent/wisent-c.wy: (%outputfile, %parsetable, %tokentable) (%keywordtable, %setupfunction): Remove. (prologue): New. * wisent/wisent-awk.wy, wisent/wisent-cim.wy: (%outputfile, %parsetable, %tokentable) (%keywordtable, %setupfunction): Remove. * wisent/wisent-c-wy.el, wisent/wisent-calc-wy.el, wisent/wisent-java-tags-wy.el, wisent/wisent-java-wy.el, wisent/wisent-python-wy.el: New generated file. * bovine/semantic-skel.el (semantic-skeleton-by): Require. (semantic-toplevel-skeleton-bovine-table) (semantic-scheme-skeleton-table): Remove. (semantic-default-skel-setup): Call generated function to setup parser internals. Do user's setup here. * bovine/semantic-scm.el (semantic-scm-by): Require. (semantic-toplevel-scheme-bovine-table) (semantic-scheme-keyword-table): Remove. (semantic-default-scheme-setup): Call generated function to setup parser internals. Do user's setup here. * bovine/semantic-make.el (semantic-make-by): Require. (semantic-toplevel-make-bovine-table) (semantic-make-keyword-table): Remove. (semantic-default-make-setup): Call generated function to setup parser internals. Do user's setup here. * bovine/semantic-c.el (semantic-c-by): Require. (semantic-toplevel-c-bovine-table) (semantic-c-keyword-table): Remove. (semantic-default-c-setup): Call generated function to setup parser internals. Do user's setup here. Use new variable `senator-step-at-tag-classes'. * bovine/c.by, bovine/make.by, bovine/scheme.by, bovine/skeleton.by: (setupcode, %outputfile, %parsetable) (%keywordtable, %setupfunction): Remove. (%package): New. * bovine/bovine-grammar.el (bovine-grammar-setupcode-builder): Only setup parser internals. * bovine/semantic-c-by.el, bovine/semantic-make-by.el, bovine/semantic-scm-by.el, bovine/semantic-skeleton-by.el: New generated file. * semantic-grammar.wy: Parse new grammar outline. (setupcode, %outputfile, %parsetable) (%tokentable, %setupfunction): Remove. (%start) Add prologue epilogue. (LANGUAGEMODE, LEFT, NONASSOC, PREC, PUT, QUOTEMODE) (RIGHT, SCOPESTART, START, TOKEN) (KEYWORDTABLE, OUTPUTFILE, PARSETABLE) (SETUPFUNCTION, TOKENTABLE): Keywords begin with `%'. (PACKAGE): New keyword. (PERCENT_PERCENT, PROLOGUE, EPILOGUE): New tokens. (PERCENT): Remove. (grammar): Add prologue and epilogue rules. (prologue, epilogue): New rules. (decl): Add package_decl, precedence_decl rules. Remove left_decl, right_decl and nonassoc decl. (package_decl, precedence_decl, associativity): New rules. (any_symbol, level): Remove. All callers changed. * semantic-grammar.el: New outline of semantic input grammars, conform to bison's one. Lisp code generated from a grammar is now in its own library. (semantic-grammar-wy, sformat): Require. (semantic-grammar-lex-prologue) (semantic-grammar-lex-epilogue): New lex analyzers. (semantic-grammar-lexer): Use them. (semantic-grammar-lex-epilogue-start): New function. (semantic-grammar-automaton) (semantic-grammar-keywords) (semantic-grammar-tokens): Remove. (semantic-grammar-prologue) (semantic-grammar-epilogue) (semantic-grammar-package): New functions. (semantic-grammar-setupcode-text) (semantic-grammar-setupcode-forms) (semantic-grammar-outputfile): Remove. (semantic-grammar-setupfunction) (semantic-grammar-tokentable) (semantic-grammar-parsetable) (semantic-grammar-keywordtable): New implementation. (semantic-grammar-autogen-cookie) (semantic-grammar-autogen-cookie-re) (semantic-grammar-buffer) (semantic-grammar-beginning-of-code) (semantic-grammar-beginning-of-body) (semantic-grammar-with-outputfile) (semantic-grammar-with-grammar-buffer) (semantic-grammar-update-def) (semantic-grammar-update-parsetable) (semantic-grammar-update-keywordtable) (semantic-grammar-update-tokentable) (semantic-grammar-update-setupfunction) (semantic-grammar-update-outputfile) (semantic-grammar-setupcode-value) (semantic-grammar-keywordtable-value) (semantic-grammar-tokentable-value) (semantic-grammar-parsetable-value): Remove. (semantic--grammar-input-buffer) (semantic--grammar-output-buffer) (semantic-grammar-insert-defconst) (semantic-grammar-insert-defun) (semantic-grammar-header-template) (semantic-grammar-footer-template) (semantic-grammar-header) (semantic-grammar-footer) (semantic-grammar-token-data) (semantic-grammar-keyword-data) (semantic-grammar-parser-data) (semantic-grammar-setup-data) (semantic-grammar-create-package): New. (semantic-grammar-syntax-table): Give word syntax class to '%'. (semantic-grammar-mode-keywords-1): Update for new syntax. (semantic-grammar-map): Map C-c C-c to `semantic-grammar-create-package'. (semantic-grammar-in-lisp-p): Take into account the epilogue code. (emantic-grammar-do-lisp-indent): Likewise. (semantic-grammar-mode): Doc fix. Update semantic setup. * semantic-grammar-wy.el: New generated file. 2003-08-01 Eric M. Ludlam * bovine/c.by (setq): Use new names. (knr-arguments): Use new name of expand fcn. * bovine/semantic-c.el (semantic-toplevel-c-bovine-table): new c.by (semantic-expand-c-tag): new name (semantic-c-tag-protection): new name (semantic-c-tag-template): new name (semantic-c-format-tag-uml-prototype): use new names (semantic-c-tag-abstract): new name (semantic-default-c-setup): use new override methods. * semantic-cb.el (semantic-cb-new-class-browser): Use `semanticdb-find-tags-by-class', instead of old method. * senator.el: (senator-step-at-tag-classes, senator-step-at-start-end-tag-classes): Added autoload cookies. * semantic-tag-file.el (semantic-dependency-include-path): autoload cookie. * semantic-sort.el (semantic-orphaned-member-metaparent-type): Autoload cookie. * semanticdb-find.el (semanticdb-find-table-for-include): autoload cookie. (semanticdb-find-tags-by-class): New function (semanticdb-find-tags-by-class-method): New method. * bovine/semantic-c.el: (semantic-default-c-setup): Use new name `semantor-step-at-tag-classes' * semantic-texi.el: (semantic-default-texi-setup): Use new name `semantor-step-at-start-end-tag-classes' Use `insert-forgeign-tag' as new override methods. * senator.el (senator-step-at-tag-classes): Renamed, obsolete old. (senator-step-at-start-end-tag-classes): Renamed, obsolete old. (senator-current-tag): renamed (senator-step-at-start-end-p): Use new names (senator-middle-of-tag-p): Renamed (senator-previous-tag-or-parent): Renamed (senator-full-tag-name): Renamed (senator-current-type-context): Use new names (senator-search-tag-name): Renamed (senator-search-forward-raw): use new names (senator-search-backward-raw): use new names (senator-next-tag): renamed (senator-previous-tag): renamed (senator-previous-token): renamed (senator-toggle-read-only): Use new names (senator-toggle-intangible): use new names (senator-set-face): use new names (senator-clear-tag): renamed (senator-prefix-map): use new names (senator-menu-bar): use new names (senator-beginning-of-defun): use new names (senator-end-of-defun): use new names (senator-add-log-tags): renamed (add-log-current-defun): use new names (senator-insert-foreign-tag): renamed. Aliased, made compatible. (insert-register): use new names 2003-07-31 Eric M. Ludlam * semanticdb-file.el: (semanticdb-default-file-name) (semanticdb-persistent-path): Doc fix (semanticdb-project-database-file): Rename token-version to tag-version. (semanticdb-create-database): Initialize renamed field (semanticdb-load-database): Test renamed field. (semanticdb-save-db): Print messages with tag instead of token. 2003-07-29 Eric M. Ludlam * semantic-load.el (semantic-load-imenu-string): New variable (imenu init): Use above new variable for string. 2003-07-25 Eric M. Ludlam * semanticdb-search.el (semanticdb-refresh-table): Doc fix (replace token with tag) * semanticdb-el.el (semanticdb-elisp-sym->tag): Doc fix (replace token with tag) * semanticdb.el: (semanticdb-refresh-table) (semanticdb-needs-refresh-p): doc fix (replace 'token' with tag) (semanticdb-save-current-db, semanticdb-save-all-db):doc fix. Message fix. (semanticdb-project-predicate-functions): doc fix (semanticdb-kill-hook) (semanticdb-table-oob-sanity-check): message fix 2003-07-23 Eric M. Ludlam * doc/Makefile: EDE Generated Makefile. * doc/Project.ede: Project file for semantic doc. 2003-07-22 David Ponce * bovine/semantic-el.el (lisp-mode): Define as child of `emacs-lisp-mode'. (lisp-mode-hook): Add hook `semantic-default-elisp-setup' and autoload cookie. * semantic-fw.el: (semantic-set-parent-mode) (semantic-get-parent-mode): New functions. (define-semantic-child-mode): New macro. (semantic-current-bindings): Use `semantic-get-parent-mode'. (semantic-fw-font-lock-keywords): Add highlighting of `define-semantic-child-mode'. 2003-07-18 Eric M. Ludlam * semantic-load.el: (semantic-show-tag-boundaries-mode, semantic-highlight-by-attribute-mode): Turn on by default (for a little while anyway.) * senator.el (menu): Added stickyfunc, tag-boundary, and attribute highlighting mode menus. * semantic-util-modes.el (global-semantic-highlight-edits-mode): Fix doc. (global-semantic-show-tag-boundaries-mode) (global-semantic-highlight-by-attribute-mode) (global-semantic-show-tag-boundaries-mode) (semantic-highlight-attribute-alist_ (semantic-highlight-by-attribute-hook) (semantic-show-tag-boundaries-hook) (defvar semantic-highlight-by-attribute-mode) (defvar semantic-show-tag-boundaries-mode): New variables (semantic-highlight-attribute-face-private) (semantic-highlight-attribute-face-protected) (semantic-tag-boundary-face): New faces (semantic-tag-boundary-p) (global-semantic-highlight-by-attribute-mode) (semantic-hba-clear-highlighting) (semantic-hba-highlight-tag) (semantic-hba-reparse-hook) (semantic-highlight-by-attribute-mode) (semantic-highlight-by-attribute-setup) (semantic-show-tag-boundaries-mode) (semantic-show-tag-boundaries-setup) (semantic-stb-clear-boundaries) (semantic-stb-highlight-tag-line1) (semantic-stb-reparse-hook) (semantic-tag-boundary-overlay-p) (semantic-tag-boundary-p-default): New functions * semantic-format.el (ezimage): New dependency (semantic-format-use-images-flag): New variable (semantic-format-tag-protection-image-alist): New variable (semantic-format-tag-uml-protection-to-string) (semantic-format-tag-uml-protection): Add color parameter. Add image if applicable. (semantic-format-tag-uml-abbreviate-default) (semantic-format-tag-uml-prototype-default) (semantic-format-tag-uml-concise-prototype-default): Call format-tag-uml-protection with new color parameter. 2003-07-16 Eric M. Ludlam * document.el: (document-insert-texinfo, document-generate-documentation) (document-generate-new-documentation, document-function-name-comment) (document-parameter-comment, document-update-paramlist) (document-massage-to-texinfo): Use -tag- based names instead of -nonterminal- names. Rename variables 'nonterm' to 'tag'. * semantic-tag-ls.el (semantic-tag-calculate-parent): New function (semantic-tag-protection): Use above. * semantic-decorate.el: (semantic-tag-create-secondary-overlay, semantic-tag-delete-secondary-overlay) (semantic--tag-unlink-secondary-overlays, semantic--tag-link-secondary-overlays) (semantic-tag-secondary-overlays): New functions. * semantic-tag.el: (semantic-tag-add-hook, semantic-tag-remove-hook) (semantic--tag-run-hooks): New functions (semantic--tag-unlink-from-buffer, semantic--tag-link-to-buffer): Run hooks specific to each action. * semantic-format.el: (semantic--format-uml-post-colorize, semantic-uml-attribute-string) (semantic-format-tag-uml-protection): Use new names semantic-tag-abstract, semantic-tag-static, semantic-tag-leaf and semantic-tag-protection. 2003-07-09 Eric M. Ludlam * Makefile ("semantic_LISP"): Added semantic-tag-file, semantic-doc, and semantic-tag-ls. * Project.ede ("semantic"): Added semantic-tag-file, semantic-doc, and semantic-tag-ls. * semantic-util.el: (semantic-dependency-include-path, semantic-find-dependency) (semantic-find-nonterminal, semantic-find-documentation) (semantic-find-doc-snarf-comment, semantic-prototype-file) (semantic-nonterminal-protection) (semantic-nonterminal-protection-default) (semantic-nonterminal-abstract, semantic-nonterminal-abstract-default) (semantic-nonterminal-leaf, semantic-nonterminal-leaf-default) (semantic-nonterminal-static-default, semantic-nonterminal-full-name) (semantic-nonterminal-full-name-default, semantic-narrow-to-token) (semantic-with-buffer-narrowed-to-current-token) (semantic-with-buffer-narrowed-to-token): Deleted. Moved to other files and renamed. * semantic-sb.el (semantic-sb-token-jump): use semantic-go-to-tag instead of old name. * semantic-tag-file.el (semantic-go-to-tag): Use semantic-dependency-tag-file instead of old name. * semantic-tag-ls.el: (semantic-tag-protection, semantic-tag-protection-default, semantic-tag-abstract) (semantic-tag-abstract-default, semantic-tag-leaf, semantic-tag-leaf-default) (semantic-tag-static-default, semantic-tag-full-name, semantic-tag-full-name-default): Copied from semantic-util.el Renamed to new naming conventions Obsoleted old names. * semantic-doc.el: (semantic-documentation-for-tag, semantic-doc-snarf-comment-for-tag) Copied from semantic-util.el. Renamed functions to better suit new naming conventions. Obsoleted old names. * semantic-tag-file.el: (semantic-go-to-tag, semantic-dependency-include-path) (semantic-dependency-tag-file, semantic-prototype-file) Copied from semantic-util.el. Renamed functions to better suit new naming conventions. Obsoleted old names. * semantic-tag.el: (semantic-narrow-to-tag, semantic-with-buffer-narrowed-to-current-tag) (semantic-with-buffer-narrowed-to-tag): Copied from semantic-util.el. Renamed. Obsoleted old names. * semantic-format.el (semantic-format-tag-functions): Add autoload cookie to. (semantic-token->text-functions): Alias to the replacement. * semantic-complete.el (require): Make loading of tooltip optional. (semantic-displayor-focus-request, semantic-complete-jump): Use `semantic-momentary-highlight-tag' instead of the `-token' version. 2003-07-07 David Ponce * wisent/wisent-c.el, wisent/wisent-c.wy, doc/C99-gram.texi: New file. * wisent/wisent-grammar.el: (wisent-grammar-AST-ADD, wisent-grammar-AST-PUT) (wisent-grammar-AST-GET, wisent-grammar-AST-GET1) (wisent-grammar-AST-GET-STRING) (wisent-grammar-AST-MERGE): New functions. (wisent-grammar-builtins): Add above new AST built-ins. (wisent-grammar-builtin-names): New function. (wisent-grammar-expand-builtins): Expand car of expression too. (semantic-grammar-mode): Set built-in names. * semantic-grammar.el: (semantic-grammar-builtin-names) (semantic-grammar-builtin-names-regexp): New variables. (semantic-grammar-builtin-names-matcher): New function. (semantic-grammar-mode-keywords-1): Use it. * semantic-ast.el: New library. 2003-07-04 David Ponce * senator.el (senator-momentary-highlight-token): Renamed to... (senator-momentary-highlight-tag): All callers updated. Use new semantic-decorate API. (senator-toggle-read-only, senator-toggle-intangible) (senator-set-face, senator-clear-token) (senator-menu-bar): Use new semantic-decorate API. * semantic-decorate.el: (semantic-highlight-token, semantic-unhighlight-token) (semantic-momentary-highlight-token) (semantic-momentary-unhighlight-token) (semantic-set-token-face, semantic-set-token-invisible) (semantic-token-invisible-p, semantic-set-token-intangible) (semantic-token-intangible-p, semantic-set-token-read-only) (semantic-token-read-only-p): Add autoload cookies. 2003-07-03 Eric M. Ludlam * Project.ede ("semantic"): Added semantic-decorate.el * Makefile (semantic_LISP): Added semantic-decorate.el * semantic-util.el: (semantic-highlight-token, semantic-unhighlight-token) (semantic-momentary-unhighlight-token, semantic-momentary-highlight-token) (semantic-set-token-face, semantic-set-token-invisible) (semantic-token-invisible-p, semantic-set-token-intangible) (semantic-token-intangible-p, semantic-overlay-signal-read-only) (semantic-set-token-read-only, semantic-token-read-only-p): Removed into semantic-decorate.el. * semantic-decorate.el: Coped from semantic-util. Renamed all fns to new `tag' notation. 2003-06-29 David Ponce * wisent/wisent.el (wisent-loop): New internal variable. (wisent-clearin): Doc fix. (wisent-abort): New macro. (wisent-pre-parse-hook, wisent-post-parse-hook): New hooks. (wisent-parse): Use above new stuff. * semantic-grammar.el (semantic-grammar-mode-keywords-1): In rules, highlight reserved terminal `error' in bold face. (semantic-grammar-in-lisp-p): New function. 2003-06-20 David Ponce * semanticdb-find.el: (semanticdb-find-tags-by-name) (semanticdb-find-tags-by-name-regexp) (semanticdb-find-tags-for-completion) (semanticdb-deep-find-tags-by-name) (semanticdb-deep-find-tags-by-name-regexp) (semanticdb-deep-find-tags-for-completion) (semanticdb-find-tags-external-children-of-type): Add autoload cookies. * semantic-grammar.el (semantic-grammar-goto-grammar-indent-anchor): In certain cases `forward-sexp' ignore important punctuations. Use `skip-syntax-backward' instead to skip punctuations. 2003-06-19 David Ponce * semantic-grammar.el (semantic-grammar-mode): Set buffer local value of `parse-sexp-ignore-comments' to non-nil to fix indentation problems when there are unbalanced parenthesis in comments. (semantic-grammar-goto-grammar-indent-anchor): Consider %prec like another symbol in rule. (semantic-grammar-grammar-compute-indentation): Don't consider %prec like other percent keywords that are aligned at beginning of line. 2003-06-08 Eric M. Ludlam * semantic-complete.el (require): Add dependency on avoid and tooltips. (semantic-complete-read-tag-buffer-deep): Moved (semantic-displayor-focus-abstract,semantic-displayor-tooltip) (semantic-displayor-show-request): Cleaned up white space and doc. * semanticdb.el (semanticdb-current-database-list): Use reference directory, not file storage. 2003-06-06 David Ponce * tests/test.cpp: Sync. with HEAD. New test cases for nested classes or structs defined outside of the containing class/struct, and for "short int". * semantic-c.el: Sync. with HEAD. (semantic-toplevel-c-bovine-table): Re-generated. * c.bnf: Sync. with HEAD. From Jens Rock : (typesimple): Handle an opt-class before the type name, and return it in the `parent' extra-spec of the tag. (builtintype-types): Handle "short int". 2003-06-05 David Ponce * tests/test.cpp: New test cases for nested classes or structs defined outside of the containing class/struct, and for "short int". * bovine/semantic-c.el (semantic-toplevel-c-bovine-table): Re-generated. * bovine/c.by: Updated comments. From Jens Rock : (typesimple): Handle an opt-class before the type name, and return it in the `parent' attribute of the tag. (builtintype-types): Handle "short int". 2003-06-04 David Ponce * semantic-grammar.el (semantic-grammar-goto-grammar-indent-anchor): Fixed infinite loop when indenting after a %prec clause. 2003-06-03 Eric M. Ludlam * bovine/erlang.bnf: Incorporated changes from David Wallin and Vladimir G. Sekissov. 2003-05-29 Eric M. Ludlam * semantic-find.el (semantic-flatten-tags-table): Removed. Moved to semantic-sort.el * semantic-sort.el (semantic-flatten-tags-table): New, from semantic-find.el * semantic-util-modes.el: (global-semantic-highlight-edits-mode) (global-semantic-show-unmatched-syntax-mode) (global-semantic-show-parser-state-mode) (global-semantic-summary-mode) (global-semantic-stickyfunc-mode): Improve doc strings. (semantic-stickyfunc-indent-string): New variable (semantic-stickyfunc-mode-setup): Use above. * semantic-sb.el (semantic-sb-info-format-tag-function): Add this back in. It is used in speedbar.el. * semantic-load.el (header-line-format): Quote in this symbol when testing. * semantic-find.el (semantic-flatten-tags-table): Flatten only tags with positions. * semanticdb-find.el: Added todo list. * Makefile (semantic_LISP): Added semantic-complete and semantic-sort (.PHONY): Documentation target (Documentation): build target for the doc directory (tags): tags in the doc dir (dist): distribute the doc dir. * Project.ede (semantic): Added semantic-sort and semantic-complete (tools): Added semantic-regtest * semantic-util.el: - (defvar semantic-bucketize-token-token - (defun semantic-bucketize (tags &optional parent filter) - (defvar semantic-orphaned-member-metaparent-type "class" - (defvar semantic-mark-external-member-function nil - (defun semantic-adopt-external-members (tags) (semantic-string-lessp-ci) (semantic-sort-token-type) (semantic-sort-tokens-by-name-increasing) (semantic-sort-tokens-by-name-decreasing) (semantic-sort-tokens-by-type-increasing) (semantic-sort-tokens-by-type-decreasing) (semantic-sort-tokens-by-name-increasing-ci) (semantic-sort-tokens-by-name-decreasing-ci) (semantic-sort-tokens-by-type-increasing-ci) (semantic-sort-tokens-by-type-decreasing-ci) (semantic-nonterminal-external-member-parent) (semantic-nonterminal-external-member-parent-default) (semantic-nonterminal-external-member-p) (semantic-nonterminal-external-member-p-default) (semantic-nonterminal-external-member-children) (semantic-nonterminal-external-member-children-default): Deleted. Moved to semantic-sort.el * semantic-format.el (semantic-format-tag-prin1): Doc fix (semantic-format-tag-summarize-default): Use `semantic-bucketize-tag-class' instead of old name. * semantic-sort.el: Sorting routines pulled from semantic-util.el 2003-05-27 Eric M. Ludlam * bovine/semantic-c.el (semantic-c-reconstitute-token): Support function pointers (semantic-c-format-tag-name): New override method (semantic-default-c-setup): Added `semantic-c-format-tag-name' override method. * bovine/c.by: Support function pointers. 2003-05-21 Eric M. Ludlam * bovine/semantic-c.el: (semantic-toplevel-c-bovine-table),(semantic-c-keyword-table), (semantic-default-c-setup): new c.by v 1.13 * bovine/c.by (arg-sub-list): Support ... as a variable. 2003-05-19 David Ponce * senator.el (senator-completion-menu-popup): Reverted 2002-12-29 change: "Use a local `imenu-default-goto-function' to avoid conflicts with another buffer local definition of that function. Ensure that the local goto function will return the selected imenu item." That conflicted with `imenu--mouse-menu' specification, and worked only with buggy version in GNU Emacs 21.3.50.1 HEAD. 2003-05-13 David Ponce * semantic-complete.el (semantic-complete-read-tag-engine): Fixed condition that was always true. (semantic-complete-done): Use `semantic-complete-try-completion' instead of `semantic-complete-do-completion' to not alter last focused tag. Accept input that match displayor focus entry. (semantic-complete-try-completion): New function. (semantic-complete-do-completion): Moved the actual completion code into the above new function. Use it. (semantic-complete-jump): New command. 2003-05-12 David Ponce * semantic-complete.el (semantic-complete-done): Accept input that matches one element of calculated completions. 2003-05-10 Eric M. Ludlam * semantic-complete.el: (semantic-minibuffer-conents, semantic-delete-minibuffer-conents): New aliases. (semantic-complete-done, semantic-complete-do-completion) (semantic-collector-next-action, semantic-displayor-next-action): Use new aliases instead of the original. * semantic-complete.el (semantic-complete-read-tag-buffer-deep): Comment about tooltip displayor. (semantic-displayor-tooltip): New class (semantic-displayor-show-request:semantic-displayor-tooltip): New method (semantic-displayor-tooltip-show): New function. 2003-05-02 Eric M. Ludlam * semantic-complete.el (semantic-complete-read-tag-engine): Be aware of a displayor's ability to focus in on a specific tag. (semantic-complete-do-completion): Use updated displayor APIs. Account for new 'focus state. (semantic-complete-read-tag-buffer-deep): Try out new focusing displayor. (semantic-collector-next-action): Use displayor to determine display's state. (semantic-displayor-abstract): Remove initarg for table. Add `last-prefix' slot. (semantic-displayor-next-action): New methods (semantic-displayor-set-completions): Add argument. (semantic-displayor-focus-request): New method (semantic-displayor-current-focus): New method (semantic-displayor-focus-abstract): New class (semantic-displayor-set-completions, semantic-displayor-focus-next-tag) (semantic-displayor-current-focus): New methods on above new class. (semantic-displayor-traditional-with-focus-highlight): New class. (semantic-displayor-focus-request): New method on above. (semantic-complete-test): New name. 2003-04-26 Eric M. Ludlam * semantic-complete.el (semantic-ctxt): New dependency (semantic-complete-read-tag-engine): Update doc. Add full support for default-tag parameter. Dynamically add it to the prompt. Fetch the default if the user just hits RET. (semantic-complete-done): Accept if prompt is empty. (semantic-complete-choose-default): New fcn (semantic-complete-read-tag-buffer-deep): Doc fix (constructor): Unbind `match-list'. (semantic-completion-test): Use %S format string. * semantic-complete.el (semantic-complete-key-map): Add history navigation (semantic-complete-read-tag-engine): Provide default history symbol. (semantic-complete-help): Deleted (semantic-complete-done): Don't exit unless there is a match. (semantic-complete-do-completion): Use `delete-minibuffer-contents'. * semantic-complete.el (semantic-collector-per-buffer-list): make buffer local (semantic-collector-calculate-completions): Use complare strings better. Do not optimize when last-prefix is used. (semantic-collector-all-completions): Safe reference of last-all-completions slot. * semantic-complete.el: Completion tools. 2003-04-22 David Ponce * semantic.el (semantic-version): Updated to 1.4.4. * Project.ede (ede-proj-project "semantic"): Updated :version to 1.4.4. 2003-04-19 Richard Y. Kim * semantic-tag.el: Rephrased the doc-string for semantic-tag-file-name. Also added semantic-alias-obsolete form for semantic-equivalent-tokens-p. * semantic-util.el: Corrected spelling in comments and strings. 2003-04-14 Klaus Berndl * semantic-regtest.el: Added first try of compatibility code so this library works with semantic 2.0 as well as with semantic 1.4. 2003-04-12 Eric M. Ludlam * semantic-regtest.el: (semantic-regtest-convert-tag-table) (semantic-regtest-convert-tag): New functions. 2003-04-12 Klaus Berndl * semantic-regtest.el: Initial version of the regression-test library 2003-04-11 Klaus Berndl * semantic-util-modes.el (semantic-stickyfunc-fetch-stickyline): Search forward to the tag-name to get more useful information in the header line. * semantic-util-modes.el (semantic-stickyfunc-fetch-stickyline): Searching the token-name to get more useful information in the header line 2003-04-10 Klaus Berndl * NEWS: Added news for bugfixes of the c++-grammar 2003-04-09 David Ponce * wisent/wisent-python.el (wisent-python-parser-tables): Re-generated. * wisent/wisent-java-tags.wy, wisent/wisent-java.wy (setupcode): Use `semantic-format-tag-prototype' for the `semantic-imenu-summary-function'. * wisent/wisent-java-tags.el, wisent/wisent-java.el (wisent-java-default-setup): Re-generated. Override `format-tag-prototype' instead of `prototype-nonterminal'. * bovine/semantic-java.el: (semantic-java-prototype-function) (semantic-java-prototype-variable) (semantic-java-prototype-type): Use semantic-format-tag API. (semantic-java-prototype-nonterminal): Renamed... (semantic-java-prototype-tag): New function. Use semantic-format-tag API. (semantic-java-find-documentation): Use `semantic-current-tag'. * senator.el: (senator-completion-menu-summary-function) (senator-completion-menu-item) (senator-insert-foreign-token-default) (senator-insert-foreign-token, senator-copy-token) (senator-eldoc-print-current-symbol-info): Use semantic-format-tag API. (senator-add-log-tokens): Doc fix. (senator-find-current-symbol-tag): New function. (senator-eldoc-print-current-symbol-info-default): Use it. * semantic-format.el (semantic-format-tag-prototype-default): Only set args if appropriate. 2003-04-09 Richard Y. Kim * doc/app-dev-guide.texi, doc/glossary.texi, doc/lang-support-guide.texi, doc/semantic.texi, doc/user-guide.texi: Cut and pasted the content of old semantic.texi into separate files. Also started documenting new API functions. 2003-04-09 Eric M. Ludlam * bovine/semantic-c.el (semantic-c-nonterminal-protection): Defaultprotection is now nil. (semantic-c-format-tag-type): New override. (semantic-c-template-string-body) (semantic-c-concise-prototype-nonterminal) (semantic-c-uml-prototype-nonterminal): Use `semantic-format-tag*' for tag formating. (semantic-default-c-setup): Setup above new overrides. * Makefile (semantic_LISP): Add semantic-format.el * Project.ede (semantic): Add semantic-format.el * semantic-ia-sb.el (semantic-ia-sb-key-map): Use `semantic-ia-sb-show-tag-info'. (semantic-ia-sb-show-tag-info): New name * semantic-ia-sb.el: (semantic-ia-speedbar) (semantic-ia-sb-string-list) (semantic-ia-sb-completion-list) (semantic-ia-sb-tag-info) (semantic-ia-sb-line-path) (semantic-ia-sb-complete): Use new semantic-tag, and semantic-format-tag methods. * semantic-ia.el: (semantic-ia-completion-format-tag-function) (semantic-ia-completion-menu-format-tag-function): New name. Use `semantic-format-tag-custom-list (semantic-ia-cache): doc fix. (semantic-ia-complete-symbol) (semantic-ia-complete-symbol-menu) (semantic-ia-complete-tip): Use `tag' instead of `token' for names. * semantic-example.el: (se-jump, se-summary-function, se-show, se-db-apropos-show): Use new -tag- API calls. * semanticdb-system.el (Commentary): Doc fix. * semanticdb-search.el: (semanticdb-find-nonterminal-by-token-method) (semanticdb-find-nonterminal-by-name-method) (semanticdb-find-nonterminal-by-name-regexp-method) (semanticdb-find-nonterminal-by-type-method) (semanticdb-find-nonterminal-by-property-method) (semanticdb-find-nonterminal-by-extra-spec-method) (semanticdb-find-nonterminal-by-extra-spec-value-method) (semanticdb-find-nonterminal-external-children-of-type-method): Use `semantic-brute-find-tags*' functions.. * semanticdb.el (semanticdb-table-oob-sanity-check): Use semantic-format-tag-summarize * semantic-cb.el (semantic-cb-token): Use semantic-tag for :type (semantic-cb-complete-type, semantic-cb-find-parent) (semantic-cb-convert-type, semantic-cb-convert-children) (initialize-instance, eieio-speedbar-description): Use new semantic-tag*, semantic-format-tag* functions * semantic-analyze.el (semantic-analyze-summary-function): Use `semantic-format-tag-custom-list' (semantic-analyze-princ-sequence): Use `semantic--format-colorize-text'. * semantic-sb.el (semantic-sb-button-format-tag-function): New name (semantic-sb-info-token->text-function): Commented out (not used) (semantic-sb-one-button): Use new name of above variable. * semantic-texi.el: (semantic-texi-update-doc-from-texi) (semantic-texi-goto-source): Use `semanticdb-deep-find-*' for searches. * semantic-imenu.el (semantic-imenu-summary-function): Use `semantic-format-tag-custom-list'. (semantic-imenu-tag-overlay): Doc fix. (semantic-create-imenu-subindex): Make sure tags have a position before adding them to imenu. (semantic-default-which-function): Use `semantic-format-tag*' for tag translation. * semantic-util.el (semantic-describe-token): Use semantic-format-tag-summarize. (semantic-sanity-check): Use semantic-format-tag-concise-prototype. * semantic-util.el: (semantic-recursive-find-nonterminal-by-name) (semantic-token->text-functions, semantic-token->text-custom-list) (semantic-function-argument-separator) (semantic-test-all-token->text-functions, semantic-face-alist) (semantic-colorize-text, semantic-colorize-merge-text) (semantic-prin1-nonterminal, semantic-name-nonterminal) (semantic-name-nonterminal-default, semantic-abbreviate-nonterminal) (semantic-abbreviate-nonterminal-default, semantic-summarize-nonterminal) (semantic-summarize-nonterminal-default, semantic-prototype-nonterminal) (semantic-prototype-nonterminal-default-args) (semantic-prototype-nonterminal-default) (semantic-concise-prototype-nonterminal) (semantic-concise-prototype-nonterminal-default) (semantic-uml-colon-string, semantic-uml-no-protection-string) (semantic-uml-post-colorize, semantic-uml-attribute-string) (semantic-uml-protection-to-string) (semantic-uml-token-or-string-to-string) (semantic-uml-abbreviate-nonterminal) (semantic-uml-abbreviate-nonterminal-default) (semantic-uml-arguments-to-string, semantic-uml-prototype-nonterminal) (semantic-uml-prototype-nonterminal-default) (semantic-uml-concise-prototype-nonterminal) (semantic-uml-concise-prototype-nonterminal-default): Deleted. Moved to semantic-format.el 2003-04-08 David Ponce * semantic-util.el (semantic-uml-nonterminal-protection): New macro. (semantic-uml-abbreviate-nonterminal-default) (semantic-uml-prototype-nonterminal-default) (semantic-uml-concise-prototype-nonterminal-default): Use it. 2003-04-08 Eric M. Ludlam * NEWS: Added section for semantic 1.4.4. Discuss stickyfunc mode. * wisent/wisent-python.el: (wisent-python-parser-tables) (wisent-python-tokens) (wisent-python-default-setup): Regenerated from wisent-python.wy * wisent/wisent-python.wy: (print_stmt, expr_stmt, del_stmt, pass_stmt, break_stmt, yield_stmt) (global_stmt, exec_stmt, assert_stmt, if_stmt, while_stmt, for_stmt) (try_stmt): Add argument to CODE-TAG statements (import_stmt): Add argument to INCLUDE-TAG call * semantic-format.el (semantic-format-tag-type): Renamed as public, and as an overload. (semantic-format-tag-prototype-default) (semantic--format-tag-uml-type): New name for format-tag-type (semantic-format-tag-uml-prototype-default): Fix compiler warning 2003-04-07 Eric M. Ludlam * semantic-load.el (global-semantic-stickyfunc-mode): On by default if available. * semantic-util-modes.el: (global-semantic-stickyfunc-mode) (global-semantic-stickyfunc-mode-hook) (semantic-stickyfunc-mode-map) (semantic-stickyfunc-mode) (semantic-stickyfunc-mode-setup) (semantic-stickyfunc-sticky-classes) (semantic-stickyfunc-fetch-stickyline): New minor mode. 2003-04-07 David Ponce * bovine/semantic-make.el (semantic-expand-make-nonterminal): Removed. Replaced by... (semantic-make-expand-tag): New function. (semantic-default-make-setup): Re-generated. * bovine/make.by (setupcode): Use `semantic-make-expand-tag' as `semantic-tag-expand-function'. * semanticdb-el.el: (semanticdb-deep-find-tags-by-name-method) (semanticdb-deep-find-tags-by-name-regexp-method) (semanticdb-deep-find-tags-for-completion-method): New methods. * senator.el (senator-completion-flatten-stream): Use `semantic-tag-components' instead of `semantic-tag-components-with-overlays'. (senator-find-nonterminal-by-name) (senator-find-nonterminal-by-name-regexp): No more supported. (senator-find-tag-for-completion): New function. (senator-complete-symbol, senator-completion-menu-popup): Use it. * semanticdb-find.el: (semanticdb-deep-find-tags-by-name) (semanticdb-deep-find-tags-by-name-regexp) (semanticdb-deep-find-tags-for-completion): New functions. (semanticdb-deep-find-tags-by-name-method) (semanticdb-deep-find-tags-by-name-regexp-method) (semanticdb-deep-find-tags-for-completion-method): New methods. * semantic-find.el (semantic--find-tags-by-macro): For consistency, argument TABLE is optional. (semantic-find-tags-by-name): Removed extra call to `semantic-something-to-tag-table'. (semantic-deep-find-tags-by-name) (semantic-deep-find-tags-for-completion) (semantic-deep-find-tags-by-name-regexp): New functions. 2003-04-07 Eric M. Ludlam * semantic-format.el: Copied all token->text functions in. Convert all token and nonterminal references to 'tag'. * semanticdb-java.el: Removed old definitions Derived new definitions from semanticdb.el 2003-04-06 Eric M. Ludlam * bovine/semantic-el.el (semantic-elisp-use-read): Support require directory part (semantic-tag-include-filename): New overload. * Makefile (tools_LISP): Added semanticdb-find.el. * Project.ede (tools): Added semanticdb-find. * semantic-analyze.el (require): Use semanticdb-find instead of semanticdb-search (semantic-analyze-find-nonterminals-by-prefix): Use new semanticdb-find-tags-for-completion fcn. (semantic-analyze-find-nonterminal): Use new semanticdb-find-tags-by-name fcn. * semantic-util.el (semantic-something-to-tag-table): Support semanticdb-tables as something. (semantic-find-dependency): Rename all token vars to tag. (semantic-nonterminal-external-member-children-default): Use new sematnicdb-find-tags-external-children-of-type fn. * semanticdb-el.el (semanticdb-find-tags-for-completion-method): Fixed typo. * semanticdb-el.el: (semanticdb-find-table) (semanticdb-get-tags) (semanticdb-equivalent-mode): New methods (sematnicdb-elisp-sym-tag): New name. Allow string input. (semanticdb-find-nonterminal-*): deleted (semanticdb-find-tags-by-name-method) (semanticdb-find-tags-by-name-regexp-method): Renamed from old methods. (semanticdb-find-tags-for-completion-method): New method (sematnicdb-find-tags-external-children-of-type-method): New name. * semanticdb-search.el: (semanticdb-find-nonterminal-by-token) (semanticdb-find-nonterminal-by-name) (semanticdb-find-nonterminal-by-name-regexp) (semanticdb-find-nonterminal-by-type) (semanticdb-find-nonterminal-by-property) (semanticdb-find-nonterminal-by-extra-spec) (semanticdb-find-nonterminal-by-extra-spec-value) (semanticdb-find-nonterminal-by-function): made obsolete (semanticdb-find-nonterminal-by-function-method): doc fix. Use semanticdb-get-tags. * semantic-find.el (semantic-find-tags-external-children-of-type): New (semantic-find-nonterminal-by-extra-spec-value): Better obsolete call * semanticdb-find.el (semanticdb-find-translate-path-default): Moved Better logic for not testing the same file twice. (semanticdb-find-table-fo-include-default): Moved. (semanticdb-find-tags-external-children-of-type-method): New fcn * semanticdb-file.el (object-write): use semantic--tag-[un]link-cache-[to|from]-buffer. * semanticdb-file.el (semanticdb-persistent-path): Doc fix (semanticdb-project-database-file): Doc fix (replace-regexp-in-string): doc fix * semanticdb.el (semanticdb-abstract-table): Renamed tokens to tags (semanticdb-table): Doc fix (semanticdb-get-database): Use `semanticdb-create-database' only which does the logic this fn used to do. (semanticdb-directory-loaded-p): Doc fix. (semanticdb-needs-refresh-p): Use 'tags slot name (semanticdb-equivalent-mode): New method on a table (semanticdb-semantic-init-hook-fcn): Use 'tags slot name (semanticdb-post-bovination): Use 'tags slot name (semanticdb-table-oob-sanity-check): Use tags slot name (semanticdb-table-sanity-check): Use tags slot name (semanticdb-file-stream): Replace contents with call too... (semanticdb-find-table-object): New fcn 2003-04-05 Eric M. Ludlam * semantic-debug.el: (semantic-debug-highlight-rule) (semantic-debug-set-breakpoint): Use new -tag- and -find-tag- API. * bovine/bovine-debug.el (semantic-debug-frame-highlight): Use new -tag- API * bovine/semantic-scm.el: (semantic-scheme-prototype-nonterminal) (semantic-scheme-find-documentation) (semantic-scheme-insert-foreign-token): Use new tag API. * bovine/semantic-bnf.el: (semantic-bovine-bnf-table) (semantic-bnf-keyword-table) (semantic-bnf-token-name-symbol) (semantic-bnf-ASSOC) (semantic-bnf-to-bovine) (semantic-bnf-to-lalr-ASSOC) (semantic-bnf-terminal-token-p) (semantic-bnf-token-table) (semantic-bnf-find-terminal-assocs) (semantic-bnf-to-lalr) (semantic-bnf-find-table-destination) (semantic-bnf-find-keyword-destination) (semantic-bnf-find-languagemode) (semantic-bnf-find-setup-code) (semantic-bnf-find-parser-mode) (semantic-bnf-find-token-destination) (semantic-bnf-generate-and-load) (semantic-bnf-generate-one-rule) (semantic-bnf-find-state-position) (semantic-bnf-looking-at-%token-not-keyword) (semantic-bnf-summarize-nonterminal): Replace calls to `semantic-token-*' with `semantic-tag-*', and from `semantic-find-nonterminal*' with `semantic-find-tags-*'. (semantic-bnf-mode): As above, and new override for `nonterminal-componenets'. (semantic-bnf-tag-components): As above and changed from `semantic-bnf-nonterminal-children'. * bovine/semantic-make.el (semantic-expand-make-nonterminal): Use new -tag- APIs * semantic-find.el (semantic--find-tags-by-function): Replaced mapc w/ while loop (semantic--find-tags-by-macro): New macro (semantic-find-tags-by-name) (semantic-find-tags-for-completion) (semantic-find-tags-by-name-regexp) (semantic-find-tags-by-class) (semantic-find-tags-by-type): Use `semantic--find-tags-by-macro' (semantic-brute-find-first-tag-by-name): Use `semantic-something-to-tag-table'. * semantic-tag.el (semantic-tag-of-type-p): Remove error message (semantic-tag-include-filename): New overload fcn (semantic-tag-include-filename-default): New overload implementation (semantic-tag-components-with-overlays): Remove IGNORE argument (semantic-tag-components-with-overlays-default): Remove INGNORE argument 2003-04-04 David Ponce * semantic-fw.el: (defvar-mode-local) (defconst-mode-local): Call `semantic-symbol' with arguments in the right order. * tests/test.cpp: Sync. with v1p4 branch. Two additional tests for latest c.by modifications. * bovine/semantic-c.el: Sync. with v1p4 branch. (semantic-toplevel-c-bovine-table): Re-generated. * bovine/c.by: Sync. with v1p4 branch. (namespace-symbol): Fixed so also template-specifiers can be parsed here. (typeformbase): ajusted for new namespace-symbol definition. 2003-04-04 Klaus Berndl * tests/test.cpp: Two additional tests for latest c.bnf modifications * c.bnf, semantic-c.el (namespace-symbol): fixed so also template-specifiers can be parsed here. (typeformbase): ajusted for new namespace-symbol definition * c.bnf (macro-expression-list): Removed a backslash from the comment before which prevented the whole file from being lexed and/or parsed. 2003-04-04 David Ponce * senator.el: Fix for bug #692919. Unconditionally add `senator-hippie-expand-hook' to `senator-minor-mode-hook'. * senator.el: Applied fix for bug #692919 from v1p4 branch. Unconditionally add `senator-hippie-expand-hook' to `senator-minor-mode-hook'. 2003-04-04 Eric M. Ludlam * semanticdb-find.el: Find routines for semanticdb. Searches done via `include' tags. 2003-04-02 David Ponce * bovine/semantic-make.el: (semantic-toplevel-make-bovine-table) (semantic-make-keyword-table) (semantic-default-make-setup): Re-generated. * bovine/make.by, wisent/wisent-java-tags.wy, wisent/wisent-java.wy (setupcode): Set `semantic-tag-expand-function' instead of obsolete `semantic-expand-nonterminal'. * wisent/wisent-java-tags.el, wisent/wisent-java.el: (wisent-java-parser-tables) (wisent-java-keywords, wisent-java-tokens) (wisent-java-default-setup): Re-generated. (wisent-java-expand-nonterminal): Renamed to... (wisent-java-expand-tag): New. * semantic-fw.el (define-overload): Removed unnecessary autoload cookie. 2003-04-02 Eric M. Ludlam * semantic-find.el (semantic-find-tags-by-type): Fix typo * semantic-find.el (semantic-find-tags-by-type): Use `semantic-tag-of-type-p' for comparison. * semantic-tag.el (semantic-tag-of-type-p): New. * semantic-analyze.el (inversion-require): Eval when compile (semantic-analyze-find-nonterminals-by-prefix) (semantic-analyze-find-nonterminal) (semantic-analyze-dereference-metatype) (semantic-analyze-token-type) (semantic-analyze-type-parts) (semantic-analyze-scoped-types) (semantic-analyze-current-context) (semantic-analyze-type-constraint) (semantic-analyze-type-constants) (semantic-analyze-possible-completions) (semantic-analyze-princ-sequence): Use new `semantic-tag*' API instead of `semantic-token*'. Use new `semantic-find-tag*' API instead of `semantic-find-nonterminal*'. (semantic-analyze-find-nonterminal-sequence): As above. Reordered search so that inner scope items are found first. * bovine/semantic-c.el (semantic-toplevel-c-bovine-table): New c.by (semantic-c-nonterminal-abstract): Use `semantic-brute-find-tag-by-attribute' instead of `semantic-find-nonterminal-by-extra-spec' * bovine/c.by (template-type): Fix call to TYPE-TAG (typeformbase): Use TYPE-TAG instead of forming my own tags. * semanticdb.el, semantic-sb.el (inversion-require): Wrap in eval-and-compile. * semanticdb.el (semanticdb-semantic-init-hook-fcn): Use `semantic--tag-link-cache-to-buffer' instead of `semantic-overlay-cache'. (semanticdb-kill-hook): Use `semantic--tag-unlink-cache-to-buffer' instead of `semantic-deoverlay-cache'. (semanticdb-table-oob-sanity-check): Use new `semantic-tag*' API. * semantic-ctxt.el: (semantic-up-context) (semantic-get-local-arguments-default): Use `semantic-current-tag*' insteado of `semantic-current-nonterminal*'. * document.el: (document-insert-function-comment-new) (document-parameter-comment) (document-update-paramlist): Fix typos in last conversion. * document.el: (document) (document-inline) (document-insert-texinfo) (document-insert-defun-comment) (document-update-comment) (document-insert-function-comment-new) (document-function-name-comment) (document-insert-parameters) (document-parameter-comment) (document-argument-name) (document-update-paramlist) (document-longest-name): Move from old `-token-' or `-find-nonterminal-' API calls to new `-tag-' and `-find-tag-' API calls. * semantic-util-modes.el: (semantic-clean-token-of-unmatched-syntax) (semantic-stickyfunc-mode) (semantic-stickyfunc-fetch-stickyline): Use new `semantic-tag-*' functions instead of `semantic-token*'. * semantic-util.el (semantic-prototype-nonterminal-default): Handle a list of type modifiers. * semantic-token.el: Replaced by semantic-tag.el * semantic-texi.el: (semantic-texi-find-documentation) (semantic-texi-update-doc-from-texi) (semantic-texi-update-doc-from-source) (semantic-texi-goto-source): Use `semantic-find-tag*' instead of `semantic-find-nonterminal*'. * semantic-find.el (semantic-current-nonterminal-of-type): Fixed obsolete name. * semantic-chart.el: (semantic-chart-token-complexity) (semantic-chart-nonterminal-complexity-token): Use new `semantic-find-tag*' API instead of old `semantic-find-nonterminal*' * semantic-edit.el: (semantic-edits-change-in-one-token-p) (semantic-edits-change-leaf-token) (semantic-edits-change-between-tokens) (semantic-edits-change-over-tokens) (semantic-edits-incremental-parser) (semantic-edits-splice-remove) (semantic-edits-splice-insert) (semantic-edits-splice-replace): Use `semantic-tag-*' instead of `semantic-token-*' functions. * bovine/semantic-c.el (semantic-toplevel-c-bovine-table): Updated c.by (semantic-expand-c-nonterminal): Better `extern' support. * bovine/c.by (extern-c): Fixed the extern tag (classsubparts): Set label name as a string (namespacesubparts): Set label name as a string 2003-04-01 Eric M. Ludlam * semantic.el: (semantic-bovinate-toplevel) (semantic-repeat-parse-whole-stream): Use new semantic-tag* API. 2003-04-01 David Ponce * senator.el (senator-eldoc-print-current-symbol-info-default): Use semantic-lex API. * semantic.el (semantic-unmatched-syntax-hook): Doc fix. Reference semantic-lex functions. * semantic-tag.el: (semantic-tag-new-variable) (semantic-tag-new-function) (semantic-tag-new-type) (semantic-tag-new-include) (semantic-tag-new-package) (semantic-tag-new-code): Inline functions instead of macros. * semantic-ia-sb.el (semantic-ia-sb-token-info): Use semantic-lex API. * document.el (document-update-history, document-update-paramlist): Use semantic-lex API. * wisent/wisent-grammar.el: (wisent-grammar-assocs, wisent-grammar-terminals) (wisent-grammar-nonterminals): Use new semantic-find API. * senator.el: (senator-current-token, senator-step-at-parent) (senator-previous-token-or-parent) (senator-current-type-context) (senator-find-nonterminal-by-name) (senator-find-nonterminal-by-name-regexp) (senator-search-forward-raw, senator-search-backward-raw) (senator-next-token, senator-previous-token) (senator-menu-bar, add-log-current-defun) (senator-eldoc-print-current-symbol-info-default): Use new semantic-find API. * semantic-load.el: (require 'semantic-fw) instead of loading semantic-al.el. * semantic-imenu.el (which-function): Use new semantic-find API. * semantic-grammar.el (semantic-summarize-nonterminal): Use `semantic--find-tags-by-function' instead of `semantic-brute-find-tag-by-function'. * semantic-fw.el (semantic-alias-obsolete): Moved with compatibility code. (load "semantic-al") after compatibility code. * semantic-find.el: (semantic-brute-find-first-tag-by-name) (semantic-brute-find-tag-by-class) (semantic-brute-find-tag-standard) (semantic-brute-find-tag-by-type) (semantic-brute-find-tag-by-type-regexp) (semantic-brute-find-tag-by-name-regexp) (semantic-brute-find-tag-by-property) (semantic-brute-find-tag-by-attribute) (semantic-brute-find-tag-by-attribute-value) (semantic-brute-find-tag-by-function) (semantic-brute-find-first-tag-by-function) (semantic-brute-find-tag-by-position) (semantic-brute-find-innermost-tag-by-position): Added autoload cookies. (semantic-find-nonterminal-by-overlay) (semantic-find-nonterminal-by-overlay-in-region) (semantic-find-nonterminal-by-overlay-next) (semantic-find-nonterminal-by-overlay-prev) (semantic-find-nonterminal-parent-by-overlay) (semantic-current-nonterminal) (semantic-current-nonterminal-parent) (semantic-current-nonterminal-of-class) (semantic-find-nonterminal-by-name) (semantic-find-nonterminal-by-token) (semantic-find-nonterminal-standard) (semantic-find-nonterminal-by-type) (semantic-find-nonterminal-by-type-regexp) (semantic-find-nonterminal-by-name-regexp) (semantic-find-nonterminal-by-property) (semantic-find-nonterminal-by-extra-spec) (semantic-find-nonterminal-by-attribute-value) (semantic-find-nonterminal-by-function) (semantic-find-nonterminal-by-function-first-match) (semantic-find-nonterminal-by-position) (semantic-find-innermost-nonterminal-by-position): Added autoload cookies to `semantic-alias-obsolete' definitions. (semantic-find-first-nonterminal-by-name): Alias replaced by `semantic-find-nonterminal-by-name'. 2003-04-01 Eric M. Ludlam * semantic-sb.el (semantic-sb-one-button): Use tag as an argument. Use new tag API. If there is a type, also make tag expandable. (semantic-sb-insert-details): Use tag as an argument. Use new tag API. Variables can also insert their type. (semantic-sb-detail-parent): Use new -tag- API. * semantic-tag.el (semantic-token-variable-default): Added alias-obsolete * semantic-util.el (semantic-bucketize): Rename local variables and arg to be derived of 'tag' (semantic-recursive-find-nonterminal-by-name): (semantic-read-symbol): (semantic-nonterminal-external-member-children-default): (semantic-current-token): Use new `semantic-find-tag*' API * bovine/bovine-grammar.el (bovine-grammar-parsetable-builder): Use new `semantic-find-tag*' API instead of `semantic-find-nonterminal*' * semantic-find.el: (semantic-find-nonterminal-by-position) (semantic-find-innermost-nonterminal-by-position): Fix alias/obsolete name. * semantic-util.el: (semantic-recursive-find-nonterminal-by-name) (semantic-read-symbol) (semantic-test-all-token->text-functions) (semantic-find-dependency) (semantic-find-nonterminal) (semantic-find-documentation) (semantic-hack-search): Use `semantic-brute-find-tag-*' or `semantic-find-tag-*' APIs instead of old nonterminal verison. * semantic-grammar.el (semantic-grammar-ASSOC): Use semantic-tag-make-assoc-list. (semantic-grammar-as-string): Doc fix (semantic-grammar-edits-new-change-hook-fcn) (semantic-grammar-first-tag-name) (semantic-grammar-tag-symbols) (semantic-grammar-setupcode-text) (semantic-grammar-keywords) (semantic-grammar-tokens) (semantic-grammar-token-properties) (semantic-grammar-complete) (semantic-summarize-nonterminal): Use new semantic-find-tag* functions instead of semantic-find-nonterminal* * Makefile (semantic_LISP): Add semantic-find.el * Project.ede (semantic): add semantic-find.el * semantic-util.el (semantic-file-token-stream): Renamed to... (semantic-file-tag-table): Updated doc string. (semantic-something-to-stream): Renamed to... (semantic-something-to-tag-table): Add support for tag filenames (semantic-find-nonterminal-by-*): Deleted. See semantic-find.el (semantic-current-nonterminal-*): Deleted. See semantic-find.el (semantic-bucketize-token-token) (semantic-adopt-external-members) (semantic-sort-token-type) (semantic-sort-tokens-by-name-increasing) (semantic-sort-tokens-by-name-increasing-ci) (semantic-recursive-find-nonterminal-by-name) (semantic-read-variable) (semantic-read-function) (semantic-read-type) (semantic-test-all-token->text-functions) (semantic-name-nonterminal-default) (semantic-abbreviate-nonterminal-default) (semantic-prototype-nonterminal-default-args) (semantic-prototype-nonterminal-default) (semantic-concise-prototype-nonterminal-default) (semantic-uml-token-or-string-to-string) (semantic-uml-prototype-nonterminal-default) (semantic-uml-concise-prototype-nonterminal-default) (semantic-find-dependency) (semantic-find-nonterminal) (semantic-find-documentation) (semantic-nonterminal-external-member-parent-default) (semantic-nonterminal-external-member-p-default) (semantic-nonterminal-external-member-children-default) (semantic-nonterminal-protection-default) (semantic-nonterminal-abstract-default) (semantic-nonterminal-leaf-default) (semantic-nonterminal-static-default) (semantic-nonterminal-full-name) (semantic-highlight-token) (semantic-unhighlight-token) (semantic-set-token-face) (semantic-set-token-read-only) (semantic-token-read-only-p) (semantic-narrow-to-token) (semantic-describe-token) (semantic-add-label) (semantic-show-label) (semantic-assert-valid-token) (semantic-sanity-check): Use new semantic-tag- functions instead of semantic-token* Use new semantic-find-tag* functions instead of semantic-find-nonterminal* Use new semantic-current-tag* functions instead of semantic-current-nonterminal* * semantic-tag.el (semantic-equivalent-tag-p): Fix fcn name typo. (semantic-tag-docstring): Use new lex API (semantic-tag-children-compatibility): New fcn (semantic-nonterminal-children): Use above for alias * semantic-lex.el (semantic-lex-test-region): New command 2003-03-31 David Ponce * semantic-texi.el: (semantic-texi-parse-region) (semantic-texi-bovinate-headings) (semantic-texi-find-documentation) (semantic-texi-update-doc-from-texi) (semantic-texi-update-doc-from-source) (semantic-texi-update-doc) (semantic-texi-goto-source): Use semantic-tag API and terminology. (semantic-texi-raw-to-cooked-token): Renamed to... (semantic-texi-expand-tag): New. (semantic-texi-new-section-tag) (semantic-texi-new-def-tag): New functions. (semantic-texi-recursive-combobulate-list): Use them. (semantic-texi-nonterminal-children): Renamed to... (semantic-texi-components): New. (semantic-texi-insert-foreign-token): Renamed to... (semantic-texi-insert-foreign-tag): New. (semantic-default-texi-setup): Reflect above changes. * semantic-imenu.el: (semantic-imenu-bucketize-file) (semantic-imenu-buckets-to-submenu) (semantic-imenu-expandable-token) (semantic-create-imenu-index) (semantic-create-imenu-directory-index) (semantic-create-imenu-index-1) (semantic-create-imenu-subindex) (semantic-which-function) (semantic-default-which-function): Use semantic-tag API and terminology. (semantic-imenu-token-overlay): Renamed to... (semantic-imenu-tag-overlay): New. * wisent/wisent-grammar.el: (wisent-grammar-assocs) (wisent-grammar-terminals) (wisent-grammar-nonterminals): Use semantic-tag API. * semantic-grammar.wy (put_decl): Use semantic-tag API. * semantic-grammar.el: (semantic-grammar-automaton) (semantic-grammar-keywords, semantic-grammar-tokens) (semantic-grammar-setup-semantic): Re-generated. (semantic-grammar-edits-new-change-hook-fcn) (semantic-grammar-first-tag-name) (semantic-grammar-tag-symbols) (semantic-grammar-setupcode-text) (semantic-grammar-keywords) (semantic-grammar-keyword-properties) (semantic-grammar-tokens) (semantic-grammar-token-properties) (semantic-abbreviate-nonterminal) (semantic-summarize-nonterminal): Use semantic-tag API. 2003-03-30 Eric M. Ludlam * semantic-find.el (toplevel): Added many autoload cookies (semantic-find-tags-by-type): Fixed typo. (semantic-brute-find-tag-by-function): Use semantic-something-to-tag-table. (semantic-brute-find-first-tag-by-function): As above (semantic-alias-obsolete ...*): Fixed order. Fixed some names which were wrong. * semantic-find.el: (semantic-find-tag-by-overlay) (semantic-find-tag-by-overlay-in-region) (semantic-find-tag-by-overlay-next) (semantic-current-tag, semantic-current-tag-parent) (semantic-current-tag-of-class): Doc fix (semantic--find-tags-by-function) (semantic-find-first-tag-by-name) (semantic-find-tags-by-name) (semantic-find-tags-for-completion) (semantic-find-tags-by-name-regexp) (semantic-find-tags-by-class) (semantic-find-tags-by-type): New FIND API functions. (semantic-flatten-tags-table): New function (semantic-brute-find-first-tag-by-name) (semantic-brute-find-tag-by-class) (semantic-brute-find-tag-by-type) (semantic-brute-find-tag-by-type-regexp) (semantic-brute-find-tag-by-function): Doc fix * bovine/bovine-grammar.el (bovine-grammar-parsetable-builder): Rename all "token" variables with "tag". Use new -tag- accessor functions. Use new `semantic-tag-components-semantic-grammar-mode' instead of the `-nonterminal-children' version. * bovine/semantic-c.el (semantic-toplevel-c-bovine-table): New c.by (semantic-expand-c-nonterminal): Use new -tag- functions for tags. Use `semantic-tag-new-*' for rebuilt tags. (semantic-c-reconstitute-token) (semantic-c-reconstitute-template) (semantic-c-nonterminal-protection) (semantic-c-nonterminal-abstract): Use new -tag- functions. (semantic-default-c-setup): Rebulit. Overload `tag-components' instead of `nonterminal-children'. * bovine/c.by (setq): Use new `semantic-tag-expand-function' variable. (extern-c): Turn `extern' list into a TAG that is later eliminated (classsubparts): Quote in label (namespacesubparts): Quote in label 2003-03-28 David Ponce * senator.el (senator-menu-bar): Fixed item help string. * senator.el: All these functions updated to use the new semantic-tag API and terminology. (senator-step-at-token-ids, senator-step-at-start-end-token-ids) (senator-highlight-found, senator-parse) (senator-completion-cache-flush-fcn) (senator-completion-uniquify-names) (senator-completion-list, senator-find-nonterminal-by-name) (senator-find-nonterminal-by-name-regexp) (senator-completion-menu-insert-function) (senator-search-forward, senator-re-search-forward) (senator-word-search-forward, senator-search-backward) (senator-re-search-backward, senator-word-search-backward) (senator-set-foreground, senator-set-background) (senator-current-token, senator-momentary-highlight-token) (senator-step-at-start-end-p, senator-skip-p) (senator-middle-of-token-p, senator-step-at-parent) (senator-previous-token-or-parent, senator-full-token-name) (senator-completion-flatten-stream) (senator-completion-function-args) (senator-completion-refine-name, senator-completion-stream) (senator-current-type-context, senator-search-token-name) (senator-search-forward-raw, senator-search-backward-raw) (senator-next-token, senator-previous-token) (senator-jump-noselect, senator-jump, senator-jump-regexp) (senator-complete-symbol, senator-completion-menu-insert-default) (senator-completion-menu-item, senator-toggle-read-only) (senator-toggle-intangible, senator-set-face, senator-clear-token) (senator-menu-bar, senator-beginning-of-defun) (senator-end-of-defun, senator-narrow-to-defun) (senator-mark-defun, beginning-of-defun, end-of-defun) (narrow-to-defun, mark-defun, c-mark-function) (senator-add-log-tokens, add-log-current-defun) (senator-token-ring, senator-insert-foreign-token-default) (senator-insert-foreign-token, senator-copy-token) (senator-kill-token, senator-yank-token) (senator-copy-token-to-register, insert-register) (jump-to-register, senator-eldoc-print-current-symbol-info) (senator-jump-completion-list): Use `format' to avoid `sequencep' errors, when concatenating things. * semantic-ctxt.el: (semantic-up-context) (semantic-get-local-variables) (semantic-get-local-variables-default): Doc fix. (semantic-get-local-arguments): Doc fix. Use semantic-tag API. (semantic-get-local-arguments-default): Use semantic-tag API. (semantic-get-all-local-variables): Doc fix. 2003-03-28 Eric M. Ludlam * semantic-find.el: (semantic-find-tag-by-overlay) (semantic-find-tag-by-overlay-in-region) (semantic-find-tag-by-overlay-next) (semantic-find-tag-by-overlay-prev) (semantic-find-tag-parent-by-overlay) (semantic-current-tag) (semantic-current-tag-parent) (semantic-current-tag-of-class) (semantic-brute-find-first-tag-by-name) (semantic-brute-find-tag-by-class) (semantic-brute-find-tag-standard) (semantic-brute-find-tag-by-type) (semantic-brute-find-tag-by-type-regexp) (semantic-brute-find-tag-by-name-regexp) (semantic-brute-find-tag-by-property) (semantic-brute-find-tag-by-attribute) (semantic-brute-find-tag-by-attribute-value) (semantic-brute-find-tag-by-function) (semantic-brute-find-first-tag-by-function) (semantic-brute-find-tag-by-position) (semantic-brute-find-innermost-tag-by-position): New fcns copied from semantic-util.el 2003-03-27 David Ponce * bovine/semantic-el.el (semantic-toplevel-elisp-bovine-table 'bovine-toplevel): just pass tags already expanded. (semantic-elisp-clos-args-to-semantic): Use `semantic-tag-new-variable'. (semantic-expand-elisp-nonterminal): Removed. (semantic-find-dependency) (semantic-find-documentation) (semantic-insert-foreign-token) (semantic-nonterminal-protection) (semantic-elisp-nonterminal-static): Use the semantic-tag API. (semantic-expand-nonterminal): Removed mode local override. * semantic-tag.el (semantic--tag-expand): More comments. * semantic-tag.el (semantic-tag-components): Added autoload cookie. (semantic-alias-obsolete 'semantic-nonterminal-children): Removed autoload cookie. * wisent/wisent-java-tags.el, wisent/wisent-java.el (wisent-java-get-local-variables): Doc fix. (wisent-java-expand-nonterminal): Use new semantic-tag API. * wisent/wisent-bovine.el (wisent-token, wisent-cooked-token): Removed. (wisent-cook-tag, wisent-parse-region): Use new semantic-tag API. * bovine/semantic-java.el: (semantic-java-prototype-function) (semantic-java-prototype-variable) (semantic-java-prototype-type) (semantic-java-prototype-nonterminal): Use new semantic-tag API. (semantic-java-find-documentation): Likewise. Use semantic-lex API instead of obsolete semantic-flex one. (semantic-java-get-local-variables): Removed. (semantic-java-doc-keyword-before-p) (semantic-java-doc-keywords-map) (semantic-java-doc-setup): Use semantic-lex API instead of obsolete semantic-flex one. * semantic.el: Replaced library semantic-token by semantic-tag. (semantic-deoverlay-token, semantic-overlay-token) (semantic-deoverlay-list, semantic-overlay-list) (semantic-deoverlay-cache, semantic-overlay-cache) (semantic-cooked-token-p, semantic-raw-to-cooked-token) (semantic-bovinate-make-assoc-list): Removed. * semantic-util.el: (semantic-nonterminal-children) (semantic-nonterminal-children-default): Removed. * semantic-tag.el: (semantic-tag-set-bounds, semantic-tag-put-attribute) (semantic-tag-put-attribute-no-side-effect) (semantic-tag-get-attribute, semantic--tag-put-property) (semantic--tag-put-property-no-side-effect) (semantic--tag-get-property, semantic-tag-new-type) (semantic-tag-docstring, semantic-tag-type-members) (semantic-tag-type-superclasses, semantic-tag-type-interfaces) (semantic-tag-function-arguments) (semantic-tag-function-throws, semantic-tag-function-parent) (semantic-tag-function-destructor-p) (semantic-tag-variable-default) (semantic-tag-variable-constant-p) (semantic-tag-include-system-p, semantic-tag-code-detail) (semantic-tag-components-with-overlays) (semantic-tag-components-with-overlays-default) (semantic--tag-expand) (semantic-token-type-parent): Fixed. (semantic-tag-make-plist): Use `zerop' to check for number zero. (semantic--tag-copy-properties): New function. * semantic-grammar.el (semantic-nonterminal-children): Override removed replaced by... (semantic-tag-components): New override. (semantic-summarize-nonterminal): Use `semantic-tag-components' in place of `semantic-nonterminal-children'. * semantic-fw.el (semantic-bind): Ignore rebinding with the same value. * semantic-edit.el (semantic-edits-splice-replace): Use `semantic--tag-copy-properties'. * Project.ede (ede-proj-target-elisp "semantic"): Updated :source to include semantic-tag.el in place of semantic-token.el. * Makefile: Re-generated from Project.ede. 2003-03-26 Eric M. Ludlam * semantic-analyze.el (semantic-analyze-current-context): Protect call to forward-sexp. 2003-03-24 Eric M. Ludlam * wisent/wisent-grammar.el (wisent-grammar-EXPAND, wisent-grammar-EXPANDFULL): Add error message when the nonterminal used for expansion does not appear with a %start entry. 2003-03-22 David Ponce * semantic-tag.el: (semantic-tag-file-name, semantic-tag-copy) (semantic--tag-unlink-from-buffer) (semantic--tag-link-to-buffer) (semantic--tag-unlink-list-from-buffer) (semantic--tag-link-list-to-buffer) (semantic--tag-unlink-cache-from-buffer) (semantic--tag-link-cache-to-buffer) (semantic--tag-expanded-p, semantic--tag-expand): New functions. (semantic-tag-expand-function): New variable. 2003-03-21 David Ponce * semantic-tag.el (semantic-tag-set-overlay): Reserved for internal use, and renamed... (semantic--tag-set-overlay): New. (semantic-tag-extent): Renamed... (semantic-tag-bounds): New. (semantic-tag-set-bounds): New. (semantic-tag-of-class-p): New. (semantic-equivalent-tag-p): Use `equal' to compare names, the above function to compare classes, and `semantic-tag-bounds' to compare bounds. (semantic-tag-new-type): Use `members' instead of `children' or `part-list'. (semantic-tag-type-parts): Renamed... (semantic-tag-type-members): New. (semantic-token-type-parent): Moved to the obsolete code section. (semantic-tag-components-default): Fixed. (semantic-tag-components-with-overlays-default): Fixed typos. 2003-03-21 Eric M. Ludlam * bovine/semantic-el.el (semantic-elisp-use-read): Use `semantic-tag-new-code'. * bovine/bovine-grammar.el (bovine-grammar-expand-form): Fix caps problem. * bovine/semantic-scm.el (semantic-toplevel-scheme-bovine-table): Regenerated. * bovine/scheme.by (scheme-in-list): Use CODE-TAG. * bovine/bovine-grammar.el (bovine-grammar-expand-CODE-TAG): New function (bovine-grammar-expand-form): Use above. * semantic-grammar.el (semantic-grammar-syntax-help): Added CODE-TAG macro help. * semantic-tag.el (semantic-tag-components-with-overlays-default): Replace `token' with `tag' * semantic-tag.el (semantic-tag-variable-optsuffix): Deleted (semantic-tag-componenets, semantic-tag-components-with-overlays): New override functions (semantic-tag-componenets-default) (semantic-tag-components-with-overlays-default): New functions (semantic-nonterminal-children): Obsolete function 2003-03-20 David Ponce * semantic-tag.el (semantic-tag-clone): New implementation. * semantic-ctxt.el (semantic-get-local-arguments): Use `semantic-tag-new-variable'. * semantic-tag.el (semantic-tag): Ensure that the list has 5 elements. (semantic-clone-tag): Renamed... (semantic-tag-clone): New. 2003-03-19 David Ponce * semantic-tag.el: New file. 2003-03-18 David Ponce * semantic-autogen.el (semantic-autogen-kill-xemacs-autoloads-feature): New function. (semantic-autogen-update-header): Use it. 2003-03-18 Richard Y. Kim * semantic-token.el, wisent/wisent-grammar.el, wisent/wisent-python.el, wisent/wisent-python.wy: Created CODE-TAG builtin in wisent-grammar.el. Then replaced all (wisent-token ...) from wisent-python.wy with CODE-TAG construct. With this change, wisent-python.wy no longer uses wisent-token function. 2003-03-17 David Ponce * wisent/wisent-bovine.el (wisent-parse-stream): Doc fix. Use tag in place of token. (wisent-parse-region): Likewise. Renamed `tag' local variable `token'. * semantic-grammar.el (semantic-grammar-edits-new-change-hook-fcn): Doc fix. Use tag in place of token. (senator-add-log-tokens): Likewise. (semantic-nonterminal-children): Likewise. Renamed `tag' local variable `token'. (semantic-abbreviate-nonterminal): Likewise. (semantic-summarize-nonterminal): Likewise. Fixed to use new tag structure. Extended for `nonassoc' tags. (semantic-grammar-token-name): Renamed... (semantic-grammar-first-tag-name): New. (semantic-grammar-token-symbols): Renamed... (semantic-grammar-tag-symbols): New. (semantic-grammar-setupfunction, semantic-grammar-tokentable) (semantic-grammar-parsetable, semantic-grammar-keywordtable) (semantic-grammar-languagemode, semantic-grammar-start) (semantic-grammar-scopestart, semantic-grammar-quotemode) (semantic-grammar-outputfile): Use new names above. (semantic-grammar-tokens): Doc fix. Renamed `tag' local variables `token'. (semantic-grammar-token-properties) (semantic-grammar-tokentable-builder-default) (semantic-grammar-tokentable-builder) (semantic-grammar-tokentable-value): Doc fix. (semantic-grammar-syntax-help "TAG"): Use "tag-class" in place of "type-token". (semantic-abbreviate-nonterminal): Doc fix. Renamed `tag' local variable `token'. 2003-03-17 Eric M. Ludlam * bovine/semantic-bovine.el (semantic-bovinate-stream): Stop using obsoleted fcns. * NEWS: semantic-stickyfunc-mode * semantic-util-modes.el (semantic-stickyfunc-fetch-stickyline): Quote out %'s in return string. * semantic-util.el: (semantic-read-variable, semantic-read-function, semantic-read-type): Fix to auto-select the correct streams. * semantic-load.el: Enable stickyfunc mode when header-line-format is available. * semanticdb-search.el (semanticdb-collect-find-results): Make `ignore-system' actually work. * semantic-cb.el (semantic-cb-clear-current-project): New fcn (semantic-cb-new-class-browser): Do not get data from system libraries (semantic-cb-find-node-in-list, semantic-db-find-node): New methods (semantic-dot): New command (semantic-dot-token-name, semantic-dot-insert-token): New methods (semantic-cb-speedbar-menu): Add graphing option (semantic-cb-speedbar-dot): New speedbar command. 2003-03-16 Eric M. Ludlam * semantic-grammar.el (semantic-grammar-mode): Add support for stickyfunc. (semantic-grammar-syntax-help): Make keys : prefixed for tag generators. * semantic-util-modes.el (semantic-stickyfunc-fetch-stickyline): Add nice default when not on a function. 2003-03-16 David Ponce * wisent/wisent-grammar.el: Require 'cl. (wisent-grammar-TAG): Use `semantic-tag'. (wisent-grammar-expand-builtins): New function. (wisent-grammar-expand-sexpr): Use it. Call `cl-macroexpand-all' to expand macros. (wisent-grammar-assocs, wisent-grammar-terminals) (wisent-grammar-nonterminals): Use `semantic-token-extra-spec'. * wisent/wisent-calc.el: (wisent-calc-automaton) (wisent-calc-tokens) (wisent-calc-setup-parser): Re-generated. * bovine/bovine-grammar.el (bovine-grammar-parsetable-builder): Use `semantic-token-extra-spec'. * semantic-grammar.wy (PREFIXED_LIST): New token. (any_value, action): Use it. (code, declaration, languagemode_decl, outputfile_decl) (setupfunction_decl, keywordtable_decl, parsetable_decl) (tokentable_decl, token_decl, start_decl, scopestart_decl) (quotemode_decl, left_decl, right_decl, nonassoc_decl) (put_decl, put_names, put_values, nonterminal) (rule): Use TAG macros. (token_type, level): Use `progn'. * semantic-grammar.el (semantic-grammar-lex-prefixed-list): New analyzer. (semantic-grammar-lexer): Use it. (semantic-grammar-automaton) (semantic-grammar-keywords, semantic-grammar-tokens) (semantic-grammar-setup-semantic): Re-generated. (semantic-grammar-code-value): Removed. (semantic-grammar-setupcode-text): Get code from buffer. (semantic-grammar-setupcode-forms): Use `semantic-grammar-setupcode-text'. (semantic-nonterminal-children) (semantic-grammar-token-symbols) (semantic-grammar-keywords) (semantic-grammar-keyword-properties) (semantic-grammar-tokens) (semantic-grammar-token-properties): Use `semantic-token-extra-spec'. (semantic-grammar-mode-keywords-1): Highlight :keywords here. (semantic-grammar-mode-keywords-3): Fixed redundancy. 2003-03-16 Eric M. Ludlam * semantic-cb.el (semantic-cb-find-parent): Allow unfound parents gracefully. (semantic-cb-convert-type): Use new DB based external member finder fcn. * bovine/Project.ede (languages): Removed semantic-java.el * bovine/Makefile (languages_LISP): Removed semantic-java.el 2003-03-15 Richard Y. Kim * semantic-fw.el: White space change only. Simply lined up overlay related aliases. 2003-03-15 Eric M. Ludlam * semantic-util-modes.el (semantic-show-unmatched-syntax): Use new lex API for token access. (semantic-summary-mode-setup): Fix doc string. (global-semantic-stickyfunc-mode, semantic-stickyfunc-mode-hook) (semantic-stickyfunc-mode-map, semantic-stickyfunc-mode-setup) ( semantic-stickyfunc-sticky-classes, semantic-stickyfunc-fetch-stickyline): New functions and variables. (semantic-stickyfunc-mode): New minor mode. * bovine/semantic-scm.el, bovine/semantic-make.el: Regenerated. * bovine/semantic-el.el (semantic-elisp-use-read): Use new -tag- instead of -token- fcns. * bovine/semantic-c.el: Regenerated. * bovine/bovine-grammar.el: (bovine-grammar-expand-TAG, bovine-grammar-expand-VARIABLE-TAG) (bovine-grammar-expand-FUNCTION-TAG, bovine-grammar-expand-TYPE-TAG) (bovine-grammar-expand-INCLUDE-TAG, bovine-grammar-expand-PACKAGE-TAG): Use -tag- fcns instead of -token. 2003-03-14 David Ponce * wisent/wisent-python.el: (wisent-python-parser-tables) (wisent-python-keywords, wisent-python-tokens) (wisent-python-default-setup): Re-generated. * wisent/wisent-java.el, wisent/wisent-java-tags.el: (wisent-java-parser-tables) (wisent-java-keywords, wisent-java-tokens) (wisent-java-default-setup): Re-generated. (wisent-java-expand-nonterminal): Use `semantic-token-extra-specs' in place of `semantic-token-variable-extra-specs'. * wisent/wisent-grammar.el: (wisent-grammar-TAG, wisent-grammar-VARIABLE-TAG) (wisent-grammar-FUNCTION-TAG, wisent-grammar-TYPE-TAG) (wisent-grammar-INCLUDE-TAG, wisent-grammar-PACKAGE-TAG) (wisent-grammar-EXPANDTAG): Use `semantic-tag' API and new `wisent-...-tag' names. * wisent/wisent-bovine.el (wisent-cooked-token): Use `semantic-tag' API. (wisent-raw-token): Renamed to... (wisent-raw-tag): New. (wisent-cook-token): Renamed to... (wisent-cook-tag): New. Use `semantic-tag' API. (wisent-parse-region): Use `semantic-tag' API. 2003-03-14 Richard Y. Kim * wisent/wisent-python.el, wisent/wisent-python.wy: Replaced (wisent-token ...) with VARIABLE-TAG, FUNCTION-TAG, etc. 2003-03-14 Eric M. Ludlam * semanticdb-el.el (semanticdb-elisp-sym->nonterm): Use `semantic-tag-new-*' instead of explicit lists. (semanticdb-find-nonterminal-by-token-method): Fixed typo for searching for variables and types. * semantic-util.el (semantic-adopt-external-members): Use `tag' instead of `token'. Use new `semantic-clone-tag'. (semantic-find-doc-snarf-comment): Do not use obsolete -flex- fcn. * semantic-token.el: (semantic-tag-put, semantic-tag-put-no-side-effect, semantic-tag-get): New from old -token- versions. Obsolete old names. (semantic-clone-tag): New fcn. * semantic-token.el: (semantic-tag, semantic-tag-new-variable, semantic-tag-new-function) (semantic-tag-new-type, semantic-tag-new-include, semantic-tag-new-package): New routines from old -token- verison. (semantic-token, semantic-token-new-variable, semantic-token-new-function) (semantic-token-new-type, semantic-token-new-include) (semantic-token-new-package): Obsoleted * semantic-lex.el: (semantic-flex-start, semantic-flex-end,, semantic-flex-text) (semantic-flex-make-keyword-table, semantic-flex-keyword-p) (semantic-flex-keyword-put, semantic-flex-keyword-get) (semantic-flex-map-keywords, semantic-flex-keywords) (semantic-flex-buffer, semantic-flex-list): Obsolete. * semantic-util.el (semantic-summerize-nonterminal): Obsolete * semantic-fw.el (semantic-fw-font-lock-keywords): Added below. (semantic-alias-obsolete): New fcn. 2003-03-13 David Ponce * wisent/wisent-java.el (wisent-java-expand-nonterminal): Use `semantic-token-extra-spec'. * semantic-token.el (semantic-token-plist-indexes): New constant. (semantic-token-plist-index): New function. (semantic-token-extra-specs, semantic-token-extra-spec) (semantic-token-add-extra-spec): Generalized. (semantic-token-type): Use `memq' instead of `member'. (semantic-token-modifiers): Generalized. (semantic-token-type-extra-specs) (semantic-token-function-extra-specs) (semantic-token-variable-extra-specs): Alias of `semantic-token-extra-specs'. (semantic-token-type-extra-spec) (semantic-token-function-extra-spec) (semantic-token-variable-extra-spec): Alias of `semantic-token-extra-spec'. (semantic-token-type-modifiers) (semantic-token-function-modifiers) (semantic-token-function-throws) (semantic-token-function-parent) (semantic-token-function-destructor) (semantic-token-variable-modifiers) (semantic-token-variable-const) (semantic-token-variable-optsuffix): Use `semantic-token-extra-spec'. * semantic-grammar.el (semantic-grammar-mode-keywords-1): Highlight more TAG macros. * wisent/wisent-java.wy: (compilation_unit, package_declaration, import_declaration) (class_declaration, field_declarations_opt, field_declaration) (method_declaration, formal_parameter, constructor_declaration) (interface_declaration) (abstract_method_declaration): Use TAG macros. * wisent/wisent-java.el: (wisent-java-parser-tables) (wisent-java-keywords, wisent-java-tokens) (wisent-java-default-setup): Re-generated. (wisent-java-expand-nonterminal): Embedded tags are now the value of the extra specifier `tree'. * wisent/wisent-java-tags.wy: (package_declaration, import_declaration, class_declaration) (interface_declaration, constructor_declaration) (method_declaration, formal_parameter) (field_declaration): Use TAG macros. * wisent/wisent-java-tags.el: (wisent-java-parser-tables) (wisent-java-keywords, wisent-java-tokens) (wisent-java-default-setup): Re-generated. * wisent/wisent-grammar.el: (wisent-grammar-TAG, wisent-grammar-VARIABLE-TAG) (wisent-grammar-FUNCTION-TAG, wisent-grammar-TYPE-TAG) (wisent-grammar-INCLUDE-TAG, wisent-grammar-PACKAGE-TAG) (wisent-grammar-EXPANDTAG): New functions. (wisent-grammar-builtins): Added new expanders for TAG macros. * wisent/wisent-bovine.el (wisent-raw-token, wisent-cook-token): New functions. 2003-03-13 Eric M. Ludlam * bovine/semantic-scm.el: regenerated * bovine/scheme.by (scheme-in-list): Quote code symbol. * bovine/semantic-make.el: regenerated. * bovine/make.by (include): Fix quote rule. * bovine/semantic-bovine.el (semantic-bovinate-stream): Removed old dump-detail code. Added in error condition call to the debugger. * bovine/bovine-grammar.el (bovine-grammar-expand-form): Fixed typo * bovine/bovine-debug.el: (semantic-bovine-debug-error-frame, and related methods): New class and methods for an error frame. * semantic-debug.el (semantic-debug-mode-map): Added eval-expression. (semantic-debug-mode): Updated doc string. * bovine/semantic-el.el (semantic-elisp-use-read): Use new token creation macros. * bovine/semantic-scm.el: Regnerated. * bovine/scheme.by (scheme-in-list): Update to new TAG macros. * bovine/semantic-make.el: Regnerated. * bovine/make.by (variable, rule, include): Use new TAG creation macros. 2003-03-11 David Ponce * semantic-grammar.el: (semantic-grammar-languagemode) (semantic-grammar-start): Doc fix. (semantic-grammar-update-outputfile): Reverted last change. (semantic-grammar-mode-keywords-1): Highlight TAG macros. * semantic-fw.el (semantic-map-mode-buffers): Accept a list of major modes. 2003-03-11 Eric M. Ludlam * semantic-grammar.el (senator-add-log-tokens): New mode variable. * senator.el (senator-add-log-tokens): New variable (add-log-current-defun): Use above. * bovine/semantic-c.el: (semantic-toplevel-c-bovine-table, semantic-c-keyword-table) (semantic-default-c-setup): Regenerated (semantic-c-reconstitute-token): Reduce function types of 1 string in a list. * bovine/c.by (CONTINUE): Fix spelling in summary. (macro-or-include, define, classsubparts, enumsubparts, typesimple) (type, template-type, variablearg): Use new token creation macros. * bovine/bovine-grammar.el: (bovine-grammar-expand-TAG, bovine-grammar-expand-FUNCTION-TAG) (bovine-grammar-expand-TYPE-TAG, bovine-grammar-expand-PACKAGE-TAG): New langauge macros (bovine-grammar-expand-form): Use above new macros. (bovine-grammar-parsetable-builder): Use direct name of child expand fcn. * semanticdb.el (semanticdb-save-current-db): New command. * semantic-grammar.el (semantic-install-function-overrides): Removed old global install (semantic-nonterminal-children): Coverted to overload-implementation. (semantic-grammar-update-outputfile): Go through list of major modes when updating the config function. (semantic-grammar-map): Added semantic-grammar-complete. (semantic-grammar-syntax-help): New variable (semantic-grammar-complete, eldoc-current-symbol-info) (semantic-abbreviate-nonterminal, semantic-summarize-nonterminal): New functions/overloads. 2003-03-10 Eric M. Ludlam * semanticdb-file.el (semanticdb-load-database): Always reset the parent db in read tables. Delete read instance when the DB struct is out of date. 2003-03-08 Eric M. Ludlam * bovine/bovine-grammar.el: (bovine-grammar-expand-VARIABLE-TAG) (bovine-grammar-expand-INCLUDE-TAG): New fcn (bovine-grammar-expand-form): Call new fcns. * semantic-sb.el (speedbar): Use inversion to load. * semantic.el (semantic-version): Eval and compile (inversion): New include (semantic-require-version): Use inversion to implement. * semantic-debug.el (eieio): Use inversion to load. * semanticdb.el (eieio): Use inversion to load. (semanticdb-needs-refresh-p): New convenience method. (semanticdb-semantic-init-hook-fcn): Better handling of unmatched syntax errors. * semantic-analyze.el (eieio): Use inversion to load. 2003-03-06 Eric M. Ludlam * semanticdb-java.el: *** empty log message *** 2003-03-04 Eric M. Ludlam * wisent/Makefile (LOADPATH): Added common. * wisent/Project.ede (wisent): Added inversion dependency * bovine/Makefile (LOADPATH): Added common. * bovine/Project.ede (bovinator): Added inversion dependency. * Makefile (LOADPATH): Added common. * Project.ede (tools): Added inversion dependency 2003-03-02 Eric M. Ludlam * NEWS: Added note on semanticdb-file depending on inversion. * semanticdb-file.el (inversion): New requirement (semanticdb-file-version, semanticdb-file-incompatible-version): New vars (semanticdb-project-database-file): Added `semantic-token-version', and `semanticdb-version' slots. (semanticdb-create-database): Set the version values. (semanticdb-load-database): If a loaded file is an old version, flush as much as necessary so nothing crashes. * semantic-token.el (semantic-token-version, semantic-token-incompatible-version): new variables. 2003-02-28 Eric M. Ludlam * semantic-token.el (semantic-token-get, semantic-token-put*): Moved (semantic-token-*-p): Moved (semantic-token, semantic-token-new-*): New 2003-02-27 Richard Y. Kim * doc/semantic.texi: Split copyright to two lines. * doc/app-dev-guide.texi: Changed structure commands such as @section. A simple cleanup after pasting this from the old manual. * doc/app-dev-guide.texi, doc/fdl.texi, doc/glossary.texi, doc/installation.texi, doc/lang-support-guide.texi, doc/overview.texi, doc/semantic.texi, doc/user-guide.texi: Moved the content of the old semantic.texi into appropriate chapters in the new manual. 2003-02-27 Eric M. Ludlam * Makefile (semantic_LISP): Added semantic-token.el * Project.ede (semantic): Added semantic-token.el * semanticdb-el.el (eieio): Require while compiling only. Needed for cleaner byte-compile. * semantic-util.el (semantic-equivalent-tokens-p): Moved to semantic-token.el (semantic-token-*): Liekwise. * semantic-fw.el (semantic-tfe-overlay -properties -number): Moved to semantic-token.el (semantic-token-*): Likewise. * semantic.el (semantic-token): Require it. (semantic-delete-overlay-maybe): moved. * semantic-token.el: All token access functions moved here. * NEWS: Added search classes. 2003-02-25 Eric M. Ludlam * semantic-util.el (semantic-nonterminal-external-member-parent): Use `define-overload'. (semantic-nonterminal-external-member-p): Use `define-overload'. (semantic-nonterminal-external-member-children): Use `define-overload'. (semantic-nonterminal-external-member-children-db): Deleted (semantic-nonterminal-external-member-children-default): Use new semanticdb-search routine for finding external member chidren instead of above. * semantic-util-modes.el (semantic-auto-parse-enabled-p): Do not auto-parse if doing a lexial debug. Fix logic error. * semantic-analyze.el (semantic-analyze-type-parts): Use new semanticdb search for external children instead of the fn in semantic-util. (semantic-analyze-token-type) (semantic-analyze-find-nonterminal-sequence) (semantic-analyze-current-context) (semantic-analyze-possible-completions): Use `semantic-analyze-type-parts' instead of children. * semantic-sb.el (semantic-sb-token-jump): Try to support multiple versions of speedbar. * semanticdb-el.el (semanticdb-find-nonterminal-external-children-of-type-method): New * semanticdb-search.el (Commentary): Updated (semanticdb-find-nonterminal-external-children-of-type, semanticdb-find-nonterminal-external-children-of-type-method): New 2003-02-25 Richard Y. Kim * doc/Makefile, doc/app-dev-guide.texi, doc/installation.texi, doc/internals.texi, doc/lang-support-guide.texi, doc/overview.texi, doc/semantic.texi, doc/user-guide.texi: Initial check in of the merged semantic manual. 2003-02-24 David Ponce * wisent/wisent.texi: Eric's fixes. 2003-02-23 David Ponce * wisent/wisent.texi: Updated to take into account latest changes in Wisent and Semantic. 2003-02-22 David Ponce * wisent/wisent-python.wy (goal): Fixed comment delimiter. * semantic-grammar.el: No more depend on `with-syntax-table' implementation. For example, since GNU Emacs 21.4 `with-syntax-table' no more use a copy of the given syntax table. (semantic-grammar-skip-quoted-syntax-table): New variable. (semantic-grammar-goto-grammar-indent-anchor): Use it. (semantic-grammar-brackets-as-parens-syntax-table): New variable. (semantic-grammar-do-lisp-indent): Use it. * semantic-ia-sb.el (speedbar-add-mode-functions-list "Analyse"): Replaced `speedbar-line-path' with `speedbar-line-directory' used since speedbar 0.15. * semantic-sb.el (semantic-sb-token-jump): Replaced `speedbar-line-path' with `speedbar-line-directory' used since speedbar 0.15. 2003-02-21 Eric M. Ludlam * semantic-sb.el (semantic-sb-token-jump): Use new `speedbar-before-visiting-tag-hook'. 2003-02-20 David Ponce * wisent/wisent-debug.el: Requires `pp' if `pprint' feature was not found. * semantic-grammar.el (semantic-grammar-as-string): Requires `pp' feature. 2003-02-20 Richard Y. Kim * wisent/wisent-python.el: Replaced one use of 'end' free variable with (cdr semantic-lex-analysis-bounds). 2003-02-19 David Ponce * wisent/wisent-debug.el: New file. * wisent/wisent.el (autoload 'wisent-compile-grammar): Removed. (wisent-automaton-p): New. (wisent-translate, wisent-untranslate): Removed. (wisent-parse): Use new automaton format. * wisent/wisent-python.el: (wisent-python-parser-tables) (wisent-python-keywords, wisent-python-tokens) (wisent-python-default-setup): Re-generated. * wisent/wisent-java.el, wisent/wisent-java-tags.el: (wisent-java-parser-tables) (wisent-java-keywords, wisent-java-tokens) (wisent-java-default-setup): Re-generated. * wisent/wisent-grammar.el (wisent-grammar-parsetable-builder): Ensure that the grammar [byte-]compiler is available to handle byte-compilation of the grammar. * wisent/wisent-comp.el (wisent-defcontext semantic-actions): Moved before first use. (wisent-token-actions): Create new semantic actions obarray. Fill the action table with semantic action symbols instead of negative item numbers. (wisent-goto-actions): Fill the goto table with nonterminal symbols instead of item numbers. (wisent-semantic-action): Store code of action in the function cell of a symbol interned in the semantic actions obarray. Return that symbol. The new semantic action variable `$action' is bound to the name of that symbol. (wisent-semantic-actions, wisent-token-translations): Removed. (wisent-parser-automaton): Return a vector of 4 elements: the action table, the goto table, the alist of start symbols, and the semantic actions obarray. (wisent-parse-nonterminals): Produce symbolic location of semantic actions. (wisent-parse-grammar): Intern generated symbols. (wisent-compiled-grammar-p): Removed. (wisent-compile-grammar): Doc fix. Use `wisent-automaton-p'. (wisent-byte-compile-grammar) (wisent-byte-compile-automaton): New functions. * wisent/wisent-cim.el: (wisent-cim-automaton) (wisent-cim-keywords, wisent-cim-tokens) (wisent-cim-default-setup): Re-generated. * wisent/wisent-calc.el: (wisent-calc-automaton, wisent-calc-tokens) (wisent-calc-setup-parser): Re-generated. * wisent/wisent-awk.el: (wisent-awk-automaton) (wisent-awk-keywords, wisent-awk-tokens) (wisent-awk-setup-parser): Re-generated. * wisent/Project.ede (ede-proj-target-elisp "wisent"): Added wisent-debug.el. * wisent/Makefile: Re-generated. * semantic-grammar.el: (semantic-grammar-automaton) (semantic-grammar-keywords, semantic-grammar-tokens) (emantic-grammar-setup-semantic): Re-generated. * bovine/java.bnf: Obsolete file removed. * bovine/semantic-java.el: Removed obsolete code related to java.bnf. 2003-02-19 Richard Y. Kim * wisent/wisent-python.el: Replaced 'depth' free variable with semantic-lex-maximum-depth, replaced two code fragments protected with condition-case with semantic-lex-unterminated-syntax-protection macro, and added wisent-python-lex-buffer test command. 2003-02-18 Richard Y. Kim * wisent/wisent-python.el: Fixed a regexp in python-next-line so that backquotes in python code do not break it. * wisent/wisent-python.el: Replaced end-point and current-depth with semantic-lex-end-point and semantic-lex-current-depth. * wisent/wisent-python.el: Modified all (semantic-lex-token ...) with (semantic-lex-push-token (semantic-lex-token ...)) to conform to the new lexer. 2003-02-17 Eric M. Ludlam * bovine/semantic-c.el (semantic-toplevel-c-bovine-table): Regenerated (semantic-c-keyword-table): Regenerated (semantic-default-c-setup): Regenerated with semantic-debug suppoert. 2003-02-17 David Ponce * wisent/wisent-grammar.el (wisent-grammar-setupcode-builder): Setup `semantic-debug-parser-source'. * wisent/wisent-java-lex.el: (wisent-java-lex-symbol) (wisent-java-lex-symbol2) (wisent-java-lex-string): Follow lexical API changes. * semantic-grammar.el (semantic-grammar-lex-sexp): Fixed typo. 2003-02-17 Eric M. Ludlam * bovine/Project.ede ("bnf"): gone ("examples"): no more bnf. * bovine/Makefile (examples_MISC): No more .bnf (bnf_MISC): Removed (all): removed bnf (bnf): gone (dist): no more bnf. * bovine/Makefile, bovine/c.bnf, bovine/make.bnf, bovine/make.by, bovine/scheme.bnf, bovine/scheme.by, bovine/skeleton.bnf: *** empty log message *** * semantic-util-modes.el (semantic-auto-parse-bovinate): Use `semantic-lex-unterminated-syntax-end-function' in addition to the old `-flex-' version. * semantic-util-modes.el (semantic-auto-parse-enabled-p): Do not parse if debugging is enabled. * semantic-debug.el (semantic-debug): Do not turn off auto-parse. * semantic-sb.el (semantic-sb-detail-parent): Use `semantic-token-with-position-p'. * semantic-debug.el (semantic-debug-highlight-lexical-token): Use lexical analyzer highlighter. * bovine/semantic-skel.el (semantic-lex-skel-if-0): Update to new lexer API. * bovine/semantic-make.el: (semantic-lex-make-backslash-newline, semantic-lex-make-command): (semantic-default-make-setup): Update to new lexer API. * bovine/semantic-c.el: (semantic-lex-c-if-0, semantic-lex-c-include-system) (semantic-lex-c-ignore-ending-backslash): Updated to new lexer API * semantic-grammar.el: (semantic-grammar-lex-symbol, semantic-grammar-lex-string) (semantic-grammar-lex-sexp): Use new lexer APIs. * semantic-lex.el (semantic-lex-test): New command (semantic-lex-debug): New variable and new command. (semantic-lex-highlight-token): New function (semantic-lex-debug-break): New function (semantic-lex-end-point, semantic-lex-current-depth) (semantic-lex-maximum-depth, semantic-lex-token-stream) (semantic-lex-analysis-bounds): New state variables (define-lex): Replace all local variables with references to above new global variables. Improved lexical hang detection. (semantic-lex-push-token): New fcn (semantic-lex-token): Spit out push part. (semantic-lex-unterminated-syntax-detected): New fcn (semantic-lex-unterminated-syntax-protection): New macro (define-lex-analyzer): Updated doc string. Generated fcn binds more new state variables. (define-lex-simple-regex-analyzer, define-lex-block-analyzer) (semantic-lex-beginning-of-line, semantic-lex-newline-as-whitespace) (semantic-lex-symbol-or-keyword, semantic-lex-punctuation-type) (semantic-lex-comments, semantic-lex-comments-as-whitespace) (semantic-lex-ignore-comments): Use `semantic-lex-push-token'. Use `semantic-lex-unterminated-syntax-protection' macro if apropriate. Use new state variables as apropriate. * semantic.el (bovinate-debug): Deprecated. 2003-02-15 David Ponce * semantic-autogen.el: New implementation. (semantic-autogen-noninteractive) (semantic-autogen-keywordp): New compatibility stuff. (make-autoload): New before advice. (semantic-autogen-header) (semantic-autogen-file, semantic-autogen-subdirs) (semantic-autogen-update-header): New. (semantic-hack-autoloads): Delegate to `batch-update-autoloads'. 2003-02-14 David Ponce * bovine/semantic-scm.el: (semantic-toplevel-scheme-bovine-table) (semantic-scheme-keyword-table) (semantic-default-scheme-setup): Re-generated from scheme.by. * bovine/scheme.by (OPENPAREN, CLOSEPAREN): Fixed token type. (scheme-in-list): Handle function body. (sequence): New nonterminal. * semantic-debug.el (semantic-debug-find-parser-source): Fixed error when parser source don't exist in `load-path'. Use `locate-library'. 2003-02-13 David Ponce * wisent/wisent-calc.el: (wisent-calc-automaton) (wisent-calc-tokens) (wisent-calc-setup-parser): Re-generated. * wisent/wisent-calc.wy (setupcode): Added missing punctuations in lexer syntax table. * bovine/semantic-el.el: (semantic-ctxt-current-symbol emacs-lisp-mode) (semantic-ctxt-current-function emacs-lisp-mode): Return result in a list. * semanticdb-el.el (semanticdb-find-nonterminal-by-name-regexp-method): Ensure it returns valid data. Code simplified. 2003-02-13 Eric M. Ludlam * bovine/bovine-grammar.el (bovine-grammar-setupcode-builder): New debug variables now set. * bovine/Makefile (bovinator_LISP): Added bovine-debug.el (LOADPATH): added eieio and wisent (examples_LISP): added skeleton.by (by_MISC): added make and scheme .by files. * bovine/Project.ede (bovinator): Added EIEIO dependency. Added `bovine-debug.el' support file. (examples): Added skeleton.by. (by): Added make and scheme. * Makefile (tools_LISP): Added semantic-debug.el. * Project.ede ("semantic"): Added `semantic-debug' API interface. * bovine/semantic-bovine.el (semantic-bovinate-stream): Use new bovine debug interface. Removed other debugger sections. (semantic-dump-buffer-init, semantic-dump-detail) (semantic-bovinate-debug-table, semantic-bovinate-debug-set-table) (semantic-bovinate-debug-buffer, semantic-bovinate-show) (semantic-bovinate-create-reference) (semantic-bovinate-create-reference-token-list) (semantic-bovinate-add-reference, semantic-bovinate-compare-reference) (semantic-bovinate-reference-temp-list): Deleted. * semantic-debug.el: (semantic-debug-parser-class, semantic-debug-enabled) (semantic-debug-current-interface, semantic-debug-current-parser): New (semantic-debug-interface): Added several new slots. (semantic-debug-frame, semantic-debug-set-parser-location) (semantic-debug-set-source-location): New (semantic-debug-interface-layout): Fixed. (semantic-debug-frame): Removed cruft. (semantic-debug-highlight-lexical-token) (semantic-debug-highlight-rule, semantic-debug-unhighlight) (semantic-debug-break): New (semantic-debug-mode-map): Added abort and SPC bindings (semantic-debug-mode): Fixed (semantic-debug-next): Exit recursive edit (semantic-debug-step): Exit recursive edit (semantic-debug-fail-match): implemented. (semantic-debug-quit): Exit recursive edit. (semantic-debug-abort): new (semantic-debug-set-breakpoint): name change (semantic-debug-parser): Updated all methods. * bovine/bovine-debug.el: Implementation of `semantic-debug' interface for the bovine parser. * semanticdb.el (semanticdb-create-table): Fixed name of object to not use scoped variable. 2003-02-10 Richard Y. Kim * wisent/wisent-python.el, wisent/wisent-python.wy: Reworked the python parser to be able to parse member variables and functions of classes sufficiently well to make ECB work! 2003-02-08 Richard Y. Kim * wisent/wisent-python.el: Fixed semantic-lex-python-charquote lexical analyzer so that explicit line continuations via backslashes are handled properly. * wisent/wisent-python.wy: Fixed wiset-token expressions to produce tokens that conform to the specification at "(semantic)Style Guide" info node. 2003-02-07 David Ponce * semantic-lex.el (semantic-lex-whitespace): Increment `end-point' when it merges successive tokens. 2003-02-06 David Ponce * semantic-grammar.el (semantic-grammar-update-outputfile): Use `semantic-map-mode-buffers'. Make sure the grammar output file was required. 2003-02-04 Eric M. Ludlam * NEWS: Added news about sematnicdb. * semantic-debug.el: (semantic-debug-frame, semantic-debug-create-frame): Adjust doc strings based on David's input. * semantic-debug.el: Basic framework for the debugger. 2003-02-03 David Ponce * tests/templates.cpp: Sync with v1p4 branch. * bovine/semantic-c.el: (semantic-toplevel-c-bovine-table) (semantic-c-keyword-table) (semantic-default-c-setup): Re-generated from c.by. * bovine/c.by: Sync with c.bnf in v1p4 branch. (template-var): Handle any arguments with optional '&' and '*' operators. (template-type): Use variablearg rule. * semanticdb.el (semanticdb-project-predicates): Renamed to... (semanticdb-project-predicate-functions): New. (semanticdb-current-database-list): Use `run-hook-with-args-until-success' to run `semanticdb-project-root-functions'. Minor changes. * semanticdb-file.el (semanticdb-write-directory-p): Use `run-hook-with-args-until-success' to run `semanticdb-project-predicate-functions'. * NEWS: no message 2003-02-02 Richard Y. Kim * wisent/wisent-python.el: Lots of comment clean ups plus removal of unused code. * wisent/wisent-python.wy: Removed code to truncate string literals to first 16 characters. It was a debugging aid. * wisent/wisent-python.el, wisent/wisent-python.wy: Updated the python grammar to include the base class information in tokens representing a class. 2003-02-02 Eric M. Ludlam * bovine/skeleton.by (OPERATORS): New (expression): Use above. * bovine/semantic-skel.el (semantic-flex-skeleton-extensions): deleted (semantic-lex-skel-if-0, semantic-skeleton-lexer): New * bovine/skeleton.by: Example of using the .by format. * bovine/semantic-scm.el (semantic-scheme-lexer): New lexer. (semantic-*-scheme...): Generated from scheme.by * bovine/scheme.by: Scheme parser, ported from scheme.bnf 2003-02-01 Klaus Berndl * NEWS: Added announcements for recent enhancements for C++ parsing * tests/templates.cpp: Added new very complex examples for templates * semantic-c.el: Regenerated from latest c.bnf * c.bnf (template-var): In template-types arguments can be any symbols with optional adress-operator (&) and optional dereferencing operator (*) (template-type): template-types can be all flavors of variable-args 2003-02-01 Eric M. Ludlam * semantic-grammar.el (semantic-grammar-update-def): Evaluate after creation. (semantic-grammar-update-setupfunction): Evaluate after creation. (semantic-grammar-update-outputfile): Loop over all buffers. Call the setup function on all buffers matching the mode we are building a parser for. * bovine/semantic-make.el (semantic-toplevel-make-bovine-table): Updated from make.by (semantic-make-keyword-table): Updated from make.by (semantic-flex-make-extensions, semantic-flex-make-command) (semantic-flex-nonewline): deleted (semantic-lex-make-backslash-newline, semantic-lex-make-command): New lexical analyzers. (semantic-make-lexer): New lexer. (semantic-default-make-setup): Updated from make.by. * semantic.el (semantic-elapsed-time): New fn. (bovinate): Use above to calculate elapsed time. 2003-01-31 Eric M. Ludlam * bovine/make.by (elements): Comment out EMPTY (opt-whitespace): Comment out EMPTY * semantic-lex.el (define-lex-analyzer): The analyzer created as a function now wraps up the token stream so `semantic-lex-token' works. 2003-01-31 Richard Y. Kim * NEWS: Added mention of python parser in the Languages section. * wisent/wisent-python.el: Updated the forms automatically generated from wisent-python.wy. Apart from this, no other changes were made. * wisent/wisent-python.wy: The base class list tokens are now generated for class tokens. * wisent/wisent-python.wy: Cleaned up many semantic actions by getting rid of debug code and unncessary code. * wisent/wisent-python.el, wisent/wisent-python.wy: Variable assignment statements and function formal parameters now generate 'variable tokens instead of the generic 'code tokens. 2003-01-31 Eric M. Ludlam * bovine/make.by: First attempt. 2003-01-30 David Ponce * tests/templates.cpp: Sync with v1p4 branch. * bovine/semantic-c.el: (semantic-toplevel-c-bovine-table) (semantic-c-keyword-table) (semantic-default-c-setup): Re-generated from c.by. * bovine/c.by: Sync with c.bnf in v1p4 branch. (template-var): Handle literal or constant. (typeformbase): Fixed. 2003-01-30 Klaus Berndl * NEWS: templates-types with constants or literals as parameters are parsed. * tests/templates.cpp: added new examples especially for template-types with constant parameters * semantic-c.el: Newly generated from c.bnf * c.bnf (template-var): Parses constants and literals in template types like in foo foo_10_var; 2003-01-30 David Ponce * Makefile: Rebuilt from Project.ede. 2003-01-30 Eric M. Ludlam * bovine/semantic-erlang.el: Erlang support by Vladimir G. Sekissov * bovine/erlang-edoc.el: Erlang support of the `document' API by Vladimir G. Sekissov * bovine/erlang.bnf: Erlang support by Vladimir G. Sekissov * Project.ede (init): Fixed object name. (misc): Added AUTHORS file. * AUTHORS: Major contributors to Semantic. 2003-01-30 David Ponce * tests/test.cpp: Sync with v1p4 branch. * bovine/semantic-c.el (semantic-lex-c-string): New analyzer for C strings. (semantic-c-lexer): Use it. 2003-01-30 Klaus Berndl * tests/test.cpp: Added examples for wide-char literals like L"str" and L'c' * semantic-c.el (semantic-flex-c-extensions): Added semantic-flex-wide-char-literal (semantic-flex-wide-char-literal): New function which lexes wide-char string- and char-literals like L"str" and L'c' * NEWS: Added announcement for parsing wide-char literals like L"str" 2003-01-29 David Ponce * tests/test.cpp: Sync with v1p4 branch. * bovine/semantic-c.el: (semantic-toplevel-c-bovine-table) (semantic-c-keyword-table) (semantic-default-c-setup): Re-generated from c.by. * bovine/c.by: Sync with c.bnf in v1p4 branch. (WCHAR): New token. (builtintype-types): Use it. (variablearg): Removed opt-stars. (variablearg-opt-name): Handle pointers for unnamed arguments. (string-seq): New nonterminal. (expression): Use it instead of string. 2003-01-29 Klaus Berndl * tests/test.cpp: Added really complex examples for functions with complex pointer/const-arguments * NEWS: Added more enhancements announcements * semantic-c.el: Newly generated from latest c.bnf * c.bnf (variablearg): Removed a superfluous opt-stars which has prevented pointers counted correct for arguments (variablearg-opt-name): Enabled parsing and counting pointers even for arguments without an argumentname. WCHAR: Added new token for "wchar_t" (builtintype-types): Added WCHAR (string-seq): New rule for string sequences (expression): Changed string to string-seq, so that string-sequences are parsed correct too 2003-01-29 David Ponce * tests/Makefile: New file. * wisent/Makefile: Rebuilt. * wisent/Project.ede (ede-proj-target-makefile-info "doc"): Removed :partofall option. (ede-proj-target-elisp "languages"): Moved after "wisent" target. * bovine/Makefile, Makefile: Rebuilt. * Project.ede (ede-proj-target-elisp "tools"): Removed "semanticdb-obj.el". * semantic-mode.el: Obsolete file removed . * semantic-c.el (semantic-flex-c-extensions): Support #elif. 2003-01-29 Eric M. Ludlam * bovine/semantic-el.el (semantic-elisp-use-read): Give `define-mode-overload-implementation' a parent. Identify `defvar-mode-local' as a variable. Give it a parent. * bovine/semantic-c.el (semantic-lex-c-if): Support #elif * wisent/Project.ede (tools): New target with `bison-wisent.el' in it. 2003-01-28 David Ponce * semantic.el (semantic-version): Updated to 2.0beta1. * Project.ede (ede-proj-project "semantic"): Updated :version to 2.0beta1. * NEWS: Minor changes. * tests/test.cpp: Sync with changes made by Klaus Berndl in v1p4 branch. * bovine/semantic-c.el: (semantic-toplevel-c-bovine-table) (semantic-c-keyword-table) (semantic-default-c-setup): Re-generated from c.by. * bovine/c.by (macro-def): Fixed typo. Sync with changes made by Klaus Berndl in c.bnf in v1p4 branch. (typesimple): Typedefs can also include declmods. (CVDECLMOD) (cv-declmods): New rules. (DECLMOD): Use CVDECLMOD. (codeblock-var-or-fun): Allow declmods after typeformbase too. (variablearg): Allow cv-declmods after typeformbase. * semanticdb.el (semanticdb-file-stream): Ensure that the non-persistent slot `reference-directory' is initialized. 2003-01-28 Klaus Berndl * tests/test.cpp: Added some examples for the better parsing of const and volatile * NEWS: Added entry for better parsing of const and volatile * semantic-c.el: Newly generated from latest c.bnf * c.bnf (typesimple): typedefs can also include declmods (CVDECLMOD): New rule (cv-declmods): New rule (DECLMOD): uses now CVDECLMOD (codeblock-var-or-fun): declmods also after typeformbase allowed (variablearg): cv-declmods after typeformbase allowed 2003-01-27 David Ponce * semanticdb.el (semanticdb-file-stream): Use `semanticdb-create-database' instead of a hard-coded database file name based on given file name plus `semanticdb-default-file-name'. * semantic.el (semantic-version): Updated to 1.4.3. * Project.ede (ede-proj-project "semantic"): Updated :version to 1.4.3. * bovine/c.bnf: Added comment to signal that this grammar is now obsoleted by the one in c.by! (outputfile): Commented out to avoid overwrite of semantic-c.el. Sync with changes made by Klaus Berndl in c.bnf in v1p4 branch. (TYPENAME): New keyword. Added summary. (declaration): Moved define after var-or-fun. (macro-expression-list) (macro-def): New. (macro-or-include): Use macro-def. (define): Use macro-def. Fixed semantic action. (class-parents): Fixed semantic actions. (type): Handle unnamed namespaces. (using): Handle "using namespace XXX". (template-type): Handle namespace-symbol and keyword typename. (DECLMOD): Removed SIGNED and UNSIGNED. Handle TYPENAME. (builtintype-types) (signedmod): New. (builtintype): Use them. (opt-initializers) (varname): Handle namespace-symbol. (namespace-opt-class): New. (opt-class): Use it. (operatorsym): Handle PARENS and BRAKETS. (opt-expression): Removed. (function-call) (expression): Handle namespace-symbol. 2003-01-25 David Ponce * semantic-lex.el (semantic-lex-make-type-table): Fixed resetting of `default' value. More understandable warning message. 2003-01-25 Richard Y. Kim * wisent/wisent-python.el, wisent/wisent-python.wy: Added comments for each keyword, deleted unused code, and scrubbed comments. * wisent/wisent-python.el: Matching changes to the .wy file just checked in. * wisent/wisent-python.wy: All tokens except 'import', 'function', and 'type' are now of type 'code' whose value is the keyword involved in the expression. The following are such keywords: print, del, pass, break, continue, return, yield, raise, global, exec, assert, if, while, for, try Also "expr" value is used with 'code' token type for other exressions that do not have a keyword. 2003-01-24 David Ponce * tests/templates.cpp, tests/test.cpp: Sync with changes made by Klaus Berndl in v1p4 branch. * bovine/semantic-c.el: (semantic-toplevel-c-bovine-table) (semantic-c-keyword-table) (semantic-default-c-setup): Re-generated from c.by. (semantic-lex-c-ignore-ending-backslash): New. (semantic-c-lexer): Use it. * bovine/c.by: Sync with changes made by Klaus Berndl in c.bnf in v1p4 branch. (PARENS, BRAKETS): New tokens. (TYPENAME): New keyword. Added summary. (declaration): Moved define after var-or-fun. (macro-expression-list) (macro-def): New. (macro-or-include): Use macro-def. (define): Use macro-def. Fixed semantic action. (class-parents): Fixed semantic actions. (type): Handle unnamed namespaces. (using): Handle "using namespace XXX". (template-type): Handle namespace-symbol and keyword typename. (DECLMOD): Removed SIGNED and UNSIGNED. Handle TYPENAME. (builtintype-types) (signedmod): New. (builtintype): Use them. (opt-initializers) (varname): Handle namespace-symbol. (namespace-opt-class): New. (opt-class): Use it. (operatorsym): Handle PARENS and BRAKETS. (opt-expression): Removed. (function-call) (expression): Handle namespace-symbol. 2003-01-24 Klaus Berndl * NEWS: New section for semantic 1.4.3 and an entry "Enhancements to the C/C++ grammar" which describes all enhancements in c.bnf and semantic-c.el * tests/test.cpp: Added a lot of new examples related to the modifications in c.bnf and semantic-c.el * tests/templates.cpp: Added a some new examples related to the modifications in c.bnf * semantic-c.el (semantic-flex-c-extensions): Added semantic-flex-backslash-newline (semantic-flex-backslash-newline): New function * c.bnf (macro-expression-list): Parsing one-line macros correct (define): Fixing a bug (type): Added unnamed namespaces (using): Allowing "using namespace XXX" (template-type): changing symbol -> namespace-symbol, adding keyword typename (DECLMOD): Removed SIGNED and UNSIGNED, added TYPENAME (builtintype-types): was builtintype; added long int, long long, long double (signedmod): New (builtintype): Now uses signedmod and builtintype-types (opt-initializers): changing symbol -> namespace-symbol (varname): changing symbol -> namespace-symbol (namespace-opt-class): Allowing template-specifiers (opt-class): parsing namespaces here (operatorsym): Parsing operator()() and operator[]() (function-call): changing symbol -> namespace-symbol (expression): changing symbol -> namespace-symbol 2003-01-24 David Ponce * NEWS: Completed "Grammar framework." topic. 2003-01-24 Richard Y. Kim * wisent/wisent-python.el, wisent/wisent-python.wy: Deleted debug code that I forgot to take out before the last check in. * wisent/wisent-python.el, wisent/wisent-python.wy: Reorganized the grammar by better grouping related non-terminals together. Also rewrote all the semantic actions so that proper semantic tokens are generated. 2003-01-22 David Ponce * NEWS: Starting Semantic 2.0 changes. * ONEWS: Old NEWS file. 2003-01-21 David Ponce * semanticdb.el (semanticdb-file-table): Use a filename relative to the project database's target directory when searching for a table object. 2003-01-09 David Ponce * bovine/semantic-bovine.el (semantic-bovinate-nonterminal-db-nt): Doc fix. * semantic-lex.el (define-lex-analyzer): Define the single analyzer as function too. (define-lex-regex-analyzer) (define-lex-simple-regex-analyzer) (define-lex-block-analyzer): Doc fix. Use `define-lex-analyzer'. (semantic-lex-newline-as-whitespace) (semantic-lex-ignore-newline): Removed extra white spaces. (semantic-lex-paren-or-list): Doc fix. 2003-01-06 Richard Y. Kim * wisent/wisent-python.el, wisent/wisent-python.wy: Finally converted python's lexer to use the new lexer, i.e., wisent-lex, and not use the old lexer wisent-flex. 2002-12-31 Eric M. Ludlam * semantic-ctxt.el (semantic-beginning-of-command): Doc fix. 2002-12-31 David Ponce * NEWS: Semantic 1.4.2 released. 2002-12-29 David Ponce * senator-isearch.el: Obsolete file. * semantic.el (semantic-version): Updated to 1.4.2. * Project.ede (ede-proj-project "semantic"): Updated :version to 1.4.2. * bovine/semantic-c.el: (semantic-toplevel-c-bovine-table) (semantic-c-keyword-table) (semantic-default-c-setup): Generated from c.by. (semantic-c-classname) (semantic-c-analyze-dereference-metatype): Doc fix. * bovine/c.by (outputfile): Output to "semantic-c.el". (class-parents): Enable namespace names for class parent declarations. (opt-class-declmods): New. (using): Fixed typo. (DECLMOD): Add virtual as a possible declaration modifier. (typeformbase): Accept namespace names. (typeformclassbase): Removed. (throw-exception-list): Enable namespace exceptions. (variablearg): Added opt-stars. (namespace-symbol): New. * bovine/c.bnf (class-parents): Enable namespace names for class parent declarations. (opt-class-declmods): New. (using): Fixed typo. (DECLMOD): Add virtual as a possible declaration modifier. (typeformbase): Accept namespace names. (typeformclassbase): Removed. (throw-exception-list): Enable namespace exceptions. (variablearg): Added opt-stars. (namespace-symbol): New. * senator-isearch.el: Obsolete file. * senator.el (senator-completion-menu-popup): Use a local `imenu-default-goto-function' to avoid conflicts with another buffer local definition of that function. Ensure that the local goto function will return the selected imenu item. * semantic-util.el: (semantic-type-relation-separator-character) (semantic-abbreviate-nonterminal): Doc fix. * semantic-util-modes.el: (semantic-update-mode-line) (global-semantic-show-unmatched-syntax-mode) (semantic-unmatched-syntax-face) (semantic-show-unmatched-syntax) (semantic-show-unmatched-syntax-mode) (semantic-show-unmatched-syntax-next) (semantic-auto-parse-no-working-message) (semantic-auto-parse-working-in-modeline-flag) (semantic-auto-parse-max-buffer-size) (global-semantic-auto-parse-mode) (semantic-auto-parse-bovinate) (global-semantic-summary-mode): Doc fix. * semantic-texi.el (semantic-texi-super-regex): Added matcher for `defopt'. (semantic-texi-name-field-list): Add `defopt' as a parsable field entry. (semantic-texi-recursive-combobulate-list): Doc fix. * semantic-imenu.el (semantic-imenu-goto-function): Forward to `imenu-default-goto-function' when POSITION probably don't came from a semantic imenu. (semantic-imenu-flush-fcn): Reset `imenu-menubar-modified-tick' to force rebuild of the imenu. * document.el (eval-when-compile 'semantic 'semantic-util): XEmacs change: needed to define macros at compile time. (document-function-name-comment) (document-insert-parameters) (document-parameter-comment) (document-argument-name) (document-programmer->english): Doc fix. 2002-12-27 David Ponce * semantic-c.el (semantic-toplevel-c-bovine-table): Re-generated from c.bnf. * c.bnf (class-parents): Enable namespace names for class parent declarations. (DECLMOD): Add virtual as a possible declaration modifier. (typeformbase): Accept namespace names. (typeformclassbase): Removed. (throw-exception-list): Enable namespace exceptions. (namespace-symbol): New. 2002-12-26 David Ponce * semantic-util.el: (semantic-type-relation-separator-character) (semantic-map-buffers): Doc fix. * semantic-util-modes.el: (semantic-update-mode-line) (global-semantic-show-dirty-mode) (global-semantic-show-unmatched-syntax-mode) (semantic-unmatched-syntax-face) (semantic-show-unmatched-syntax) (semantic-show-unmatched-syntax-mode) (semantic-show-unmatched-syntax-next): Doc fix. (semantic-auto-parse-no-working-message) (semantic-auto-parse-working-in-modeline-flag): Reverted back to 1.4 version. Doc fix. (semantic-auto-parse-max-buffer-size) (global-semantic-auto-parse-mode): Doc fix. (semantic-auto-parse-bovinate): Reverted back to 1.4 version. Doc fix. (global-semantic-summary-mode): Doc fix. * semantic-texi.el (semantic-texi-recursive-combobulate-list): Doc fix. * semantic-java.el (semantic-java-keyword-table): White space fix. (semantic-java-find-documentation) (semantic-java-doc-line-tags) (semantic-java-doc-keywords-map): Doc fix. * semantic-c.el (semantic-toplevel-c-bovine-table): Re-generated from c.bnf. (semantic-c-classname) (semantic-c-analyze-dereference-metatype): Doc fix. (semantic-c-keyword-table): White space fix. * document.el (eval-when-compile 'semantic 'semantic-util): XEmacs change: needed to define macros at compile time. (document-function-name-comment) (document-insert-parameters) (document-parameter-comment) (document-argument-name) (document-programmer->english): Doc fix. * c.bnf (using): Fixed typo. 2002-12-20 Eric M. Ludlam * semantic-cb.el (semantic-cb-token): table type is now semanticdb-abstract-table 2002-12-17 David Ponce * semantic-texi.el: * semantic-texi.el: (semantic-texi-super-regex): Added missing matcher for `defopt'. Thanks to "Klaus Berndl" . 2002-12-06 Eric M. Ludlam * semanticdb-el.el: (semanticdb-find-nonterminal-by-function-method): Disable body of `semanticdb-find-nonterminal-by-function-method'. It makes the class browser unbelievably slow as it insists on generating a class browser for all of Emacs. Fix class browser then re-enable later. 2002-12-04 Eric M. Ludlam * wisent/Makefile (wy_MISC): Remove wisent-wy. (tools_LISP, tools): New 2002-11-27 David Ponce * semantic.el (semantic-version): Updated to 1.4.1. * Project.ede (ede-proj-project "semantic"): Updated :version to 1.4.1. * NEWS: Added entry for Semantic 1.4.1. 2002-11-22 Eric M. Ludlam * semantic-edit.el: (semantic-edits-change-leaf-token, semantic-edits-change-between-tokens) (semantic-edits-change-over-tokens, semantic-edits-splice-remove): (semantic-edits-splice-insert): Get raw parent token list. Check children for position. Need raw list for accurate splicing. 2002-11-21 David Ponce * semantic-c.el (semantic-toplevel-c-bovine-table): New c.bnf. * semantic-texi.el (semantic-texi-name-field-list): Add `defopt' as a parsable field entry. * c.bnf (opt-class-declmods): New. (typeformbase): Support templates after :: operator. (variablearg): Support *'s in nameless arguments. 2002-11-18 David Ponce * semantic-util.el (semantic-change-function-mark-dirty): Fixed bug #513650, "Stack overflow in equal" in `add-to-list' when comparing complex tokens. 2002-11-15 David Ponce * semantic-util.el (semantic-find-doc-snarf-comment): Use `semantic-comment-lexer' as default lexer. * semantic-lex.el (semantic-lex-map-symbols): Fixed misplaced right parenthesis. (semantic-lex-keywords) (semantic-lex-types): Fixed missing `setq'. (semantic-comment-lexer): New predefined lexer. 2002-10-30 David Ponce * bovine/semantic-el.el (require 'find-func): Added. (semantic-end-of-command) (semantic-beginning-of-command): Handle error when the point is outside of a parenthesized block. * bovine/bovine-grammar.el (bovine-grammar-expand-ASSOC): Apply `semantic-grammar-ASSOC' to ASSOC parameters. (bovine-grammar-setupcode-builder): Added setup of `semantic-toplevel-bovine-table-source' and `semantic-equivalent-major-modes'. * semantic-grammar.el (semantic-grammar-update-setupfunction): Insert appropriate newline after setup code. 2002-10-26 Eric M. Ludlam * wisent/bison-wisent.el (bison->wisent): Autoload cookie. (bison->wisent-action-replace-once): Do not put in Action text. * semantic.el: Do not try doing any parsing if the buffer does not have semantic active. 2002-10-02 David Ponce * wisent/wisent-python.el: (wisent-python-parser-tables) (wisent-python-keywords, wisent-python-tokens) (wisent-python-default-setup): Re-generated. * wisent/wisent-java-tags.el, wisent/wisent-java.el: (wisent-java-parser-tables) (wisent-java-keywords, wisent-java-tokens) (wisent-java-default-setup): Re-generated. * wisent/wisent-java-lex.el: (wisent-java-tags-lexer) (wisent-java-lexer): Use `semantic-lex-punctuation-type'. * wisent/wisent-grammar.el (wisent-grammar-setupcode-builder): Generate setup of `semantic-lex-types-obarray'. * wisent/wisent-cim.el: (wisent-cim-automaton) (wisent-cim-keywords, wisent-cim-tokens) (wisent-cim-default-setup): Re-generated. * wisent/wisent-calc.el: (wisent-calc-automaton) (wisent-calc-tokens) (wisent-calc-setup-parser): Re-generated. * wisent/wisent-bovine.el: (wisent-lex-token-rules) (wisent-lex-token-get) (wisent-lex-make-token-table): Use new `wisent-lex-type-...' API. (wisent-lex-punctuation): Removed. * wisent/wisent-awk.el: (wisent-awk-automaton) (wisent-awk-keywords, wisent-awk-tokens) (wisent-awk-setup-parser): Re-generated. * semantic-lex.el (semantic-lex-tokens-obarray): Renamed to... (semantic-lex-types-obarray): New. (semantic-lex-token-invalid): Renamed to... (semantic-lex-type-invalid): New. (semantic-lex-token-symbol): Renamed to... (semantic-lex-type-symbol): New. (semantic-lex-token-class-p): Renamed to... (semantic-lex-type-p): New. (semantic-lex-token-set): Renamed to... (semantic-lex-type-set): New. (semantic-lex-token-value): Renamed to... (semantic-lex-type-value): New. (semantic-lex-token-put): Renamed to... (semantic-lex-type-put): New. (semantic-lex-token-get): Renamed to... (semantic-lex-type-get): New. (semantic-lex-make-token-table): Renamed to... (semantic-lex-make-type-table): New. (semantic-lex-map-tokens): Renamed to... (semantic-lex-map-types): New. (semantic-lex-tokens): Renamed to... (semantic-lex-types): New. (semantic-lex-punctuation-type): New. * semantic-grammar.el (semantic-grammar-lexer): Use `semantic-lex-punctuation-type'. (semantic-grammar-automaton) (semantic-grammar-keywords, semantic-grammar-tokens) (semantic-grammar-setup-semantic): Re-generated. (semantic-grammar-tokentable-builder-default): Call `semantic-lex-make-type-table'. (semantic-grammar-syntax-table): Removed '?' as a quote character. 2002-09-24 Eric M. Ludlam * semantic-fw.el (define-mode-overload-implementation): Do not force such method to be protected. This prevents a .el file from being loaded twice. (semantic-function-overload-p): New method. (semantic-augment-function-help): If a symbol being described is overloaded, add some help to the user query. (describe-function): New advice. * semantic-lex.el (define-lex): Make sure that a token is eaten for each pass to prevent hangs. 2002-09-16 Eric M. Ludlam * bovine/semantic-el.el: (semantic-up-context, semantic-get-local-variables, semantic-end-of-command) (semantic-beginning-of-command, semantic-ctxt-current-symbol) (semantic-ctxt-current-assignment, semantic-ctxt-current-argument): New * senator.el: Remove highlight dirty tokens menu item. * semantic-ctxt.el (semantic-up-context): Add `semantic-overload' property. (semantic-beginning/end-of-context): Use `define-overload'. (semantic-beginning/end-of-context-default): Accept parameter. (semantic-with-buffer-narrowed-to-context): Change indent function. (semantic-get-local-variables): pass argument to default. Add `semantic-overload' property. (semantic-get-local-variables-default): Accept paramter (semantic-get-local-arguments): Add `semantic-overload' property. (semantic-get-local-arguments-default): Accept parameter. (semantic-end/beginning-of-command): Convert to `define-overload'. (semantic-end/beginning-of-command): Accept new paramter. (semantic-with-buffer-narrowed-to-command): Change indent functgion (semantic-ctxt-current-symbol): Convert to `define-overload. (semantic-ctxt-current-symbol-default): Added paramter. (semantic-ctxt-current-assignment): Convert to `define-overload' (semantic-ctxt-current-assignment-default): Add paramter. (semantic-ctxt-scoped-types): Convert to `define-overload' (semantic-ctxt-scoped-types-default): Add paramter. 2002-09-13 Eric M. Ludlam * semantic.el (bovinate): Added timer to determine length of parsing. 2002-09-12 David Ponce * semantic-grammar.el (semantic-grammar-lex-symbol): Undo previous change. (semantic-grammar-automaton) (semantic-grammar-keywords) (semantic-grammar-tokens) (semantic-grammar-setup-semantic): Re-generated. (semantic-grammar-syntax-table): Added '.' as symbol constituent, and '?' and '\' as quote characters. (semantic-grammar-mode-keywords-1): Fixed symbol regexps. * semantic-grammar.wy (setupcode): Setup `semantic-lex-comment-regex'. 2002-09-11 David Ponce * wisent/wisent-bovine.el (wisent-lex-punctuation): Continue lexical analysis if a punctuation don't match. * semantic-grammar.wy (setupcode): Removed setup of `semantic-lex-number-expression'. (token [NUMBER]): Removed. (token [PREFIX-EXP]): Renamed to SEXP. (any_value): Updated to reflect above changes. * semantic-grammar.el (semantic-grammar-lex-symbol): Include '.' in symbol. (semantic-grammar-lex-number) (semantic-grammar-lex-prefixed-expression): Removed. (semantic-grammar-lex-sexp): New. (semantic-grammar-lexer): Updated to reflect above changes. (semantic-grammar-automaton) (semantic-grammar-keywords) (semantic-grammar-tokens) (semantic-grammar-setup-semantic): Re-generated. 2002-09-11 Eric M. Ludlam * wisent/bison-wisent.el: Translate bison files into wisent. 2002-09-10 David Ponce * semantic-grammar.el (require 'semantic-edit): at compilation time. (semantic-grammar-edits-new-change-hook-fcn): New function. (semantic-grammar-mode): Use it. * semantic-edit.el (semantic-edits-change-leaf-token): Take into account change at beginning of leaf token. (semantic-edits-incremental-parser): When there is a change between tokens and the change is stuck on the first surrounding token, re-parse that token. Get reparse-symbol from cache-list when tokens is nil. 2002-09-07 Eric M. Ludlam * wisent/Project.ede, bovine/Project.ede, Project.ede: Updated with new files dependencies. * bovine/semantic-bovine.el (semantic-bovinate-debug-buffer): autoload cookie. * semantic-load.el (semantic-al): eval-and-compile this. (imenu...): wrap in condition-case to protect .wy files. (global-semantic-*-mode): Moved around a little (semanticdb-load-system-cache): Load in the system cache if available. * semanticdb-system.el: Database for system directories. (Such as C include files) * semanticdb-file.el: (semanticdb-default-file-name, semanticdb-default-save-directory) (semanticdb-persistent-path, semanticdb-project-database-file): autoload cookies. (semanticdb-file-loaded-p, semanticdb-live-p): Moved (semanticdb-create-database): Pass down class being created when calculating database path. (semanticdb-full-filename): Moved (semanticdb-file-name-non-directory): New (semanticdb-file-name-directory): Use new dir-sep-char. Better final path concatenation. * semanticdb.el (semanticdb-create-table): Comments (semanticdb-dir-sep-char): New (semanticdb-fix-pathname): New (semanticdb-minor-mode-p): autoload cookie. (semanticdb-file): Requirement removed. * semantic-util-modes.el (global-semantic-show-dirty-mode*): REMOVED (semantic-show-dirty*): REMOVED (sematic-dirty*): REMOVED * semantic-util.el (semantic-prototype-nonterminal-default-args): Pass `color' to sub-calls. (semantic-nonterminal-children): autoload cookie. * semantic-ia.el (senator): Added requirement. * semantic-fw.el (semantic-al): Added require. * semantic-edit.el (semantic-change-function): Moved. (semantic-dirty-tokens, semantic-dirty-token-hooks) (semantic-pre-clean-token-hooks, semantic-clean-token-hooks) (semantic-remove-dirty-children-internal) (semantic-remove-dirty-children): REMOVED (semantic-rebovinate-token, semantic-cleanup-dirty-tokens) (semantic-change-function-mark-dirty) (semantic-find-nearby-dirty-tokens) (semantic-set-tokens-dirty-in-region): REMOVED * semantic.el (semantic-clear-toplevel-cache): Removed knowledge of dirty tokens. * semantic-autogen.el (make-autoload): Support defmethod as an autoload. 2002-09-05 David Ponce * wisent/wisent-wy.el, wisent/wisent-wy.wy: No more used. * wisent/wisent-python.el: (wisent-python-parser-tables, wisent-python-keywords) (wisent-python-tokens, wisent-python--default-setup): Re-generated. * wisent/wisent-java-tags.el, wisent/wisent-java.el: (wisent-java-parser-tables, wisent-java-keywords, wisent-java-tokens) (wisent-java-default-setup): Re-generated. * wisent/wisent-cim.el: (wisent-cim-automaton, wisent-cim-keywords, wisent-cim-tokens) (wisent-cim-default-setup): Re-generated. * wisent/wisent-calc.wy (setupcode): Setup lexer to `wisent-calc-lexer'. * wisent/wisent-calc.el: (wisent-calc-automaton, wisent-calc-tokens) (wisent-calc-setup-parser): Re-generated. (wisent-calc-lex-number, wisent-calc-lex-punctuation) (wisent-calc-lexer): New. (wisent-calc): Use them. * wisent/wisent-bovine.el: (wisent-lex-tokens-obarray) (wisent-lex-add-token, wisent-lex-put-default): Removed. (wisent-lex-token-rules, wisent-lex-token-get) (wisent-lex-make-token-table): Use `semantic-lex-token' stuff. * wisent/wisent-awk.el: (wisent-awk-automaton, wisent-awk-keywords, wisent-awk-tokens) (wisent-awk-setup-parser): Re-generated. * wisent/wisent-grammar.el, bovine/bovine-grammar.el, bovine/c.by: Initial revision. * semantic-lex.el: (semantic-lex-map-symbols, semantic-lex-keyword-invalid) (semantic-lex-keyword-symbol, semantic-lex-keyword-set) (semantic-lex-keyword-value): New. (semantic-lex-keyword-p, semantic-lex-keyword-get) (semantic-lex-keyword-put, semantic-lex-map-keywords): Use them. (semantic-lex-tokens-obarray, semantic-lex-token-invalid) (semantic-lex-token-symbol, semantic-lex-token-class-p) (semantic-lex-token-set, semantic-lex-token-value) (semantic-lex-token-put, semantic-lex-token-get) (semantic-lex-make-token-table, semantic-lex-map-tokens) (semantic-lex-tokens): New. * semantic-grammar.el, semantic-grammar.wy: Initial revision. 2002-08-31 Eric M. Ludlam * semanticdb.el (semanticdb-file-table): Use `eieio-persistent-path-relative'. 2002-08-21 Eric M. Ludlam * wisent/Makefile: Added bovine directory to load path so semantic-java will be available. * Makefile: Added semanticdb-el. * semantic-fw.el (semantic-overlay-properties, semantic-overlay-move): XEmacs aliases. (define-mode-overload-implementation): Moved actual assignment outside eval-and-compile to prevent errors when compiling a file already loaded once. 2002-08-20 Eric M. Ludlam * bovine/semantic-el.el: Enable Emacs Lisp semanticdb extensions. * semanticdb-el.el: System database for Emacs. * semanticdb-search.el (semanticdb-search-results-table): New class (semanticdb-refresh-table::semanticdb-search-results-table): New method. (semanticdb-collect-find-results): Added `ignore-system', and `find-file-on-match' arguments. Ignore system forces the system databases to be skipped. Find-file-on-match ignores all DBs with tables that are not associated with files. (semanticdb-find-nonterminal-by-*): Added `ignore-system' argument. * semanticdb.el (semanticdb-abstract-table): New class (semanticdb-table): Inherit from above. (semanticdb-project-system-databases): New variable. (semanticdb-search-system-databases): New variable (semanticdb-current-database-list): Doc update. Add system databases to list when requested. 2002-08-17 Eric M. Ludlam * semanticdb.el (semanticdb-get-database): Added back in. 2002-08-16 Eric M. Ludlam * semanticdb-search.el (semanticdb-collect-find-results): Rename input arguments to prevent collision. Fix empty result filter to correctly add real results. 2002-08-15 David Ponce * wisent/wisent-wy.wy (PREFIX-EXP): new token. (any_value): Added PREFIX-EXP rule. (nonterminal): Removed error rule. * wisent/wisent-wy.el (wisent-wy-lex-prefixed-expression): New. (wisent-wy-lexer): Use it. (wisent-wy-lex-buffer): Fixed bad lexer name. (wisent-wy-automaton, wisent-wy-keywords, wisent-wy-tokens) (wisent-wy-setup-semantic): Re-generated. (wisent-wy-syntax-table): Added expression prefix characters. * wisent/wisent-bovine.el: (wisent-parse-stream) (wisent-parse-region): Manage a stack of lookahead tokens to ensure all unrecognized tokens will be collected in `semantic-unmatched-syntax-cache'. (edebug-setup-hook): Added `edebug' specifications of local macros. * bovine/semantic-bovine.el (require 'semantic): Added to eliminate compiler warnings. * semantic-lex.el (edebug-setup-hook): Added `edebug' specifications of local macros. * semantic-fw.el (setq-mode-local): Take care of side effects! Evaluate each VAL only once, and in the given order. (edebug-setup-hook): Added `edebug' specifications of local macros. 2002-08-13 David Ponce * wisent/wisent-comp.el (wisent-char-p): New compatibility function. (wisent-tag, wisent-ISVALID-TOKEN) (wisent-parse-nonterminals): Use it. * semantic.el (semantic-new-buffer-fcn): Use `semantic-activate-mode-bindings'. * semantic-fw.el: (semantic-override-table, semantic-current-overrides) (semantic-new-overrides, semantic-symbol-value-for-mode) (semantic-symbol-value-mode-assign, semantic-setq-major-mode) (setq-major-mode): Removed. Replaced by the following new API... (semantic-symbol-table, semantic-current-bindings) (semantic-new-bindings, semantic-bind) (semantic-symbol, semantic-symbol-value) (semantic-set-local-variable, semantic-activate-mode-bindings) (mode-local-value, setq-mode-local, defvar-mode-local) (defconst-mode-local): New. (semantic-fetch-overload) (semantic-install-function-overrides): Use new API. (semantic-fw-font-lock-keywords): New constant. Font lock keywords to highlight Semantic forms. Installed with `font-lock-add-keywords' if possible. * bovine/semantic-java.el: (semantic-default-java-setup) (add-hook 'java-mode-hook): Commented out. * bovine/semantic-el.el (setq-major-mode): Replaced by `defvar-mode-local'. 2002-08-11 David Ponce * wisent/wisent-wy.el: (add-to-list 'auto-mode-alist) (eval-after-load "speedbar"): New autoloads. * wisent/wisent-python.el: (add-hook 'python-mode-hook) (wisent-python-default-setup): Added autoload cookie. * wisent/wisent-java-tags.el: (wisent-java-default-setup) (add-hook 'java-mode-hook): Added autoload cookie. (remove-hook 'java-mode-hook): Removed. * bovine/semantic-java.el: (semantic-default-java-setup) (add-hook 'java-mode-hook): Removed autoload cookie. * bovine/semantic-bnf.el (eval-after-load "speedbar"): Removed duplicate. Added missing quote. * semantic-load.el (autoload 'wisent-wy-mode): Removed. (auto-mode-alist): Removed 'wisent-wy-mode. Removed senator configuration. 2002-08-11 Eric M. Ludlam * Makefile: Added wisent sub project. * semantic-load.el, semantic-autogen.el: Added bovine subdirectory to loadpath. * Project.ede: Moved piles of sources into the bovine directory. * Makefile: Added sub projects "bovine/" and "/wisent". * bovine/Makefile: Makefile for the bovinator. * bovine/Project.ede: Project file for the bovinator * wisent/Makefile: Makefile for wisent. * wisent/Project.ede: Project file for wisent. * bovine/semantic-make.el, semantic-make.el: Renamed semantic-make.el to bovine/semantic-make.el * bovine/semantic-skel.el, semantic-skel.el: Renamed semantic-skel.el to bovine/semantic-skel.el * bovine/semantic-scm.el, semantic-scm.el: Renamed semantic-scm.el to bovine/semantic-scm.el * bovine/semantic-java.el, semantic-java.el: Renamed semantic-java.el to bovine/semantic-java.el * bovine/semantic-c.el, semantic-c.el: Renamed semantic-c.el to bovine/semantic-c.el * bovine/semantic-el.el, semantic-el.el: Renamed semantic-el.el to bovine/semantic-el.el * bovine/semantic-bnf.el, semantic-bnf.el: Renamed semantic-bnf.el to bovine/semantic-bnf.el * bovine/skeleton.bnf, skeleton.bnf: Renamed skeleton.bnf to bovine/skeleton.bnf * bovine/scheme.bnf, scheme.bnf: Renamed scheme.bnf to bovine/scheme.bnf * bovine/make.bnf, make.bnf: Renamed make.bnf to bovine/make.bnf * bovine/java.bnf, java.bnf: Renamed java.bnf to bovine/java.bnf * bovine/c.bnf, c.bnf: Renamed c.bnf to bovine/c.bnf * c.bnf: Removed flex extensions. * bovine/semantic-bovine.el, semantic-bovine.el: Renamed semantic-bovine.el to bovine/semantic-bovine.el * semantic-load.el: Removed .bnf mode setup. Removed speedbar .bnf and .wy setup. Add wisent directoy to load path. Removed incremental parser code. * semantic-edit.el: Added autoload cookies for setting up the new incremental parser. * semantic-cb.el: Require semanticdb, and semanticdb-search * semantic-bnf.el: Autoload cookie for mode setup. Autoload cookie for new speedbar setup. * semantic-analyze.el: Also require semanticdb-search. * semantic-autogen.el (semantic-hack-autoloads): Added wisent. 2002-08-11 David Ponce * wisent/wisent-wy.wy (setupcode): Use default value of `wisent-lexer-function'. * wisent/wisent-wy.el (wisent-wy-lexer): Use new wisent-lex API. (wisent-wy-automaton, wisent-wy-keywords, wisent-wy-tokens) (wisent-wy-setup-semantic): Re-generated. (wisent-wy-setupcode) (wisent-wy-tokentable-value): Generate new wisent-lex API. * wisent/wisent-python.wy (setupcode): Use `wisent-flex' as `wisent-lexer-function'. * wisent/wisent-python.el: (string-indentation, wisent-python-lex-bol) (wisent-python-lex-open-paren, wisent-python-lex-close-paren) (wisent-python-lex-newline, wisent-python-lex-backslash) (wisent-python-raw-string-handler): Use new wisent-lex API. (wisent-python-parser-tables, wisent-python-keywords) (wisent-python-tokens, wisent-python-default-setup): Re-generated. * wisent/wisent-java.wy (setupcode): Use default value of `wisent-lexer-function'. * wisent/wisent-java.el: (wisent-java-parser-tables, wisent-java-keywords) (wisent-java-tokens, wisent-java-default-setup): Re-generated. (wisent-java-get-local-variables): Use `semantic-parse-region'. * wisent/wisent-java-tags.wy (setupcode): Use default value of `wisent-lexer-function'. * wisent/wisent-java-tags.el: (wisent-java-parser-tables, wisent-java-keywords) (wisent-java-tokens, wisent-java-default-setup): Re-generated. (wisent-java-get-local-variables): Tell `semantic-parse-region' to return on error. * wisent/wisent-java-lex.el (wisent-java-tags-lexer, wisent-java-lexer): Use new wisent-lex API. * wisent/wisent-cim.el: (wisent-cim-automaton, wisent-cim-keywords, wisent-cim-tokens) (wisent-cim-default-setup): Re-generated. * wisent/wisent-calc.wy (setupcode): Use the new semantic-lex API. * wisent/wisent-calc.el: (wisent-calc-automaton, wisent-calc-tokens) (wisent-calc-setup-parser): Re-generated. (wisent-calc): Use new wisent-lex API. * wisent/wisent-bovine.el: New wisent-lex API that replaces the old wisent-flex one. (wisent-flex-istream): Renamed `wisent-lex-istream'. (wisent-flex-tokens-obarray): Renamed `wisent-lex-tokens-obarray'. (wisent-lexer-lookahead): Renamed `wisent-lex-lookahead'. (wisent-flex-token-rules): Renamed `wisent-lex-token-rules'. (wisent-flex-token-get): Renamed `wisent-lex-token-get'. (wisent-flex-add-token): Renamed `wisent-lex-add-token'. (wisent-flex-put-default): Renamed `wisent-lex-put-default'. (wisent-flex-make-token-table): Renamed `wisent-lex-make-token-table'. (wisent-flex-match): Renamed `wisent-lex-match'. (wisent-flex-punctuation): Renamed `wisent-lex-punctuation'. (wisent-flex-eoi): Renamed `wisent-lex-eoi'. (define-wisent-lexer, wisent-flex, wisent-lex) (wisent-parse-stream): Use new wisent-lex API. (wisent-error-function): Moved. (wisent-lexer-function): Ditto. Default to `wisent-lex'. (wisent-collect-unmatched-syntax): Naming. Doc string. (wisent-parse-region): New function. * wisent/wisent-awk.el: (wisent-awk-automaton, wisent-awk-keywords, wisent-awk-tokens) (wisent-awk-setup-parser): Re-generated. * semantic-edit.el (semantic-edits-incremental-parser): Don't mark parse tree up to date if incremental parse failed. 2002-08-11 Eric M. Ludlam * semanticdb-search.el (semanticdb-collect-find-results): Fixed compile warnings. * Makefile: Updated project with new semanticdb files. * semanticdb.sh: Script for building semantic cache files. * semanticdb-mk.el: Script for buinding semantic cache files. * semanticdb-search.el (semanticdb-file-stream): Moved back to semanticdb.el. * semanticdb.el: (semanticdb-default-file-name, semanticdb-default-save-directory) (semanticdb-persistent-path, semanticdb-save-database-hooks): Moved to semanticdb-file.el (semanticdb-project-database): No longer persistent. (semanticdb-new-database-class): New variable. (semanticdb-create-database): Now a static method. (semanticdb-file-loaded-p, semanticdb-get-database) (semanticdb-load-database, semanticdb-live-p) (semanticdb-save-db, semanticdb-save-all-db) (semanticdb-full-filename, semanticdb-live-p) (object-write): Moved to semanticdb-file.el (semanticdb-create-table): New method. (semanticdb-write-directory-p, semanticdb-cache-filename) Moved to semanticdb-file.el (semanticdb-semantic-init-hook-fcn): Use new static method to create database from variable. Use new method for creating new tables. (semanticdb-find-*): Moved to semanticdb-search.el * semanticdb-search.el: Moved from semanticdb. (semanticdb-collect-find-results): New fcn (semanticdb-find-nonterminal-*): Changed to call above. (semanticdb-find-nonterminal-*-method): New methods (semanticdb-find-nonterminal-by-function-method): Used to be `semanticdb-find-nonterminal-by-function', but for only one database. * semanticdb-file.el: Created from semanticdb.el. Most functions unchanged. (semanticdb-project-database-file): New class (semanticdb-create-database): New static method. Fixed bug when no file on disk yet. 2002-08-10 David Ponce * semantic-java.el, semantic-texi.el: Moved autoload cookie to the right place. * semantic.el (semantic-repeat-parse-whole-stream): Removed unused argument DEPTH. (semantic-parse-region-default): Updated call. 2002-08-10 Eric M. Ludlam * semantic-autogen.el: For non-interactive mode, set loadpath nil, find-file-hooks to nil, and supress file warnings. (semantic-hack-autoloads): Remove extra save-buffer. (make-autoload): Support defclass * Makefile: Makefile for semantic. * Project.ede (semantic-al.el): Added better dependencies. 2002-08-09 Eric M. Ludlam * semantic-load.el: Load semantic-al. Removed all auto-loads and mode hook assignments now in semantic-al. * semantic-edit.el (semantic-edits-incremental-parser): Added autoload tag. Removed debug code I said I'd remove. * semantic-fw.el (define-overload): Added autoload tag. * semantic-ia-sb.el (semantic-speedbar-analysis): Added autoload tag. * semantic-texi.el, semantic-make.el, semantic-scm.el, semantic-java.el, semantic-el.el, semantic-c.el: Add autoload tags to mode hooks * semantic-bovine.el (semantic-bovinate-stream): Added autoload tag. * semantic-analyze.el (semantic-analyze-possible-completions): Autoload tag. 2002-08-09 David Ponce * semantic.el (semantic-bovinate-toplevel): Preserve the unmatched syntax cache after a full parse. 2002-08-09 Eric M. Ludlam * semantic-autogen.el (autoload): New require (define-overload): Set `doc-string-elt' as property. (make-autoload): Taken from Emacs21 autoload.el. Added `define-overload' to create a function autoload. 2002-08-08 Eric M. Ludlam * Project.ede: Added semantic-autogen to 'init' target. Added special rules to build semantic-al.el Version update. * semantic-autogen.el: Fixed to be usable from a Makefile. (semantic-hack-autoloads): Newline changes. Safe buffer. * semantic-autogen.el: Generate auto-load files. 2002-08-08 David Ponce * wisent/wisent-wy.el (wisent-wy-region-placeholder): Used `$i' instead of `$n'! * wisent/wisent-java-tags.el (wisent-java-get-local-variables): Use `semantic-parse-region'. * semantic.el (semantic-version): Moved to "2.0alpha4". (semantic-toplevel-bovine-cache-check) (semantic-toplevel-bovine-force-reparse) (semantic-bovine-toplevel-full-reparse-needed-p) (semantic-bovinate-toplevel-override): Removed. (semantic-parse-tree-state) (semantic-parse-tree-set-needs-update) (semantic-parse-tree-needs-update-p) (semantic-parse-tree-set-needs-rebuild) (semantic-parse-tree-needs-rebuild-p) (semantic-parse-tree-set-up-to-date) (semantic-parse-tree-up-to-date-p): New parse tree state API. (semantic-bovine-umatched-syntax-refresh-needed-p) (semantic-new-buffer-fcn, semantic-rebovinate-quickly-hook) (semantic-clear-toplevel-cache) (semantic-set-toplevel-bovine-cache): Use it. (semantic-bovinate-toplevel): Ditto. Removed `semantic-bovinate-toplevel-override' stuff. (semantic-active-p): Inlined. (semantic-bovinate-unmatched-syntax): Removed CHECKCACHE argument. (semantic-bovine-umatched-syntax-refresh-needed-p): Ditto. Use new parse tree state API. (semantic-parse-stream, semantic-parse-changes) (semantic-parse-region, semantic-parse-region-default): Moved to eliminate byte-compiler warnings. (require 'semantic-edit): Removed. * semantic-util-modes.el: (semantic-show-parser-state-auto-marker) (semantic-show-parser-state-marker): Use new parse tree state API. * semantic-texi.el (semantic-texi-bovinate-toplevel): Renamed to... (semantic-texi-parse-region): New. Use parser plug-in API. (semantic-texi-parse-changes): New. (semantic-default-texi-setup): Install them as a parser plug-in. * semantic-load.el: (semantic-edits-flush-changes) (semantic-edits-change-function-handle-changes): auto loaded. * semantic-edit.el: (semantic-edits-need-reparse) (semantic-bovine-toplevel-partial-reparse-needed-p): Removed. (semantic-edits-change-function-handle-changes) (semantic-edits-flush-changes): Added autoload cookie. (semantic-edits-change-function-handle-changes) (semantic-edits-incremental-fail) (semantic-edits-incremental-parser) (semantic-rebovinate-token) (semantic-cleanup-dirty-tokens) (semantic-change-function-mark-dirty): Use new parse tree state API. 2002-08-07 David Ponce * wisent/wisent-wy.el: (wisent-wy-automaton, wisent-wy-keywords, wisent-wy-tokens) (wisent-wy-setup-semantic): Re-generated. (wisent-wy-EXPANDTHING): Removed. (wisent-wy-region-placeholder): New function. (wisent-wy-EXPAND, wisent-wy-EXPANDFULL): Use it. (wisent-wy-setupcode): Updated to use new Semantic parse API. * wisent/wisent-python.el: (wisent-python-parser-tables, wisent-python-keywords) (wisent-python-tokens, wisent-python-default-setup): Re-generated. * wisent/wisent-java-tags.el, wisent/wisent-java.el: (wisent-java-parser-tables, wisent-java-keywords, wisent-java-tokens) (wisent-java-default-setup): Re-generated. * wisent/wisent-comp.el (wisent-parse-grammar): Doc string fix. * wisent/wisent-cim.el: (wisent-cim-automaton, wisent-cim-keywords, wisent-cim-tokens) (wisent-cim-default-setup): Re-generated. * wisent/wisent-calc.el: (wisent-calc-automaton, wisent-calc-tokens) (wisent-calc-setup-parser): Re-generated. * wisent/wisent-bovine.el (wisent-bovinate-nonterminal): Renamed to... (wisent-parse-stream): New. * wisent/wisent-awk.el: (wisent-awk-automaton, wisent-awk-keywords, wisent-awk-tokens) (wisent-awk-setup-parser): Re-generated. * semantic.el (semantic-bovinate-parser-name): Renamed to... (semantic-parser-name): New. (semantic-bovination-working-message): Use it. (semantic-parse-region): Replace `semantic-bovinate-region'. (semantic-parse-stream): Replace `semantic-bovinate-nonterminal'. (semantic-parse-changes): Replace `semantic-bovinate-incremental-parser'. (semantic-parse-region-default): Replace `semantic-bovinate-region-default'. (semantic-repeat-parse-whole-stream): Replace `semantic-bovinate-nonterminals'. (semantic-bovinate-toplevel, semantic-bovinate-region-until-error) (semantic-bovinate-from-nonterminal) (semantic-bovinate-from-nonterminal-full): Use new parse API. * semantic-load.el: (semantic-parse-stream-default, semantic-parse-changes-default) (semantic-parse-region-default): Added autoloads. * semantic-el.el (semantic-elisp-use-read): Use `semantic-parse-region'. * semantic-edit.el (semantic-bovinate-incremental-parser): Removed. (semantic-bovinate-incremental-parser-default): Renamed to... (semantic-edits-incremental-parser): New. Use `semantic-parse-region'. (semantic-parse-changes-default): Alias of it. (semantic-rebovinate-token): Use `semantic-parse-stream'. * semantic-bovine.el (semantic-bovinate-region-default): Removed. (semantic-bovinate-nonterminal-default): Renamed to... (semantic-bovinate-stream): New. (semantic-parse-stream-default): Alias of it. 2002-08-05 David Ponce * semantic-edit.el (semantic-bovinate-incremental-parser-default): ensure that content of the `changes' variable will be processed entirely by resetting the `parse-start' value after processing a change group. 2002-08-04 David Ponce * wisent/wisent-wy.el (wisent-wy-EXPAND): Reverted last change. * wisent/wisent-wy.el: (wisent-wy-automaton, wisent-wy-keywords, wisent-wy-tokens) (wisent-wy-setup-semantic): Re-generated. (wisent-wy-EXPANDTHING): New argument DEPTH. (wisent-wy-EXPAND) (wisent-wy-EXPANDFULL): Generate call to `semantic-bovinate-region'. * wisent/wisent-python.el: (wisent-python-parser-tables, wisent-python-keywords) (wisent-python-tokens, wisent-python-default-setup): Re-generated. * wisent/wisent-java-tags.el: (wisent-java-parser-tables, wisent-java-keywords, wisent-java-tokens) (wisent-java-default-setup): Re-generated. (wisent-java-get-local-variables): Use `semantic-bovinate-region'. * semantic.el (semantic-bovinate-from-nonterminal-full): Use depth 1 by default. * wisent/wisent-awk.bnf, wisent/wisent-calc.bnf, wisent/wisent-cim.bnf, wisent/wisent-java-tags.bnf, wisent/wisent-java.bnf: Deleted. Obsolete. * wisent/wisent-flex.el: Deleted. Code moved to wisent-bovine.el. * wisent/wisent-wy.el: (wisent-wy-automaton, wisent-wy-keywords, wisent-wy-tokens) (wisent-wy-setup-semantic): Re-generated. (wisent-wy-setupcode): Install `wisent-bovinate-nonterminal' as 'bovinate-nonterminal override. No more use the buffer local variable `semantic-bovinate-parser'. * wisent/wisent-java-tags.el, wisent/wisent-java.el: (wisent-java-parser-tables, wisent-java-keywords, wisent-java-tokens) (wisent-java-default-setup): Re-generated. * wisent/wisent-java-lex.el (require 'wisent-bovine): Instead of 'wisent-flex. * wisent/wisent-cim.el: (wisent-cim-automaton, wisent-cim-keywords, wisent-cim-tokens) (wisent-cim-default-setup): Re-generated. * wisent/wisent-calc.el: (wisent-calc-automaton, wisent-calc-tokens) (wisent-calc-setup-parser): Re-generated. * wisent/wisent-bovine.el: Merged code from wisent-flex.el. (wisent-bovinate-nonterminal): Obeys new parser plug-in API. * wisent/wisent-awk.el: (wisent-awk-automaton, wisent-awk-keywords, wisent-awk-tokens) (wisent-awk-setup-parser): Re-generated. 2002-08-04 Eric M. Ludlam * semantic-edit.el (semantic-bovinate-incremental-parser-default): Fixed typo. * Project.ede: Added `semantic-lex.el', `semantic-bovine.el', `semantic-edit.el', and 'semantic-fw.el' to the `semantic' target. * semantic-el.el (semantic-elisp-use-read): Use `bovinate-region'. (semantic-emacs-lisp-lexer): Support `define-overload', `define-lex', and `define-mode-overload-implementation'. (semantic-emacs-lisp-lexer): New lexer. (semantic-elisp-find-dependency, semantic-elisp-find-documentation) (semantic-insert-foreign-token, semantic-nonterminal-protection): (semantic-elisp-nonterminal-static): Create using `define-mode-overload-implementation'. (semantic-default-elisp-setup): Emptied out all steqs into toplevel using `setq-major-mode'. * semantic-util-modes.el (semantic-highlight-edits-face): Change color to darker gray for dark background * semantic-util.el (semantic-map-buffers): Moved to semantic-fw.el * semantic-load.el: Imported some autoloads from semantic.el * semantic-lex.el (semantic-fw): New require. (semantic-lex-keyword-p): Check for keyword obarray before reference. (define-lex): Added debug information. (semantic-lex): Create as an overload. * semantic-edit.el (semantic-bovinate-incremental-parser): New override fcn. (semantic-bovinate-incremental-parser-default): Renamed. Added debugging if statements. (semantic-rebovinate-token): Renamed for `lex', not `flex'. * semantic-c.el: (semantic-flex-c-extensions, semantic-flex-c-include-system) (semantic-flex-c-if-0, semantic-flex-c-if): Deleted. (semantic-default-c-setup): Do not assign `semantic-flex-extensions'. * semantic-bovine.el (semantic-bovinate-region-default): Added needed new arguments. (semantic-bovinate-nonterminal-default): Removed TABLE argument. * semantic.el (semantic-bovinate-parser): Deleted (semantic-bovinate-incremental-parser): Deleted. (semantic-new-buffer-fcn): Assign mode-local variables. (semantic-set-toplevel-bovine-cache): Moved. (semantic-bovinate-toplevel): Use new override fcn instead of old symbol. (semantic-bovinate-region): Added arguments depth and returnonerror. (semantic-bovinate-nonterminal): Moved & converted to an overload fcn. (semantic-bovination-active-table): Deleted. (semantic-bovinate-nonterminals): Use new api to `semantic-bovinate-nonterminal' (semantic-bovinate-from-nonterminal, semantic-bovinate-from-nonterminal-full): Now wraps `semantic-bovinate-region'. (autoloads...): Moved to semantic-load. * semantic-fw.el (semantic-map-buffers): Moved from semantic.el (semantic-map-mode-buffers): New fcn (define-mode-overload-implementation): New macro (semantic-symbol-value-for-mode, semantic-symbol-value-mode-assign) (semantic-setq-major-mode, setq-major-mode): New mode local variables API. 2002-08-02 Eric M. Ludlam * semantic-load.el: Changed bovinate-toplevel autoload to bovinate-region. * semantic-edit.el (semantic-edits-bovinate-region): Deleted. (semantic-edits-incremental-parser): Use `semantic-bovinate-region' instead of above. * semantic.el (semantic-bovinate-region): New overload fcn. (semantic-bovinate-toplevel): Use `semantic-bovinate-region' for toplevel parsing. Do not use lex. Left comments behind describing problems with unmatched syntax that needs fixing. * semantic-bovine.el (semantic-bovinate-region-default): New function. * working.el (working-status, working-dynamic-status): Made robust when called outside of working forms. 2002-07-31 David Ponce * semantic.el (semantic-bovinate-toplevel): Removed working stuff around incremental re-parse. * semantic-util-modes.el (semantic-auto-parse-bovinate): Disable the auto parse timer while re-parsing. (semantic-auto-parse-kill-timer): New function. * semantic-fw.el (semantic-current-overrides): Now if optional argument MODE is specified return the override table of that mode or its parents. (semantic-install-function-overrides): New mode override table inherits from mode parents. (semantic-fetch-overload): Removed optional argument MODE. * semantic-edit.el (semantic-edits-bovinate-region): Working stuff moved from `semantic-bovinate-toplevel'. (semantic-edits-incremental-parser): Trigger full re-parse on error. 2002-07-30 David Ponce * wisent/wisent-wy.wy (setupcode): No more install overrides here. * wisent/wisent-wy.el: (wisent-wy-automaton, wisent-wy-keywords, wisent-wy-tokens) (wisent-wy-setup-semantic): Re-generated. (semantic-install-function-overrides): Install in `wisent-wy-mode'. (add-to-list 'auto-mode-alist) (speedbar-add-supported-extension): Removed. In semantic-load.el. * wisent/wisent-java-tags.el, wisent/wisent-java.el: (wisent-java-parser-tables, wisent-java-keywords) (wisent-java-tokens, wisent-java-default-setup): Re-generated. (semantic-install-function-overrides): Install in `java-mode'. * wisent/wisent-java-tags.wy, wisent/wisent-java.wy (setupcode): No more install overrides here. * semantic-java.el (semantic-default-java-setup): No more install overrides here. (semantic-install-function-overrides): Install in `java-mode'. * semantic-fw.el (semantic-install-function-overrides): set table with existing mode override table. * senator.el (senator-minor-mode-setup): Use `semantic-after-toplevel-cache-change-hook' and `semantic-after-partial-cache-change-hook' instead of `semantic--before-toplevel-cache-flush-hook' and `semantic-clean-token-hooks'. 2002-07-29 David Ponce * senator.el: (senator-register-mode-menu-entry ["Highlight Dirty Tokens"]): Commented out. (senator-register-mode-menu-entry ["Highlight changes"]) (senator-register-mode-menu-entry ["Show parser state"]): Added. * semantic.el (semantic-bovinate-toplevel): Added missing `working-status-form' around incremental parse. (semantic-bovinate-from-nonterminal) (semantic-bovinate-from-nonterminal-full) (semantic-bovinate-region-until-error): Inlined to avoid an unnecessary extra call. * semantic-util.el: (semantic-name-nonterminal, semantic-abbreviate-nonterminal) (semantic-summarize-nonterminal, semantic-prototype-nonterminal) (semantic-concise-prototype-nonterminal) (semantic-uml-abbreviate-nonterminal) (semantic-uml-prototype-nonterminal) (semantic-uml-concise-prototype-nonterminal) (semantic-nonterminal-static): Use `define-overload' instead of `semantic-defoverload'. (semantic-find-dependency, semantic-find-nonterminal) (semantic-find-documentation): Put the right property 'semantic-overload. * semantic-imenu.el (semantic-imenu-flush-fcn, semantic-create-imenu-index): Use `semantic-after-toplevel-cache-change-hook' and `semantic-after-partial-cache-change-hook' instead of `semantic--before-toplevel-cache-flush-hook' and `semantic-clean-token-hooks'. * semantic-fw.el (semantic-current-overrides, semantic-new-overrides): New functions. (semantic-install-function-overrides): Use them. New optional argument MODE to install into. (semantic-fetch-overload): Use `semantic-current-overrides'. (semantic-defoverload): Renamed to... (define-overload): New macro. * semantic-edit.el (semantic-edits-bovinate-region): Added missing parameter reparse-symbol. (semantic-edits-incremental-parser): Set reparse-symbol. (semantic-edits-splice-remove): Fixed typo. 2002-07-29 Eric M. Ludlam * semantic-util-modes.el: Require semantic. (global-semantic-highlight-edits-mode & friends): New mode. (semantic-auto-parse-no-working-message): default nil (semantic-auto-parse-working-in-modeline-flag): default nil. (semantic-auto-parse-mode-hook): doc fix (semantic-before-auto-parse-hooks, semantic-after-auto-parse-hooks): New hooks. (semantic-auto-parse-bovinate): Use new hooks. (global-semantic-show-parser-state-mode & friends): New mode. * semantic-load.el: Use new incremental parser by default. Turn on `global-semantic-highlight-edits-mode' for everything-on Turn on `global-semantic-show-parser-state-mode' for useful things. * semantic.el (semantic-bovinate-incremental-parser): New variable. (bovinate): Negative clear arg does not display tokens. (semantic-bovinate-toplevel): Use `semantic-bovinate-incremental-parser'. Move all dirty token references to semantic-edit.el (semantic-bovinate-nonterminal, semantic-bovinate-nonterminals): Doc fix * semantic-edit.el (semantic-edits-need-reparse): New state variable (semantic-change-hooks): Moved (semantic-reparse-needed-change-hook, semantic-no-reparse-needed-change-hook) (semantic-edits-new-change-hooks, semantic-edits-delete-change-hooks) (semantic-edits-move-change-hooks, semantic-edits-reparse-change-hooks) (semantic-edits-incrementarl-reparse-failed-hooks): New hooks (semantic-bovine-toplevel-partial-reparse-needed-p): Updated to handle old and new reparse mechanisms. (semantic-changes-in-region, semantic-edits-change-function-handle-changes) (semantic-edits-flush-change, semantic-edits-flush-changes) New functions for handling small changes. (semantic-edits-bovinate-region): New parser entry. (semantic-edits-change-in-one-token-p): New fcn. May be deleted later. (semantic-edits-os, semantic-edits-oe): Temporary functions. (semantic-edits-change-leaf-token, semantic-edits-change-between-tokens) (semantic-edits-change-over-tokens): New change analyzers (semantic-edits-incremental-fail): New function (semantic-edits-incremental-parser): New incremental parser function. (semantic-edits-splice-remove, semantic-edits-splice-insert) (semantic-edits-splice-replace): New cache splicing routines. (semantic-rebovinate-token): Use `semantic-edits-incremental-fail'. (semantic-cleanup-dirty-tokens): New fcn * semantic-util.el (semantic-find-nonterminal-by-overlay-prev): Doc fix (semantic-find-nonterminal-parent-by-overlay): New fcn * semantic-fw.el (semantic-overlay-properties,semantic-overlay-move): New aliases (semantic-mode-line-update): New alias. 2002-07-26 David Ponce * wisent/wisent.el: (wisent-parse-error-function, wisent-lexer) ($region, $nterm): Moved definitions. (wisent-push): Removed. * wisent/wisent-comp.el (semantic-actions): New local context. (wisent-semantic-action): Set unused entries to nil. In semantic action lambda expression, removed call to `wisent-push', use un-interned symbols for local variables. (wisent-semantic-actions): Use local context `semantic-actions'. 2002-07-21 Eric M. Ludlam * semanticdb.el (semanticdb-find-nonterminal-by-function): Added more references in doc string. * semantic-el.el (semantic-elisp-nonterminal-static): Fix doc. * semantic.el: (semantic-bovine-toplevel, semantic-bovinate-nonterminals) (semantic-bovinate-nonterminal): Use `semantic-lex-depth'. (semantic-bovination-active-table): New variable. (semantic-bovinate-nonterminal): Set new variable. (semantic-bovinate-from-nonterminal): Use above variable. * semantic-util.el (semantic-override-table, semantic-install-function-overrides, semantic-fetch-overload): Moved to semantic-fw.el (semantic-colorize-text): Check for font-lock. (semantic-name-nonterminal, semantic-abbreviate-nonterminal) (semantic-summerize-nonterminal, semantic-prototype-nonterminal) (semantic-concise-prototype-nonterminal) (semantic-uml-abbreviate-nonterminal) (semantic-uml-prototype-nonterminal) (semantic-uml-concise-prototype-nonterminal): Use new `semantic-defoverload' macro to create. (semantic-find-dependency, semantic-find-nonterminal) (semantic-find-documentation): Put 'semantic-defoverload' on them. (semantic-nonterminal-static): Create with `semantic-defoverload'. * semantic.el (semantic-overlay-*): Moved aliases to semantic-fw.el. (semantic-edebug, semantic-dump-parse): Moved closer to parsing routines. (semantic-bovinate-parser, semantic-bovinate-parser-name): Moved closer to parser. (semantic-tfe-*, semantic-token-*): Moved to semantic-fw.el * semantic-fw.el: Moved compatibility and simple functionality here from semantic.el 2002-07-20 David Ponce * wisent/wisent-java.wy (array_creation_expression): Added missing rules. * wisent/wisent-java.el: (wisent-java-parser-tables, wisent-java-keywords) (wisent-java-tokens, wisent-java-default-setup): Re-generated. * wisent/wisent-flex.el (require 'wisent-bovine): Instead of 'semantic. (wisent-flex-punctuation): Moved. (define-wisent-lexer): New macro. (wisent-flex): Defined with `define-wisent-lexer'. Use semantic-lex API instead of semantic-flex one. (wisent-lex): Ditto. * wisent/wisent-bovine.el (provide 'wisent-bovine): Moved at beginning. (wisent-cooked-token): Made a macro. (wisent-lexer-wrapper): Removed. (wisent-bovinate-nonterminal): Use `wisent-lexer-function' instead of `wisent-lexer-wrapper'. * semantic.el (semantic-bovinate-parser): Set default value to `semantic-bovinate-nonterminal-default'. (semantic-bovinate-nonterminal): Moved, simplified & inlined. (semantic-bovinate-nonterminals): Simplified working percent computation. * semantic-lex.el (semantic-lex-syntax-table): New variable. (semantic-lex-init): Moved. (semantic-lex): Ditto. Simplified & inlined. (semantic-lex-one-token): Simplified. (define-lex): Use `semantic-lex-syntax-table'. (semantic-lex-token-bounds): New function. (semantic-lex-token-start, semantic-lex-token-end): Use it. (semantic-lex-buffer, semantic-lex-list): New functions. (semantic-lex-newline-as-whitespace, semantic-lex-whitespace) (semantic-lex-comments, semantic-lex-comments-as-whitespace): Use token API instead of `car', `cdr'. (semantic-flex-buffer): Alias of `semantic-lex-buffer'. (semantic-flex-list): Alias of `semantic-lex-list'. 2002-07-17 David Ponce * semantic-java.el: Reorganized code. (semantic-java-lexer): New function. (semantic-default-java-setup): Re-generated. * java.bnf (setupcode): Use new Semantic 2.x lexical analysis API. * wisent/wisent-wy.el (require 'semantic-lex): Removed. Not necessary. (wisent-wy-lex-symbol): Use `semantic-lex-keyword-p' instead of `semantic-flex-keyword-p'. (wisent-wy-lex-punctuation): Removed. (wisent-wy-lexer): Use `wisent-flex-punctuation' instead of `wisent-wy-lex-punctuation'. (wisent-wy-keywordtable-value): Use `semantic-lex-make-keyword-table' instead of `semantic-flex-make-keyword-table'. * wisent/wisent-java-lex.el (require 'semantic-lex): Removed. Not necessary. (wisent-java-lex-symbol, wisent-java-lex-symbol2): Use `semantic-lex-keyword-p' instead of `semantic-flex-keyword-p'. (wisent-java-lex-punctuation): Removed. (wisent-java-tags-lexer, wisent-java-lexer): Use `wisent-flex-punctuation' instead of `wisent-java-lex-punctuation'. * wisent/wisent-flex.el (wisent-flex-punctuation): New macro. (wisent-lex): Use `semantic-lex-token-text' instead of `semantic-flex-text'. 2002-07-16 David Ponce * wisent/wisent-wy.el (require 'semantic-lex): Added. (wisent-wy-c-char-re): Renamed to... (wisent-wy-lex-c-char-re): New constant. (wisent-wy-item-value, wisent-wy-tokens) (wisent-wy-mode-keywords-1): Use it. (wisent-wy-flex-extensions, wisent-wy-flex-char): Removed. (wisent-wy-lex-symbol, wisent-wy-lex-number, wisent-wy-lex-string) (wisent-wy-lex-char, wisent-wy-lex-punctuation) (wisent-wy-lex-blocks): New macros. (wisent-wy-lexer, wisent-wy-lex-buffer): New functions. (wisent-wy-automaton, wisent-wy-keywords, wisent-wy-tokens) (wisent-wy-setup-semantic): Re-generated. * wisent/wisent-wy.wy (setupcode): Setup new Semantic lexical analysis tools. * wisent/wisent-java.el (require 'wisent-java-lex): Added. (wisent-java-parser-tables, wisent-java-keywords) (wisent-java-tokens, wisent-java-default-setup): Re-generated. * wisent/wisent-java-tags.wy, wisent/wisent-java.wy (setupcode): Setup new Semantic lexical analysis tools. * wisent/wisent-java-tags.el (require 'wisent-java-lex): Added. (wisent-java-expand-nonterminal): Moved. No more needed at compilation time. (wisent-java-parser-tables, wisent-java-keywords) (wisent-java-tokens, wisent-java-default-setup): Re-generated. * wisent/wisent-java-lex.el: Wisent Java Lexical Analyzers. * semantic-lex.el (define-lex-block-analyzer): New macro. * semantic-load.el (autoload): `define-lex-block-analyzer'. 2002-07-15 David Ponce * wisent/wisent-flex.el (wisent-lex): New function. * semantic-lex.el (with-syntax-table): Moved. (semantic-lex-make-keyword-table, semantic-lex-keyword-p) (semantic-lex-keyword-put, semantic-lex-keyword-get) (semantic-lex-map-keywords, semantic-lex-keywords): New functions. (semantic-lex-analyzer): Default to `semantic-flex'. buffer-local when set in any fashion. (semantic-lex-depth): Fixed `make-variable-buffer-local'. (define-lex): Use value of `semantic-lex-depth' as the default depth if it is not specified. (semantic-lex-token-class, semantic-lex-token-start) (semantic-lex-token-end, semantic-lex-token-text): New functions. (semantic-lex-symbol-or-keyword): Use `semantic-lex-keyword-p' instead of `semantic-flex-keyword-p'. Compatibility with Semantic 1.x API. (semantic-flex-start, semantic-flex-end, semantic-flex-text) (semantic-flex-make-keyword-table, semantic-flex-keyword-p) (semantic-flex-keyword-put, semantic-flex-keyword-get) (semantic-flex-map-keywords, semantic-flex-keywords): Aliased to their counterparts in 2.x API. (semantic-flex-keywords-obarray, semantic-flex-tokens) (semantic-flex-unterminated-syntax-end-function) (semantic-flex-extensions, semantic-flex-syntax-modifications) (semantic-ignore-comments, semantic-flex-enable-newlines) (semantic-flex-enable-whitespace, semantic-flex-enable-bol) (semantic-number-expression, semantic-flex-depth, semantic-flex) (semantic-flex-buffer, semantic-flex-list): Moved from semantic.el. (semantic-flex-tokens): Default to value of `semantic-lex-tokens'. (semantic-number-expression): Default to value of `semantic-lex-number-expression'. * semantic-util.el (semantic-find-doc-snarf-comment): Call `semantic-lex' instead of `semantic-flex'. * semantic-edit.el (semantic-rebovinate-token): Call `semantic-lex' instead of `semantic-flex'. * semantic-bovine.el: (semantic-lambda, semantic-bovinate-from-nonterminal) (semantic-bovinate-from-nonterminal-full) (semantic-bovinate-region-until-error): Moved these runtime functions into semantic.el. * semantic.el (semantic-version): Updated to 2.0alpha2 (require 'semantic-lex): Added. (semantic-flex-start, semantic-flex-end, semantic-flex-text) (semantic-flex-keywords-obarray, semantic-flex-make-keyword-table) (semantic-flex-keyword-p, semantic-flex-keyword-put) (semantic-flex-keyword-get, semantic-flex-map-keywords) (semantic-flex-keywords, semantic-flex-tokens) (semantic-flex-unterminated-syntax-end-function) (semantic-flex-extensions, semantic-flex-syntax-modifications) (semantic-ignore-comments, semantic-flex-enable-newlines) (semantic-flex-enable-whitespace, semantic-flex-enable-bol) (semantic-number-expression, semantic-flex-depth, semantic-flex) (semantic-flex-buffer, semantic-flex-list): Moved to semantic-lex.el. (semantic-token-docstring, semantic-bovinate-toplevel): Call `semantic-lex' instead of `semantic-flex'. (semantic-lambda, semantic-bovinate-from-nonterminal) (semantic-bovinate-from-nonterminal-full) (semantic-bovinate-region-until-error): Moved back here from semantic-bovine.el. Use `semantic-lex' instead of `semantic-flex'. 2002-07-12 Richard Y. Kim * semantic-lex.el: Added missing quote character for the newline symbol in semantic-lex-newline. 2002-07-11 Richard Y. Kim * wisent/wisent-python.el, wisent/wisent-python.wy: Implemented new lexer for python using the C version in semantic-c.el as a model. 2002-07-10 Eric M. Ludlam * semantic.el (semantic-new-buffer-fcn): Re-arranged so lex inits first. * semantic-util.el: (semantic-change-function-mark-dirty, semantic-find-nearby-dirty-tokens): (semantic-set-tokens-dirty-in-region): Moved to `semantic-edit.el'. * semantic-lex.el: Added some autoload cookies. (semantic-lex): Fix docstring. Fix call to variable. (with-syntax-table): Compatibility macro moved from semantic.el. * semantic-c.el: (semantic-lex-c-if-0, semantic-lex-c-if): semantic-lex-c-include-system): New analyzers (semantic-c-lexer): New lexical analyzer for C. (semantic-default-c-setup): Added define of new lexer. * semantic.el (semantic-version): Update to 2.0 status. * semantic-load.el: Added default bovinator autoload. Added lex autoloads. * semantic-edit.el: The user-editing portion of semantic.el 2002-07-04 Eric M. Ludlam * semantic-load.el (semantic-bovinate-nonterminal, semantic-lex-init): New autoloads. * semantic-bovine.el: LL parser from semantic.el. * semantic.el (semantic-flex-depth): Moved near flex. (semantic-ignore-comments): Moved flex. (semantic-new-buffer-fcn): Added init for semantic-lex. (semantic-bovinate-nonterminal): Moved to semantic-bovine (semantic-bovinate-nonterminal-default & friends): Moved to semantic-bovine.el * semantic-lex.el (semantic-lex-depth): Imported from semantic.el (define-lex-analyzer, define-lex-regex-analyzer) (define-lex-simple-regex-analyzer): Added `eval-and-compile'. 2002-07-03 Eric M. Ludlam * semantic-lex.el: Flexible lexical analysis. 2002-07-03 David Ponce * semantic-load.el (autoload): `wisent-wy-mode'. (auto-mode-alist): Added '("\\.wy$" . wisent-wy-mode). (speedbar-add-supported-extension): Added ".wy". * wisent/wisent.texi: Some fixes from Eric ;-) + additions. 2002-07-02 David Ponce * wisent/wisent-flex.el (wisent-flex-eoi-token): Replaced by... (wisent-flex-eoi): New macro. (wisent-flex): Use it. 2002-07-02 Richard Y. Kim * wisent/wisent-python.el: Updated with the latest CVS code to get in sync with the recent semantic/wisent changes. 2002-07-01 David Ponce * wisent/wisent-wy.wy (put_names): Use `wisent-token' to return a valid Semantic raw token. (put_values): Ditto. * wisent/wisent-wy.el (wisent-wy-automaton): Re-generated. (wisent-wy-keywords): Ditto. (wisent-wy-tokens): Ditto. (wisent-wy-setup-semantic): Ditto. 2002-06-30 David Ponce * wisent/wisent-java.wy (setupcode): Removed setup of `wisent-skip-token-hook'. * wisent/wisent-java.el, wisent/wisent-java-tags.el (wisent-java-parser-tables): Re-generated. (wisent-java-keywords): Ditto. (wisent-java-tokens): Ditto. (wisent-java-default-setup): Ditto. * wisent/wisent-cim.el (wisent-cim-automaton): Re-generated. (wisent-cim-keywords): Ditto. (wisent-cim-tokens): Ditto. (wisent-cim-default-setup): Ditto. * wisent/wisent-calc.el (wisent-calc-automaton): Re-generated. (wisent-calc-tokens): Ditto. (wisent-calc-setup-parser): Ditto. * wisent/wisent-awk.el (wisent-awk-automaton): Re-generated. (wisent-awk-keywords): Ditto. (wisent-awk-tokens): Ditto. (wisent-awk-setup-parser): 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-setupcode): Set `wisent-discarding-token-functions' as local hook, to `wisent-collect-unmatched-syntax'. * wisent/wisent-bovine.el (wisent-bovinate-nonterminal): Use `wisent-discarding-token-functions' hook instead of calling `wisent-collect-unmatched-syntax'. * wisent/wisent.el (wisent-skip-token-hook): To follow conventions from the Emacs Lisp Reference Manual for naming abnormal hooks, renamed to... (wisent-discarding-token-functions): New variable. (wisent-skip-token): Use it. (wisent-skip-block): Ditto. (wisent-parse): Ditto. * wisent/wisent.texi: no message 2002-06-29 David Ponce * wisent/wisent-wy.wy (code): Setup `semantic-expand-nonterminal'. (put_names): Return a single token instead of a list of one token. (put_values): Ditto. (rhs): New nonterminal. (rules): Use it. (action_opt): Removed. (elements): Removed. (element): Removed. * wisent/wisent-wy.el (wisent-wy-automaton): Re-generated. (wisent-wy-keywords): Ditto. (wisent-wy-tokens): Ditto. (wisent-wy-setup-semantic): Ditto. (wisent-wy-EXPAND): Generate call to `semantic-bovinate-from-nonterminal' instead of `wisent-bovinate-from-nonterminal'. (wisent-wy-EXPANDFULL): Generate call to `semantic-bovinate-from-nonterminal-full' instead of `wisent-bovinate-from-nonterminal-full'. (wisent-wy-setupcode): Generate setup of `semantic-bovinate-parser' and `semantic-bovinate-parser-name' instead of `semantic-bovinate-toplevel-override'. * wisent/wisent-java.wy (code): Setup `semantic-expand-nonterminal' and `wisent-skip-token-hook'. (goal): Produce a 'goal raw token. (field_declarations_opt): Ditto. (package_declaration): Use `wisent-cooked-token' to produce a cooked token. (import_declaration): Ditto. (class_declaration): Ditto. (field_declaration): Ditto. (method_declaration): Ditto. (formal_parameter): Ditto. (constructor_declaration): Ditto. (interface_declaration): Ditto. (abstract_method_declaration): Ditto. * wisent/wisent-java.el (wisent-java-expand-nonterminal): Moved. No more needed at compile time. Expand 'goal tokens too. (wisent-java-parser-tables): Re-generated. (wisent-java-keywords): Ditto. (wisent-java-tokens): Ditto. (wisent-java-default-setup): Ditto. * wisent/wisent-java-tags.wy (code): Setup `semantic-expand-nonterminal'. (formal_parameters): Skip RPAREN. (field_declaration): No more call `wisent-java-expand-nonterminal'. It is now handled via the standard `semantic-expand-nonterminal' mechanism. * wisent/wisent-java-tags.el (wisent-java-parser-tables): Re-generated. (wisent-java-keywords): Ditto. (wisent-java-default-setup): Ditto. (wisent-java-get-local-variables): Use `semantic-bovinate-from-nonterminal-full' instead of `wisent-bovinate-from-nonterminal-full'. The working stuff is now handled by the `semantic-get-local-variables' wrapper. * wisent/wisent-cim.wy (outputfile): Fixed bad file name. * wisent/wisent-cim.el (wisent-cim-automaton): Re-generated. (wisent-cim-keywords): Ditto. (wisent-cim-tokens): Ditto. (wisent-cim-default-setup): Ditto. * wisent/wisent-calc.el (wisent-calc-automaton): Re-generated. (wisent-calc-tokens): Ditto. (wisent-calc-setup-parser): Ditto. * wisent/wisent-bovine.el (wisent-token): No more setup the 'reparse-symbol property. Return a single raw token instead of a list of one token. (wisent-cooked-token): New function. (wisent-lexer-wrapper): No more provide working goodies. (wisent-bovinate-nonterminal): Push back the `wisent-lookahead' token into the input stream. Thus, it no more depends on external initialization of `wisent-lexer-lookahead'. Return one nonterminal token at a time. Ensure that unmatched tokens are collected here, not in `semantic-bovinate-nonterminals'. (wisent-bovinate-nonterminals): Removed. (wisent-bovinate-toplevel): Ditto. (wisent-bovinate-toplevel): Ditto. (wisent-bovinate-from-nonterminal-full): Ditto. (wisent-bovinate-region-until-error): Ditto. (semantic-bovinate-toplevel): Advice removed. * wisent/wisent-awk.el (wisent-awk-automaton): Re-generated. (wisent-awk-keywords): Ditto. (wisent-awk-tokens): Ditto. (wisent-awk-setup-parser): Ditto. * semantic.el (semantic-bovinate-parser): New variable. (semantic-bovinate-parser-name): New variable. (semantic-bovinate-nonterminal): Use it. (semantic-bovinate-nonterminal-default): New function. (semantic-bovination-working-message): New function. (semantic-rebovinate-token): Removed unnecessary reference to 'bovine-toplevel nonterminal. (semantic-bovinate-toplevel): Ditto. Use `semantic-bovination-working-message'. (semantic-cooked-token-p): New function. (semantic-raw-to-cooked-token): Use it. (semantic-bovinate-nonterminals): Update the 'reparse-symbol property of cooked tokens. * semantic-java.el (semantic-java-get-local-variables): The working stuff is now handled by the `semantic-get-local-variables' wrapper. * semantic-ctxt.el (semantic-get-local-variables): Handle working stuff here. Removed unnecessary call to `semantic-deoverlay-list'. (semantic-get-local-variables-default): The working stuff is now handled by the `semantic-get-local-variables' wrapper. 2002-06-27 David Ponce * wisent/wisent.texi: Addition to section "Grammar debugging". New section "Understanding the automaton". Reorganized some chapters. * wisent/fdl.texi: Put @node/@appendix inside an @ignore block, so the file can be included safely! Thanks to Richard Y. Kim for this tip. * wisent/wisent.texi: Grammar style examples are no more separate nodes. Some fixes. New chapter on start nonterminals. Re-included @node/@appendix for GNU Free Documentation License, before including fdl.texi. 2002-06-26 David Ponce * wisent/fdl.texi: Moved @node & @appendix lines from wisent.texi. * wisent/wisent.texi: Removed NEXT, PREV, and UP links following @node name as well the following line with @comment. Thanks to Richard Y. Kim for the tip! * wisent/wisent.texi: More fixes, clarifications and additions. 2002-06-25 David Ponce * wisent/wisent.texi: Still more additions! 2002-06-25 Richard Y. Kim * wisent/wisent-python.el, wisent/wisent-python.wy: Fixed up the flex handlers to handle "raw strings" delimited by double quotes, single quotes, and triple double quotes. With this fix, the first 20 or so files in /usr/lib/python2.2 directory can be parsed! 2002-06-24 David Ponce * wisent/wisent.texi: More additions & fixes. 2002-06-24 Richard Y. Kim * 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 David Ponce * 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 Richard Y. Kim * 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 David Ponce * wisent/wisent.texi: Fixes & more text added. 2002-06-22 Richard Y. Kim * 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 David Ponce * wisent/wisent.texi: Major update! 2002-06-21 Richard Y. Kim * 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 Richard Y. Kim * 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 David Ponce * senator.el: Use `senator-minor-mode-hook' to add semantic completion to `hippie-expand'. Thanks to Phillip Lord . (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 * semantic-el.el (semantic-elisp-use-read): Support `defun*'. 2002-06-14 Eric M. Ludlam * 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 David Ponce * INSTALL, semantic.texi: Fixed typo. 2002-06-13 Eric M. Ludlam * 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 * INSTALL: Added mailing list information. * semantic.texi (Top): Removed request for parser help. Added mailing list information. 2002-06-11 David Ponce * wisent/wisent-flex.el (wisent-flex): Fixed incorrect "eating" of `wisent-flex-istream'. 2002-06-07 David Ponce * 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 David Ponce * 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 David Ponce * semantic-util.el (semantic-summarize-nonterminal-default): Use `semantic-symbol->name-assoc-list-for-type-parts' and `semantic-bucketize-token-token'. 2002-05-15 David Ponce * 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 Richard Y. Kim * 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 Richard Y. Kim * 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 David Ponce * semantic-util.el (semantic-util): provided before requiring semantic-util-modes to avoid recursive load. 2002-05-07 Eric M. Ludlam * 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 * semantic-bnf.el (semantic-bnf-to-bovine): Remove errant space from last CR insert. 2002-03-23 Eric M. Ludlam * 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 * 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 * 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 * 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 * semantic-cb.el: Added requirement for eieio-base. 2002-03-16 Eric M. Ludlam * 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 David Ponce * 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 * 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 * 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 * 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 * 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 David Ponce * 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 David Ponce * 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 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 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 * 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 * semantic-texi.el (semantic-texi-bovinate-toplevel): Overlay the created list. 2002-02-27 David Ponce * 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 * 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 David Ponce * 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 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 * semantic-texi.el (semantic-texi-update-doc-from-source): Fixed error message. 2002-02-26 David Ponce * 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 * plan.txt: Plan. * sformat.el: From Vladimir Sekissov (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 * semantic.el (semantic-version): Update version to 1.4 beta14 * sformat.el (Sformat): Support byte compiled lambdas. 2002-02-24 Eric M. Ludlam * 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 David Ponce * 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 * 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 * 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 * 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 David Ponce * 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 * 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 * 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 David Ponce * 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 David Ponce * 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 David Ponce * 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 David Ponce * 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 * semantic-bnf.el (semantic-bnf-to-bovine): Do not add space to line after final paren. 2002-02-10 Eric M. Ludlam * 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 * semantic.el (semantic-version): New function. 2002-02-08 David Ponce * 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 David Ponce * 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 David Ponce * 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 * 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 David Ponce * wisent/wisent.texi: Following Eric's patch ;-) * wisent/wisent.texi: Applied Eric's patch. 2002-02-04 David Ponce * 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 David Ponce * wisent/wisent-comp.el (wisent-total-conflicts): No warning when there is no conflict! 2002-02-01 David Ponce * 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 * 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 David Ponce * 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 David Ponce * semantic-bnf.el (semantic-bnf-to-lalr-EXPANDTHING): No more bind `$regionI' variables. Use existing ones instead. 2002-01-14 David Ponce * 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 David Ponce * wisent/wisent.texi: Initial revision. 2001-12-19 David Ponce * 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 Richard Y. Kim * semantic.el: Created semantic-flex-tokens variable to document the token types returend by semantic-flex. 2001-12-18 David Ponce * 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 * 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 David Ponce * 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 * tests/test.make: New test for makefile things. 2001-12-12 Eric M. Ludlam * semantic.el: Small language changes to doc strings suggested by Alex Schroeder * semantic.texi: Small language changes suggested by Alex Schroeder 2001-12-08 Eric M. Ludlam * 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 David Ponce * 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 * 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 * 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 David Ponce * 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 * semantic.el: Updated version to 1.4 beta 13 2001-11-30 David Ponce * working.el (append global-mode-string): Quoted `working-mode-line-message'. 2001-11-30 Eric M. Ludlam * 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 David Ponce * 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 Richard Y. Kim * semantic.texi: Added "Lexer Overview" and "Lexer Output" nodes. 2001-11-23 Richard Y. Kim * semantic.texi: Fixed a typo in last checkin. Sorry. * semantic.texi: Created "Overview" and "Semantic Components" chapters. 2001-11-22 Eric M. Ludlam * semantic-sb.el (semantic-fetch-dynamic-bovine): Set out to t when there is no parser available. 2001-11-21 David Ponce * 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 Richard Y. Kim * 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 * tests/test.cpp: Added extern "C" samples. 2001-11-17 David Ponce * 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 * 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 David Ponce * 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 * 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 * semantic-util-modes.el (semantic-show-unmatched-syntax): Remove message about no bad syntax. 2001-11-12 David Ponce * 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 * semantic.texi (miscellaneous): Added `[global-]semantic-auto-parse-mode'. 2001-11-10 David Ponce * semantic.el (semantic-rebovinate-token): Removed specific error handler. (semantic-bovinate-nonterminal): Added general error handler. 2001-11-08 Eric M. Ludlam * 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 David Ponce * 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 David Ponce * 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 * 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 * 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 * 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 David Ponce * 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 * 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 * 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 * semantic-bnf.el: By Juanma Barranquero : (which-func-modes): In Emacs 21, it can be t, so don't add semantic-bnf mode. 2001-10-10 David Ponce * 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 David Ponce * 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 * 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 David Ponce * semantic-java.el (semantic-java-get-local-variables): New implementation consistent with `semantic-get-local-variables-default'. 2001-10-05 David Ponce * semantic-bnf.el: Merged wisent branch. * semantic.texi: Fixed typo. 2001-10-05 Eric M. Ludlam * 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 David Ponce * semantic-bnf.el (semantic-bnf-mode-keywords, semantic-bnf-syntax-help): Added number to list of built ins. 2001-10-04 Eric M. Ludlam * 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 David Ponce * 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 * 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 David Ponce * 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 David Ponce * 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 David Ponce * 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 David Ponce * 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 * 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 * 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 David Ponce * 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 * semantic-chart.el: Added a name to the complexity chart. * semantic.el: Update version numbers. * Project.ede: Updated version. 2001-09-21 David Ponce * 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 David Ponce * 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 * semantic-ctxt.el (semantic-function-argument-separation-character): Fix doc. 2001-09-18 David Ponce * semantic-imenu.el (semantic-create-imenu-subindex): Use `imenu--split-submenus' to sort and split sub index. 2001-09-18 Eric M. Ludlam * 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 David Ponce * 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 David Ponce * 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 * 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 David Ponce * 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 David Ponce * 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 David Ponce * 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 * semantic.texi (Extra Specifiers): Fix end of table location. * semantic.el: Revert old find-file-hook behavior. 2001-09-12 David Ponce * 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 * 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 David Ponce * 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 David Ponce * 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 David Ponce * 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 David Ponce * 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 David Ponce * 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 * 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 David Ponce * 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 David Ponce * 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 David Ponce * 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 * 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 David Ponce * 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 * 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 * 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 David Ponce * 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 David Ponce * 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 * semantic.texi: Added a style guide chapter, with lots of details about different tokens, and whats in them. 2001-08-14 David Ponce * 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 ` ')) 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 David Ponce * 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 '$' 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): '$' 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 * 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 David Ponce * 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 David Ponce * 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 * Project.ede: Added the ChangeLog * NEWS: NEWS * 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 David Ponce * 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 David Ponce * 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 * semantic-c.el: New c.bnf. (semantic-c-reconstitute-token): Added reentrant support. * c.bnf: Support reentrant. 2001-07-21 David Ponce * 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 David Ponce * 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 * 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 David Ponce * 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 * 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 * 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 * 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 * tests/Project.ede: Project file for the tests directory. 2001-06-05 Eric M. Ludlam * 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 * 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" and Norbert Lindlbauer ) 2001-05-29 David Ponce * 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 David Ponce * 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 * semantic-c.el: New c.bnf. * c.bnf (expression): Added string. 2001-05-24 Eric M. Ludlam * working.el: Removed variables to stop message logging from working.*status fns. This was a merge error. 2001-05-23 Eric M. Ludlam * 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 David Ponce * 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 David Ponce * 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 * Project.ede: Fixed name. Added URLs 2001-05-18 Eric M. Ludlam * 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 David Ponce * 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 * INSTALL: Added info about adding speedbar to the load path. * semantic.el: Update version number. 2001-05-15 David Ponce * 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 * 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 * 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 David Ponce * semanticdb.el (semanticdb-current-database-list): Fixed `expand-file-name' bug when `root' local variable is nil. 2001-05-09 Eric M. Ludlam * 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 David Ponce * 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 * 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 David Ponce * semantic-java.el (semantic-java-prototype-function, semantic-java-prototype-variable, semantic-java-prototype-type): Added implementation for the COLOR parameter. 2001-05-06 David Ponce * 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 * 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 David Ponce * 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 * semantic-c.el: New c.bnf 2001-05-01 Eric M. Ludlam * 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 * 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 David Ponce * java.bnf, semantic-java.el: Changed "version" javadoc keyword to not optional. 2001-04-28 Eric M. Ludlam * 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 David Ponce * working.el (working-status, working-dynamic-status): No more log progress messages on Xemacs. 2001-04-27 Eric M. Ludlam * semantic-el.el: Fixed reading of doc strings if they are not actually strings. 2001-04-26 David Ponce * 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 * semanticdb.el (semanticdb-kill-hook): Use semantic-active-p, instead of checking for the semantic table. 2001-04-25 David Ponce * 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 * 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 David Ponce * 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 * 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 * 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 David Ponce * senator.el: Added isearch lazy highlighting support for XEmacs 21.4. 2001-04-13 David Ponce * java.bnf: Updated copyrights. 2001-04-13 Eric M. Ludlam * 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 David Ponce * java.bnf: Added keyword summaries. * semantic-java.el (semantic-java-keyword-table): Added keyword summaries. 2001-04-13 Eric M. Ludlam * 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 David Ponce * 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 * 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 David Ponce * senator.el (senator-completion-menu-window-offsets): On Emacs 21 add the window left margin width to XOFFSET. 2001-04-10 David Ponce * 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 David Ponce * 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 * Project.ede: More project updates. * semantic.texi: A series of cleanup items submitted by Karl Eichwalder . * 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 David Ponce * 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 David Ponce * 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 David Ponce * 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 David Ponce * 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 David Ponce * 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 * 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 David Ponce * 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 David Ponce * semantic.el: Fixed an XEmacs compatibility problem with `read-event'. 2001-03-05 Eric M. Ludlam * semantic.texi: Updated the chapter on senator to account for new features. 2001-03-05 David Ponce * 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 * semantic-bnf.el: Added summary support to BNF keywords. Properly use the override table. Added a completion keybinding. 2001-02-28 David Ponce * 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 * 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 David Ponce * semantic-java.el: Regenerated with new version of semantic-bnf.el. 2001-02-24 Eric M. Ludlam * 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 David Ponce * 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 * 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 David Ponce * 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 * 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 * 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 David Ponce * 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 David Ponce * 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 * 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-14 Eric M. Ludlam * semantic-bnf.el: Vectorized %put. New forms accept a list in either the token name or symbol/value pair. 2001-02-09 Eric M. Ludlam * semantic.el: Fixed parse bug when a semantic-list was tested with a regex, then used with an EXPAND tag. Make sure the proper item is sent down. * c.bnf: Added ( testing to argument lists. * semantic-ctxt.el: Added section to determine the current local context (assignment, argument, etc) Added section for suggestions (incomplete) such as the type someting should be. 2001-02-09 David Ponce * semantic-java.el: Changed `semantic-overlay-delete' by better `semantic-deoverlay-token'. * senator.el: New implementation of completion menu to allow customization of menu item text and insert function. * semantic-util.el: `semantic-override-table' format changed to obarray. New function `semantic-install-function-overrides' to setup the override table. Updated `semantic-fetch-overload' to use override table format. New functions `semantic-concise-prototype-nonterminal' and `semantic-concise-prototype-nonterminal-default' to get a concise prototype text from a token. * java.bnf, semantic-java.el: Honour last changes in semantic-util.el. 2001-02-09 Eric M. Ludlam * semantic-c.el: c.bnf changes. * c.bnf: Added type separation characters. Added all constituents of DECLMOD into their own tokens. Created a rule to create a list of declmods. * semantic.el: `semantic-change-function' will now correctly navigate through all tokens hit by a change, and mark the first one found as dirty, and keep it that way. It used to mark all tokens, including enclosing types. Now it will only mark the innermost token. 2001-02-08 Eric M. Ludlam * semantic-util.el: `semantic-type-relation-separator-character' is now buffer local. `semantic-find-nonterminal-by-name', get children only if they are valid tokens. 2001-02-05 David Ponce * senator.el: Use new `semantic-type-relation-separator-character' format. New completion popup menu. * java.bnf, semantic-java.el: Use new `semantic-type-relation-separator-character' format. 2001-02-03 Eric M. Ludlam * semantic-util.el: Changed `semantic-type-relation-separator-character' to be a list. Change use of it. * semantic-ctxt.el: Added new context function that work ok with C. `semantic-end-of-command' `semantic-beginning-of-command' `semantic-ctxt-current-symbol' `semantic-ctxt-current-assignment' `semantic-ctxt-current-function' `semantic-ctxt-current-argument' and `-default' versions. 2001-02-02 Eric M. Ludlam * semanticdb.el: Protect against buffers without a parsing table. * semantic-c.el: New c.bnf * c.bnf: Added c++ to the list of language modes. Added lots of operator symbol tokens. Added DECLMOD symbol w/ complex regexp. Added CLASS, OPERATOR, PUBLIC, PRIVATE, and PROTECTED token keywords. Support parsing of a class. Add class bit parsing for functions. Add destructor bit parsing for functions. Allow operator symbols for methods. Added parent and destructor fields to extra-spec for functions. The function rule now returns a function or prototype. * semantic-bnf.el: Added support for multiple language modes in a list. When resetting buffers, reference the language modes as a list. Reset a buffer with the setupfunction when available. 2001-02-01 David Ponce * senator.el: `senator-last-name' removed. `senator-jump-completion-list' new variable. `senator-jump' simpler and more robust! Save the current completion table in `senator-jump-completion-list', then reuse it to retrieve the token association. Also, this solves jump conflicts when the same token name is present in different token children. `senator-completion-stream' Store the full token itself in the value part of each association. 2001-02-01 Eric M. Ludlam * senator.el: `senator-complete-symbol' now checks that it complete the same symbol to reuse `senator-last-completion-stat'. This is needed when for example completing "set..." and then completing "get..." at the same point. * senator.el: Removed compatibility code. Added isearch code, which was in `senator-isearch'. Made that shorter. `senator-step-at-start-end-p' fixed up. Use `semantic-nonterminal-children' instead of querying for type and then getting the parts. Use semantic's separator character. Added senator-find-nonterminal- .. functions. Uses semanticdb if loaded. When completing, use `senator-find...'. Also do a little more to track if we are doing the same completion. * semantic-util.el: Fixed `semantic-token-variable-default' which was using the wrong index. Fixed `semantic-find-nonterminal-by-name' to pass down new parameters. * java.bnf: Parses variables with more than one declaration, such as "int i, k;". * semantic-java.el: New java.bnf. Expand java nonterminals so compounded variable declarations are separated into it's own token. * semantic.el: Fixed `semantic-token-with-position-p'. 2001-01-31 Eric M. Ludlam * java.bnf: Java bnf file developed for JDE. * semantic-java.el: Sources originally developed for the JDE for java parsing. * semantic-ctxt.el: Local context querying and navigation. * Project.ede: Project file. * semanticdb.el: Added `semanticdb-global-mode' variable. Changed -find-nonterminal-* to take `search-parts' and `search-includes'. Added new -find- routines. * semantic.texi: Added `current context' chapter. Changed all MODIFIER references in token descriptions to EXTRA-SPEC. Documented `semantic-token-extra-spec' and friends. * semantic-util.el: Changed -modifiers to -extra-spec, and restored -modifiers to the old behavior. Moved `semantic-find-nonterminal-by-name'. Changed `semantic-find-nonterminal-by-token', `semantic-find-nonterminal-standard', and `semantic-find-nonterminal-by-type' to take `search-parts' and `search-include' parameters, and to use `semantic-find-nonterminal-by-function'. Changed `semantic-find-nonterminal-by-name-regexp', `semantic-find-nonterminal-by-property', `semantic-find-nonterminal-by-modifier', and `semantic-find-nonterminal-by-function' to take `search-parts' and `search-include' parameters. New fn `semantic-find-nonterminal-by-type-regexp'. Added new override methods to documentation string. (see semantic-ctxt.el) Use `semantic-token-extra-spec' where apropriate. Use `semantic-token-with-position-p' when returning token children. Added `semantic-narrow-to-token'. Added `semantic-show-dirty-mode' variable. * semantic-sb.el: Change -modifier to -extra-spec. * semantic-c.el: Updated with new c.bnf Fixed `semantic-expand-c-nonterminal' to use `-extra-spec'. * semantic-bnf.el: Created a token keyword table. Use keywords in language def. Fixed `semantic-bnf-ASSOC' to add spaces in properly (dponce) Added `scopestart' to `semantic-bnf-to-bovine' fn. Use it. Tried to fix indentation bug for rules. * c.bnf: Added `codeblock' rule and `%scopestart'. * semantic.el: Version update. Renamed all MODIFIERS references to EXTRA-SPEC. Added `semantic-token-with-position-p'. Changed `semantic-bovinate-block-until-header' to `semantic-bovinate-region-until-error', and fixed it up. 2001-01-25 Eric M. Ludlam * semanticdb.el: Added `major-mode' to the table class. Added `semanticdb-live-p' method to database and table classes. Only save a database if it is live, and if `semanticdb-write-directory-p' returns non-nil. Make `semanticdb-save-all-db' interactive. Do not write a table if it is not live. Added `semanticdb-project-predicates' variable to help control `semanticdb-write-directoryp' when the persistent-path contains 'project. * semantic-util.el: Split `abbreviate-nonterminal' to the override fn, and a default fn. Change `semantic-nonterminal-children' to take an optional argument to only return children if they have positional data in them. * semantic-imenu.el: Only create menus from the database with files of the same mode. * semantic-bnf.el: Added token abbreviations. * semanticdb.el: Added placeholders for persistence control. * semantic.texi: Added many functions added to semantic-util. * semantic-imenu.el: Moved semantic-imenu-auto-rebuild-running. Protect against empty files. Added ability to rebuild all imenu menus under a given directory. 2001-01-24 Eric M. Ludlam * senator.el: Added some completion functions. * senator-isearch.el: *** empty log message *** * semantic-util.el: Change token accessors to handle new formats, including new functions `semantic-token-type-modifier', `semantic-token-function-modifier', `semantic-token-variable-modifier', `semantic-token-variable-const', and `semantic-token-modifier'. Updated `find-nonterminal-by-function' to take some control arguments. Added `semantic-find-nonterminal-by-name-regexp' and `semantic-find-nonterminal-by-modifier'. Document finding fn now handles inline strings, or positional arguments. Fixed prototype-nonterminal to use new API fns. * semantic-sb.el: Handle new modifiers storage. * semantic-make.el: New make.bnf. * semantic-imenu.el: Create imenu menus with all info from semanticdb. Added xemancs imenu compatibility func. Fixed the flush function to handle clean-token hook. * semantic-el.el: Create tokens for the new token format. * semantic-c.el: Fixed for new c.bnf. Fixed `semantic-expand-c-nonterminal' to build the correct format for the changed token types. * semantic-bnf.el: Added the new ASSOC keyword for the OLE. Added `semantic-bnf-generate-one-rule' and bind to bnf keymap. Remove parens from the syntax table, inherit from parent Add ; comment highlighting in OLE. Rehashed indentation engine to alow more natural lisp indentation style in the OLE. * make.bnf, c.bnf: Added support for new token formats that use ASSOC. * semantic.el: Changed the definition of some tokens. Changed the meaning of MODIFIERS. Added fn `semantic-bovinate-make-assoc-list' for use in bnf files. 2001-01-10 David Ponce * senator.el: Fixed undeclared local variable 'slot' in `senator-menu-item'. 2001-01-10 Eric M. Ludlam * semanticdb.el: Fixed object-write for tables to be very robust to errors when deoverlaying the cache. (This happens on exit, so it is very important this work.) * semantic.el: Removed some comments. Added a version string. Fixed the group description. * semantic.texi: Added `semantic-flex-map-keywords' and `semantic-flex-keywords' doc. 2001-01-07 Eric M. Ludlam * semanticdb.el: Added `semanticdb-find-nonterminal-by-name' content. * semantic.el: Added `semantic-flex-map-keywords' and `semantic-flex-keywords' from David Ponce. Moved a few bits around. 2001-01-06 Eric M. Ludlam * semantic-imenu.el: Enable the use of the imenu splitup routines via `imenu-max-items'. * semantic-util.el: Fixed completing read to work with XEmacs Added `semantic-nonterminal-children' function. Added `semantic-type-relation-separator-character' Use the separator character in the abbreviate nonterminal fn. Fixed overlay and deoverlay-token to use `nonterminal-children', and to accept non-token items. * semantic-bnf.el: Added a space after all CR. Added a command to create a table w/out indentation. Bound old indentation command to C-cc * semantic-c.el: Updated from c.bnf. * c.bnf: Put `type' `t' onto some tokens. Struct and enums now match the braces, and return nil. Enum parts now have a token type of 'enum. Added ... to fuction arg lists. Match parens for arg lists. * semantic.el: Added semantic-bovine-toplevel-full-reparse-needed-p and semantic-bovine-toplevel-partial-reparse-needed-p. Used them in semantic-bovinate-toplevel. * semantic.texi: Added new functions in Compiling section. 2001-01-03 David Ponce * senator.el: New version 2.1. Fixed a nasty typo in `senator-minor-mode'. `run-hooks' were missing a quotation before their arguments. Thanks to "Charles Rich" who has reported this bug. Added new `senator-jump' command. Thanks to "Eric M. Ludlam" and "T. V. Raman" for their help. Added new `senator-minor-mode-name' option to customize the name displayed in the modeline when senator minor mode is on. When semantic isearch mode is on it now appends "/si" to the senator minor mode name displayed in the modeline. Added new keyboard shortcut "\C-," to toggle semantic search in isearch mode. Some code improvements. * senator-isearch.el: Improved isearch lazy highlighting support. 2000-12-28 Eric M. Ludlam * semantic.el: When parsing a file, if text is found, and a token is returned, but that token's car is nil, do not save that token. This will let a language author specify characters in a rule that shouldn't be saved, speeding up the parsing process. 2000-12-22 Eric M. Ludlam * semantic-el.el: Dump parsing of the lisp functions, and use a magic read function to pep up the speed of lisp parsing. Eric 2000-12-16 Eric M. Ludlam * semantic.texi: Added info about %put in bnf mode. Added stuff about keyword tables in the Lexing chapter. Xref the two. * semanticdb.el: Fixed file loading to return an object. Fixed file reader to restore table parent-db slot. * semantic.el: Renamed `semantic-flex-is-keyword' to `semantic-flex-keyword-p'. * semantic-bnf.el: Added put values of strings and lists. * semantic-bnf.el: Added %put to language to values to put on a symbol. `semantic-bnf-generate-and-load' not outputs a propertylist for keyword tables. * semantic.el: Added `semantic-flex-keyword-put' and `semantic-flex-keyword-get'. `semantic-flex-make-keyword-table' not takes a property list also. 2000-12-15 Eric M. Ludlam * semanticdb.el: Added a parent object to tables. Added `semanticdb-full-filename'. Added error correction when loading a database. Removed error protection during a write. Fix `object-write' for tables; get the buffer of `semanticdb-full-filename'. Fix hook running for `semanticdb-semantic-init-hook-overload'. Set the parent of all tables in init hook. 2000-12-12 David Ponce * senator.el: `senator-mark-defun' now work on XEmacs too. * senator.el: Fixed a "side effect" bug with latest `beginning-of-defun' and `end-of-defun' advices. They caused font-lock, which uses beginning/end of defun to force a reparse. Thanks to "Eric M. Ludlam" for pointing this. Improved consistency with standard behaviour of `beginning-of-defun' (go to the beginning of the line where the defun starts) and `end-of-defun' (go to the beginning of the line following the end of the defun). Added useful advices for `narrow-to-defun', `mark-defun' and `c-mark-function'. Advices are enabled when the functions are called interactively and `senator-minor-mode' is enabled. 2000-12-12 Eric M. Ludlam * semanticdb.el: Remove inheritance from eieio-speedbar-*. Added method for the database to get a table based on a filename. Used said method in the init hook. Added `semanticdb-file-stream', to return a stream for a file. 2000-12-11 Eric M. Ludlam * semantic-util.el: Fixed semantic-find-token to not expect that the token has a buffer. Use the current buffer if it doesn't have one. (see comment) * semantic-sb.el: Generation of tags will now run through semanticdb if it is active. As such, it is possible to view a file's tags without loading it into a buffer. 2000-12-11 David Ponce * senator.el: Code cleanup and optimization. `senator-next-token' and `senator-previous-token' now correctly work when not binded to keyboard shortcuts. `beginning-of-defun' and `end-of-defun' advices no more need to be called interactively. So `narrow-to-defun' can use these advices when `senator-minor-mode' is enabled. * senator.el: Applied Eric Ludlam's patch. It adds a special face for senator to use for momentary highlight (requires latest semantic-util.el). If the user cancels the parse (C-g) when `senator-minor-mode' initializes, it doesn't kill the rest of the configuration. (Useful on a slow machine.) 2000-12-10 Eric M. Ludlam * semantic.texi: Added miscellaneous tool chapter. Added senator text. Added information for all the property functions. * semantic-c.el: New c.bnf. * c.bnf: Fix spelling errors. * semantic-util.el: Added `semantic-find-nonterminal-by-property'. Don't try to remove hooks in `semantic-unhighlight-token'. Fix some quoting in some macros to get hooks removed. Added `semantic-add-label', and `semantic-show-label' user fns. Fix `semantic-show-dirty-mode' to check for the right fcn when toggling. * semantic.el: Added `semantic-edits-are-safe' variable. Added PROPERTIES to standard token. Added accessors for PROPERTIES slot in a token. Added semantic-token-put, and -get functions. Put the parser nonterminal into the token when it isn't bovine-toplevel. Put 'dirty t into a token when it is edited. Removed 'dirty flag when it is rebovinated. * semantic.el: Made semanticdb-minor-mode and auto-load. * semanticdb.el: Fixed write to get point max from the correct place. 2000-12-09 Eric M. Ludlam * semanticdb.el: Require eieio-base for base classes. Added variable semanticdb-save-database-hooks. Added pointmax to the table class. Wrap the save fcn into condition-case to protect against errors. Added messages when saving the table. Track pointmax on save for each file. Reset the table on load if the table is out of date (pointmax /=) Wrap deoverlaying in a condition case, with clear-table as error condition. Added beginnings of utility functions. * semantic-util.el: Turn the highlight/unhighlight set into a stack of faces. Added `semantic-momentary-unhighlight-token' for momentary case. Handle the cache which no longer has buffer size in it. Removed `bovinate-nonterminal' `semantic-current-token' returns a token now, in addition to the message. * semantic.el: Added a working type tracking variable. Show working messages when reparsing. Change the cache to not have the size at the end. (It isn't used anymore.) Make sure during a reparse the the new overlay gets its token reset. * semantic.texi: Added new chapter for tools, and added speedbar, semanticdb, and senator. 2000-12-08 Eric M. Ludlam * semantic.el: Fixed rebovinate-token to handle types. * semantic.el: Added variable `semantic-dirty-tokens' to track dirty tokens. Added hooks `semantic-dirty-token-hooks', and `semantic-clean-token-hooks' which run when a token is marked dirty or clean. Clear dirty tokens during a reparse. Call `semantic-after-toplevel-bovinate-hook' on a clear also. This lets us track the value of the cache better. In `semantic-bovinate-toplevel', added a new section which cleans all the dirty tokens, but only if we don't need a full reparse. In our change-function, add dirty tokens to the dirty token list, and don't bother with the type searching stuff. Call dirty-token-hooks. New function `semantic-rebovinate-token'. * semantic-util.el: Added show-dirty-mode, which highlights dirty tokens. Previous fn bovinate-nonterminal had its guts moved to semantic.el semantic-describe-token forces a reparse upon request. 2000-12-08 David Ponce * senator-isearch.el, senator.el: A bunch of XEmacs compatibility code! 2000-12-08 Eric M. Ludlam * semantic-util.el: When re-overlaying a buffer, put the 'semantic property onto the overlay. Added `bovinate-nonterminal' for splicing new data into an old token slot. Added `semantic-describe-token' for seeing what we think is under the cursor. * semantic.el: Added `semantic-raw-to-cooked-token' from the guts of `semantic-bovinate-nonterminals'. Added autoload for senator. 2000-12-07 David Ponce * senator.el: Applied Eric Ludlam's doc fix patch. 2000-12-07 Eric M. Ludlam * semantic-imenu.el: Fixed `summarize' misspelling. * semantic-util.el: Fixed misspelling of summarize. Deoverlayed tokens no longer contain the buffer. Implemented `semantic-deoverlay-cache' and `semantic-overlay-cache'. Added `semantic-deoverlay-list' and `semantic-overlay-list'. * semantic.el: Fixed utils that fetch token extents to new vector mode w/out a buffer. Added `semantic-file-token-stream' to get a token stream for a file. * semanticdb.el: Add msg to `semanticdb-file-stream'. Add `semanticdb-minor-mode-p' to learn if its active. Fix kill hook to only bovinate if the buffer has a cache to save. * semanticdb.el: New file. 2000-12-05 David Ponce * senator.el: Improved consistency with built-in search commands. New search commands like the ones in the Emacs Search menu. Added a menu to senator minor mode. The common prefix key in senator minor mode is now "C-c ,". Updated header comments. Some code cleanup. * senator-isearch.el: Initial revision needed by senator.el 1.7 (version 2.0) and above. * senator.el: New major version 2.0 with [i]search feature and a senator minor mode. Added compatibility code between GNU Emacs 20.7 and 21. 2000-12-05 Eric M. Ludlam * semantic-util.el: Enable a face for momentary highlighting. Added code to convert a token list to/from overlays. 2000-12-03 Eric M. Ludlam * semantic.el: Added a defvar for semantic-init-hooks. Renamed to plural for hooks. * semantic.el: Added the ability for a semantic token to contain an overlay, or numbers. Added a fn to get the CONS cell the overlay (or whatever) lives in. Added a find-file-hook, which turns around and calls `semantic-init-hook' when the table is availble for parsing. Move cache setting into a fcn to be called. This lets an external program set the cache (from a file perhaps.) 2000-11-28 David Ponce * senator.el: More performance improvements. New option `senator-highlight-found' to customize token highlighting. 2000-11-27 David Ponce * senator.el: Fixed a serious performance problem in `senator-next-token' and `senator-previous-token'. Before searching for a next or previous token the point was just moved to respectively the next or previous character. Thus, during navigation, the buffer was explored character by character :-(. Now `senator-next-token' and `senator-previous-token' skip whole tokens (unless they are 'type tokens which may include sub tokens). 2000-11-18 Eric M. Ludlam * semantic.el: Version number. 2000-11-14 David Ponce * senator.el: Minor change to `senator-next-token' and `senator-previous-token' to return the token at point. Useful when calling these commands non-interactively. * senator.el: Improved navigation in semantic token where to step at start and end. - `senator-next-token' move the point to the end of token if it was at beginning or in the middle of the token. - `senator-previous-token' move the point to the beginning of token if it was at end or in the middle of the token. 2000-11-13 Eric M. Ludlam * make.bnf: Fixed comment. * semantic-c.el: Reverted to previous version of keyword regexps. * semantic-bnf.el: Force the table to be cleared before a rebuild. Insert `nil' for keyword table if there are no keywords. * semantic-imenu.el: Added protection from imenu not existing on older XEmacsen. * semantic.el: Fixed XEmacs bug in `semantic-bovinate-nonterminals'. 2000-11-10 David Ponce * senator.el: Fixed a little bug in `senator-previous-token' navigation. * senator.el: Initial revision. 2000-10-30 Eric M. Ludlam * semantic.el: Added in some XEmacs overlay stuff. * c.bnf: Tidied up opt-array stuff. * semantic-c.el: Updated for new c.bnf 2000-10-18 Eric M. Ludlam * semantic.el: Fixed overlay aliases for XEmacs. Added `semantic-overlay-live-p' alias. Use `semantic-overlay-live-p' when needed so XEmacs works properly. * semantic-util.el: Fixed some byte compiler warnings. 2000-10-17 Eric M. Ludlam * semantic-util.el: Fixed some calls to overloaded functions to take the correct number of parameters. 2000-10-16 Eric M. Ludlam * semantic.el: Moved `semantic-after-toplevel-bovinate-hook' call to only happen when a buffer is actually reparsed. 2000-10-12 Eric M. Ludlam * semantic.el: Changed the overlay aliases to check the xemacs feature. Added the hooks `semantic-after-toplevel-bovinate-hook', `semantic-before-toplevel-cache-flush-hook' and `semantic-no-reparse-needed-change-hook'. Call then in the right spots. Enable reparsing the the change hook to use the additions from semantics reparse not found change hook. * semantic-imenu.el: Updated the `semantic-imenu-goto-function' to check for deleted overlays. Added `semantic-imenu-flush-fcn' to be used as a hook. Changed what was `semantic-create-imenu-index' to `semantic-create-imenu-index-1'. The new `semantic-create-imenu-index' calls `semantic-create-imenu-index-1' after setting the goto fcn, and setting the flush hook to `semantic-imenu-flush-fcn'. Changed calls to `semantic-create-imenu-index' to -1. 2000-10-10 Eric M. Ludlam * semantic-bnf.el: Added `comment-start' and `comment-start-skip' values in bnf mode. * semantic.el: Make `semantic-ignore-comments' and `semantic-flex-depth' buffer local. 2000-10-06 Eric M. Ludlam * semantic-el.el: Added defsubst support. 2000-10-05 Eric M. Ludlam * semantic-sb.el: Set up to work with older speedbars again. (removing dframe references.) * semantic.texi: Added `semantic-find-nonterminal-by-overlay', `semantic-find-nonterminal-by-overlay-in-region', and `semantic-current-nonterminal'. * INSTALL: Fixed up a little * INSTALL: New file. 2000-10-04 Eric M. Ludlam * semantic-util.el: Fixed `semantic-token-variable-optsuffix' for overlay stuff. * semantic.el: Fixed `semantic-token-docstring' for overlay stuff. * semantic-util.el: Fixed throws finding to account for shorter tail of a nonterminal. Added `semantic-current-nonterminal' as a non-list producing short-cut for `semantic-find-nonterminal-by-overlay'. 2000-10-03 Eric M. Ludlam * semantic.el: Updated version number. 2000-09-29 Eric M. Ludlam * working.el: Fixed copyright. * semantic.el: Added `semantic-token-buffer'. * semantic-sb.el, semantic-el.el, document.el, semantic.texi: Fixed up with some API changes. * semantic-util.el: Several override methods find information about tokens, and took both a buffer, and a token. Tokens' overlay now have the buffer in it, so don't require this parameter anymore. * semantic.texi: Fixed up with some API changes. * working.el: Indentation and edebug updates. 2000-09-28 Eric M. Ludlam * working.el: Updated the version. Made the user options user options. Fixed press a key. * semantic-el.el: Specify to only nab 6 flex tokens from sub-lists. * semantic-imenu.el, semantic-mode.el, semantic-sb.el, semantic-util.el: Updated calls to `semantic-bovinate-toplevel'. * semantic.el: Added `semantic-flex-depth', and `semantic-ignore-comments'. Removed depth/trashcomments from bovinate-toplevel. Removed comment stripping code from the parser. Do not add comments to the flex list, unless the variable is set. Added length parameter to the flexer. Lets a language only look at the first few tokens in a sublist. * semantic-bnf.el: Updated calls to `semantic-bovinate-toplevel'. * semantic.texi: Added long section describing some of semantics variables. * document.el: Changed use of `semantic-bovinate-toplevel'. 2000-09-27 Eric M. Ludlam * working.el: Added `working-status-call-process', and `working-verify-sleep'. * working.el: Added a special form `working-status-timeout' which uses a timer to display the dynamic message, letting the code run normally. Added timer workarounds. Added `working-wait-for-keypress' as an example. * semantic-imenu.el: Made customizable vars of type 'bool in 'boolean. * semantic-bnf.el: Quote the expression to eval after load. * semantic-bnf.el: Added `semantic-bnf-mode' to `which-func-modes' for later use. * semantic-c.el: c.bnf changed. * c.bnf: Moved `type' to be before `function' and `variable' in `declaration'. * semantic-imenu.el: Changed the default which-function to be a new function which intelligently builds a name. * semantic-imenu.el: Fixed default for `semantic-which-function'. * semantic-imenu.el: Make imenu config items buffer local. * semantic.el: Added type internals check when determining if a change requires a reparse. * semantic-util.el: Added interactive bovinate fns from semantic.el. * semantic.el: `semantic-toplevel-bovine-cache-check' is now boolean. Moved bovinate fns into semantic-util. Moved all debug stuff to after the parser, and before the lexer. Added new `after-change-hook' entry `semantic-change-function'. This new function will set `semantic-toplevel-bovine-cache-check' to true based on what the user changed. * semantic-mode.el: Changed comment, and removed dynamic reparse stuff. * semantic-el.el: Added advice into the language. * semantic.el: Added some more overlay compatibility aliases. Added `semantic-clear-toplevel-cache' to `change-major-mode-hook'. * semantic-util.el: Added `semantic-find-nonterminal-by-overlay-in-region', `semantic-find-nonterminal-by-overlay-next', and `semantic-find-nonterminal-by-overlay-prev'. * semantic-imenu.el: Added a `which-function' hack to use with `which-function' mode. 2000-09-26 Eric M. Ludlam * semantic-util.el: summerize-nonterminal, prototype-nonterminal, and prototype-file all had incorrect overload function grabbing code. Set them up correctly. * semantic-mode.el: Added a lame menu for imenu soring functions * semantic-util.el: Reversed all compares in the semantic-sort functions because they were backwards. 2000-09-25 Eric M. Ludlam * semantic-imenu.el: nreverse sub-buckets because `semantic-bucketize' now leaves things in the right order. * semantic-util.el: Added a filter function to `semantic-bucketize'. Added many sortingfunctions of the form: `semantic-sort-tokens-by-name/type-in/decreasing[-ci]' * semantic-imenu.el: Added `semantic-imenu-sort-bucket-function' variable. Pass this to `semantic-bucketize'. * semantic-mode.el: Removed `checkdoc-add-to-list'. 2000-09-22 Eric M. Ludlam * semantic-util.el: Added spiffy functions for changing properties on a token's overlay. * semantic-imenu.el: Added interactive toggle functions for our sorting/binning variables. * semantic-mode.el: New file. * semantic-imenu.el: Added changes from David Ponce: no double separators, all types have submenus. Added `semantic-imenu-goto-function' which takes overlays for position. Replaced all explicit numbers with the overlay from the semantic token. 2000-09-21 Eric M. Ludlam * semantic-bnf.el: Added symbol->name list to major-mode Added imenu index function to major-mode * c.bnf: Fixed up struct/union variable declaration section to use new lexical tokens for struct/union. * semantic-c.el: Fixed up struct/union variable declaration section of c.bnf. * semantic.texi: Fixed up for use with OVERLAY. Fixed up some descriptions of quoting, and updated the settings section. Broke the BNF converter section into sub-nodes. * semantic-el.el: Added support for methods and classes. 2000-09-20 Eric M. Ludlam * semantic.el: Fixed typo for delete-overlay in debug mode. * semantic-c.el: In `semantic-expand-c-nonterminal', copy the overlay, not start/end. * semantic.el: Converted to use overlays instead of start/end. Added overlay compatibility section. Changed the doc string for `semantic-toplevel-bovine-table'. Added `semantic-overlay-error-recovery-stack', `semantic-overlay-stack-add', 'semantic-overlay-stack-clear', `semantic-delete-overlay-maybe' `semantic-clear-toplevel-cache' was updated to delete overlays. `semantic-token-extent/start/end' was changed to use the new `semantic-token-overlay' macro. `semantic-bovinate-toplevel' was updated to include a local scope of the overlay error stack. `semantic-bovinate-nonterminals' changed to convert START/END from the lambdas into overlays. Convert overlays from the return streamed onto the error recovery stack. Converted old overlay code in debugger to use compatibility layer. In `semantic-bovinate-stream', added an overlay stack to the local scope. Track the overlays from recursive parses, clear the error recovery stack whenever a failed match occurs. Return a list of overlays found during this parse as a third list in the return arg. Deleted ITERATE section. Return nothing if we have a failed match. In `semantic-bovinate-from-nonterminal', use car-safe. * semantic-util.el: Added `semantic-find-nonterminal-by-overlay'. 2000-09-19 Eric M. Ludlam * semantic-imenu.el: Added `semantic-imenu-bucketize-file' option. Added `semantic-imenu-buckets-to-submenu' option. When bucketize-file is nil, then do not put tokens into a bucket. When buckets-to-submenu is nil, then do not put buckets into menus, but only into sections divided with a separator. David Ponce fixed a reverse order problem. * semantic.el: `semantic-flex-make-keyword-table' now returns the table instead of assigning it. * c.bnf: Added %keywordtable * semantic-bnf.el: Rearranged semantic-bnf-generate-and-load to do keyword table, and setup changes first, and the main table last. Added keywordtable keyword to bnf language. Added keywordtable finding function. * semantic-c.el: Updated for new semantic-bnf. * semantic-util.el: In semantic-bucketize, return only those buckets with stuff in them. * semantic-imenu.el: For types, do not show buckets if there is only one bucket. Added *typedef* to list of a types buckets to go to that class' definition. (David Ponce) 2000-09-15 Eric M. Ludlam * semantic.el: Added `semantic-flex-keywords-obarray' and `semantic-flex-make-keyword-table' When a symbol is found in `semantic-flex', it is looked up in the obarray, and its symbol is then substituded in place of the symbol. * semantic-bnf.el: Tokens that are symbols now generate a keyword list. This list is passed to the flexer, and converted into an obarray. * semantic-imenu.el: Fixed reversing of indicies problem. Enable imenu--sort-by-name inside sub-sub menus Added *TypeDef* menu item for jumping to the definition of types, as opposed to their sub-parts. Fixed jumping to the end of a definition, not the beginning. 2000-09-14 Eric M. Ludlam * semantic-make.el: Fixed spelling mistake. * semantic-c.el: Rebuilt table from c.bnf. * c.bnf: Updated to use %token to make new tokens for use in RULES. * semantic-bnf.el: Added the %token token to the language. This generates smart regexps in the table. 2000-09-13 Eric M. Ludlam * semantic-bnf.el: Removed all indenting commands from code generation. Perform region indentation instead at the very end. * semantic-bnf.el: `semantic-bnf-lambda-convert', EXPAND tokens should use the old `lambda' notation, and other code shoud use `semantic-lambda'. This fixes extra start/end data problems. * semantic.el: Updated `semantic-bovinate-from-nonterminal' to remove the let statement. 2000-09-11 Eric M. Ludlam * c.bnf: Use new BNF settings section. * semantic-el.el: Updated for new semantic-lambda macro. Added support for backquote in a single expression. * semantic-c.el: Updated for new c.bnf. 2000-09-09 Eric M. Ludlam * semantic.texi: Fixed build errors. * semantic.texi: Added new section on the setup section and % tokens * make.bnf: Use new bnf settings section. * semantic-bnf.el: New code generators for settings based on new tokens available in the setup seciton. * semantic-make.el: Rebuilt using new semantic-bnf 2000-09-08 Eric M. Ludlam * semantic-sb.el: Updates to handle the new speedbar beta. * semantic.el: Working is a part of semantic. Removed large crufty bits. Added `semantic-case-fold' for modes. Initialize `case-fold-search' from this when parsing. `semantic-bovinate-symbol-nonterminal-p' is now `defsubst' Added `semantic-lambda' macro for use in tables. * semantic-bnf.el: Updated language to include % token things. Updated output to use `semantic-lambda' macro. Updated language to use them. Updated generator setup code to get the token stream, use %tokens parsed in the input file for file/table/mode detection. Passes token stream down to all the sub-functions. Updated font-lock keywords for % tokens. bnf-mode alias to semantic-bnf-mode Updated indent function to use lisp-indent-function whenever inside %( )% Added `semantic-bnf-in-settings-p' function. 2000-07-07 Eric M. Ludlam * semantic-sb.el: Remove any reference to parent part of types. We will just ignore it. 2000-07-05 Eric M. Ludlam * c.bnf: Support multiple continuous decl modifiers. Added modifiers into variables. * semantic-c.el: Updated to new c.bnf. Changed `semantic-expand-c-nonterminal' to use optsuffix for bit fields and arrays. Use modifiers for actual modifiers like static. * semantic-util.el: Added `semantic-token-variable-optsuffix'. Used above in `semantic-prototype-nonterminal'. Also added modifiers support to functions and types. * semantic.el: Added OPTSUFFIX to variables for bit fields, or opt arrays. 2000-07-04 Eric M. Ludlam * semantic-imenu.el: Fix for imenu subindexes when a types PARTS is empty. 2000-07-03 Eric M. Ludlam * semantic.texi: Doc fix for semantic-token-variable-modifiers. * semantic-util.el: Fixed doc of type-modifiers. Fixed function-throws macro to be 6 not 5 2000-07-01 Eric M. Ludlam * semantic-util.el: Fixed left over `semantic-default-c-built-in-types' as `semantic-default-built-in-types'. * semantic.texi, semantic-util.el: Added semantic-find-inntermost-nonterminal-by-position. * semantic-make.el: Updated with make.bnf. * make.bnf, semantic-el.el: Updated for new elements in the tokens. * semantic-c.el: Updated with c.bnf. * c.bnf: Updated for new elements in the tokens. * semantic.texi: Syntax error. * semantic.texi: Various documentation updates. Added `semantic-token-type-modifiers', `semantic-token-function-modifiers', `semantic-token-function-throws'. * semantic-util.el: Added `semantic-token-type-modifiers', `semantic-token-function-modifiers', `semantic-token-function-throws'. * semantic.el: Updated documentation. 2000-06-23 Eric M. Ludlam * semantic-util.el: Added `semantic-current-token' to call semantic-find-nonterminal-by-position with arguments. 2000-06-20 Eric M. Ludlam * semantic.el: Quick hack to make flex robust to broken lists. 2000-06-16 Eric M. Ludlam * semantic.el: Added fn to read nonterminals until it reached an error. Fixed up some doc. Added `with-syntax-table' 2000-06-14 Eric M. Ludlam * semantic-imenu.el: Use imenu-summary-function for regular items, not just types. Maybe reverse this later. * semantic-util.el: Updated summerize to use the symbol->name assoc list. * semantic-util.el: Swapped summerize-nonterminal to call prototype-nonterminal, and prototype-nonterminal now some of the old guts of summerize. abbreviate now does some of the same things as the speedbar display. * semantic-imenu.el: Updated for new options in display. 2000-06-13 Eric M. Ludlam * semantic.el: Added optional argument to bovinate to force a cache clear. * semantic-util.el: Added semantic-bucketize, and semantic-abbreviate-nonterminal. * semantic-sb.el: Removed the bucketizer, and used the new version now in semantic-util. * semantic-el.el: Build in imenu support * make.bnf: Added special equals and colon NTs * c.bnf: The table has moved. * semantic-make.el: Added imenu bovinator support. * semantic-imenu.el, semantic-c.el: New file. 2000-06-11 Eric M. Ludlam * semantic.texi: Patched with emacs texi functions. Added `semantic-flex-enable-newlines' and `semantic-flex-syntax-modifications'. * semantic.el: Added some ITERATE code which doesn't work yet. Added `semantic-symbol->name-assoc-list. (buffer local) Added `semantic-flex-syntax-modifications' (buffer-local) Use syntax-modifications to change the way parsing occurs. * semantic-el.el: Renamed to semantic-el.el. Removed all C stuff. Updated mega hook to a setup function. * semantic-make.el: Updated from mega-hook lambda to a setup function. Changed table to match new make.bnf * semantic-sb.el: Updated to use the new variable `semantic-symbol->name-assoc-list'. This lets languages define their own names for types of tokens. The bucketing code changed. It now uses a vector. * semantic-make.el, make.bnf: New file. 2000-05-25 Eric M. Ludlam * semantic.texi: Added text about semantic-token-extents. * semantic-util.el: Added a comment for finding some other utils functions in semantic.el Fixe typo. 2000-05-17 Eric M. Ludlam * semantic.el: Added `semantic-token-extent' * semantic-sb.el: Added XEmacs invisibility hack stuff. 2000-05-14 Eric M. Ludlam * working.el: Fixed frame-width for XEmacs minibuffer strangeness. fixed up some animation stuff. (Old) 2000-05-06 Eric M. Ludlam * semantic.texi: Added small EDE reference * sformat.el: Added untokenizing regular expression generators. * document.el: Added file-header stuff. * semantic-el.el: Added updates from c.bnf * c.bnf: Use EXPANDFULL for enums, and for argument lists to functions. 2000-05-04 Eric M. Ludlam * semantic.el: Added semantic-flex-start and semantic-flex-end functions. * semantic-util.el: Added flex option to the doc finder. * document-vars.el: New file. * document.el: Converted all the CPCOMMENT stuff here, and made work with semantic. * sformat.el: if no additional args are passed to sformat, then `format' will not be called on the result. * semantic.el: Added semantic group for custom. * semantic-util.el: Added find-documentation, and a snarf-doc command. * semantic-sb.el: Added autoexpand length variable. Moved making of invisible text. semantic-sb-buttons-plain no longer save-excursion/set-buffer. Removed region narrowing in semantic-sb-buttons. Bucket insertion will now skip the bucket if it only contains one item. * semantic-el.el: Added defcustom as variables for Emacs Lisp. 2000-05-01 Eric M. Ludlam * sformat.el: New file. 2000-04-30 Eric M. Ludlam * document.el: New file. * semantic.texi: Added piles o doc about util functions. * semantic.el: docstrings are now described as a position. Fixed other doc strings. semantic-bovinate-toplevel takes new CHECKCACHE argument. If buffer is different size from last time, re-parse. Added more info in semantic-flex reguarding END param. * semantic-util.el: Updated a bunch of documentation. Added semantic-find-nonterminal-by-position Fixed a bunch of misspelled &optionals Added a set buffer when finding nonterminals. Added semantic-find-documentation to find a doc string. Added semantic-find-doc-snarf-comment to get the actual text from a buffer. * semantic-el.el: Fixed Emacs Lisp codes to have doc-string positions. * semantic-el.el: Fixed lisp expressions to have correct sizing information. * semantic-util.el: Added semantic-prototype-file as an overridable function. 2000-04-29 Eric M. Ludlam * semantic.el: Working msg now has filename in it. Added `returnonerror' flag to semantic-bovinate-nonterminals. goto (point-min) in `bovinate' Open/close paren matching now matches only one paren at a time. * semantic-util.el: Added scanning message to recursive search routine. * semantic-el.el: Updated w/ c.bnf. Added elisp override for finding dependencies. * c.bnf: Added support for Linux __P items. Added support for "..." fn prototypes. 2000-04-28 Eric M. Ludlam * semantic-util.el: Find dependency now uses EDE to track local includes if needed. * semantic.el: Updated doc about include nonterms. (Added system flag.) * semantic-util.el: Added nil t to all parsing routines used for searching. Added new recursive find-by-name function. * semantic-sb.el: Added <> after system includes. * semantic-el.el: Updated for c.bnf * c.bnf: Added system flag to include files. 2000-04-27 Eric M. Ludlam * semantic-util.el: New file. * semantic.el: Removed some API functions to semantic-util. Require semantic-util. * semantic-sb.el: Fixed token display for misc items. * semantic-el.el: Added built-in types stuff. 2000-04-25 Eric M. Ludlam * semantic-bnf.el: Fixed first line comment. * semantic.el: Reverse the order of full expanded items. * semantic-sb.el: Fixed typo (extra parens) * semantic.el: Added semantic-dependency-include-path, and semantic-find-dependency. These were in semantic-inc.el, but belong here with the override table. Fixed up semantic-find-nonterminal to use the new function. * semantic-el.el, semantic-sb.el: Removed semantic-inc, use new stuff in semantic.el for same behavior. * semantic.texi: Added stuff about EXPAND and EXPANDFULL * semantic-bnf.el: Added support for the EXPANDFULL token when expanding semantic lists. * semantic-el.el: Change to c.bnf. * c.bnf: structparts now uses EXPANDFULL to get positional information for it's sub parts. This simplified STRUCTSUBPARTS nonterminal * semantic.el: Added support for a second type of inline token expantion which includes positional information. * semantic-el.el: Fixed up the -c- hook to handle the default include path. * semantic-sb.el: Added some smarts about the new semantic-inc file. * semantic-inc.el: New file. 2000-04-23 Eric M. Ludlam * semantic-bnf.el, semantic.el, semantic-el.el, semantic-sb.el: Fixed copyright information. * c.bnf: Added copyright information. * semantic.texi: Added a package recommendation in Non-Terminals chapter. * semantic.el: Added a package recommendation to comments. * semantic-el.el: Added package support to Emacs Lisp table. * semantic-sb.el: Added support for `package'. 2000-04-21 Eric M. Ludlam * semantic.el: Documented some byte compiler warnings. 2000-04-20 Eric M. Ludlam * semantic-el.el: updated the C bnf to match c.bnf. * c.bnf: Macros split from 'variable' nt. Added knr-argument parsing. * semantic-bnf.el: Added the ability to also reset all modes (and thereby hooks) for a given mode 2000-04-16 Eric M. Ludlam * semantic.el: Turn `semantic-clear-toplevel-cache' into an interactive function. * semantic-sb.el: Added a Misc bucket for Speedbar. * semantic-el.el: Updated to new c.bnf * semantic-bnf.el: Added a .bnf speedbar extension. Make the return list compatible with speedbar. * c.bnf: Added `filename' for include rules. * semantic.el: Fixed up some documentation. * semantic.texi: Added a section on using the nonterminal token stream. 2000-04-15 Eric M. Ludlam * semantic.el: Fixed typo. * semantic.el: Tried to speed up semantic-flex by using a short-circuit and around the -extentions section. * semantic-el.el: Fixed a "." punctuation regular expression. * semantic.texi: Added some doc about lexing extentions. Fixed spelling errors. * semantic.el: Added big reference/compare cycle code. To use uncomment a section. 2000-04-14 Eric M. Ludlam * semantic.el: Added parser dumper. * semantic.el: Fixed byte compiled table bug. 2000-01-25 Eric M. Ludlam * semantic.el: Added debugging support for backquoted tables. * semantic-sb.el: Added support for the new speedbar tagging extentions. 1999-12-17 Eric M. Ludlam * semantic.el: Use assq instead of assoc for some lookups. * c.bnf: Added a splice , for varnamelist. * semantic-bnf.el: Output tables now use backquote so that lambda expressions in the list can be byte compiled. * semantic-el.el: Converted all tables to use backquote which then inlines lambda expressions. 1999-12-13 Eric M. Ludlam * semantic-el.el: don't concat numbers (for XEmacs). (by Jan Vroonhof) 1999-06-14 Eric M. Ludlam * semantic-el.el: Small tweek to cons cells. 1999-06-06 Eric M. Ludlam * semantic-bnf.el: Moved the doc into the info file. * c.bnf: Fixed up some language definitions. * semantic-el.el: Added use of the flex extensions to strip out pre-processor symbols. * semantic.el: Added extensions to the flexer so that the mode author can cause some syntax elements to be stripped (such as pre-processor symbols.) 1999-05-27 Eric M. Ludlam * semantic.texi: New file. * semantic-sb.el: Use the semantic token jump and summerize features. * semantic-el.el: Updated C code table and expander. * semantic.el: Changed the variable format a little bit. Added bovinate-debug Added overridable functions for jump/summerize. 1999-05-23 Eric M. Ludlam * semantic.el: Added a cache clear function. Fixed working message call. * semantic-bnf.el: Auto-clear when bovinating the BNF. Fixed working message call. * semantic-el.el: Fixed the C variables some. * semantic-sb.el: Fixed up jumping to non-toplevel token things. Added a parent token finder (a parent has a location) Fixed a little bit with centering. 1999-05-22 Eric M. Ludlam * working.el: Added bubble displays. 1999-05-20 Eric M. Ludlam * working.el: Fixed up doc strings. Fixed the dotgrowth display to change after growing beyond the edge of the screen. Added a utility fn for getting the frame size. Use utility in dotgrowth and bar-graph. 1999-05-18 Eric M. Ludlam * working.el: Fixed the plain bar/percent display. Updated version to 1.1. * semantic.el: Added a simple cache. * semantic-el.el: Fixed compile warning. * semantic.el: fixed compile warnings. * semantic-sb.el: Added support for tag hierarchy methods. * semantic.el: Added a type macro. You can now force-fail a match in the debugger. * semantic-el.el: changes from c.bnf. * c.bnf: Fixed up the returns of some nonterminals. * semantic-sb.el: Made it do interesting things for what is returned the C bovinator. 1999-05-17 Eric M. Ludlam * semantic.el: Larger types now pass down only position. * semantic-bnf.el: Fixed lots o bugs. * semantic-el.el: Added a variable expander, and improved bnf from c.bnf * c.bnf: New file. 1999-05-14 Eric M. Ludlam * semantic.el: Debugger fix for termianls. Convenience `bovinate' function. Infinite comment fix. Inline comment stripping. * semantic-bnf.el: New file. 1999-05-07 Eric M. Ludlam * semantic-el.el: Added some C rules (still broken though.) * semantic.el: Fixed to work in 20.2 1999-05-06 Eric M. Ludlam * semantic.el: Doces on the debugger. * semantic.el: Added small doc updates. Added a parse-table debugger, and debug entry point. * semantic-sb.el: Last of the changes needed for swapping name/tokensym * semantic.el: converted all synthetic words to reference nonterminals. 1999-05-05 Eric M. Ludlam * semantic-sb.el: New file. * semantic-el.el: Updated to put name before token symbol. * semantic.el: Changed doc to want the NAME first in the synthetic tokens list. Added lots of macros for referencing return tokens. Mucked with working message code. * working.el: fixed to be more robust wrt frames again. 1999-05-04 Eric M. Ludlam * working.el: Update copyright. Added celeron-percent-display. Forced incoming precents to integer for status display. Fixed so if the current frame has no minibuffer, the correct frame width is used. Added `working-frame-animation-display' to handle generic animations. Converted the celeron to use the animator display. Added a bounce display. 1999-05-03 Eric M. Ludlam * semantic-el.el, semantic.el: New file. 1998-12-18 Eric M. Ludlam * working.el: Added let of working-log-max into the displayers so they do not drop messages into the *Messages* buffer. 1998-12-17 Eric M. Ludlam * working.el: Removed a typo in ref1 defvar. * working.el: Fixed some spelling. Changed static to dynamic. * working.el: Updated backwards compatibility comment section. * working.el: Changed the custom variable names to be more consistant. * working.el: Fixed up documentation and such. Made to compile clean. * working.el: Added celeron, plus static status. 1998-12-16 Eric M. Ludlam * working.el: New file.