summaryrefslogtreecommitdiff
path: root/lisp/cedet/semantic/db-mode.el
Commit message (Collapse)AuthorAgeFilesLines
* Remove `semanticdb-save-all-db-idle' from `auto-save-hook'David Engster2016-02-211-1/+0
| | | | | | | | * lisp/cedet/semantic/db-mode.el (semanticdb-hooks): Do not put `semanticdb-save-all-db-idle' into `auto-save-hook'. The latter is not an idle hook, so it's not appropriate to call it there. It will already be called in the `semantic-idle-work-core-handler', which runs when Emacs is actually idle.
* Update copyright year to 2016Paul Eggert2016-01-011-1/+1
| | | | Run admin/update-copyright.
* Update copyright year to 2015Paul Eggert2015-01-011-1/+1
| | | | Run admin/update-copyright.
* Update copyright year to 2014 by running admin/update-copyright.Paul Eggert2014-01-011-1/+1
|
* Merge with CEDET upstream.David Engster2013-12-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/grammars/c.by (expr-binop): Add MOD. (variablearg): Add 'opt-assign'. (variablearg, varnamelist): Add default values so that it can be later expanded into the tag. (opt-stuff-after-symbol): Rename to 'brackets-after-symbol' and remove empty match. (multi-stage-dereference): Adapt to above rename. (unaryexpression): Use 'symbol' instead of 'namespace-symbol', since the latter also leads to an empty match at the end which would make this too greedy. (variablearg-opt-name): Support parsing of function pointers inside an argument list. * semantic/analyze.el (semantic-analyze-find-tag-sequence-default): Always add scope to the local miniscope for each type. Otherwise, structure tags are not analyzed correctly. Also, always search the extended miniscope even when not dealing with types. * semantic/ctxt.el (semantic-get-local-variables-default): Also try to parse local variables for buffers which are currently marked as unparseable. Otherwise, it is often impossible to complete local variables. * semantic/scope.el (semantic-analyze-scoped-types-default): If we cannot find a type in the typecache, also look into the the types we already found. This is necessary since in C++, a 'using namespace' can be dependend on a previous one. (semantic-completable-tags-from-type): When creating the list of completable types, pull in types which are referenced through 'using' statements, and also preserve their filenames. * semanitc/bovine/c.el (semantic/analyze/refs): Require. (semantic-analyze-tag-references): New override. Mainly copied from the default implementation, but if nothing could be found (or just the tag itself), drop all namespaces from the scope and search again. This is necessary for implementations which are defined outside of the namespace and only pull those in through 'using' statements. (semantic-ctxt-scoped-types): Go through all tags around point and search them for using statements. In the case for using statements outside of function scope, append them in the correct order instead of using 'cons'. This is important since using statements may depend on previous ones. (semantic-expand-c-tag-namelist): Do not try to parse struct definitions as default values. The grammar parser seems to return the point positions slightly differently (as a cons instead of a list). Also, set parent for typedefs to 'nil'. It does not really make sense to set a parent class for typedefs, and it can also lead to endless loops when calculating scope. (semantic-c-reconstitute-token): Change handling of function pointers; instead of seeing them as variables, handle them as functions with a 'function-pointer' attribute. Also, correctly deal with function pointers as function arguments. (semantic-c-reconstitute-function-arglist): New function to parse function pointers inside an argument list. (semantic-format-tag-name): Use 'function-pointer' attribute instead of the old 'functionpointer-flag'. (semantic-cpp-lexer): Use new `semantic-lex-spp-paren-or-list'. * semantic/bovine/gcc.el (semantic-gcc-setup): Add 'features.h' to the list of files whose preprocessor symbols are included. This pulls in things like __USE_POSIX and similar. * semantic/format.el (semantic-format-tag-prototype-default): Display default values if available. * semantic/analyze/refs.el (semantic-analyze-refs-impl) (semantic-analyze-refs-proto): Add 'default-value' as ignorable in call to `semantic-tag-similar-p'. * semantic/db-mode.el (semanticdb-semantic-init-hook-fcn): Always set buffer for `semanticdb-current-table'. * semantic/db.el (semanticdb-table::semanticdb-refresh-table): The previous change turned up a bug in this method. Since the current table now correctly has a buffer set, the first clause in the `cond' would be taken, but there was a `save-excursion' missing. * semantic/lex-spp.el (semantic-c-end-of-macro): Declare. (semantic-lex-spp-token-macro-to-macro-stream): Deal with macros which open/close a scope. For this, leave an overlay if we encounter a single open paren and return a semantic-list in the lexer. When this list gets expanded, retrieve the old position from the overlay. See the comments in the function for further details. (semantic-lex-spp-find-closing-macro): New function to find the next macro which closes scope (i.e., has a closing paren). (semantic-lex-spp-replace-or-symbol-or-keyword): Go to end of closing macro if necessary. (semantic-lex-spp-paren-or-list): New lexer to specially deal with parens in macro definitions. * semantic/decorate/mode.el (semantic-decoration-mode): Do not decorate available tags immediately but in an idle timer, since EDE will usually not be activated yet, which will make it impossible to find project includes. * semantic/decorate/include.el (semantic-decoration-on-includes-highlight-default): Remove 'unloaded' from throttle when decorating includes, otherwise all would be loaded. Rename 'table' to 'currenttable' to make things clearer. * ede/linux.el (cl): Require during compile. * ede/linux.el (project-linux-build-directory-default) (project-linux-architecture-default): Add customizable variables. (ede-linux-project): Add additional slots to track Linux-specific information (out-of-tree build directory and selected architecture). (ede-linux--get-build-directory, ede-linux--get-archs) (ede-linux--detect-architecture, ede-linux--get-architecture) (ede-linux--include-path): Added function to detect Linux-specific information. (ede-linux-load): Set new Linux-specific information when creating a project. (ede-expand-filename-impl): Use new and more accurate include information. * semantic/scope.el (semantic-calculate-scope): Return a clone of the scopecache, so that everyone is working with its own (shallow) copy. Otherwise, if one caller is resetting the scope, it would be reset for all others working with the scope cache as well.
* * lisp/cedet/semantic/db-mode.el (global-semanticdb-minor-mode): Remove hooksJohan Bockgård2013-10-201-2/+2
| | | | | correctly. (semanticdb-toggle-global-mode): Pass `toggle' to minor mode function.
* Update copyright notices for 2013.Paul Eggert2013-01-011-1/+1
|
* Add 2012 to FSF copyright years for Emacs filesGlenn Morris2012-01-051-1/+1
|
* Convert consecutive FSF copyright years to ranges.Glenn Morris2011-01-241-1/+1
|
* Nuke arch-tags.Glenn Morris2011-01-151-1/+0
|
* Add 2011 to FSF/AIST copyright years.Glenn Morris2011-01-021-1/+1
|
* Add 2010 to copyright years.Glenn Morris2010-01-131-1/+1
|
* * emacs-lisp/autoload.el (generated-autoload-feature): Remove.Stefan Monnier2009-11-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (autoload-rubric): Don't use any more. * cedet/semantic/fw.el (semantic/loaddefs): * cedet/srecode.el (srecode/loaddefs): * cedet/ede.el (ede/loaddefs): Load rather than require. * lisp/cedet/ede/cpp-root.el: * lisp/cedet/ede/emacs.el: * lisp/cedet/ede/files.el: * lisp/cedet/ede/linux.el: * lisp/cedet/ede/locate.el: * lisp/cedet/ede/make.el: * lisp/cedet/ede/shell.el: * lisp/cedet/ede/speedbar.el: * lisp/cedet/ede/system.el: * lisp/cedet/ede/util.el: * lisp/cedet/semantic/analyze.el: * lisp/cedet/semantic/bovine.el: * lisp/cedet/semantic/complete.el: * lisp/cedet/semantic/ctxt.el: * lisp/cedet/semantic/db-file.el: * lisp/cedet/semantic/db-find.el: * lisp/cedet/semantic/db-global.el: * lisp/cedet/semantic/db-mode.el: * lisp/cedet/semantic/db-typecache.el: * lisp/cedet/semantic/db.el: * lisp/cedet/semantic/debug.el: * lisp/cedet/semantic/dep.el: * lisp/cedet/semantic/doc.el: * lisp/cedet/semantic/edit.el: * lisp/cedet/semantic/find.el: * lisp/cedet/semantic/format.el: * lisp/cedet/semantic/html.el: * lisp/cedet/semantic/ia-sb.el: * lisp/cedet/semantic/ia.el: * lisp/cedet/semantic/idle.el: * lisp/cedet/semantic/lex-spp.el: * lisp/cedet/semantic/lex.el: * lisp/cedet/semantic/mru-bookmark.el: * lisp/cedet/semantic/scope.el: * lisp/cedet/semantic/senator.el: * lisp/cedet/semantic/sort.el: * lisp/cedet/semantic/symref.el: * lisp/cedet/semantic/tag-file.el: * lisp/cedet/semantic/tag-ls.el: * lisp/cedet/semantic/tag-write.el: * lisp/cedet/semantic/tag.el: * lisp/cedet/semantic/util-modes.el: * lisp/cedet/semantic/analyze/complete.el: * lisp/cedet/semantic/analyze/refs.el: * lisp/cedet/semantic/bovine/c.el: * lisp/cedet/semantic/bovine/gcc.el: * lisp/cedet/semantic/bovine/make.el: * lisp/cedet/semantic/bovine/scm.el: * lisp/cedet/semantic/decorate/include.el: * lisp/cedet/semantic/decorate/mode.el: * lisp/cedet/semantic/symref/cscope.el: * lisp/cedet/semantic/symref/global.el: * lisp/cedet/semantic/symref/grep.el: * lisp/cedet/semantic/symref/idutils.el: * lisp/cedet/semantic/symref/list.el: * lisp/cedet/semantic/wisent/java-tags.el: * lisp/cedet/semantic/wisent/javascript.el: * lisp/cedet/srecode/compile.el: * lisp/cedet/srecode/cpp.el: * lisp/cedet/srecode/document.el: * lisp/cedet/srecode/el.el: * lisp/cedet/srecode/expandproto.el: * lisp/cedet/srecode/getset.el: * lisp/cedet/srecode/insert.el: * lisp/cedet/srecode/java.el: * lisp/cedet/srecode/map.el: * lisp/cedet/srecode/mode.el: * lisp/cedet/srecode/template.el: * lisp/cedet/srecode/texi.el: Remove the file-local setting of generated-autoload-feature.
* * cedet/semantic/fw.el (semantic-alias-obsolete)Stefan Monnier2009-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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.
* Add arch taglineMiles Bader2009-10-021-0/+1
|
* CEDET (development tools) package merged.Chong Yidong2009-09-281-9/+1
| | | | | | | * cedet/*.el: * cedet/ede/*.el: * cedet/semantic/*.el: * cedet/srecode/*.el: New files.
* * cedet/ede/system.el (ede-upload-html-documentation)Chong Yidong2009-09-271-46/+21
| | | | | | | | | | | | | | | | | | | | | | (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.
* Fix last change to use semantic-varalias-obsolete.Chong Yidong2009-09-261-4/+3
|
* * cedet/semantic/lex.el (semantic-lex-reset-hooks): Doc fix.Chong Yidong2009-09-261-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cedet/semantic/idle.el (semantic-before-idle-scheduler-reparse-hook) (semantic-after-idle-scheduler-reparse-hook): Rename from *-hooks. Make old name an obsolete alias. * cedet/semantic/edit.el (semantic-after-partial-cache-change-hook) (semantic-change-hooks, semantic-edits-new-change-hooks) (semantic-edits-delete-change-hooks) (semantic-edits-move-change-hook) (semantic-edits-reparse-change-hooks) (semantic-edits-incremental-reparse-failed-hooks): Doc fixes. * cedet/semantic/debug.el (semantic-debug-mode): Rename hook symbols. * cedet/semantic/db-mode.el (semanticdb-mode-hook): Rename from semanticdb-mode-hooks. (global-semanticdb-minor-mode): Use the new name. (semanticdb-hooks): Use semantic-init-db-hook instead of obsolete alias semantic-init-db-hooks. * cedet/semantic/db-global.el (semanticdb-enable-gnu-global-databases): Use semantic-init-hook instead of obsolete alias semantic-init-hooks. * cedet/semantic/db-file.el (semanticdb-save-database-hook): Rename from semanticdb-save-database-hooks. Make old name an obsolete alias. * cedet/semantic/decorate/mode.el (semantic-decorate-pending-decoration-hook): Rename from semantic-decorate-pending-decoration-hooks. Make old name an obsolete alias. * cedet/srecode/map.el (srecode-map-validate-file-for-mode): Use semantic-init-hook instead of obsolete alias semantic-init-hooks. * cedet/semantic/fw.el (semantic-find-file-noselect): Use semantic-init-hook instead of obsolete alias semantic-init-hooks. * cedet/ede/project-am.el (project-am-with-makefile-current): Use semantic-init-hook instead of obsolete alias semantic-init-hooks. * cedet/semantic/util.el (semantic-describe-buffer): Use semantic-init-hook and semantic-init-db-hook instead of obsolete aliases. * cedet/semantic/util-modes.el (semantic-mode-line-update) (semantic-toggle-minor-mode-globally): Use semantic-init-hook instead of obsolete alias semantic-init-hooks. Synch to Eric M. Ludlam's upstream CEDET repository: * cedet/semantic/bovine/c.el (semantic-c-parse-token-hack-depth): New var. (semantic-c-parse-lexical-token): Save match data when setting up the secondary parse buffer. Allow recursion. Protect against initializing the major mode from throwing errors, ie user hooks. * cedet/semantic/lex-spp.el (semantic-lex-spp-lex-text-string): Protect installing a major mode from throwing errors.
* lisp/cedet/semantic/db-mode.el (global-semanticdb-minor-mode): Autoload.Chong Yidong2009-09-071-0/+1
|
* * emacs-lisp/autoload.el (generated-autoload-load-name): New var.Chong Yidong2009-09-051-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (autoload-generate-file-autoloads): Use it. (make-autoload): Handle define-overloadable-function. * emacs-lisp/lisp-mode.el (define-overloadable-function): Add doc-string-elt property for define-overloadable-function. lisp/cedet/semantic/analyze.el: Add generated-autoload-load-name var. lisp/cedet/semantic/ctxt.el: Add generated-autoload-load-name var. lisp/cedet/semantic/db.el: Add generated-autoload-load-name var. lisp/cedet/semantic/db-file.el: Add generated-autoload-load-name var. lisp/cedet/semantic/db-mode.el: Add generated-autoload-load-name var. lisp/cedet/semantic/db-typecache.el: Add generated-autoload-load-name var. lisp/cedet/semantic/doc.el: Add generated-autoload-load-name var. lisp/cedet/semantic/find.el: Add generated-autoload-load-name var. lisp/cedet/semantic/format.el: Add generated-autoload-load-name var. lisp/cedet/semantic/lex.el: Add generated-autoload-load-name var. lisp/cedet/semantic/sb.el: Require semantic/format. lisp/cedet/semantic/sort.el: Add generated-autoload-load-name var. lisp/cedet/semantic/tag.el: Add generated-autoload-load-name var. lisp/cedet/semantic/tag-file.el: Add generated-autoload-load-name var. lisp/cedet/semantic/tag-ls.el: Add generated-autoload-load-name var.
* cedet/semantic/db-debug.el: Don't require semantic/db-mode, sinceChong Yidong2009-08-311-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | semanticdb-current-database and semanticdb-current-table are now in semantic/db.el. cedet/semantic/db-ebrowse.el: Don't require semantic/db-mode, since semanticdb-current-database and semanticdb-current-table are now in semantic/db.el. cedet/semantic/db-el.el: Require semantic/lex-spp. Require semantic/db instead of semantic/db-search. cedet/semantic/db-file.el: Declare inversion-test and data-debug-insert-thing. (semanticdb-load-database): Load inversion only if necessary. cedet/semantic/db-find.el: Autoload semanticdb-find-default-throttle. Defvar data-debug-thing-alist, and ede-current-project. Declare data-debug-insert-stuff-list, data-debug-insert-tag-list, semantic-scope-reset-cache, and semanticdb-typecache-notify-reset. Require semantic/tag-file, and semantic/sort. (semantic-reset): Require semantic/scope. (semanticdb-partial-synchronize): Require semantic/db-typecache. (semanticdb-find-table-for-include) Move up to avoid compiler warning. cedet/semantic/db-global.el: Declare data-debug-new-buffer and data-debug-insert-thing. (semanticdb-project-database-global) Move up to avoid compiler warning. cedet/semantic/db-javascript.el: Fix provide statement. Require semantic/db-find instead of semantic/db-search. cedet/semantic/db-mode.el: Declare semantic-lex-spp-set-dynamic-table. (semanticdb-current-database, semanticdb-current-table): Move into semantic/db.el cedet/semantic/db-ref.el: Require eieio, semantic/db, and semantic/util. Declare data-debug-new-buffer and data-debug-insert-object-slots. Defvar semantic-case-fold. Require semantic/find when compiling. cedet/semantic/db-typecache.el: Require semantic/tag-ls, semantic/analyze/fcn, and semantic/scope. Declare data-debug-insert-thing and data-debug-new-buffer. cedet/semantic/db.el (semanticdb-search-results-table): Move class definition here from semantic/db-search.el. (semanticdb-current-database, semanticdb-current-table) Move variable definitions here from semantic/db-mode.el.
* cedet/semantic/db-mode.el: New file.Chong Yidong2009-08-301-0/+239