[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r111261: * progmodes/python.el: Ex
From: |
Fabián Ezequiel Gallina |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r111261: * progmodes/python.el: Explain how to restore "cc-mode"-like |
Date: |
Wed, 13 Feb 2013 21:42:11 -0300 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 111261
fixes bug: http://debbugs.gnu.org/13642
committer: Fabián Ezequiel Gallina <address@hidden>
branch nick: emacs-24
timestamp: Wed 2013-02-13 21:42:11 -0300
message:
* progmodes/python.el: Explain how to restore "cc-mode"-like
forward-sexp movement in header documentation.
(python-nav--forward-sexp): Behave like emacs-lisp-mode in
comments and strings (GH bug 114).
modified:
lisp/ChangeLog
lisp/progmodes/python.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2013-02-13 23:09:12 +0000
+++ b/lisp/ChangeLog 2013-02-14 00:42:11 +0000
@@ -1,3 +1,10 @@
+2013-02-14 Fabián Ezequiel Gallina <address@hidden>
+
+ * progmodes/python.el: Explain how to restore "cc-mode"-like
+ forward-sexp movement in header documentation (Bug#13642).
+ (python-nav--forward-sexp): Behave like emacs-lisp-mode in
+ comments and strings (GH bug 114).
+
2013-02-13 Fabián Ezequiel Gallina <address@hidden>
* progmodes/python.el (python-info-current-defun): Fix current
=== modified file 'lisp/progmodes/python.el'
--- a/lisp/progmodes/python.el 2013-02-13 23:07:59 +0000
+++ b/lisp/progmodes/python.el 2013-02-14 00:42:11 +0000
@@ -54,8 +54,13 @@
;; `python-nav-beginning-of-statement', `python-nav-end-of-statement',
;; `python-nav-beginning-of-block' and `python-nav-end-of-block' are
;; included but no bound to any key. At last but not least the
-;; specialized `python-nav-forward-sexp' allows easy
-;; navigation between code blocks.
+;; specialized `python-nav-forward-sexp' allows easy navigation
+;; between code blocks. If you prefer `cc-mode'-like `forward-sexp'
+;; movement, setting `forward-sexp-function' to nil is enough, You can
+;; do that using the `python-mode-hook':
+
+;; (add-hook 'python-mode-hook
+;; (lambda () (setq forward-sexp-function nil)))
;; Shell interaction: is provided and allows you to execute easily any
;; block of code of your current buffer in an inferior Python process.
@@ -1339,13 +1344,10 @@
're-search-backward))
(context-type (python-syntax-context-type)))
(cond
- ((eq context-type 'string)
+ ((memq context-type '(string comment))
;; Inside of a string, get out of it.
- (while (and (funcall re-search-fn "[\"']" nil t)
- (python-syntax-context 'string))))
- ((eq context-type 'comment)
- ;; Inside of a comment, just move forward.
- (python-util-forward-comment dir))
+ (let ((forward-sexp-function))
+ (forward-sexp dir)))
((or (eq context-type 'paren)
(and forward-p (looking-at (python-rx open-paren)))
(and (not forward-p)
@@ -1368,16 +1370,16 @@
(save-excursion
(python-nav-lisp-forward-sexp-safe dir)
(point)))
- (next-sexp-context
- (save-excursion
- (goto-char next-sexp-pos)
- (cond
- ((python-info-beginning-of-block-p) 'block-start)
- ((python-info-end-of-block-p) 'block-end)
- ((python-info-beginning-of-statement-p) 'statement-start)
- ((python-info-end-of-statement-p) 'statement-end)
- ((python-info-statement-starts-block-p) 'starts-block)
- ((python-info-statement-ends-block-p) 'ends-block)))))
+ (next-sexp-context
+ (save-excursion
+ (goto-char next-sexp-pos)
+ (cond
+ ((python-info-beginning-of-block-p) 'block-start)
+ ((python-info-end-of-block-p) 'block-end)
+ ((python-info-beginning-of-statement-p) 'statement-start)
+ ((python-info-end-of-statement-p) 'statement-end)
+ ((python-info-statement-starts-block-p) 'starts-block)
+ ((python-info-statement-ends-block-p) 'ends-block)))))
(if forward-p
(cond ((and (not (eobp))
(python-info-current-line-empty-p))
@@ -1401,8 +1403,8 @@
(t (goto-char next-sexp-pos)))
(cond ((and (not (bobp))
(python-info-current-line-empty-p))
- (python-util-forward-comment dir)
- (python-nav--forward-sexp dir))
+ (python-util-forward-comment dir)
+ (python-nav--forward-sexp dir))
((eq context 'block-end)
(python-nav-beginning-of-block))
((eq context 'statement-end)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/emacs-24 r111261: * progmodes/python.el: Explain how to restore "cc-mode"-like,
Fabián Ezequiel Gallina <=