aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/cedet/srecode/fields.el
diff options
context:
space:
mode:
authorEric M. Ludlam2010-09-21 18:11:23 -0400
committerChong Yidong2010-09-21 18:11:23 -0400
commitb9749554532876da8bc15e10bc3fb8bd8c0f32ea (patch)
tree0d00b9800e8eb95e8466ab322fde1879e378fddb /lisp/cedet/srecode/fields.el
parentfbb3da770f233a8e0cf99d5f053b0c31cbbc8db4 (diff)
downloademacs-b9749554532876da8bc15e10bc3fb8bd8c0f32ea.tar.gz
emacs-b9749554532876da8bc15e10bc3fb8bd8c0f32ea.zip
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/fields.el')
-rw-r--r--lisp/cedet/srecode/fields.el16
1 files changed, 14 insertions, 2 deletions
diff --git a/lisp/cedet/srecode/fields.el b/lisp/cedet/srecode/fields.el
index 347538aa871..0cfc2953792 100644
--- a/lisp/cedet/srecode/fields.el
+++ b/lisp/cedet/srecode/fields.el
@@ -35,6 +35,8 @@
35;; Each field has 2 overlays. The second overlay allows control in 35;; Each field has 2 overlays. The second overlay allows control in
36;; the character just after the field, but does not highlight it. 36;; the character just after the field, but does not highlight it.
37 37
38;; @TODO - Cancel an old field array if a new one is about to be created!
39
38;; Keep this library independent of SRecode proper. 40;; Keep this library independent of SRecode proper.
39(require 'eieio) 41(require 'eieio)
40 42
@@ -43,6 +45,10 @@
43 "While inserting a set of fields, collect in this variable. 45 "While inserting a set of fields, collect in this variable.
44Once an insertion set is done, these fields will be activated.") 46Once an insertion set is done, these fields will be activated.")
45 47
48
49;;; Customization
50;;
51
46(defface srecode-field-face 52(defface srecode-field-face
47 '((((class color) (background dark)) 53 '((((class color) (background dark))
48 (:underline "green")) 54 (:underline "green"))
@@ -51,6 +57,11 @@ Once an insertion set is done, these fields will be activated.")
51 "*Face used to specify editable fields from a template." 57 "*Face used to specify editable fields from a template."
52 :group 'semantic-faces) 58 :group 'semantic-faces)
53 59
60(defcustom srecode-fields-exit-confirmation nil
61 "Ask for confirmation before leaving field editing mode."
62 :group 'srecode
63 :type 'boolean)
64
54;;; BASECLASS 65;;; BASECLASS
55;; 66;;
56;; Fields and the template region share some basic overlay features. 67;; Fields and the template region share some basic overlay features.
@@ -237,7 +248,7 @@ If SET-TO is a string, then replace the text of OLAID wit SET-TO."
237 (remove-hook 'post-command-hook 'srecode-field-post-command t) 248 (remove-hook 'post-command-hook 'srecode-field-post-command t)
238 (if (srecode-point-in-region-p ar) 249 (if (srecode-point-in-region-p ar)
239 nil ;; Keep going 250 nil ;; Keep going
240 ;; We moved out of the temlate. Cancel the edits. 251 ;; We moved out of the template. Cancel the edits.
241 (srecode-delete ar))) 252 (srecode-delete ar)))
242 )) 253 ))
243 254
@@ -429,7 +440,8 @@ PRE-LEN is used in the after mode for the length of the changed text."
429(defun srecode-field-exit-ask () 440(defun srecode-field-exit-ask ()
430 "Ask if the user wants to exit field-editing mini-mode." 441 "Ask if the user wants to exit field-editing mini-mode."
431 (interactive) 442 (interactive)
432 (when (y-or-n-p "Exit field-editing mode? ") 443 (when (or (not srecode-fields-exit-confirmation)
444 (y-or-n-p "Exit field-editing mode? "))
433 (srecode-delete (srecode-active-template-region)))) 445 (srecode-delete (srecode-active-template-region))))
434 446
435 447