summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Engster <dengste@eml.cc>2012-10-07 20:29:07 +0200
committerDavid Engster <dengste@eml.cc>2012-10-07 20:29:07 +0200
commit0aada74e88baf554a1bf95bce9373d9ac76429ad (patch)
treeed781e2bd57ac01c36bc2583948ae4375e83eaa3
parentfcacb55843700a851e10402c2274d71d5b522349 (diff)
parent740877cd2346da5fa3e2085185cd51912eebf0a0 (diff)
downloademacs-0aada74e88baf554a1bf95bce9373d9ac76429ad.tar.gz
Merge changes from CEDET upstream.
-rw-r--r--lisp/cedet/ChangeLog17
-rw-r--r--lisp/cedet/semantic.el1
-rw-r--r--lisp/cedet/semantic/ede-grammar.el10
-rw-r--r--lisp/cedet/semantic/wisent/python.el16
4 files changed, 37 insertions, 7 deletions
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog
index ff5b603833d..0aeeeebc562 100644
--- a/lisp/cedet/ChangeLog
+++ b/lisp/cedet/ChangeLog
@@ -1,3 +1,20 @@
+2012-10-07 David Engster <deng@randomsample.de>
+
+ * semantic/wisent/python.el (semantic-ctxt-current-function)
+ (semantic-ctxt-current-assignment): New overrides, simply
+ returning nil. The defaults do not work correctly and can send
+ the parser in an inifinite loop (bug#12458).
+
+2012-10-07 David Engster <deng@randomsample.de>
+
+ * semantic/ede-grammar.el (project-compile-target): Fix grammar
+ compilation after introduction of %provide statement.
+
+2012-10-07 David Engster <deng@randomsample.de>
+
+ * semantic.el (semantic-new-buffer-setup-functions): Remove setup
+ function for `f90-mode', since the parser only exists upstream.
+
2012-10-06 Glenn Morris <rgm@gnu.org>
* semantic/complete.el (semantic-displayor-tooltip-max-tags): Doc fix.
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index 5182a38327c..e02790cbfa8 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -273,7 +273,6 @@ setup to use Semantic."
(js-mode . wisent-javascript-setup-parser)
(python-mode . wisent-python-default-setup)
(scheme-mode . semantic-default-scheme-setup)
- (f90-mode . semantic-default-f90-setup)
(srecode-template-mode . srecode-template-setup-parser)
(texinfo-mode . semantic-default-texi-setup)
(makefile-automake-mode . semantic-default-make-setup)
diff --git a/lisp/cedet/semantic/ede-grammar.el b/lisp/cedet/semantic/ede-grammar.el
index c92fcabecb1..16cf0ca96a2 100644
--- a/lisp/cedet/semantic/ede-grammar.el
+++ b/lisp/cedet/semantic/ede-grammar.el
@@ -143,12 +143,10 @@ Lays claim to all -by.el, and -wy.el files."
(utd 0))
(mapc (lambda (src)
(with-current-buffer (find-file-noselect src)
- (save-excursion
- (semantic-grammar-create-package))
- ;; After compile, the current buffer is the compiled grammar.
- ;; Save and compile it.
- (save-buffer)
- (let* ((src (buffer-file-name))
+ (let* ((package (semantic-grammar-create-package))
+ (fname (progn (string-match ".*/\\(.+\\.el\\)" package)
+ (match-string 1 package)))
+ (src (with-current-buffer fname (buffer-file-name)))
(csrc (concat (file-name-sans-extension src) ".elc")))
(if (< emacs-major-version 24)
;; Does not have `byte-recompile-file'
diff --git a/lisp/cedet/semantic/wisent/python.el b/lisp/cedet/semantic/wisent/python.el
index ea603f251bb..a0ea488f0fe 100644
--- a/lisp/cedet/semantic/wisent/python.el
+++ b/lisp/cedet/semantic/wisent/python.el
@@ -478,6 +478,22 @@ To be implemented for Python! For now just return nil."
(let ((name (semantic-tag-name tag)))
(concat (mapconcat 'identity (split-string name "\\.") "/") ".py")))
+;; Override ctxt-current-function/assignment defaults, since they do
+;; not work properly with Python code, even leading to endless loops
+;; (see bug #xxxxx).
+(define-mode-local-override semantic-ctxt-current-function python-mode (&optional point)
+ "Return the current function call the cursor is in at POINT.
+The function returned is the one accepting the arguments that
+the cursor is currently in. It will not return function symbol if the
+cursor is on the text representing that function."
+ nil)
+
+(define-mode-local-override semantic-ctxt-current-assignment python-mode (&optional point)
+ "Return the current assignment near the cursor at POINT.
+Return a list as per `semantic-ctxt-current-symbol'.
+Return nil if there is nothing relevant."
+ nil)
+
;;; Enable Semantic in `python-mode'.
;;