diff options
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/cedet/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/cedet/semantic/wisent/python.el | 16 |
2 files changed, 23 insertions, 0 deletions
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog index 453939e6ce1..0aeeeebc562 100644 --- a/lisp/cedet/ChangeLog +++ b/lisp/cedet/ChangeLog @@ -1,5 +1,12 @@ 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. 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'. ;; |
