summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabián Ezequiel Gallina <fgallina@gnu.org>2013-02-19 00:18:32 -0300
committerFabián Ezequiel Gallina <fgallina@gnu.org>2013-02-19 00:18:32 -0300
commit2af3b9c16e340ad034e57e949f09bbafc00bd52c (patch)
treea8f68cb43ad0913f4c10b527276e2901eaaea0ff
parent6db17b0200e342dae7a1e09df7f03f80dcbf3fad (diff)
downloademacs-2af3b9c16e340ad034e57e949f09bbafc00bd52c.tar.gz
* progmodes/python.el (python-indent-context): Fix
python-info-line-ends-backslash-p call. (python-info-line-ends-backslash-p) (python-info-beginning-of-backslash): Respect line-number argument. (python-info-current-line-comment-p): Fix behavior when not at beginning-of-line. (python-util-position): Remove function. (python-util-goto-line): New function.
-rw-r--r--lisp/ChangeLog12
-rw-r--r--lisp/progmodes/python.el25
2 files changed, 24 insertions, 13 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7d7e62e8141..f99cab9edbf 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,15 @@
+2013-02-19 Fabián Ezequiel Gallina <fgallina@cuca>
+
+ * progmodes/python.el (python-indent-context): Fix
+ python-info-line-ends-backslash-p call.
+ (python-info-line-ends-backslash-p)
+ (python-info-beginning-of-backslash): Respect line-number
+ argument.
+ (python-info-current-line-comment-p): Fix behavior when not at
+ beginning-of-line.
+ (python-util-position): Remove function.
+ (python-util-goto-line): New function.
+
2013-02-18 Michael Albinus <michael.albinus@gmx.de>
* eshell/em-unix.el (eshell/su): Require tramp.
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 92f86ce1231..49eaff637a6 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -698,10 +698,9 @@ START is the buffer position where the sexp starts."
;; After backslash
((setq start (when (not (or (python-syntax-context 'string ppss)
(python-syntax-context 'comment ppss)))
- (let ((line-beg-pos (line-beginning-position)))
- (when (python-info-line-ends-backslash-p
- (1- line-beg-pos))
- (- line-beg-pos 2)))))
+ (let ((line-beg-pos (line-number-at-pos)))
+ (python-info-line-ends-backslash-p
+ (1- line-beg-pos)))))
'after-backslash)
;; After beginning of block
((setq start (save-excursion
@@ -3105,7 +3104,7 @@ With optional argument LINE-NUMBER, check that line instead."
(save-restriction
(widen)
(when line-number
- (goto-char line-number))
+ (python-util-goto-line line-number))
(while (and (not (eobp))
(goto-char (line-end-position))
(python-syntax-context 'paren)
@@ -3121,7 +3120,7 @@ Optional argument LINE-NUMBER forces the line number to check against."
(save-restriction
(widen)
(when line-number
- (goto-char line-number))
+ (python-util-goto-line line-number))
(when (python-info-line-ends-backslash-p)
(while (save-excursion
(goto-char (line-beginning-position))
@@ -3200,7 +3199,9 @@ operator."
(defun python-info-current-line-comment-p ()
"Check if current line is a comment line."
- (char-equal (or (char-after (+ (point) (current-indentation))) ?_) ?#))
+ (char-equal
+ (or (char-after (+ (line-beginning-position) (current-indentation))) ?_)
+ ?#))
(defun python-info-current-line-empty-p ()
"Check if current line is empty, ignoring whitespace."
@@ -3215,12 +3216,10 @@ operator."
;;; Utility functions
-(defun python-util-position (item seq)
- "Find the first occurrence of ITEM in SEQ.
-Return the index of the matching item, or nil if not found."
- (let ((member-result (member item seq)))
- (when member-result
- (- (length seq) (length member-result)))))
+(defun python-util-goto-line (line-number)
+ "Move point to LINE-NUMBER."
+ (goto-char (point-min))
+ (forward-line (1- line-number)))
;; Stolen from org-mode
(defun python-util-clone-local-variables (from-buffer &optional regexp)