Commit graph

35 commits

Author SHA1 Message Date
Paul Eggert
98768aebbe * semantic.el (semantic-elapsed-time): Rewrite using
time-subtract and float-time.
2011-06-30 17:24:48 -07:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Chong Yidong
dd9af436d9 Synch Semantic to CEDET 1.0.
Move CEDET ChangeLog entries to new file lisp/cedet/ChangeLog.

* semantic.el (semantic-version): Update to 2.0.
(semantic-mode-map): Add "," and "m" bindings.
(navigate-menu): Update.

* semantic/symref.el (semantic-symref-calculate-rootdir):
New function.
(semantic-symref-detect-symref-tool): Use it.

* semantic/symref/grep.el (semantic-symref-grep-shell): New var.
(semantic-symref-perform-search): Use it.  Calculate root dir with
semantic-symref-calculate-rootdir.
(semantic-symref-derive-find-filepatterns): Improve error message.

* semantic/symref/list.el
(semantic-symref-results-mode-map): New bindings.
(semantic-symref-auto-expand-results): New option.
(semantic-symref-results-dump): Obey auto-expand.
(semantic-symref-list-expand-all, semantic-symref-regexp)
(semantic-symref-list-contract-all)
(semantic-symref-list-map-open-hits)
(semantic-symref-list-update-open-hits)
(semantic-symref-list-create-macro-on-open-hit)
(semantic-symref-list-call-macro-on-open-hits): New functions.
(semantic-symref-list-menu-entries)
(semantic-symref-list-menu): New vars.
(semantic-symref-list-map-open-hits): Move cursor to beginning of
match before calling the mapped function.

* semantic/doc.el
(semantic-documentation-comment-preceeding-tag): Do nothing if the
mode doesn't provide comment-start-skip.

* semantic/scope.el
(semantic-analyze-scope-nested-tags-default): Strip duplicates.
(semantic-analyze-scoped-inherited-tag-map): Take the tag we are
looking for as part of the scoped tags list.

* semantic/html.el (semantic-default-html-setup): Add
senator-step-at-tag-classes.

* semantic/decorate/include.el
(semantic-decoration-on-unknown-includes): Change light bgcolor.
(semantic-decoration-on-includes-highlight-default): Check that
the include tag has a postion.

* semantic/complete.el (semantic-collector-local-members):
(semantic-complete-read-tag-local-members)
(semantic-complete-jump-local-members): New class and functions.
(semantic-complete-self-insert): Save excursion before completing.

* semantic/analyze/complete.el
(semantic-analyze-possible-completions-default): If no completions
are found, return the raw by-name-only completion list.  Add FLAGS
arguments.  Add support for 'no-tc (type constraint) and
'no-unique, or no stripping duplicates.
(semantic-analyze-possible-completions-default): Add FLAGS arg.

* semantic/util-modes.el
(semantic-stickyfunc-show-only-functions-p): New option.
(semantic-stickyfunc-fetch-stickyline): Don't show stickytext for
the very first line in a buffer.

* semantic/util.el (semantic-hack-search)
(semantic-recursive-find-nonterminal-by-name)
(semantic-current-tag-interactive): Deleted.
(semantic-describe-buffer): Fix expand-nonterminal.  Add
lex-syntax-mods, type relation separator char, and command
separation char.
(semantic-sanity-check): Only message if called interactively.

* semantic/tag.el (semantic-tag-deep-copy-one-tag): Copy the
:filename property and the tag position.

* semantic/lex-spp.el (semantic-lex-spp-lex-text-string):
Add recursion limit.

* semantic/imenu.el (semantic-imenu-bucketize-type-members):
Make this buffer local, not the obsoleted variable.

* semantic/idle.el: Add breadcrumbs support.
(semantic-idle-summary-current-symbol-info-default)
(semantic-idle-tag-highlight)
(semantic-idle-completion-list-default): Use
semanticdb-without-unloaded-file-searches for speed, and to
conform to the controls that specify if the idle timer is supposed
to be parsing unparsed includes.
(semantic-idle-symbol-highlight-face)
(semantic-idle-symbol-maybe-highlight): Rename from *-summary-*.
Callers changed.
(semantic-idle-work-parse-neighboring-files-flag): Default to nil.
(semantic-idle-work-update-headers-flag): New var.
(semantic-idle-work-for-one-buffer): Use it.
(semantic-idle-local-symbol-highlight): Rename from
semantic-idle-tag-highlight.
(semantic-idle-truncate-long-summaries): New option.

