Mercurial > emacs
annotate lisp/cedet/semantic/db-mode.el @ 104442:b22b44e953cb
cedet/semantic/chart.el: Don't require semantic/find.
cedet/semantic/complete.el: Don't require semantic/find.
cedet/semantic/decorate.el: Require semantic/tag-file.
(semantic-set-tag-folded-isearch): Require semantic/find.
cedet/semantic/dep.el: Change semantic--dependency-find-file-on-path
into a macro, to avoid compiler warning.
Defvar ede-minor-mode and ede-object.
Declare ede-system-include-path.
cedet/semantic/doc.el: Require semantic/tag-file and semantic/find.
cedet/semantic/edit.el: Require semantic/find and semantic/format.
cedet/semantic/find.el: Defvar semantic-case-fold.
Require semantic.
(semantic-find-tags-external-children-of-type): Require semantic/sort.
(semantic-find-tags-by-scope-protection-default): Require semantic/tag-ls.
cedet/semantic/format.el: Require semantic/tag-ls.
eval-when-compile semantic/find.
(semantic-format-tag-name): Move up to avoid compiler error.
(semantic-format-tag-prototype): Move up to avoid compiler error.
(semantic--format-tag-parent-tree): Require semantic/tag-file.
(semantic-format-tag-short-doc-default): Require semantic/doc.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Mon, 31 Aug 2009 02:16:34 +0000 |
parents | 902d22a2d922 |
children | 273e528a9f9b |
rev | line source |
---|---|
104436
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
1 ;;; semantic/db-mode.el --- Semanticdb Minor Mode |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
2 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
3 ;; Copyright (C) 2008, 2009 Free Software Foundation, Inc. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
4 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
5 ;; Author: Eric M. Ludlam <eric@siege-engine.com> |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
6 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
7 ;; This file is part of GNU Emacs. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
8 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
9 ;; GNU Emacs is free software: you can redistribute it and/or modify |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
10 ;; it under the terms of the GNU General Public License as published by |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
11 ;; the Free Software Foundation, either version 3 of the License, or |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
12 ;; (at your option) any later version. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
13 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
14 ;; GNU Emacs is distributed in the hope that it will be useful, |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
17 ;; GNU General Public License for more details. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
18 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
19 ;; You should have received a copy of the GNU General Public License |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
20 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
21 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
22 ;;; Commentary: |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
23 ;; |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
24 ;; Major mode for managing Semantic Databases automatically. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
25 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
26 (require 'semantic/db) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
27 ;;; Code: |
104441
902d22a2d922
cedet/semantic/db-debug.el: Don't require semantic/db-mode, since
Chong Yidong <cyd@stupidchicken.com>
parents:
104436
diff
changeset
|
28 |
902d22a2d922
cedet/semantic/db-debug.el: Don't require semantic/db-mode, since
Chong Yidong <cyd@stupidchicken.com>
parents:
104436
diff
changeset
|
29 ;; Moved into semantic/db.el: |
902d22a2d922
cedet/semantic/db-debug.el: Don't require semantic/db-mode, since
Chong Yidong <cyd@stupidchicken.com>
parents:
104436
diff
changeset
|
30 ;; (defvar semanticdb-current-database nil |
902d22a2d922
cedet/semantic/db-debug.el: Don't require semantic/db-mode, since
Chong Yidong <cyd@stupidchicken.com>
parents:
104436
diff
changeset
|
31 ;; "For a given buffer, this is the currently active database.") |
902d22a2d922
cedet/semantic/db-debug.el: Don't require semantic/db-mode, since
Chong Yidong <cyd@stupidchicken.com>
parents:
104436
diff
changeset
|
32 ;; (make-variable-buffer-local 'semanticdb-current-database) |
104436
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
33 |
104441
902d22a2d922
cedet/semantic/db-debug.el: Don't require semantic/db-mode, since
Chong Yidong <cyd@stupidchicken.com>
parents:
104436
diff
changeset
|
34 ;; (defvar semanticdb-current-table nil |
902d22a2d922
cedet/semantic/db-debug.el: Don't require semantic/db-mode, since
Chong Yidong <cyd@stupidchicken.com>
parents:
104436
diff
changeset
|
35 ;; "For a given buffer, this is the currently active database table.") |
902d22a2d922
cedet/semantic/db-debug.el: Don't require semantic/db-mode, since
Chong Yidong <cyd@stupidchicken.com>
parents:
104436
diff
changeset
|
36 ;; (make-variable-buffer-local 'semanticdb-current-table) |
902d22a2d922
cedet/semantic/db-debug.el: Don't require semantic/db-mode, since
Chong Yidong <cyd@stupidchicken.com>
parents:
104436
diff
changeset
|
37 |
902d22a2d922
cedet/semantic/db-debug.el: Don't require semantic/db-mode, since
Chong Yidong <cyd@stupidchicken.com>
parents:
104436
diff
changeset
|
38 (declare-function semantic-lex-spp-set-dynamic-table "semantic/lex-spp") |
104436
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
39 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
40 (defcustom semanticdb-global-mode nil |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
41 "*If non-nil enable the use of `semanticdb-minor-mode'." |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
42 :group 'semantic |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
43 :type 'boolean |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
44 :require 'semantic/db |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
45 :initialize 'custom-initialize-default |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
46 :set (lambda (sym val) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
47 (global-semanticdb-minor-mode (if val 1 -1)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
48 (custom-set-default sym val))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
49 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
50 (defcustom semanticdb-mode-hooks nil |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
51 "*Hooks run whenever `global-semanticdb-minor-mode' is run. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
52 Use `semanticdb-minor-mode-p' to determine if the mode has been turned |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
53 on or off." |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
54 :group 'semanticdb |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
55 :type 'hook) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
56 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
57 ;;; Start/Stop database use |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
58 ;; |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
59 (defvar semanticdb-hooks |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
60 '((semanticdb-semantic-init-hook-fcn semantic-init-db-hooks) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
61 (semanticdb-synchronize-table semantic-after-toplevel-cache-change-hook) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
62 (semanticdb-partial-synchronize-table semantic-after-partial-cache-change-hook) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
63 (semanticdb-revert-hook before-revert-hook) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
64 (semanticdb-kill-hook kill-buffer-hook) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
65 (semanticdb-kill-hook change-major-mode-hook) ;; Not really a kill, but we need the same effect. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
66 (semanticdb-kill-emacs-hook kill-emacs-hook) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
67 (semanticdb-save-all-db-idle auto-save-hook) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
68 ) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
69 "List of hooks and values to add/remove when configuring semanticdb.") |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
70 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
71 ;;; SEMANTICDB-MODE |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
72 ;; |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
73 (defun semanticdb-minor-mode-p () |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
74 "Return non-nil if `semanticdb-minor-mode' is active." |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
75 (member (car (car semanticdb-hooks)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
76 (symbol-value (car (cdr (car semanticdb-hooks)))))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
77 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
78 (defun global-semanticdb-minor-mode (&optional arg) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
79 "Toggle the use of `semanticdb-minor-mode'. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
80 If ARG is positive, enable, if it is negative, disable. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
81 If ARG is nil, then toggle." |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
82 (interactive "P") |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
83 (if (not arg) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
84 (if (semanticdb-minor-mode-p) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
85 (setq arg -1) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
86 (setq arg 1))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
87 (let ((fn 'add-hook) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
88 (h semanticdb-hooks) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
89 (changed nil)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
90 (if (< arg 0) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
91 (setq changed semanticdb-global-mode |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
92 semanticdb-global-mode nil |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
93 fn 'remove-hook) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
94 (setq changed (not semanticdb-global-mode) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
95 semanticdb-global-mode t)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
96 ;(message "ARG = %d" arg) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
97 (when changed |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
98 (while h |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
99 (funcall fn (car (cdr (car h))) (car (car h))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
100 (setq h (cdr h))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
101 ;; Call a hook |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
102 (run-hooks 'semanticdb-mode-hooks)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
103 )) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
104 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
105 (defun semanticdb-toggle-global-mode () |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
106 "Toggle use of the Semantic Database feature. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
107 Update the environment of Semantic enabled buffers accordingly." |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
108 (interactive) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
109 (if (semanticdb-minor-mode-p) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
110 ;; Save databases before disabling semanticdb. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
111 (semanticdb-save-all-db)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
112 ;; Toggle semanticdb minor mode. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
113 (global-semanticdb-minor-mode)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
114 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
115 ;;; Hook Functions: |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
116 ;; |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
117 ;; Functions used in hooks to keep SemanticDB operating. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
118 ;; |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
119 (defun semanticdb-semantic-init-hook-fcn () |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
120 "Function saved in `semantic-init-db-hooks'. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
121 Sets up the semanticdb environment." |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
122 ;; Only initialize semanticdb if we have a file name. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
123 ;; There is no reason to cache a tag table if there is no |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
124 ;; way to load it back in later. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
125 (when (buffer-file-name) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
126 (let* ((ans (semanticdb-create-table-for-file (buffer-file-name))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
127 (cdb (car ans)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
128 (ctbl (cdr ans)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
129 ) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
130 ;; Get the current DB for this directory |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
131 (setq semanticdb-current-database cdb) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
132 ;; We set the major mode because we know what it is. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
133 (oset ctbl major-mode major-mode) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
134 ;; Local state |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
135 (setq semanticdb-current-table ctbl) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
136 ;; Try to swap in saved tags |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
137 (if (or (not (slot-boundp ctbl 'tags)) (not (oref ctbl tags)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
138 (/= (or (oref ctbl pointmax) 0) (point-max)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
139 ) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
140 (semantic-clear-toplevel-cache) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
141 ;; Unmatched syntax |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
142 (condition-case nil |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
143 (semantic-set-unmatched-syntax-cache |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
144 (oref ctbl unmatched-syntax)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
145 (unbound-slot |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
146 ;; Old version of the semanticdb table can miss the unmatched |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
147 ;; syntax slot. If so, just clear the unmatched syntax cache. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
148 (semantic-clear-unmatched-syntax-cache) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
149 ;; Make sure it has a value. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
150 (oset ctbl unmatched-syntax nil) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
151 )) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
152 ;; Keep lexical tables up to date. Don't load |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
153 ;; semantic-spp if it isn't needed. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
154 (let ((lt (oref ctbl lexical-table))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
155 (when lt |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
156 (require 'semantic/lex-spp) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
157 (semantic-lex-spp-set-dynamic-table lt))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
158 ;; Set the main tag cache. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
159 ;; This must happen after setting up buffer local variables |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
160 ;; since this will turn around and re-save those variables. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
161 (semantic--set-buffer-cache (oref ctbl tags)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
162 ;; Don't need it to be dirty. Set dirty due to hooks from above. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
163 (oset ctbl dirty nil) ;; Special case here. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
164 (oset ctbl buffer (current-buffer)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
165 ;; Bind into the buffer. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
166 (semantic--tag-link-cache-to-buffer) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
167 ) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
168 ))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
169 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
170 (defun semanticdb-revert-hook () |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
171 "Hook run before a revert buffer. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
172 We can't track incremental changes due to a revert, so just clear the cache. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
173 This will prevent the next batch of hooks from wasting time parsing things |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
174 that don't need to be parsed." |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
175 (if (and (semantic-active-p) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
176 semantic--buffer-cache |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
177 semanticdb-current-table) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
178 (semantic-clear-toplevel-cache))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
179 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
180 (defun semanticdb-kill-hook () |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
181 "Function run when a buffer is killed. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
182 If there is a semantic cache, slurp out the overlays, and store |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
183 it in our database. If that buffer has no cache, ignore it, we'll |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
184 handle it later if need be." |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
185 (when (and (semantic-active-p) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
186 semantic--buffer-cache |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
187 semanticdb-current-table) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
188 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
189 ;; Try to get a fast update. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
190 (semantic-fetch-tags-fast) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
191 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
192 ;; If the buffer is in a bad state, don't save anything... |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
193 (if (semantic-parse-tree-needs-rebuild-p) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
194 ;; If this is the case, don't save anything. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
195 (progn |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
196 (semantic-clear-toplevel-cache) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
197 (oset semanticdb-current-table pointmax 0) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
198 (oset semanticdb-current-table fsize 0) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
199 (oset semanticdb-current-table lastmodtime nil) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
200 ) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
201 ;; We have a clean buffer, save it off. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
202 (condition-case nil |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
203 (progn |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
204 (semantic--tag-unlink-cache-from-buffer) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
205 ;; Set pointmax only if we had some success in the unlink. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
206 (oset semanticdb-current-table pointmax (point-max)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
207 (let ((fattr (file-attributes |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
208 (semanticdb-full-filename |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
209 semanticdb-current-table)))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
210 (oset semanticdb-current-table fsize (nth 7 fattr)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
211 (oset semanticdb-current-table lastmodtime (nth 5 fattr)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
212 (oset semanticdb-current-table buffer nil) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
213 )) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
214 ;; If this messes up, just clear the system |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
215 (error |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
216 (semantic-clear-toplevel-cache) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
217 (message "semanticdb: Failed to deoverlay tag cache."))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
218 ) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
219 )) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
220 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
221 (defun semanticdb-kill-emacs-hook () |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
222 "Function called when Emacs is killed. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
223 Save all the databases." |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
224 (semanticdb-save-all-db)) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
225 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
226 ;;; SYNCHRONIZATION HOOKS |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
227 ;; |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
228 (defun semanticdb-synchronize-table (new-table) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
229 "Function run after parsing. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
230 Argument NEW-TABLE is the new table of tags." |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
231 (when semanticdb-current-table |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
232 (semanticdb-synchronize semanticdb-current-table new-table))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
233 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
234 (defun semanticdb-partial-synchronize-table (new-table) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
235 "Function run after parsing. |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
236 Argument NEW-TABLE is the new table of tags." |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
237 (when semanticdb-current-table |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
238 (semanticdb-partial-synchronize semanticdb-current-table new-table))) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
239 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
240 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
241 (provide 'semantic/db-mode) |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
242 |
b9b48267c7d3
cedet/semantic/db-mode.el: New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
243 ;;; semantic/db-mode.el ends here |