diff options
author | Eric M. Ludlam <zappo@gnu.org> | 2010-09-21 18:11:23 -0400 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2010-09-21 18:11:23 -0400 |
commit | b9749554532876da8bc15e10bc3fb8bd8c0f32ea (patch) | |
tree | 0d00b9800e8eb95e8466ab322fde1879e378fddb /lisp/cedet/srecode/table.el | |
parent | fbb3da770f233a8e0cf99d5f053b0c31cbbc8db4 (diff) | |
download | emacs-b9749554532876da8bc15e10bc3fb8bd8c0f32ea.tar.gz |
Synch SRecode to CEDET 1.0.
* lisp/cedet/cedet.el (cedet-version):
* lisp/cedet/srecode.el (srecode-version): Bump version to 1.0.
* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): If pulse-flag is
'never, disable all pulsing.
* lisp/cedet/srecode/compile.el (srecode-compile-templates): Fix directory
compare of built-in templates. Give built-ins lower piority.
Support special variable "project".
(srecode-compile-template-table): Set :project slot of new tables.
(srecode-compile-one-template-tag): Use
srecode-create-dictionaries-from-tags.
* lisp/cedet/srecode/cpp.el (srecode-cpp): New defgroup.
(srecode-cpp-namespaces): New option.
(srecode-semantic-handle-:using-namespaces)
(srecode-cpp-apply-templates): New functions.
(srecode-semantic-apply-tag-to-dict): Handle template parameters
by calling `srecode-cpp-apply-templates'.
* lisp/cedet/srecode/dictionary.el (srecode-dictionary-add-template-table):
Do not add variables in tables not for the current project.
(srecode-compound-toString): Handle cases where the default value
is another compound value.
(srecode-dictionary-lookup-name): New optional argument
NON-RECURSIVE, which inhibits visiting dictionary parents.
(srecode-dictionary-add-section-dictionary)
(srecode-dictionary-merge): New optional argument FORCE adds
values even if an identically named entry exists.
(srecode-dictionary-add-entries): New method.
(srecode-create-dictionaries-from-tags): New function.
* lisp/cedet/srecode/fields.el (srecode-fields-exit-confirmation): New option.
(srecode-field-exit-ask): Use it.
* lisp/cedet/srecode/find.el (srecode-template-get-table)
(srecode-template-get-table-for-binding)
(srecode-all-template-hash): Skip if not in current project.
(srecode-template-table-in-project-p): New method.
* lisp/cedet/srecode/getset.el (srecode-insert-getset): Force tag table
update. Don't query the class if it is empty.
* lisp/cedet/srecode/insert.el (srecode-insert-fcn): Merge template
dictionary before resolving arguments.
(srecode-insert-method-helper): Add error checking to make sure
that we only have dictionaries.
(srecode-insert-method): Check template nesting depth when using
point inserter override.
(srecode-insert-method): Install override with depth limit.
* lisp/cedet/srecode/map.el (srecode-map-update-map): Make map loading more
robust.
* lisp/cedet/srecode/mode.el (srecode-bind-insert): Call
srecode-load-tables-for-mode.
(srecode-minor-mode-templates-menu): Do not list templates that
are not in the current project.
(srecode-menu-bar): Add binding for srecode-macro-help.
* lisp/cedet/srecode/table.el (srecode-template-table): Add :project slot.
(srecode-dump): Dump it.
* lisp/cedet/srecode/texi.el (srecode-texi-insert-tag-as-doc): New function.
(semantic-insert-foreign-tag): Use it.
Diffstat (limited to 'lisp/cedet/srecode/table.el')
-rw-r--r-- | lisp/cedet/srecode/table.el | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lisp/cedet/srecode/table.el b/lisp/cedet/srecode/table.el index 3d22922d551..2c95d4f6412 100644 --- a/lisp/cedet/srecode/table.el +++ b/lisp/cedet/srecode/table.el @@ -31,6 +31,7 @@ (require 'srecode) (declare-function srecode-load-tables-for-mode "srecode/find") +(declare-function srecode-template-table-in-project-p "srecode/find") ;;; Code: @@ -74,6 +75,12 @@ Emacs Lisp code to fill in the dictionary.") When there are multiple template files with similar names, templates with the highest priority are scanned last, allowing them to override values in previous template files.") + (project :initarg :project + :type (or null string) + :documentation + "Scope some project files to a specific project. +The value is a directory which forms the root of a particular project, +or a subset of a particular project.") ;; ;; Parsed Data from the template file ;; @@ -224,6 +231,12 @@ Use PREDICATE is the same as for the `sort' function." (when (oref tab :application) (princ "\nApplication: ") (princ (oref tab :application))) + (when (oref tab :project) + (require 'srecode/find) ; For srecode-template-table-in-project-p + (princ "\nProject Directory: ") + (princ (oref tab :project)) + (when (not (srecode-template-table-in-project-p tab)) + (princ "\n ** Not Usable in this file. **"))) (princ "\n\nVariables:\n") (let ((vars (oref tab variables))) (while vars |