GitHub - fgallina/python.el: Python's flying circus support for Emacs (original) (raw)

Python.el

python.el is now distributed with Emacs; this repository is no longer maintained.

Info

Install

If you are using Emacs 24.3 you already have a version of python.el. If you are using an Emacs 24.x prior 24.3 or you want to update your copy with some of the enhancements happening on Emacs add the following snippet in your .emacs:

(add-to-list 'load-path user-emacs-directory)

(defun my:ensure-python.el (&optional branch overwrite) "Install python.el from BRANCH. After the first install happens the file is not overwritten again unless the optional argument OVERWRITE is non-nil. When called interactively python.el will always be overwritten with the latest version." (interactive (list (completing-read "Install python.el from branch: " (list "master" "emacs-24") nil t) t)) (let* ((branch (or branch "master")) (url (format (concat "http://git.savannah.gnu.org/cgit/emacs.git/plain" "/lisp/progmodes/python.el?h=%s") branch)) (destination (expand-file-name "python.el" user-emacs-directory)) (write (or (not (file-exists-p destination)) overwrite))) (when write (with-current-buffer (url-retrieve-synchronously url) (delete-region (point-min) (1+ url-http-end-of-headers)) (write-file destination)) (byte-compile-file destination t) destination)))

(my:ensure-python.el)

The master branch does its best to remain compatible with Emacs 24.x but it may break, although fixing compatibility breakage is priority (fill a bug report if you happen to find this). The "emacs-24" tends to be safer but new features are not added into it.

Whatever flavor you choose, if you are using a version prior to Emacs 24.3 you need cl-lib[0] which is available from GNU ELPA[1] package archive.

[0] http://elpa.gnu.org/packages/cl-lib.html[1] http://elpa.gnu.org/

Alternate method with el-get

If you are using el-get already you can install python24 for the current emacs-24 branch version or python for the master branch.

Introduction

This is now the official Python major mode for GNU Emacs.

It aims to provide the stuff you'll expect from a major mode for python editing while keeping it simple.

Currently it implements Syntax highlighting, Indentation, Movement, Shell interaction, Shell completion, Shell virtualenv support, Pdb tracking, Symbol completion, Skeletons, FFAP, Code Check, Eldoc, Imenu.

The code is well organized in parts with some clean sensitive naming.

Requirements

None, besides Emacs>=24.

Emacs 23?

Latest know version to work with Emacs 23 can be found athttps://github.com/fgallina/python.el/tree/emacs23 any functionality/bugfixing back-port that may (or may not) happen in the future will be placed there.

Bug Reports

The github bug-tracker is being deprecated.

To report bugs, or to contribute fixes and improvements, use the built-in Emacs bug reporter (M-x report-emacs-bug) or send email tobug-gnu-emacs@gnu.org. You can browse Emacs bug database at debbugs.gnu.org. For more information on contributing, see the CONTRIBUTE file (distributed with Emacs).

License

python.el is free software under the GPL v3, see LICENSE file for details.