mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-24 07:20:37 +00:00
* 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.
This commit is contained in:
parent
3e2d70fd42
commit
6d0f1c9e55
@ -1,3 +1,12 @@
|
||||
2011-03-30 Christoph Scholtes <cschol2112@googlemail.com>
|
||||
|
||||
* 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 <monnier@iro.umontreal.ca>
|
||||
|
||||
* minibuffer.el (completion-table-dynamic): Optimize `boundaries'.
|
||||
|
@ -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)))
|
||||
|
Loading…
Reference in New Issue
Block a user