* semantic/ia.el (semantic-ia-cache)
(semantic-ia-get-completions): Deleted.  Callers changed.
(semantic-ia-show-variants): New command.
(semantic-ia-show-doc): If doc is empty, don't make a temp buffer.
(semantic-ia-show-summary): If there isn't anything to show, say so.

* semantic/grammar.el (semantic-grammar-create-package):
Save the buffer even in batch mode.

* semantic/fw.el
(semanticdb-without-unloaded-file-searches): New macro.

* semantic/dep.el (semantic-dependency-find-file-on-path):
Fix case dereferencing ede-object when it is a list.

* semantic/db-typecache.el (semanticdb-expand-nested-tag)
(semanticdb-typecache-faux-namespace): New functions.
(semanticdb-typecache-file-tags)
(semanticdb-typecache-merge-streams): Use them.
(semanticdb-typecache-file-tags): When deriving tags from a file,
give the mode a chance to monkey with the tag copy.
(semanticdb-typecache-find-default): Wrap find in save-excursion.
(semanticdb-typecache-find-by-name-helper): Merge found names down.

* semantic/db-global.el
(semanticdb-enable-gnu-global-in-buffer): Don't show messages if
GNU Global is not available and we don't want to throw an error.

* semantic/db-find.el (semanticdb-find-result-nth-in-buffer):
When trying to normalize the tag to a buffer, don't error if
set-buffer method doesn't exist.

* semantic/db-file.el (semanticdb-save-db): Simplify msg.

* semantic/db.el (semanticdb-refresh-table): If forcing a
refresh on a file not in a buffer, use semantic-find-file-noselect
and delete the buffer after use.
(semanticdb-current-database-list): When calculating root via
hooks, force it through true-filename and skip the list of
possible roots.

* semantic/ctxt.el (semantic-ctxt-imported-packages): New.

* semantic/analyze/debug.el
(semantic-analyzer-debug-insert-tag): Reset standard output to
current buffer.
(semantic-analyzer-debug-global-symbol)
(semantic-analyzer-debug-missing-innertype): Change "prefix" to
"symbol" in messages.

* semantic/analyze/refs.el: (semantic-analyze-refs-impl)
(semantic-analyze-refs-proto): When calculating value, make sure
the found tag is 'similar' to the originating tag.
(semantic--analyze-refs-find-tags-with-parent): Attempt to
identify matches via imported symbols of parents.
(semantic--analyze-refs-full-lookup-with-parents): Do a deep
search during the brute search.

* semantic/analyze.el
(semantic-analyze-find-tag-sequence-default): Be robust to
calculated scopes being nil.

* semantic/bovine/c.el (semantic-c-describe-environment): Add
project macro symbol array.
(semantic-c-parse-lexical-token): Add recursion limit.
(semantic-ctxt-imported-packages, semanticdb-expand-nested-tag):
New overrides.
(semantic-expand-c-tag-namelist): Split a full type from a typedef
out to its own tag.
(semantic-expand-c-tag-namelist): Do not split out a typedef'd
inline type if it is an anonymous type.
(semantic-c-reconstitute-token): Use the optional initializers as
a clue that some function is probably a constructor.  When
defining the type of these constructors, split the parent name,
and use only the class part, if applicable.

* semantic/bovine/c-by.el:
* semantic/wisent/python-wy.el: Regenerate.
2010-09-18 22:49:54 -04:00
Chong Yidong
ff90f4b003 Minor tweaks to custom groups.
* cus-edit.el (hardware): Doc fix.

* man.el (man): Add to external custom group.

* delim-col.el (columns): Move to wp custom group.

* doc-view.el (doc-view): Add to data custom group.

* cedet/data-debug.el (data-debug): Move to extensions group.

* cedet/ede.el (ede):
* cedet/srecode.el (srecode):
* cedet/semantic.el (semantic): Put in tools and extensions group.

* nxml/nxml-mode.el (nxml-faces): Remove from font-lock-faces group.
2010-02-16 09:35:45 -05:00
Juanma Barranquero
db9e401b3b Fix typos in docstrings, error messages, etc. 2010-01-18 05:39:40 +01:00
Juanma Barranquero
4963739e1d Fix typos in docstrings. 2010-01-17 03:25:53 +01:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Chong Yidong
52bee098ba Add Semantic parsers for Python.
* cedet/semantic.el (semantic-new-buffer-setup-functions): Add python parser.
* cedet/semantic/wisent/python-wy.el, cedet/semantic/wisent/python.el: New files.
2010-01-09 19:38:07 -05:00
Chong Yidong
bd7705929b Add commentary about how to use Semantic. 2009-12-13 01:55:09 +00:00
Chong Yidong
725bff063e * cedet/cedet.el (cedet-menu-map): Re-order menu items.
* cedet/semantic.el: Enable idle-mode menu items only if
global-semantic-idle-scheduler-mode is enabled.
(semantic-default-submodes): Doc fix.

