From 6d0f1c9e5556d61958ac3369c0668dc1a0b2084f Mon Sep 17 00:00:00 2001 From: Christoph Scholtes Date: Wed, 30 Mar 2011 16:44:07 -0600 Subject: * 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. --- lisp/progmodes/python.el | 161 ----------------------------------------------- 1 file changed, 161 deletions(-) (limited to 'lisp/progmodes/python.el') 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))) -- cgit v1.2.1 From e02f48d76bfd57f014ffbe3ba56b62f2d5ccc794 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Fri, 22 Apr 2011 20:44:26 +0200 Subject: lisp/progmodes/*.el: Lexical-binding cleanup. --- lisp/progmodes/python.el | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'lisp/progmodes/python.el') diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 0cbb8c186cc..a7851c54356 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2495,7 +2495,7 @@ with skeleton expansions for compound statement templates. ;; doesn't seem to work properly. (add-to-list 'hs-special-modes-alist `(python-mode "^\\s-*\\(?:def\\|class\\)\\>" nil "#" - ,(lambda (arg) + ,(lambda (_arg) (python-end-of-defun) (skip-chars-backward " \t\n")) nil)) @@ -2554,7 +2554,7 @@ Runs `jython-mode-hook' after `python-mode-hook'." (setq overlay-arrow-position nil python-pdbtrack-is-tracking-p nil))) -(defun python-pdbtrack-track-stack-file (text) +(defun python-pdbtrack-track-stack-file (_text) "Show the file indicated by the pdb stack entry line, in a separate window. Activity is disabled if the buffer-local variable @@ -2666,8 +2666,8 @@ problem." ) ) -(defun python-pdbtrack-grub-for-buffer (funcname lineno) - "Find recent python-mode buffer named, or having function named funcname." +(defun python-pdbtrack-grub-for-buffer (funcname _lineno) + "Find recent Python mode buffer named, or having function named FUNCNAME." (let ((buffers (buffer-list)) buf got) @@ -2725,7 +2725,7 @@ comint believe the user typed this string so that (interactive) (python-pdbtrack-toggle-stack-tracking 0)) -(defun python-sentinel (proc msg) +(defun python-sentinel (_proc _msg) (setq overlay-arrow-position nil)) (provide 'python) -- cgit v1.2.1 From ce1539b46ddb8b45aadf70888f6e42e39d944865 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Fri, 13 May 2011 14:44:48 +0200 Subject: lisp/progmodes/python.el: Highlight keyword "nonlocal" (bug#8639). --- lisp/progmodes/python.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lisp/progmodes/python.el') diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index d21137b3080..86f82432578 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -100,7 +100,9 @@ "import" "in" "is" "lambda" "not" "or" "pass" "print" "raise" "return" "try" "while" "with" "yield" ;; Not real keywords, but close enough to be fontified as such - "self" "True" "False") + "self" "True" "False" + ;; Python 3 + "nonlocal") symbol-end) (,(rx symbol-start "None" symbol-end) ; see § Keywords in 2.7 manual . font-lock-constant-face) -- cgit v1.2.1 From 4f91a8160fe71295b7ad4d6e3f90f004caa3546c Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 23 May 2011 14:57:17 -0300 Subject: Don't quote lambda expressions with `quote'. --- lisp/progmodes/python.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lisp/progmodes/python.el') diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 67a51dfbeee..e35fc89618a 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2380,7 +2380,7 @@ without confirmation." (features (cons 'python-mode features))) ; and requires this (brm-init) ; second line of normal recipe (remove-hook 'python-mode-hook ; undo this from `brm-init' - '(lambda () (easy-menu-add brm-menu))) + (lambda () (easy-menu-add brm-menu))) (easy-menu-define python-brm-menu python-mode-map "Bicycle Repair Man" -- cgit v1.2.1 From f86307039d8a02d5c76a222b9e7440b2f5066f36 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 23 May 2011 20:38:35 -0700 Subject: * lisp/progmodes/python.el (brm-menu): Declare. --- lisp/progmodes/python.el | 1 + 1 file changed, 1 insertion(+) (limited to 'lisp/progmodes/python.el') diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index e35fc89618a..b99cad1d081 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2361,6 +2361,7 @@ Interactively, prompt for the name with completion." (autoload 'pymacs-load "pymacs" nil t) (autoload 'brm-init "bikemacs") +(defvar brm-menu) ;; I'm not sure how useful BRM really is, and it's certainly dangerous ;; the way it modifies files outside Emacs... Also note that the -- cgit v1.2.1 From c5cde04220c3961df41d290dfe3ddbcba821fa26 Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Wed, 15 Jun 2011 07:07:48 -0700 Subject: Derive some programming modes from prog-mode. * lisp/progmodes/python.el (python-mode): Derive from prog-mode. * lisp/progmodes/ps-mode.el (ps-mode): * lisp/progmodes/mixal-mode.el (mixal-mode): * lisp/progmodes/ld-script.el (ld-script-mode): Likewise. --- lisp/progmodes/python.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lisp/progmodes/python.el') diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index b99cad1d081..3d243f14f07 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2420,7 +2420,7 @@ without confirmation." (defvar python-mode-running) ;Dynamically scoped var. ;;;###autoload -(define-derived-mode python-mode fundamental-mode "Python" +(define-derived-mode python-mode prog-mode "Python" "Major mode for editing Python files. Turns on Font Lock mode unconditionally since it is currently required for correct parsing of the source. -- cgit v1.2.1