;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:11:07 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/cedet/semantic/db-mode.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(require 'semantic/db)
#@69 List of hooks and values to add/remove when configuring semanticdb.
(defvar semanticdb-hooks '((semanticdb-semantic-init-hook-fcn semantic-init-db-hook) (semanticdb-synchronize-table semantic-after-toplevel-cache-change-hook) (semanticdb-partial-synchronize-table semantic-after-partial-cache-change-hook) (semanticdb-revert-hook before-revert-hook) (semanticdb-kill-hook kill-buffer-hook) (semanticdb-kill-hook change-major-mode-hook) (semanticdb-kill-emacs-hook kill-emacs-hook) (semanticdb-save-all-db-idle auto-save-hook)) (#$ . 579))
#@54 Return non-nil if `semanticdb-minor-mode' is active.
(defalias 'semanticdb-minor-mode-p #[nil "@@@A@J\235\207" [semanticdb-hooks] 2 (#$ . 1124)])
#@305 Non-nil if Global-Semanticdb minor mode is enabled.
See the command `global-semanticdb-minor-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `global-semanticdb-minor-mode'.
(custom-declare-variable 'global-semanticdb-minor-mode 'nil '(#$ . 1279) :set 'custom-set-minor-mode :initialize 'custom-initialize-default :group 'semantic :type 'boolean)
#@210 Toggle Semantic DB mode.
With ARG, turn Semantic DB mode on if ARG is positive, off otherwise.

In Semantic DB mode, Semantic parsers store results in a
database, which can be saved for future Emacs sessions.
(defalias 'global-semanticdb-minor-mode #[(&optional arg) "\306 	\307=\203\n?\202\310	!\311V\211\203:\312\211\2036
@\313\f\211A@)\f@\"\210
A\211\204 *\202]\312\211\203\\@\313\f\211A@)\f@\"\210A\211\204C*\314\315\n\203g\316\202h\317\"\210\320\321!\203\215\322\302!\210\306 \203\200\306 \232\203\215\323\324\n\203\212\325\202\213\326\"\210)\327 \210\n\207" [#1=#:last-message arg global-semanticdb-minor-mode semanticdb-hooks elt #2=#:--cl-dolist-temp-- current-message toggle prefix-numeric-value 0 nil add-hook run-hooks global-semanticdb-minor-mode-hook global-semanticdb-minor-mode-on-hook global-semanticdb-minor-mode-off-hook called-interactively-p any customize-mark-as-set message "Global-Semanticdb minor mode %sabled" "en" "dis" force-mode-line-update x #3=#:--cl-dolist-temp--] 5 (#$ . 1763) (list (or current-prefix-arg 'toggle))])
(byte-code "\301\302\303\304\300!\205\n\303\211%\210\305\306\307\"\210\305\310\302\"\210\311\312\307\313#\207" [global-semanticdb-minor-mode-map add-minor-mode global-semanticdb-minor-mode nil boundp defvaralias semanticdb-mode-hook global-semanticdb-minor-mode-hook semanticdb-global-mode semantic-varalias-obsolete semanticdb-mode-hooks "23.2"] 6)
#@110 Toggle use of the Semantic Database feature.
Update the environment of Semantic enabled buffers accordingly.
(defalias 'semanticdb-toggle-global-mode #[nil "\300 \203\301 \210\302 \207" [semanticdb-minor-mode-p semanticdb-save-all-db global-semanticdb-minor-mode] 1 (#$ . 3213) nil])
#@80 Function saved in `semantic-init-db-hook'.
Sets up the semanticdb environment.
(defalias 'semanticdb-semantic-init-hook-fcn #[nil "\306 \205i\307\306 !\211@A	\310\n\304\f#\210\n\311\n\312\"\2035\313\n\312\"\2035\313\n\314\"\2060\315dU\204:\316 \202h\317\320\321\217\210\313\n\322\"\211\203R\323\324!\210\325!\210)\326\313\n\312\"!\210\310\n\327\317#\210\310\n\330p#\210\331 +\207" [ans cdb ctbl semanticdb-current-database major-mode semanticdb-current-table buffer-file-name semanticdb-create-table-for-file eieio-oset slot-boundp tags eieio-oref pointmax 0 semantic-clear-toplevel-cache nil (byte-code "\301\302\303\"!\207" [ctbl semantic-set-unmatched-syntax-cache eieio-oref unmatched-syntax] 4) ((unbound-slot (byte-code "\301 \210\302\303\304#\207" [ctbl semantic-clear-unmatched-syntax-cache eieio-oset unmatched-syntax nil] 4))) lexical-table require semantic/lex-spp semantic-lex-spp-set-dynamic-table semantic--set-buffer-cache dirty buffer semantic--tag-link-cache-to-buffer lt] 5 (#$ . 3505)])
#@216 Hook run before a revert buffer.
We can't track incremental changes due to a revert, so just clear the cache.
This will prevent the next batch of hooks from wasting time parsing things
that don't need to be parsed.
(defalias 'semanticdb-revert-hook #[nil "\205	\205\n\205\303 \207" [semantic-new-buffer-fcn-was-run semantic--buffer-cache semanticdb-current-table semantic-clear-toplevel-cache] 1 (#$ . 4537)])
#@198 Function run when a buffer is killed.
If there is a semantic cache, slurp out the overlays, and store
it in our database.  If that buffer has no cache, ignore it, we'll
handle it later if need be.
(defalias 'semanticdb-kill-hook #[nil "\205.	\205.\n\205.\304 \210\305=\203*\306 \210\307\n\310\311#\210\307\n\312\311#\210\307\n\313\314#\207\314\315\316\217\207" [semantic-new-buffer-fcn-was-run semantic--buffer-cache semanticdb-current-table semantic-parse-tree-state semantic-fetch-tags-fast needs-rebuild semantic-clear-toplevel-cache eieio-oset pointmax 0 fsize lastmodtime nil (byte-code "\302 \210\303\304d#\210\305\306!!\303\307\310	8#\210\303\311\312	8#\210\303\313\314#)\207" [semanticdb-current-table fattr semantic--tag-unlink-cache-from-buffer eieio-oset pointmax file-attributes semanticdb-full-filename fsize 7 lastmodtime 5 buffer nil] 5) ((error (byte-code "\300 \210\301\302!\207" [semantic-clear-toplevel-cache message "semanticdb: Failed to deoverlay tag cache."] 2)))] 4 (#$ . 4961)])
#@63 Function called when Emacs is killed.
Save all the databases.
(defalias 'semanticdb-kill-emacs-hook #[nil "\300 \207" [semanticdb-save-all-db] 1 (#$ . 5983)])
#@74 Function run after parsing.
Argument NEW-TABLE is the new table of tags.
(defalias 'semanticdb-synchronize-table #[(new-table) "\205\302	\"\207" [semanticdb-current-table new-table semanticdb-synchronize] 3 (#$ . 6148)])
#@74 Function run after parsing.
Argument NEW-TABLE is the new table of tags.
(defalias 'semanticdb-partial-synchronize-table #[(new-table) "\205\302	\"\207" [semanticdb-current-table new-table semanticdb-partial-synchronize] 3 (#$ . 6379)])
(provide 'semantic/db-mode)
