From: Christoph Scholtes Date: Wed, 30 Mar 2011 22:44:07 +0000 (-0600) Subject: * progmodes/python.el (python-default-interpreter) X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~451 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6d0f1c9e5556d61958ac3369c0668dc1a0b2084f;p=emacs.git * progmodes/python.el (python-default-interpreter) (python-python-command-args, python-jython-command-args) (python-which-shell, python-which-args, python-which-bufname) (python-file-queue, python-comint-output-filter-function) (python-toggle-shells, python-shell): Remove obsolete defcustoms, variables and functions. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 03d1d6f5b19..f20b7a710d9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2011-03-30 Christoph Scholtes + + * progmodes/python.el (python-default-interpreter) + (python-python-command-args, python-jython-command-args) + (python-which-shell, python-which-args, python-which-bufname) + (python-file-queue, python-comint-output-filter-function) + (python-toggle-shells, python-shell): Remove obsolete defcustoms, + variables and functions. + 2011-03-30 Stefan Monnier * minibuffer.el (completion-table-dynamic): Optimize `boundaries'. diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 4246177495c..0cbb8c186cc 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -499,44 +499,6 @@ statement." :type 'integer) -(defcustom python-default-interpreter 'cpython - "*Which Python interpreter is used by default. -The value for this variable can be either `cpython' or `jpython'. - -When the value is `cpython', the variables `python-python-command' and -`python-python-command-args' are consulted to determine the interpreter -and arguments to use. - -When the value is `jpython', the variables `python-jpython-command' and -`python-jpython-command-args' are consulted to determine the interpreter -and arguments to use. - -Note that this variable is consulted only the first time that a Python -mode buffer is visited during an Emacs session. After that, use -\\[python-toggle-shells] to change the interpreter shell." - :type '(choice (const :tag "Python (a.k.a. CPython)" cpython) - (const :tag "JPython" jpython)) - :group 'python) - -(defcustom python-python-command-args '("-i") - "*List of string arguments to be used when starting a Python shell." - :type '(repeat string) - :group 'python) - -(defcustom python-jython-command-args '("-i") - "*List of string arguments to be used when starting a Jython shell." - :type '(repeat string) - :group 'python - :tag "JPython Command Args") - -;; for toggling between CPython and JPython -(defvar python-which-shell nil) -(defvar python-which-args python-python-command-args) -(defvar python-which-bufname "Python") -(make-variable-buffer-local 'python-which-shell) -(make-variable-buffer-local 'python-which-args) -(make-variable-buffer-local 'python-which-bufname) - (defcustom python-pdbtrack-do-tracking-p t "*Controls whether the pdbtrack feature is enabled or not. @@ -562,11 +524,6 @@ having to restart the program." (push '(python-pdbtrack-is-tracking-p python-pdbtrack-minor-mode-string) minor-mode-alist)) -;; Bind python-file-queue before installing the kill-emacs-hook. -(defvar python-file-queue nil - "Queue of Python temp files awaiting execution. -Currently-active file is at the head of the list.") - (defcustom python-shell-prompt-alist '(("ipython" . "^In \\[[0-9]+\\]: *") (t . "^>>> ")) @@ -2584,20 +2541,6 @@ Runs `jython-mode-hook' after `python-mode-hook'." ;; pdbtrack features -(defun python-comint-output-filter-function (string) - "Watch output for Python prompt and exec next file waiting in queue. -This function is appropriate for `comint-output-filter-functions'." - ;; TBD: this should probably use split-string - (when (and (string-match python--prompt-regexp string) - python-file-queue) - (condition-case nil - (delete-file (car python-file-queue)) - (error nil)) - (setq python-file-queue (cdr python-file-queue)) - (if python-file-queue - (let ((pyproc (get-buffer-process (current-buffer)))) - (python-execute-file pyproc (car python-file-queue)))))) - (defun python-pdbtrack-overlay-arrow (activation) "Activate or deactivate arrow at beginning-of-line in current buffer." (if activation @@ -2742,45 +2685,6 @@ problem." (setq got buf))) got)) -(defun python-toggle-shells (arg) - "Toggles between the CPython and JPython shells. - -With positive argument ARG (interactively \\[universal-argument]), -uses the CPython shell, with negative ARG uses the JPython shell, and -with a zero argument, toggles the shell. - -Programmatically, ARG can also be one of the symbols `cpython' or -`jpython', equivalent to positive arg and negative arg respectively." - (interactive "P") - ;; default is to toggle - (if (null arg) - (setq arg 0)) - ;; preprocess arg - (cond - ((equal arg 0) - ;; toggle - (if (string-equal python-which-bufname "Python") - (setq arg -1) - (setq arg 1))) - ((equal arg 'cpython) (setq arg 1)) - ((equal arg 'jpython) (setq arg -1))) - (let (msg) - (cond - ((< 0 arg) - ;; set to CPython - (setq python-which-shell python-python-command - python-which-args python-python-command-args - python-which-bufname "Python" - msg "CPython" - mode-name "Python")) - ((> 0 arg) - (setq python-which-shell python-jython-command - python-which-args python-jython-command-args - python-which-bufname "JPython" - msg "JPython" - mode-name "JPython"))) - (message "Using the %s shell" msg))) - ;; Python subprocess utilities and filters (defun python-execute-file (proc filename) "Send to Python interpreter process PROC \"execfile('FILENAME')\". @@ -2801,71 +2705,6 @@ comint believe the user typed this string so that (set-buffer curbuf)) (process-send-string proc cmd))) -;;;###autoload -(defun python-shell (&optional argprompt) - "Start an interactive Python interpreter in another window. -This is like Shell mode, except that Python is running in the window -instead of a shell. See the `Interactive Shell' and `Shell Mode' -sections of the Emacs manual for details, especially for the key -bindings active in the `*Python*' buffer. - -With optional \\[universal-argument], the user is prompted for the -flags to pass to the Python interpreter. This has no effect when this -command is used to switch to an existing process, only when a new -process is started. If you use this, you will probably want to ensure -that the current arguments are retained (they will be included in the -prompt). This argument is ignored when this function is called -programmatically. - -Note: You can toggle between using the CPython interpreter and the -JPython interpreter by hitting \\[python-toggle-shells]. This toggles -buffer local variables which control whether all your subshell -interactions happen to the `*JPython*' or `*Python*' buffers (the -latter is the name used for the CPython buffer). - -Warning: Don't use an interactive Python if you change sys.ps1 or -sys.ps2 from their default values, or if you're running code that -prints `>>> ' or `... ' at the start of a line. `python-mode' can't -distinguish your output from Python's output, and assumes that `>>> ' -at the start of a line is a prompt from Python. Similarly, the Emacs -Shell mode code assumes that both `>>> ' and `... ' at the start of a -line are Python prompts. Bad things can happen if you fool either -mode. - -Warning: If you do any editing *in* the process buffer *while* the -buffer is accepting output from Python, do NOT attempt to `undo' the -changes. Some of the output (nowhere near the parts you changed!) may -be lost if you do. This appears to be an Emacs bug, an unfortunate -interaction between undo and process filters; the same problem exists in -non-Python process buffers using the default (Emacs-supplied) process -filter." - (interactive "P") - (require 'ansi-color) ; For ipython - ;; Set the default shell if not already set - (when (null python-which-shell) - (python-toggle-shells python-default-interpreter)) - (let ((args python-which-args)) - (when (and argprompt - (called-interactively-p 'interactive) - (fboundp 'split-string)) - ;; TBD: Perhaps force "-i" in the final list? - (setq args (split-string - (read-string (concat python-which-bufname - " arguments: ") - (concat - (mapconcat 'identity python-which-args " ") " ") - )))) - (switch-to-buffer-other-window - (apply 'make-comint python-which-bufname python-which-shell nil args)) - (set-process-sentinel (get-buffer-process (current-buffer)) - 'python-sentinel) - (python--set-prompt-regexp) - (add-hook 'comint-output-filter-functions - 'python-comint-output-filter-function nil t) - ;; pdbtrack - (set-syntax-table python-mode-syntax-table) - (use-local-map python-shell-map))) - (defun python-pdbtrack-toggle-stack-tracking (arg) (interactive "P") (if (not (get-buffer-process (current-buffer)))