branch: elpa/dart-mode
commit 3b3992b9e1150ffe9ac94256e59f0f4e933bfa02
Merge: eca6432 a935c27
Author: Natalie Weizenbaum <[email protected]>
Commit: Natalie Weizenbaum <[email protected]>
Merge pull request #8 from rginda/unadvise
don't advise c-parse-state if c-parse-state-1 isn't defined.
---
dart-mode.el | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/dart-mode.el b/dart-mode.el
index 8a289ca..c76ad68 100644
--- a/dart-mode.el
+++ b/dart-mode.el
@@ -370,15 +370,16 @@ SYNTAX-GUESS is the output of `c-guess-basic-syntax'."
(c-end-of-current-token base))
(setq base (point)))))))
-(defadvice c-parse-state (around dart-c-parse-state activate)
- (if (not (c-major-mode-is 'dart-mode)) ad-do-it
- ;; c-parse-state is a wrapper around c-parse-state-1 that does some tricks
- ;; to ensure that dangling brackets in preprocessor commands don't screw up
- ;; parse information for the real world. In Dart, all "preprocessor"
- ;; directives have matched braces, so we don't need to worry about that.
The
- ;; wrapper was also screwing up indentation in weird ways, so we just
ignore
- ;; it.
- (setq ad-return-value (c-parse-state-1))))
+(if (fboundp 'c-parse-state-1)
+ (defadvice c-parse-state (around dart-c-parse-state activate)
+ (if (not (c-major-mode-is 'dart-mode)) ad-do-it
+ ;; c-parse-state is a wrapper around c-parse-state-1 that does some
tricks
+ ;; to ensure that dangling brackets in preprocessor commands don't screw
up
+ ;; parse information for the real world. In Dart, all "preprocessor"
+ ;; directives have matched braces, so we don't need to worry about that.
The
+ ;; wrapper was also screwing up indentation in weird ways, so we just
ignore
+ ;; it.
+ (setq ad-return-value (c-parse-state-1)))))
;;; Additional fontification support