]> git.eshelyaron.com Git - emacs.git/commitdiff
Incorporate Semantic's hideif components into hideif.el (replacing advice)
authorChong Yidong <cyd@gnu.org>
Tue, 2 Oct 2012 15:21:47 +0000 (23:21 +0800)
committerChong Yidong <cyd@gnu.org>
Tue, 2 Oct 2012 15:21:47 +0000 (23:21 +0800)
* progmodes/hideif.el (hif-lookup, hif-defined): Handle
semantic-c-takeover-hideif.

lisp/ChangeLog
lisp/progmodes/hideif.el

index 1527307f00eead146cb13f101ba6c6dab2f6fa67..ea4affe77c40b98c51892d4915aa1c7f80c4c08e 100644 (file)
@@ -1,3 +1,8 @@
+2012-10-02  Chong Yidong  <cyd@gnu.org>
+
+       * progmodes/hideif.el (hif-lookup, hif-defined): Handle
+       semantic-c-takeover-hideif.
+
 2012-10-02  Paul Eggert  <eggert@cs.ucla.edu>
 
        Change sampling interval units from ms to ns.
index 4b77c6dab1ae62a61879646bcf1a581606175447..7bddbff959601aa85d87e0ecd3bb8eade8d7481d 100644 (file)
@@ -329,16 +329,23 @@ that form should be displayed.")
   "Prepend (var value) pair to hide-ifdef-env."
   (setq hide-ifdef-env (cons (cons var value) hide-ifdef-env)))
 
+(declare-function semantic-c-hideif-lookup  "semantic/bovine/c" (var))
+(declare-function semantic-c-hideif-defined "semantic/bovine/c" (var))
 
 (defun hif-lookup (var)
-  ;; (message "hif-lookup %s" var)
-  (let ((val (assoc var hide-ifdef-env)))
-    (if val
-       (cdr val)
-      hif-undefined-symbol)))
+  (or (when (bound-and-true-p semantic-c-takeover-hideif)
+       (semantic-c-hideif-lookup var))
+      (let ((val (assoc var hide-ifdef-env)))
+       (if val
+           (cdr val)
+         hif-undefined-symbol))))
 
 (defun hif-defined (var)
-   (if (assoc var hide-ifdef-env) 1 0))
+  (cond
+   ((bound-and-true-p semantic-c-takeover-hideif)
+    (semantic-c-hideif-defined var))
+   ((assoc var hide-ifdef-env) 1)
+   (t 0)))
 
 ;;===%%SF%% evaluation (End)  ===