* cedet/semantic/idle.el (global-semantic-idle-scheduler-mode):
When turning off, disable other idle modes.
2009-11-20 01:35:49 +00:00
Chong Yidong
ebf5c4f526 * menu-bar.el (menu-bar-tools-menu): Add Semantic and EDE menu
items.

* cedet/cedet.el (cedet-menu-map): Remove Semantic and EDE menu
items.

* cedet/ede.el (ede-minor-mode):
* cedet/semantic.el (semantic-mode): Toggle menu separators.
2009-10-31 18:03:02 +00:00
Stefan Monnier
eefa91dbc0 * cedet/semantic/fw.el (semantic-alias-obsolete)
(semantic-varalias-obsolete): Make the `when' arg mandatory.
(define-mode-overload-implementation):
* cedet/semantic/decorate/mode.el (semantic-decorate-pending-decoration-hooks):
* cedet/semantic/wisent.el (wisent-lex-make-token-table):
* cedet/semantic/util.el (semantic-file-token-stream)
(semantic-something-to-stream):
* cedet/semantic/tag.el (semantic-tag-make-assoc-list)
(semantic-expand-nonterminal):
* cedet/semantic/tag-file.el (semantic-find-nonterminal)
(semantic-find-dependency, semantic-find-nonterminal)
(semantic-find-dependency):
* cedet/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):
* cedet/semantic/java.el (semantic-java-prototype-nonterminal):
* cedet/semantic/idle.el (semantic-before-idle-scheduler-reparse-hooks)
(semantic-after-idle-scheduler-reparse-hooks):
* cedet/semantic/edit.el (semantic-edits-incremental-reparse-failed-hooks):
* cedet/semantic/db-mode.el (semanticdb-mode-hooks):
* cedet/semantic.el (semantic-toplevel-bovine-table)
(semantic-toplevel-bovine-cache)
(semantic-before-toplevel-bovination-hook, semantic-init-hooks)
(semantic-init-mode-hooks, semantic-init-db-hooks)
(semantic-bovination-working-type): Provide the `when' arg.
2009-10-25 02:55:27 +00:00
Chong Yidong
d436f538ab * cedet/semantic.el (semantic-mode): Parse all existing buffers when
enabled.
2009-10-04 19:25:26 +00:00
Chong Yidong
82481502da * cedet/semantic.el (semantic-new-buffer-setup-functions): New
option.
(semantic-new-buffer-fcn): Call parser setup functions here.
(semantic-mode): Don't call parser setup functions here, it's done
in semantic-new-buffer-fcn now.

* cedet/srecode/compile.el (srecode-compile-file): Call
semantic-new-buffer-fcn if the buffer has not been parsed.
2009-10-04 19:22:09 +00:00
Chong Yidong
0b8cafba2c * cedet/semantic.el (semantic-mode): Use js-mode-hook for Javascript hook. 2009-10-03 20:30:43 +00:00
Chong Yidong
e6e267fcba * cedet/srecode/srt-mode.el (srecode-template-mode): Doc fix.
* files.el (auto-mode-alist): Add .srt and Project.ede.

* cedet/semantic.el (semantic-mode): Handle
srecode-template-mode-hook as well.

* cedet/srecode/template.el: Remove hook variable.

* cedet/ede/proj-comp.el: Require ede/pmake when compiling.

* cedet/ede.el (ede-target-forms-menu): Don't enable if no
projects exist.

* cedet/srecode/map.el (srecode-map-base-template-dir): Look for
templates in data-directory.

* cedet/ede/srecode.el (ede-srecode-setup): Use default templates
directory.

* cedet/semantic/util-modes.el (semantic-highlight-func-mode): Doc
fix.

* cedet/ede/proj-comp.el (ede-proj-makefile-insert-variables):
Only insert each variable once.

* cedet/ede/pmake.el (ede-pmake-insert-variable-once): New macro.
(ede-pmake-insert-variable-shared): Use it.

