Two patches for Emacs 20.2 compatibility:
(py-compute-indentation): int-to-char isn't defined in Emacs, but we
don't really need it anyway, so just remove this conversion. XEmacs
is happy either way.
(py-parse-state): The Emacs branch (i.e. w/o buffer-syntactic-context)
wasn't adjusting point correctly.
diff --git a/Misc/python-mode.el b/Misc/python-mode.el
index 211fd3c..6fadfa1 100644
--- a/Misc/python-mode.el
+++ b/Misc/python-mode.el
@@ -8,7 +8,7 @@
;; Created: Feb 1992
;; Keywords: python languages oop
-(defconst py-version "$Revision$"
+(defconst py-version "3.51"
"`python-mode' version number.")
;; This software is provided as-is, without express or implied
@@ -1633,8 +1633,7 @@
;; if we landed inside a string, go to the beginning of that
;; string. this handles triple quoted, multi-line spanning
;; strings.
- (let* ((pps3 (nth 3 (parse-partial-sexp bod (point))))
- (delim (and pps3 (int-to-char pps3)))
+ (let* ((delim (nth 3 (parse-partial-sexp bod (point))))
(skip (and delim (make-string 1 delim))))
(when skip
(save-excursion
@@ -2551,8 +2550,8 @@
;; no accurate way to determine this otherwise.
(if (not (fboundp 'buffer-syntactic-context))
;; Emacs
- (save-excursion
- (setq pps (parse-partial-sexp (point) here))
+ (progn
+ (save-excursion (setq pps (parse-partial-sexp (point) here)))
;; make sure we don't land inside a triple-quoted string
(setq done (or (not (nth 3 pps))
(bobp))))