 interaction between undo and process filters; the same problem exists in
 non-Python process buffers using the default (Emacs-supplied) process
 filter."
+  ;; BAW - should undo be disabled in the python process buffer, if
+  ;; this bug still exists?
   (interactive)
   (if py-this-is-emacs-19-p
       (progn

A msg identifying the location of the mark is displayed in the echo
area; or do `\\[exchange-point-and-mark]' to flip down to the end.

If called from a program, optional argument EXTEND plays the role of the
prefix arg, and if optional argument JUST-MOVE is not nil, just moves to
the end of the block (& does not set mark or display a msg)."

  (interactive "P")			; raw prefix arg
  (py-goto-initial-line)
  ;; skip over blank lines

;; without fee, for any purpose and by any individual or organization, is
;; hereby granted, provided that the above copyright notice and this
;; paragraph appear in all copies.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; At some point this mode will undergo a rewrite to bring it more in
;; line with GNU Emacs Lisp coding standards.  But all in all, the
;; mode works exceedingly well.

;; The following statements, placed in your .emacs file or
;; site-init.el, will cause this file to be autoloaded, and
;; python-mode invoked, when visiting .py files (assuming this file is
;; in your load-path):
;;
;;	(autoload 'python-mode "python-mode" "Python editing mode." t)
;;	(setq auto-mode-alist
;;	      (cons '("\\.py$" . python-mode) auto-mode-alist))

;; Here's a brief to do list:
;;
;; 1. Better integration with gud-mode for debugging.
;; 2. Rewrite according to GNU Emacs Lisp standards.

;; If you can think of more things you'd like to see, drop me a line.
;; If you want to report bugs, use py-submit-bug-report (C-c C-b).
;;
;; Note that I only test things on XEmacs (currently 19.11).  If you
;; port stuff to FSF Emacs 19, or Emacs 18, please send me your
;; patches.

;; LCD Archive Entry:
;; python-mode|Barry A. Warsaw|bwarsaw@cnri.reston.va.us
;; |Major mode for editing Python programs
;; |$Date$|$Revision$|

;;; Code:


;; user definable variables
;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

(defvar py-python-command "python"
  "*Shell command used to start Python interpreter.")

(defvar py-indent-offset 8		; argue with Guido <grin>
  "*Indentation increment.
Note that `\\[py-guess-indent-offset]' can usually guess a good value
when you're editing someone else's Python code.")

(defvar py-block-comment-prefix "##"
  "*String used by `py-comment-region' to comment out a block of code.
This should follow the convention for non-indenting comment lines so
that the indentation commands won't get confused (i.e., the string
should be of the form `#x...' where `x' is not a blank or a tab, and