* cedet/ede/cpp-root.el (ede-preprocessor-map): Do not deref table
for lexical table iff table is nil.
2009-10-03 19:28:05 +00:00
Miles Bader
3999968a73 Add arch tagline 2009-10-02 10:53:34 +00:00
Glenn Morris
bd2afec2e6 Doc/message fixes. 2009-10-01 02:39:07 +00:00
Chong Yidong
b90caf50d0 CEDET (development tools) package merged.
* cedet/*.el:
* cedet/ede/*.el:
* cedet/semantic/*.el:
* cedet/srecode/*.el: New files.
2009-09-28 15:15:00 +00:00
Chong Yidong
a2095e2edb * cedet/ede/system.el (ede-upload-html-documentation)
(ede-upload-distribution, ede-edit-web-page)
(ede-web-browse-home): Autoload.

* cedet/ede/proj-elisp.el: Add autoload for
semantic-ede-proj-target-grammar.

* cedet/semantic.el (navigate-menu): Show menu items only if
semantic-mode is enabled.

* cedet/ede.el: Remove comments.

* cedet/cedet.el (cedet-menu-map): Minor doc fix.

* cedet/semantic/grammar.el:
* cedet/semantic/grammar-wy.el:
* cedet/semantic/ede-grammar.el: New files.

* cedet/semantic/db-mode.el (global-semanticdb-minor-mode): Define
using define-minor-mode, so that the usual mode variable exists.
2009-09-27 21:35:46 +00:00
Chong Yidong
715f35a55d * cedet/ede.el (global-ede-mode-map): Move menu to
global-ede-mode-map.
(ede-minor-mode, global-ede-mode): Use define-minor-mode.

* cedet/semantic.el (semantic-mode-map): Use cedet-menu-map.

* cedet/cedet.el (cedet-menu-map): New var.  Don't require
Semantic etc.
2009-09-27 17:50:53 +00:00
Chong Yidong
8bf997efee * cedet/semantic/idle.el (semantic-idle-scheduler-work-timer):
Change timeout to 1.  Doc fix.

* cedet/semantic/edit.el (semantic-change-hooks): Add
semantic-edits-change-function-handle-changes directly.

* cedet/semantic/util.el (semantic--completion-cache): Move to
semantic.el.
(semantic-symbol-start): Remove unneeded function.

* cedet/semantic.el (semantic--completion-cache): Move here from
semantic/util.el
(semantic-clear-toplevel-cache, semantic--set-buffer-cache)
(semantic-fetch-tags): Reset semantic--completion-cache.
(semantic-force-refresh): New function
(semantic-mode-map): New variable.

* cedet/semantic/senator.el: New file.

* cedet/ede.el: Fix autoload.
(ede-customize-forms-menu): Handle null projects.
2009-09-27 03:36:58 +00:00
Chong Yidong
1ac9ebc859 Fix last change to use semantic-varalias-obsolete. 2009-09-26 18:03:54 +00:00
Chong Yidong
17e1f4bc65 * cedet/semantic.el (semantic-parser-working-message): Use a less
technical parsing message.
(semantic-mode): Require semantic/db-ebrowse if we need to.

* cedet/semantic/util-modes.el (semantic-highlight-func-mode): Doc fix.
2009-09-21 19:05:56 +00:00
Chong Yidong
af7b5a91b2 * cedet/semantic.el: Add autoloads for semantic/idle functions.
* cedet/semantic/util.el (semantic--completion-cache): New var.
(semantic-symbol-start, semantic-find-tag-for-completion)
(semantic-complete-symbol): New functions, adapted from Senator.

* bindings.el (complete-symbol): Try semantic-complete-symbol if
no tag table is active.

* cedet/semantic/idle.el (define-semantic-idle-service): Doc fix.
2009-09-21 15:59:48 +00:00
Chong Yidong
b82525f29a * menu-bar.el: Remove ediff-misc from Tools menu.
* cedet/semantic.el (semantic-init-hook)
(semantic-init-mode-hook, semantic-init-db-hook): Rename
from *-hooks, to follow hook naming conventions.
(semantic-submode-list, semantic-default-submodes): New vars.
(semantic-mode): New mode.
(semantic-parser-working-message): Add ellipses to parse message.

* cedet/semantic/bovine/c.el:
* cedet/semantic/bovine/make.el:
* cedet/semantic/bovine/scm.el:
* cedet/semantic/wisent/java-tags.el:
* cedet/semantic/wisent/javascript.el: Don't set hooks directly.
This is now done in semantic-mode.

* cedet/semantic/decorate/mode.el (global-semantic-decoration-mode):
Autoload.

* cedet/srecode/compile.el:
* cedet/srecode/insert.el:
* cedet/srecode/mode.el: Fix require statements.
2009-09-21 02:14:58 +00:00
Chong Yidong
00999a2ef0 * files.el (auto-mode-alist): Use emacs-lisp-mode for Project.ede.
* cedet/semantic/bovine/gcc.el (semantic-gcc-test-output-parser)
(semantic-gcc-test-output-parser-this-machine):
* cedet/semantic/symref/filter.el (semantic-symref-test-count-hits-in-tag):
* cedet/semantic/db-global.el (semanticdb-test-gnu-global):
* cedet/semantic/tag-write.el (semantic-tag-write-test)
(semantic-tag-write-list-test):
* cedet/semantic/lex-spp.el (semantic-lex-spp-write-test)
(semantic-lex-spp-write-utest):
* cedet/semantic/lex.el (semantic-lex-test-region)
(semantic-lex-test-full-depth):
* cedet/semantic/idle.el (semantic-idle-pnf-test):
* cedet/semantic/fw.el (semantic-test-data-cache)
(semantic-test-throw-on-input):
* cedet/semantic/format.el (semantic-test-all-format-tag-functions):
* cedet/semantic/complete.el (semantic-complete-test):
* cedet/semantic/db-ebrowse.el (semanticdb-ebrowse-run-tests)
(semanticdb-ebrowse-dump): Test functions moved to
semantic-tests.el in the test/ directory.

* cedet/semantic/db-ref.el (semanticdb-ref-test): Doc fix.
2009-09-20 03:44:02 +00:00
Chong Yidong
59aec83e8f lisp/cedet/semantic.el (semantic-fetch-tags): Check if progress
reporter is in use before calling it.
2009-09-07 01:31:06 +00:00
Chong Yidong
a60f2e7b9c Minor whitespace changes and `require' fixes. 2009-09-06 21:22:05 +00:00
Chong Yidong
0651129121 lisp/cedet/semantic.el (semantic--set-buffer-cache): Ensure that
semantic-bovinate-nonterminal-check-obarray is buffer-local.
2009-09-05 20:32:50 +00:00
Chong Yidong
aa8724aead cedet/cedet.el (cedet-packages): Bump srecode version.
cedet/data-debug.el: Require `ring' for use of ring-length.

cedet/semantic.el (semantic-repeat-parse-whole-stream): Check
semantic-working-type before updating progress reporter.

cedet/semantic/adebug.el: Fix file header.

cedet/semantic/analyze.el: eval-when-compile semantic/find, for
semantic-find-tags-by-name.  Declare semanticdb-strip-find-results and
semanticdb-find-tags-by-name.

cedet/semantic/chart.el: Require semantic/find, semantic/db-mode,
semantic/db-typecache, and semantic/scope.

cedet/semantic/complete.el: Declare
semantic-displayor-focus-abstract-child-p function (needed as the
semantic-displayor-focus-abstract class is defined only after used).
Move semantic-complete-inline-custom-type and
semantic-complete-inline-analyzer-displayor-class variable definitions
up, before they are used, to avoid compiler warning.
Require semantic/decorate, semantic/tag-file, eieio-opt, and
semantic/analyze/complete.

cedet/semantic/ctxt.el: Require semantic/find.  Don't
eval-when-compile semantic/db
(semantic-get-local-variables): Use Emacs' built-in progress reporter
instead of working-status-forms.

cedet/semantic/db-debug.el: Require data-debug, semantic/db-mode, and
semantic/format.

cedet/semantic/db-ebrowse.el: Require semantic/db-mode, semantic/find,
semantic/sort, data-debug
(semanticdb-create-database): Require semantic/dep for
semantic-add-system-include.
(semanticdb-table-ebrowse, semanticdb-project-database-ebrowse): Move
class definitions near top of file, before they are used, to avoid
compiler warnings.
(semanticdb-ebrowse-add-tree-to-table): Use split-string.
2009-08-30 21:16:39 +00:00
Chong Yidong
9d3898247a cedet/semantic.el: Change requires to use semantic/FOO format.
cedet/semantic/fw.el: New file.
cedet/semantic/tag.el: New file.
2009-08-28 15:01:48 +00:00
Chong Yidong
d3d82e7b41 semantic.el, semantic-tag.el, semantic-lex.el, semantic-fw.el: Initial
version.
2009-08-23 03:46:01 +00:00