(py-indent-right, py-outdent-left): fixed placement of point after
adjustments.
diff --git a/Misc/python-mode.el b/Misc/python-mode.el
index b40a587..8e4e199 100644
--- a/Misc/python-mode.el
+++ b/Misc/python-mode.el
@@ -507,13 +507,15 @@
      (if m
 	 (list (min p m) (max p m) arg)
        (list p m arg))))
-  (let ((pos (- (point-max) (point)))
-	(end (save-excursion
-	       (goto-char (or end (1+ start)))
-	       (and (not (bolp))
-		    (forward-line 1))
-	       (set-marker (make-marker) (point))))
-	col want indent)
+  (let* ((dir (= (point) start))
+	 (pos (if dir (point)
+		(- (point-max) (point))))
+	 (end (save-excursion
+		(goto-char (or end (1+ start)))
+		(and (not (bolp))
+		     (forward-line 1))
+		(set-marker (make-marker) (point))))
+	 col want indent)
     (goto-char start)
     (beginning-of-line)
     (unwind-protect
@@ -528,7 +530,8 @@
 		(indent-to (+ col want))))
 	  (forward-line 1))
       (set-marker end nil))
-    (goto-char (- (point-max) pos))
+    (goto-char (if dir pos
+		 (- (point-max) pos)))
     (py-keep-region-active)))
 
 (defun py-outdent-left (start end arg)
@@ -543,13 +546,15 @@
      (if m
 	 (list (min p m) (max p m) arg)
        (list p m arg))))
-  (let ((pos (- (point-max) (point)))
-	(end (save-excursion
-	       (goto-char (or end (1+ start)))
-	       (and (not (bolp))
-		    (forward-line 1))
-	       (set-marker (make-marker) (point))))
-	col want)
+  (let* ((dir (= (point) start))
+	 (pos (if dir (point)
+		(- (point-max) (point))))
+	 (end (save-excursion
+		(goto-char (or end (1+ start)))
+		(and (not (bolp))
+		     (forward-line 1))
+		(set-marker (make-marker) (point))))
+	 col want)
     (goto-char start)
     (beginning-of-line)
     (unwind-protect
@@ -563,7 +568,8 @@
 		(indent-to (- col want))))
 	  (forward-line 1))
       (set-marker end nil))
-    (goto-char (- (point-max) pos))
+    (goto-char (if dir pos
+		 (- (point-max) pos)))
     (py-keep-region-active)))