Commit graph

804 commits

Author SHA1 Message Date
Fabián Ezequiel Gallina 656f99beeb Fix completion retrieval parsing.
* progmodes/python.el (python-mode):
(python-util-strip-string): New function.
(python-shell-completion-get-completions): Use it.

* automated/python-tests.el (python-util-strip-string-1): New test.

Fixes: debbugs:17209
2014-06-21 11:14:54 -03:00
Fabián Ezequiel Gallina 3114d9e702 Enhancements for outline integration.
* lisp/progmodes/python.el (python-mode): Properly set
outline-heading-end-regexp so that comments after colons for
defuns are supported.

Fixes: debbugs:17796
2014-06-21 08:26:43 -03:00
Matthias Meulien c77f4a90b2 * lisp/progmodes/python.el (import skeleton): New skeleton.
(python-mode-map): Bind it.

Fixes: debbugs:17672
2014-06-11 22:35:26 -04:00
Matthias Meulien 82fb2a08db * lisp/progmodes/python.el (class skeleton): Don't erase last char of class
name.

Fixes: debbugs:17683
2014-06-11 22:24:24 -04:00
Eric Hanchrow 846e6e843e * lisp/progmodes/python.el (run-python): Use read-shell-command. 2014-06-11 21:45:33 -04:00
Sam Steingold b8e11d4102 avoid unnecessary questions
* lisp/progmodes/python.el (python-shell-get-or-create-process):
Do not bind `current-prefix-arg' so that C-c C-z does not talk
back unless requested.
2014-05-14 14:17:05 -04:00
João Távora 7aecc2f6ca Fix triple-quoting electricity in python-mode
* lisp/progmodes/python.el (python-electric-pair-string-delimiter): Fix
triple-quoting electricity. 

* test/automated/python-tests.el (python-triple-quote-pairing): New test.
(python-syntax-after-python-backspace): New test.

Fixes: debbugs:17192
2014-04-07 00:23:45 +01:00
Juanma Barranquero fd16b061a9 lisp/progmodes/python.el: Fix docstring typos.
(defconst, python-syntax-count-quotes)
(python-indent-region, python-indent-shift-right)
(python-indent-dedent-line-backspace, python-nav-backward-sexp)
(python-nav-backward-sexp-safe, python-nav-backward-up-list)
(python-shell-prompt-block-regexp, python-shell-prompt-output-regexp)
(python-shell-prompt-pdb-regexp, python-shell-enable-font-lock)
(inferior-python-mode, python-shell-make-comint, run-python-internal)
(python-shell-buffer-substring, python-shell-send-buffer)
(python-pdbtrack-activate, python-pdbtrack-stacktrace-info-regexp)
(python-completion-complete-at-point, python-fill-docstring-style)
(python-eldoc-function, python-imenu-format-item-label)
(python-imenu-format-parent-item-label)
(python-imenu-format-parent-item-jump-label)
(python-imenu--build-tree, python-imenu-create-index)
(python-imenu-create-flat-index): Fix docstring typos.
(python-indent-context, python-shell-prompt-regexp, run-python):
Remove superfluous backslashes.
(python-indent-line, python-nav-beginning-of-defun)
(python-shell-get-buffer, python-shell-get-process)
(python-info-current-defun, python-info-current-line-comment-p)
(python-info-current-line-empty-p, python-util-popn): Doc fixes.
(python-indent-post-self-insert-function, python-shell-send-file)
(python-shell-completion-get-completions)
(python-shell-completion-complete-or-indent)
(python-eldoc--get-doc-at-point): Reflow docstrings.
2014-03-15 18:37:58 +01:00
Glenn Morris 34dc21db6e Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
Fabián Ezequiel Gallina dd27d13b50 * progmodes/python.el (python-shell-send-string):
(python-shell-send-string-no-output): Fix docstring.

Fixes: debbugs:16547
2014-02-04 16:35:52 -03:00
Paul Eggert ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Fabián Ezequiel Gallina fbcc63a317 * lisp/progmodes/python.el: Use lexical-binding.
(python-nav-beginning-of-defun): Stop searching ASAP.
2013-12-26 13:45:19 -03:00
Fabián Ezequiel Gallina 0137922173 * lisp/progmodes/python.el:
(python-nav--lisp-forward-sexp): New function.
(python-nav--lisp-forward-sexp-safe): Use it.  Rename from
python-nav-lisp-forward-sexp-safe.
(python-nav--forward-sexp): New argument SAFE allows switching
forward sexp movement behavior for parens.
(python-nav-forward-sexp): Throw errors on unterminated parens.
(python-nav-backward-sexp, python-nav-forward-sexp-safe)
(python-nav-backward-sexp-safe): New functions.
(python-shell-buffer-substring): Use
`python-nav-forward-sexp-safe'.

* test/automated/python-tests.el
(python-nav-lisp-forward-sexp-safe-1): Remove test.
(python-nav-forward-sexp-safe-1): New test.

Fixes: debbugs:16191
2013-12-25 15:07:31 -03:00
Fabián Ezequiel Gallina 89c868adee * lisp/progmodes/python.el (python-nav-beginning-of-statement): Speed
up.

Fixes: debbugs:15295
2013-12-24 16:48:40 -03:00
Fabián Ezequiel Gallina ce03045172 * lisp/progmodes/python.el (python-pdbtrack-stacktrace-info-regexp):
Also match after beginning of line.
(python-pdbtrack-set-tracked-buffer): Fix logic for remote
files.  Thanks to Russell Sim.

Fixes: debbugs:15378
2013-12-12 21:56:12 -03:00
Fabián Ezequiel Gallina bc9222c934 * lisp/progmodes/python.el (python-indent-calculate-indentation): Fix
de-denters cornercase.

* test/automated/python-tests.el (python-indent-dedenters-2): New test.

Fixes: debbugs:15731
2013-12-12 20:32:05 -03:00
Fabián Ezequiel Gallina 09faee72dd * lisp/progmodes/python.el (python-indent-context)
(python-indent-calculate-indentation): Fix auto-identation
behavior for comment blocks.

* test/automated/python-tests.el (python-indent-after-comment-1)
(python-indent-after-comment-2): New tests.

Fixes: debbugs:15916
2013-12-12 02:37:09 -03:00
Nathan Trapuzzano f54de22e65 * lisp/progmodes/python.el (python-indent-calculate-indentation): When
determining indentation, don't treat "return", "pass", etc., as
operators when they are just string constituents. 

* automated/python-test.el (python-indent-block-enders-1): Rename
from python-indent-block-enders.
(python-indent-block-enders-2): New test.

Fixes: debbugs:15812
2013-12-12 00:47:41 -03:00
Stefan Monnier bd15d9d1ad * lisp/progmodes/python.el (python-mode-map): Remove binding for ":".
(python-indent-electric-colon): Remove command.
(python-indent-post-self-insert-function): Integrate the previous code
of python-indent-electric-colon.  Make it conditional on
electric-indent-mode.
(python-mode): Add ?: to electric-indent-chars.
Move python-indent-post-self-insert-function to the end of
post-self-insert-hook.
2013-11-28 21:03:39 -05:00
Glenn Morris 0bf3f0fadf * lisp/progmodes/python.el (python-indent-guess-indent-offset):
Avoid corner-case error.

Fixes: debbugs:15975
2013-11-25 22:15:49 -05:00
Glenn Morris 3cfb6af3af * python.el (python-shell-send-file): Add option to delete file when done.
(python-shell-send-string, python-shell-send-region): Use it.

Fixes: debbugs:15647
2013-11-23 11:39:50 -08:00
Glenn Morris 40dd812fa3 Revert previous python.el change 2013-11-22 20:20:31 -08:00
Jorgen Schaefer 09b0f3d9cf * lisp/progmodes/python.el (python-shell--save-temp-file): Tiny change
Delete temp-file when done.

Fixes: debbugs:15647
2013-11-22 19:13:16 -08:00
Bozhidar Batsov ae1f1ce1e2 * lisp/progmodes/python.el (python-mode): Remove incorrect text from docstring.
* lisp/progmodes/scheme.el (scheme-mode): Remove incorrect text from docstring.
* lisp/progmodes/prolog.el (prolog-mode): Remove incorrect text from docstring.
* lisp/emacs-lisp/lisp-mode.el (lisp-mode, lisp-interaction-mode, emacs-lisp-mode):
Remove incorrect text from docstring.
2013-11-05 11:47:47 +02:00
Stefan Monnier e5afbcacfa * lisp/progmodes/python.el: Fix up last change.
(python-shell--save-temp-file): New function.
(python-shell-send-string): Use it.  Remove `msg' arg.  Don't assume
`string' comes from the current buffer.
(python-shell-send-string-no-output): Remove `msg' arg.
(python--use-fake-loc): New var.
(python-shell-buffer-substring): Obey it.  Try to compensate for the
extra coding line added by python-shell--save-temp-file.
(python-shell-send-region): Use python-shell--save-temp-file and
python-shell-send-file directly.  Add `nomain' argument.
(python-shell-send-buffer): Use python-shell-send-region.
(python-electric-pair-string-delimiter): New function.
(python-mode): Use it.
2013-11-04 14:14:58 -05:00
Stefan Monnier 195ee2f0a9 * lisp/progmodes/python.el (python-shell-get-buffer): New function.
(python-shell-get-process): Use it.
(python-shell-send-string): Always use utf-8 and add a cookie to tell
Python which encoding was used.  Don't split-string since we only care
about the first line.  Return the temp-file, if applicable.
(python-shell-send-region): Tell compile.el how to turn locations in
the temp-file into locations in the source buffer.
2013-10-29 21:28:36 -04:00
Stefan Monnier 2abb4e6560 * lisp/electric.el (electric-indent-inhibit): New var.
(electric-indent-post-self-insert-function): Use it.
* lisp/progmodes/python.el (python-mode): Set it.
2013-10-07 14:51:26 -04:00
Glenn Morris 2a08047aed Improve previous interpreter-mode-alist change
* lisp/files.el (interpreter-mode-alist): Remove \\` \\' parts.
(set-auto-mode): Don't regexp-quote elements.

* lisp/progmodes/python.el (interpreter-mode-alist): Remove \\` \\'.

* lisp/progmodes/cc-mode.el (interpreter-mode-alist):
* lisp/progmodes/ruby-mode.el (interpreter-mode-alist):
Revert previous change.

* etc/NEWS: Update.
2013-09-10 23:44:35 -07:00
Glenn Morris 93ef404dc9 Tweak previous change 2013-09-10 16:46:25 -04:00
Glenn Morris 1af4c2203c Treat interpreter-mode-alist as alist of regexps, not literals
Cf http://lists.gnu.org/archive/html/emacs-devel/2005-08/msg00472.html

* lisp/files.el (interpreter-mode-alist): Convert to regexps.
(set-auto-mode): Adapt for this. 

* lisp/progmodes/cperl-mode.el (cperl-clobber-mode-lists):
Comment out unused variable.

* lisp/progmodes/cc-mode.el (interpreter-mode-alist):
* lisp/progmodes/python.el (interpreter-mode-alist):
* lisp/progmodes/ruby-mode.el (interpreter-mode-alist): Convert to regexps.

* lisp/progmodes/sh-script.el (sh-set-shell):
No longer use interpreter-mode-alist to get list of shells.

* etc/NEWS: Mention this.

Fixes: debbugs:15306
2013-09-10 16:38:52 -04:00
Paul Eggert 71bd1a0084 Spelling fixes and tidy up a comment. 2013-09-09 09:26:38 -07:00
Stefan Monnier c0458e0b21 * lisp/subr.el (pop): Use `car-safe'.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Remove hack
to detect unused `pop' return value.

* lisp/emacs-lisp/advice.el (defadvice): Add indent rule.

* lisp/international/mule-cmds.el: Require CL.
(find-coding-systems-for-charsets): Avoid add-to-list.
(sanitize-coding-system-list): New function, extracted from
select-safe-coding-system-interactively.
(select-safe-coding-system-interactively): Use it.
(read-input-method-name): Accept symbols for `default'.

* lisp/progmodes/python.el (python-nav-beginning-of-block): Remove unused
var `block-regexp'.
(python-nav--forward-sexp): Remove unused var `re-search-fn'.
(python-fill-string): Remove unused var `marker'.
(python-skeleton-add-menu-items): Remove unused var `items'.
2013-09-04 23:46:34 -04:00
Fabián Ezequiel Gallina 96edb67781 Format code sent to Python shell for robustness.
* progmodes/python.el (python-shell-buffer-substring): New
function.
(python-shell-send-region, python-shell-send-buffer): Use it.
2013-09-02 10:56:03 -03:00
Fabián Ezequiel Gallina e5c144d64d * progmodes/python.el (python-nav-if-name-main): New command. 2013-09-02 00:37:18 -03:00
Fabián Ezequiel Gallina cd16c5f1f5 * progmodes/python.el (python-shell-completion-get-completions):
Drop use of deleted `comint-last-prompt-overlay'.
2013-09-02 00:21:13 -03:00
Stefan Monnier 9e89d835b0 * lisp/progmodes/python.el (python-font-lock-keywords): Don't return nil
from a matcher-function unless there's no more matches.

Fixes: debbugs:15161
2013-08-26 22:41:41 -04:00
Paul Eggert 526e5233cc Spelling fixes. 2013-08-15 22:15:51 -07:00
Fabián Ezequiel Gallina ad75644970 * lisp/progmodes/python.el (python-imenu--build-tree)
(python-imenu--put-parent): Simplify and Fix (GH bug 146).

* test/automated/python-tests.el (python-imenu-create-index-4)
(python-imenu-create-flat-index-2): New tests.
2013-08-13 13:36:32 -03:00
Fabián Ezequiel Gallina 1f0480d4cd * lisp/progmodes/python.el (python-imenu--build-tree): Fix corner case
in nested defuns.

* test/automated/python-tests.el (python-imenu-create-index-2)
(python-imenu-create-index-3): New tests.
2013-07-12 22:55:58 -03:00
Glenn Morris e0df2d1420 * lisp/progmodes/python.el (ffap-alist): Declare. 2013-06-18 00:17:58 -07:00
Glenn Morris f46305c86c Merge from emacs-24; up to 2012-12-27T20:09:45Z!juri@jurta.org 2013-06-01 13:21:22 -07:00
Fabián Ezequiel Gallina 20992a8504 * progmodes/python.el: Fix typo in commentary. 2013-05-26 06:06:02 -03:00
Fabián Ezequiel Gallina f782d53133 * progmodes/python.el (python-indent-block-enders): Add break,
continue and raise keywords.
2013-05-26 05:55:02 -03:00
Glenn Morris a931698afd Fix a bunch of custom types (thank you cus-test.el)
* lisp/bookmark.el (bookmark-search-delay):
* lisp/cus-start.el (vertical-centering-font-regexp):
* lisp/ps-mule.el (ps-mule-font-info-database-default):
* lisp/ps-print.el (ps-default-fg, ps-default-bg):
* lisp/type-break.el (type-break-good-break-interval):
* lisp/whitespace.el (whitespace-indentation-regexp)
(whitespace-space-after-tab-regexp):
* lisp/emacs-lisp/testcover.el (testcover-1value-functions)
(testcover-noreturn-functions, testcover-progn-functions)
(testcover-prog1-functions):
* lisp/emulation/viper-init.el (viper-emacs-state-cursor-color):
* lisp/erc/erc-desktop-notifications.el (erc-notifications-icon):
* lisp/eshell/em-glob.el (eshell-glob-translate-alist):
* lisp/gnus/gnus-art.el (gnus-article-date-headers, gnus-blocked-images):
* lisp/gnus/gnus-async.el (gnus-async-post-fetch-function):
* lisp/gnus/gnus-gravatar.el (gnus-gravatar-size, gnus-gravatar-properties):
* lisp/gnus/gnus-html.el (gnus-html-image-cache-ttl):
* lisp/gnus/gnus-notifications.el (gnus-notifications-timeout):
* lisp/gnus/gnus-picon.el (gnus-picon-properties):
* lisp/gnus/gnus-util.el (gnus-completion-styles):
* lisp/gnus/gnus.el (gnus-other-frame-resume-function):
* lisp/gnus/message.el (message-user-organization-file)
(message-cite-reply-position):
* lisp/gnus/nnir.el (nnir-summary-line-format)
(nnir-retrieve-headers-override-function):
* lisp/gnus/shr-color.el (shr-color-visible-luminance-min):
* lisp/gnus/shr.el (shr-blocked-images):
* lisp/gnus/spam-report.el (spam-report-resend-to):
* lisp/gnus/spam.el (spam-summary-exit-behavior):
* lisp/mh-e/mh-e.el (mh-sortm-args, mh-default-folder-for-message-function):
* lisp/play/tetris.el (tetris-tty-colors):
* lisp/progmodes/cpp.el (cpp-face-default-list):
* lisp/progmodes/flymake.el (flymake-allowed-file-name-masks):
* lisp/progmodes/idlw-help.el (idlwave-help-browser-generic-program)
(idlwave-help-browser-generic-args):
* lisp/progmodes/make-mode.el (makefile-special-targets-list):
* lisp/progmodes/python.el (python-shell-virtualenv-path):
* lisp/progmodes/verilog-mode.el (verilog-active-low-regexp)
(verilog-auto-input-ignore-regexp, verilog-auto-inout-ignore-regexp)
(verilog-auto-output-ignore-regexp, verilog-auto-tieoff-ignore-regexp)
(verilog-auto-unused-ignore-regexp, verilog-typedef-regexp):
* lisp/textmodes/reftex-vars.el (reftex-format-label-function):
* lisp/textmodes/remember.el (remember-diary-file):
Fix custom types.

* lisp/cedet/semantic/db-find.el (semanticdb-find-throttle-custom-list):
Fix value.

* lisp/gnus/gnus-salt.el (gnus-selected-tree-face): Fix default.
2013-05-08 21:40:20 -04:00
Fabián Ezequiel Gallina 6bd1a072a8 Small fixes to 2013-04-19T02:31:09Z!fgallina@gnu.org
* lisp/ChangeLog: Fix Changelog Entry.

* progmodes/python.el (python-imenu-create-flat-index): Remove
  leftover `message' call and give credit to old
  imenu--flatten-index-alist.
2013-04-19 10:29:41 -03:00
Fabián Ezequiel Gallina adc3121366 New faster Imenu implementation.
* lisp/progmodes/python.el:
(python-imenu-prev-index-position):
(python-imenu-format-item-label-function)
(python-imenu-format-parent-item-label-function)
(python-imenu-format-parent-item-jump-label-function):
New vars.
(python-imenu-format-item-label)
(python-imenu-format-parent-item-label)
(python-imenu-format-parent-item-jump-label)
(python-imenu--put-parent, python-imenu--build-tree)
(python-imenu-create-index, python-imenu-create-flat-index)
(python-util-popn): New functions.
(python-mode): Set imenu-create-index-function to
python-imenu-create-index.

* test/automated/python-tests.el (python-imenu-prev-index-position-1):
Removed test.
(python-imenu-create-index-1, python-imenu-create-flat-index-1):
New tests.

Fixes: debbugs:14058
2013-04-18 23:31:09 -03:00
Fabián Ezequiel Gallina 04754d3612 * lisp/progmodes/python.el (python-nav--syntactically): Fix cornercases
and do not care about match data.

* test/automated/python-tests.el (python-nav-backward-defun-2)
(python-nav-backward-defun-3, python-nav-forward-defun-2)
(python-nav-forward-defun-3): New tests.
2013-04-17 19:23:13 -03:00
Fabián Ezequiel Gallina 083850a6a1 New defun movement commands.
* lisp/progmodes/python.el (python-nav--syntactically)
(python-nav--forward-defun, python-nav-backward-defun)
(python-nav-forward-defun): New functions.

* test/automated/python-tests.el (python-nav-backward-defun-1)
(python-nav-forward-defun-1): New tests.
2013-04-17 02:08:20 -03:00
Fabián Ezequiel Gallina 619ed6e18a * progmodes/python.el (python-syntax--context-compiler-macro): New defun.
(python-syntax-context): Use named compiler-macro for backwards
compatibility with Emacs 24.x.
2013-04-16 23:52:50 -03:00
Stefan Monnier 351edece98 * lisp/progmodes/python.el (python-mode-skeleton-abbrev-table): Rename from
python-mode-abbrev-table.
(python-skeleton-define): Adjust accordingly.
(python-mode-abbrev-table): New table that inherits from it so that
python-skeleton-autoinsert does not affect non-skeleton abbrevs.
* lisp/abbrev.el (abbrev--symbol): New function, extracted from abbrev-symbol.
(abbrev-symbol): Use it.
(abbrev--before-point): Use it since we already handle inheritance.
2013-04-16 13:28:11 -04:00
Glenn Morris 8d3655be5a Merge from emacs-24; up to 2012-12-26T16:22:18Z!michael.albinus@gmx.de 2013-03-30 09:55:47 -07:00
Fabián Ezequiel Gallina c9886b39eb Un-indent after "pass" and "return" statements
* lisp/progmodes/python.el (python-indent-block-enders): New var.
(python-indent-calculate-indentation): Use it.

* test/automated/python-tests.el
(python-indent-block-enders): New test.
(python-info-current-defun-2): Fix test.

Fixes: debbugs:13888
2013-03-25 22:55:11 -03:00
Glenn Morris cfbf790d80 Merge from emacs-24; up to 2012-12-21T07:35:02Z!ueno@gnu.org 2013-02-21 08:56:49 -08:00
Fabián Ezequiel Gallina c132ab7921 * progmodes/python.el (python-info-current-defun): Enhance
match-data cluttering prevention.
2013-02-20 17:41:46 -03:00
Fabián Ezequiel Gallina 33c0cb2549 * progmodes/python.el (python-info-current-defun): Fix failed
defun name retrieval because of unwanted match-data cluttering.
2013-02-19 15:53:57 -03:00
Glenn Morris 872faefb07 Merge from emacs-24; up to 2012-12-20T16:09:05Z!dmantipov@yandex.ru 2013-02-18 19:29:28 -08:00
Fabián Ezequiel Gallina 2af3b9c16e * progmodes/python.el (python-indent-context): Fix
python-info-line-ends-backslash-p call.
(python-info-line-ends-backslash-p)
(python-info-beginning-of-backslash): Respect line-number
argument.
(python-info-current-line-comment-p): Fix behavior when not at
beginning-of-line.
(python-util-position): Remove function.
(python-util-goto-line): New function.
2013-02-19 00:18:32 -03:00
Paul Eggert 648e5523fb Merge from emacs-24; up to 2012-12-19T13:01:16Z!michael.albinus@gmx.de 2013-02-14 22:35:54 -08:00
Fabián Ezequiel Gallina ea5f4192b9 * progmodes/python.el: Explain how to restore "cc-mode"-like
forward-sexp movement in header documentation.
(python-nav--forward-sexp): Behave like emacs-lisp-mode in
comments and strings (GH bug 114).

Fixes: debbugs:13642
2013-02-13 21:42:11 -03:00
Fabián Ezequiel Gallina dcbec5e2e6 * progmodes/python.el (python-info-current-defun): Fix current
defun detection.

Fixes: debbugs:13618
2013-02-13 20:07:59 -03:00
Paul Eggert d9c287e589 Spelling fixes. 2013-02-01 22:04:06 -08:00
Glenn Morris 741d511359 Merge from emacs-24; up to 2012-12-13T00:52:17Z!yamaoka@jpl.org 2013-01-30 09:16:30 -08:00
Fabián Ezequiel Gallina 6ff930c3d2 * progmodes/python.el
(python-pdbtrack-comint-output-filter-function): Enhancements on
stacktrace detection.  (thanks @gnovak)
2013-01-30 12:02:58 -03:00
Glenn Morris 3f82a88a05 Merge from emacs-24; up to 2012-12-12T22:29:54Z!yamaoka@jpl.org 2013-01-30 00:07:37 -08:00
Fabián Ezequiel Gallina e44970863d * progmodes/python.el (python-shell-parse-command): Find
python-shell-interpreter with modified environment.
2013-01-28 18:59:42 -03:00
Glenn Morris 830e46e61b Merge from emacs-24; up to 2012-12-11T18:52:31Z!monnier@iro.umontreal.ca 2013-01-24 20:41:39 -08:00
Fabián Ezequiel Gallina 345f866e04 * lisp/progmodes/python.el: Enhancements to header documentation about
skeletons.

Fixes: debbugs:5716
2013-01-23 22:24:09 -03:00
Glenn Morris c0511b5769 Merge from emacs-24; up to 2012-12-10T20:27:33Z!eggert@cs.ucla.edu 2013-01-13 12:03:01 -08:00
Fabián Ezequiel Gallina 5062005180 * progmodes/python.el (python-nav-end-of-statement): Fix
cornercase when handling multiline strings.
2013-01-10 00:44:12 -03:00
Paul Eggert 0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Fabián Ezequiel Gallina 6861432ebd * progmodes/python.el (python-nav-end-of-statement): Rewrite in
order to improve efficiency (Based on Daniel Colascione's
<dancol@dancol.org> patch).

Fixes: debbugs:13182
2012-12-31 17:58:57 -03:00
Fabián Ezequiel Gallina 5b63c74a17 * progmodes/python.el: Bump defgroup :version to 24.3. 2012-12-31 16:35:57 -03:00
Fabián Ezequiel Gallina df4758b82e Backported revisions 2012-12-29T12:33:33Z!fgallina@gnu.org and 2012-12-29T12:57:49Z!fgallina@gnu.org from trunk. 2012-12-31 16:27:20 -03:00
Fabián Ezequiel Gallina ccb1c17e8b * progmodes/python.el: Support other commands triggering
python-indent-line so indentation cycling continues to work.
(python-indent-trigger-commands): New defcustom.
(python-indent-line): Use it.
2012-12-29 09:57:49 -03:00
Fabián Ezequiel Gallina 16768034b2 * progmodes/python.el (python-shell-send-region): Add blank lines
for non sent code so backtraces remain correct.
2012-12-29 09:33:33 -03:00
Fabián Ezequiel Gallina 66164d2f17 * progmodes/python.el: Remove cl dependency.
(python-syntax-count-quotes): Replace incf call.
(python-fill-string): Replace setf call.
2012-12-29 08:04:55 -03:00
Glenn Morris 727f973937 Merge from emacs-24; up to 2012-11-30T04:44:52Z!cyd@gnu.org 2012-12-12 21:29:15 -08:00
Fabián Ezequiel Gallina 2c43a9adb2 * progmodes/python.el (python-skeleton-class)
(python-skeleton-def): Do not add space after defun name.
2012-12-11 04:22:55 -03:00
Glenn Morris 5c9cf0a3f9 Merge from emacs-24; up to 2012-11-20T20:06:17Z!monnier@iro.umontreal.ca 2012-11-26 19:10:32 -08:00
Fabián Ezequiel Gallina 98f99594f7 * progmodes/python.el:
(python-indent-guess-indent-offset): If indentation is guessed
make python-indent-offset variable buffer local.
2012-11-26 20:31:06 -03:00
Fabián Ezequiel Gallina 207cb73c18 Fix Imenu regression.
* progmodes/python.el:
(python-nav-beginning-of-defun): Fix forward movement when
statement(s) separates point from defun.
(python-imenu-prev-index-position): New function.
2012-11-26 18:45:58 -03:00
Stefan Monnier 141462223d * lisp/emacs-lisp/byte-run.el (defun-declarations-alist):
Allow compiler-macros to be lambda expressions.
* lisp/progmodes/python.el: Use cl-lib.  Move var declarations outside of
eval-when-compile.
(python-syntax-context): Add compiler-macro.
(python-font-lock-keywords): Simplify with De Morgan.
2012-11-19 16:30:55 -05:00
Fabián Ezequiel Gallina 2e6625b527 Fix end-of-defun misbehavior.
* progmodes/python.el (python-nav-beginning-of-defun): Rename from
python-beginning-of-defun-function.  Handle nested defuns
correctly.
(python-nav-end-of-defun): Rename from
python-end-of-defun-function.  Ensure forward movement.
(python-info-current-defun): Reimplemented to work as intended
with new fixed python-nav-{end,beginning}-of-defun.  Stop scanning
parent defuns as soon as possible.
2012-11-12 10:26:50 -03:00
Fabián Ezequiel Gallina 12fd5ee1ae * progmodes/python.el (inferior-python-mode): Fix hang in
jit-lock.

Fixes: debbugs:12645
2012-11-03 09:20:02 -03:00
Fabián Ezequiel Gallina 55cd00c8f9 * progmodes/python.el (python-mode-map): Replace
subtitute-key-definition with proper command remapping.
(python-nav--up-list): Fix behavior for blocks on the same level.
2012-10-11 21:07:25 -03:00
Fabián Ezequiel Gallina a4ff7fe145 Implemented `backward-up-list'-like navigation.
* progmodes/python.el (python-nav-up-list)
(python-nav-backward-up-list): New functions.
(python-mode-map): Define substitute key for backward-up-list to
python-nav-backward-up-list.
2012-10-08 23:07:26 -03:00
Fabián Ezequiel Gallina 24517d82a9 * progmodes/python.el (python-fill-paragraph): Rename from
python-fill-paragraph-function.  Fixed fill-paragraph for
decorators.

Fixes: debbugs:12605
2012-10-08 19:18:05 -03:00
Fabián Ezequiel Gallina 51867ae225 * progmodes/python.el (python-shell-output-filter): Handle extra
carriage return in OSX.

Fixes: debbugs:12409
2012-10-08 18:51:02 -03:00
Fabián Ezequiel Gallina a5b773c40c Fix shell handling of unbalanced quotes and parens in output.
* progmodes/python.el (python-rx-constituents): Added
string-delimiter.
(python-syntax-propertize-function): Use it.
(python-shell-output-syntax-table): New var.
(inferior-python-mode): Prevent unbalanced parens/quotes from
previous output mess with current input context.
2012-10-08 18:30:36 -03:00
Fabián Ezequiel Gallina 8dbce54cc7 Enhancements on forward-sexp movement.
* progmodes/python.el (python-nav-beginning-of-statement)
(python-nav-end-of-statement): Return point-marker.
(python-nav-forward-sexp): lisp-like forward-sexp behavior.
(python-info-current-symbol)
(python-info-statement-starts-block-p): Rename from
python-info-beginning-of-block-p.
(python-info-statement-ends-block-p): Rename from
python-info-end-of-block-p.
(python-info-beginning-of-statement-p)
(python-info-end-of-statement-p)
(python-info-beginning-of-block-p, python-info-end-of-block-p):
New functions.
2012-10-08 02:19:15 -03:00
Fabián Ezequiel Gallina f27c99dc7e * progmodes/python.el (inferior-python-mode)
(python-shell-make-comint): Fixed initialization of local
variables copied from parent buffer.
2012-10-07 16:37:37 -03:00
Fabián Ezequiel Gallina be0d5baecc Enhancements to indentation.
* lisp/progmodes/python.el (python-indent-context): Give priority to
inside-string context.  Make comments indentation markers.
(python-indent-region): Do not mess with strings, unless it's the
enclosing set of quotes.
2012-10-07 13:13:52 -03:00
Fabián Ezequiel Gallina 08f18c3d4d Fix shell output retrieval and comint-prompt-regexp init.
* progmodes/python.el (inferior-python-mode):
(python-shell-make-comint): Fix initialization of
comint-prompt-regexp from copied file local variables.
(python-shell-fetched-lines): Remove var.
(python-shell-output-filter-in-progress): Rename from
python-shell-fetch-lines-in-progress.
(python-shell-output-filter-buffer): Rename from
python-shell-fetch-lines-string.
(python-shell-fetch-lines-filter): Delete function.
(python-shell-output-filter): New function.
(python-shell-send-string-no-output): Use them.
2012-10-07 01:33:16 -03:00
Fabián Ezequiel Gallina 7fa36ccb71 Enhancements to docstring formatting when filling paragraphs.
* progmodes/python.el (python-fill-docstring-style): Rename from
python-fill-string-style.  Added new style.
(python-fill-string): Use new style.  Better checks for
docstrings.
2012-10-05 10:42:08 -03:00
Paul Eggert 735135f9bc Spelling fixes. 2012-10-04 22:57:24 -07:00
Fabián Ezequiel Gallina fc345011a6 Allow user to set docstring style for fill-paragraph.
* progmodes/python.el
(python-fill-comment-function, python-fill-string-function)
(python-fill-decorator-function, python-fill-paren-function):
Remove :safe for defcustoms.
(python-fill-string-style): New defcustom
(python-fill-paragraph-function): Enhanced context detection.
(python-fill-string): Honor python-fill-string-style settings.
2012-10-04 13:39:37 -03:00
Fabián Ezequiel Gallina a1a9f411ab Fix cornercase for string syntax.
* progmodes/python.el (python-syntax-propertize-function):
Simplify and enhance the regexp for unescaped quotes.  Now it also
matches quotes in weird situations like the single quote in
"something\"'".
(python-syntax-stringify): Simplify num-quotes detecting code.
2012-10-03 18:53:09 -03:00
Fabián Ezequiel Gallina 0478776bb7 Shell output catching a la gud-gdb.
* progmodes/python.el (python-shell-fetch-lines-in-progress)
(python-shell-fetch-lines-string, python-shell-fetched-lines): New
Vars.
(python-shell-fetch-lines-filter): New function.
(python-shell-send-string-no-output): Use them.
2012-09-30 21:53:44 -03:00
Fabián Ezequiel Gallina 5727eadff9 Enhancements for triple-quote string syntax.
* progmodes/python.el (python-syntax-propertize-function): Match
both quote cases in one regexp.
(python-syntax-stringify): Handle matches properly.
2012-09-30 17:14:02 -03:00
Fabián Ezequiel Gallina dc4f818b02 * progmodes/python.el:
(python-shell-send-buffer): Better handling of "if __name__ ==
'__main__':" conditionals when sending the buffer.
2012-09-24 20:15:40 -03:00
Fabián Ezequiel Gallina 8fb8b88f2d Enhancements for triple-quote string syntax.
* progmodes/python.el (python-quote-syntax): Remove.
(python-syntax-propertize-function): New value.
(python-syntax-count-quotes, python-syntax-stringify): New
functions.
2012-09-24 14:54:46 -03:00
Fabián Ezequiel Gallina 095bb82357 * progmodes/python.el (python-indent-line): More consistent cursor
movement behavior.
2012-09-23 15:21:33 -03:00
Matt McClure 9dd40b0005 * progmodes/python.el (python-shell-send-string): When
default-directory is remote, create temp file on remote
filesystem.
(python-shell-send-file): When file is remote, pass local view of
file paths to remote Python interpreter.  (Bug#12340)
2012-09-07 16:53:15 +02:00
Glenn Morris 2a1e24765b Replace version 24.2 with 24.3 where appropriate (hopefully) 2012-08-15 09:29:11 -07:00
Fabián Ezequiel Gallina 925411b4ce * progmodes/python.el (python-shell-send-string):
(python-shell-send-setup-code): Do not use `format' with
`message'.
2012-08-14 10:39:27 -03:00
Fabián Ezequiel Gallina 5beed58664 Use `completion-table-dynamic' for completion functions.
* progmodes/python.el
(python-shell-completion--do-completion-at-point)
(python-shell-completion--get-completions): Remove
functions.
(python-shell-completion-complete-at-point): New function.
(python-completion-complete-at-point): Use it.
2012-08-14 01:18:41 -03:00
Chong Yidong 1530c98e56 Remove some unnecessary bindings of same-window-* variables.
* lisp/progmodes/python.el (python-shell-get-process-name): Don't mess
with same-window-buffer-names.

* lisp/eshell/eshell.el (eshell-add-to-window-buffer-names)
(eshell-remove-from-window-buffer-names): Make obsolete.
(eshell-buffer-name, eshell-unload-hook): Don't use them.
(eshell): Just use pop-to-buffer-same-window instead.
2012-08-11 00:46:07 +08:00
Fabián Ezequiel Gallina e0cc4efac7 * progmodes/python.el (python-pdbtrack-tracked-buffer)
(python-pdbtrack-buffers-to-kill, python-shell-internal-buffer)
(python-shell-internal-last-output): Use make-local-variable
instead of make-variable-buffer-local.
2012-08-09 01:08:29 -03:00
Fabián Ezequiel Gallina 489af14fa5 * progmodes/python.el: Enhancements to forward-sexp.
(python-nav-forward-sexp): Rename from
python-nav-forward-sexp-function.
(python-nav--forward-sexp, python-nav--backward-sexp): New
functions.
2012-08-09 00:30:37 -03:00
Fabián Ezequiel Gallina 2d79ec42a2 * progmodes/python.el Fixed defsubst warning.
(python-syntax-context) Rename from python-info-ppss-context.
(python-syntax-context-type): Rename from
python-info-ppss-context-type.
(python-syntax-comment-or-string-p): Rename from
python-info-ppss-comment-or-string-p.
2012-08-07 23:30:08 -03:00
Fabián Ezequiel Gallina ba7b015436 Make internal shell process buffer names start with space.
* progmodes/python.el (python-shell-make-comint): Add optional
argument INTERNAL.
(run-python-internal): Use it.
(python-shell-internal-get-or-create-process): Check for new
internal buffer names.
2012-08-06 00:27:43 -03:00
Fabián Ezequiel Gallina 0d49da68b9 Shell processes: enhancements to startup and CEDET compatibility.
* progmodes/python.el (python-shell-send-setup-max-wait): Delete var.
(python-shell-make-comint): accept-process-output at startup.
(run-python-internal): Set inferior-python-mode-hook to nil.
(python-shell-internal-get-or-create-process): call sit-for.
(python-preoutput-result): Add obsolete alias.
(python-shell-internal-send-string): Use it.
(python-shell-send-setup-code): Remove call to
accept-process-output.
2012-07-31 20:43:31 -03:00
Fabián Ezequiel Gallina d77149619b * progmodes/python.el (run-python-internal): Disable font lock for
internal shells.
2012-07-31 00:31:10 -03:00
Fabián Ezequiel Gallina aa81af715c Consistent completion in inferior python with emacs -nw.
* progmodes/python.el (inferior-python-mode): replace "<tab>"
binding in inferior-python-mode-map with "\t".
(python-shell-completion-complete-at-point)
(python-completion-complete-at-point): Remove interactive spec.
2012-07-27 13:42:19 -03:00
Fabián Ezequiel Gallina a90dfb9511 * lisp/progmodes/python.el (python-mode-map): Added keybinding for
run-python.
(python-shell-make-comint): Fix pop-to-buffer call.
(run-python): Autoload.  New arg SHOW.
(python-shell-get-or-create-process): Do not pop python process
buffer.
2012-07-27 09:38:19 -03:00
Fabián Ezequiel Gallina 1d29cc7da7 Enhancements to ppss related code (thanks Stefan).
* progmodes/python.el (python-indent-context)
(python-indent-calculate-indentation, python-indent-dedent-line)
(python-indent-electric-colon, python-nav-forward-block)
(python-mode-abbrev-table)
(python-info-assignment-continuation-line-p): Simplified checks
for ppss context.
(python-info-continuation-line-p): Cleanup.
(python-info-ppss-context): Do not catch 'quote.
(python-info-ppss-context-type)
(python-info-ppss-comment-or-string-p): Simplify.
2012-07-18 21:55:55 -03:00
Fabián Ezequiel Gallina d617c457bd progmodes/python.el: Set file local vars at end of file and clean tabs. 2012-07-18 16:04:06 -03:00
Fabián Ezequiel Gallina d583cbe681 * progmodes/python.el: Enhancements to eldoc support.
(python-info-current-symbol): New function.
(python-eldoc-at-point): Use python-info-current-symbol.
(python-info-current-defun): Fix cornercase on first defun scan.
(python-eldoc--get-doc-at-point): Use python-info-current-symbol
and signal error when no inferior python process is available.
2012-07-18 15:40:03 -03:00
Fabián Ezequiel Gallina 0a60bc1071 New utility functions + python-info-ppss-context fix.
* progmodes/python.el (python-info-beginning-of-block-statement-p)
(python-info-ppss-comment-or-string-p): New functions.
(python-info-ppss-context): Small fix for string check.

Fixes: debbugs:11910
2012-07-17 17:27:49 -03:00
Fabián Ezequiel Gallina bcdc27d7d4 Final renames and doc fixes for movement commands.
* progmodes/python.el (python-nav-beginning-of-statement): Rename
from python-nav-statement-start.
(python-nav-end-of-statement): Rename from
python-nav-statement-end.
(python-nav-beginning-of-block): Rename from
python-nav-block-start.
(python-nav-end-of-block): Rename from python-nav-block-end.

Fixes: debbugs:11899
2012-07-17 15:02:53 -03:00
Fabián Ezequiel Gallina 191da00ee2 * progmodes/python.el (python-shell-send-string-no-output): Allow
accept-process-output to quit, keeping shell process ready for
future interactions.

Fixes: debbugs:11868
2012-07-17 13:47:58 -03:00
Fabián Ezequiel Gallina 758e556a7a * progmodes/python.el: Simplified imenu implementation.
(python-nav-jump-to-defun): Remove command.
(python-mode-map): Use `imenu' instead.
(python-nav-list-defun-positions-cache)
(python-imenu-include-defun-type, python-imenu-make-tree)
(python-imenu-subtree-root-label, python-imenu-index-alist):
Remove vars.
(python-nav-list-defun-positions, python-nav-read-defun)
(python-imenu-tree-assoc, python-imenu-make-element-tree)
(python-imenu-make-tree, python-imenu-create-index): Remove
functions.
(python-mode): Update to interact with imenu by setting
`imenu-extract-index-name-function' only.
2012-07-16 14:18:39 -03:00
Fabián Ezequiel Gallina 032d23ab66 * progmodes/python.el: Enhancements to navigation commands.
(python-nav-backward-sentence)
(python-nav-forward-sentence): Remove.
(python-nav-backward-statement, python-nav-forward-statement)
(python-nav-statement-start, python-nav-statement-end)
(python-nav-backward-block, python-nav-forward-block)
(python-nav-block-start, python-nav-block-end)
(python-nav-forward-sexp-function)
(python-info-current-line-comment-p)
(python-info-current-line-empty-p): New functions.
(python-indent-context): Use `python-nav-statement-start'.
2012-07-16 10:13:01 -03:00
Chong Yidong 0e9e6c6abc Mark python-mode abbrevs as system abbrevs.
* progmodes/python.el (python-skeleton-define): Mark abbrevs as
system abbrevs.

* ansi-color.el (ansi-color-apply-on-region): Doc fix.
2012-06-23 17:28:10 +08:00
Glenn Morris 68f1241189 * lisp/progmodes/python.el (python-mode): Derive from prog-mode. 2012-06-19 09:04:47 -07:00
Stefan Monnier 25f09295fa * lisp/progmodes/python.el (python-rx-constituents): Move backquote.
(python-skeleton-define, python-define-auxiliary-skeleton): Use `declare'.
2012-06-18 16:41:23 -04:00
Glenn Morris 35647f79fd Fix python.el obsolescence versions
* lisp/progmodes/python.el (python-proc, python-buffer)
(python-send-receive, python-send-string): Fix obsolete versions.
2012-06-18 14:23:59 -04:00
Glenn Morris a633e6a2b4 Add coding cookie 2012-06-18 14:04:21 -04:00
Paul Eggert 48d1354eb8 Spelling fixes. 2012-06-17 01:53:31 -07:00
Fabián Ezequiel Gallina 2d7b84eab6 lisp/progmodes/python.el: Updated Copyright years. 2012-06-14 23:22:19 -03:00
Fabián Ezequiel Gallina 9ddf3c74c8 * lisp/progmodes/python.el: (python-indent, python-guess-indent,
python-use-skeletons): New obsolete variable aliases.
  (python-indent-guess-indent-offset): Make interactive.
2012-06-14 22:33:57 -03:00
Fabián Ezequiel Gallina aeadd9a469 Migrated python-font-lock-syntactic-keywords to python-syntax-propertize-function
This is a backport of Stefan Monnier's migration to the new font-lock
machinery (introduced in 2010-09-10T23:13:42Z!monnier@iro.umontreal.ca).

New Vars:
 + python-syntax-propertize-function

Deleted Vars:
 + python-font-lock-syntactic-keywords
2012-05-17 00:03:46 -03:00
Fabián Ezequiel Gallina 09268a54ae Copyright information update 2012-05-17 00:03:45 -03:00
Fabián Ezequiel Gallina bd98267736 Revert "Merge pull request #83 from tkf/empty-triple-quote"
This reverts commit f4d086427343eb0b8bc91355388d2437c568b1f6, reversing
changes made to 8f697fd2ef23a9e1d9a06ac8ca419d76ccedb27d.

While the fix worked with empty triple quoted strings it broke simpler cases
like these:

    """
    def someting(a, b, c):
        "
    """

    or

    '''
    def someting(a, b, c):
        '
    '''

Another approach is needed for giving triple quoted string the correct syntax.
2012-05-17 00:03:45 -03:00
Fabián Ezequiel Gallina c6d3df36da Make `which-func-functions' defaults to '(python-info-current-defun) 2012-05-17 00:03:45 -03:00
Fabián Ezequiel Gallina 4289485a58 Function documentation enhancements 2012-05-17 00:03:44 -03:00
Fabián Ezequiel Gallina 8c6f9e60df New defun navigation machinery
`python-nav-beginning-of-defun' and
`python-beginning-of-defun-function' have changed and now they don't
handle decorators anymore.

`python-end-of-defun-function' is now smart enough to detect the real
ending of the current defun.

`python-shell-send-defun' always sends the outermost defun and
includes decorators. When called with prefix argument the decorators
are skipped.

`python-info-current-defun' has been modified to use the new defun
movement API.

New Functions:
  + python-info-looking-at-beginning-of-defun
2012-05-17 00:03:44 -03:00
Fabián Ezequiel Gallina 462973b5ef Enhancements on python-beginning-of-defun-function' for mark-defun' behavior.
`mark-defun' was failing when point was right at the start of a defun.
2012-05-17 00:03:43 -03:00
Fabián Ezequiel Gallina b15e880041 `python-nav-list-defun-positions' now caches defuns positions (#75)
This is a simplified version of @dandavison pull request (thanks dan!)

`python-nav-list-defun-positions' now uses
`python-nav-list-defun-positions-cache' buffer local variable to store
cached values of defun positions.

`python-nav-jump-to-defun' now benefits from this new cache and if
called with prefix argument it will invalidate it so new defuns are
scanned.

New Vars:
 + `python-nav-list-defun-positions-cache'
2012-05-17 00:03:43 -03:00
Fabián Ezequiel Gallina 0d85f46527 Enhancements to `python-end-of-defun-function' so it's not blocked by top level assignments (fixes #64) 2012-05-17 00:03:43 -03:00
Dan Davison a7a6d8ff0e Variable name change
python-shell-enable-syntax-highlighting -> python-shell-enable-font-lock
2012-05-17 00:03:42 -03:00
Fabián Ezequiel Gallina cd05d2a6b0 Enhancements to `python-indent-post-self-insert-function'
Fixed case where the paren base indentation is not 0.
2012-05-17 00:03:42 -03:00
Fabián Ezequiel Gallina cd7ab09299 Enhanced closing block notification when line is indented or a colon is inserted.
`python-indent-line' and `python-indent-electric-colon' now uses the
new `python-info-closing-block-message' function that takes care of
messaging the block the current line is closing (if applicable).

New Functions:
 + `python-info-closing-block-message'
2012-05-17 00:03:42 -03:00
Fabián Ezequiel Gallina 5eae76aed1 Readjust indentation automatically on lines with closing parens.
For this to work `python-indent-post-self-insert-function' is added to
the `post-self-insert-hook.' when python-mode is initialized.

New functions:
 + `python-indent-post-self-insert-function'
2012-05-17 00:03:42 -03:00
Fabián Ezequiel Gallina 90a41b9dc2 Removed tabs and fixed indentation in several parts. 2012-05-17 00:03:41 -03:00
Fabián Ezequiel Gallina 035c45e336 Do not call switch-to-buffer' in python-shell-get-or-create-process'
For this to work properly `run-python' now calls
`python-shell-make-comint' with the POP argument set to nil.
2012-05-17 00:03:41 -03:00
Takafumi Arakaki 8f1eba8b5e Treat empty triple quote
Fix #70
2012-05-17 00:03:41 -03:00
Fabián Ezequiel Gallina 1dae378f10 Small fix in `python-shell-send-defun' (#69 thanks mafm-git!) 2012-05-17 00:03:40 -03:00
Dan Davison b4b661d885 Customizable variable to control syntax highlighting in shell.
Default is on.
2012-05-17 00:03:40 -03:00
Dan Davison 6da55e5931 Don't send "if __name__ == '__main__':" to interpreter 2012-05-17 00:03:39 -03:00
Dan Davison 39806de381 Disregard leading whitespace when forming module completions
This allows an indented import line (e.g. in a function or method
body) to be completed.
2012-05-17 00:03:39 -03:00
Dan Davison bdfb840ec4 Deactivate mark on python-shell-send-region 2012-05-17 00:03:39 -03:00
Dan Davison 799aa2afb2 Use completion-at-point instead of comint-dynamic-complete in shell completion 2012-05-17 00:03:38 -03:00
Dan Davison 53df7818c0 Pass entire line of input to module completer
The module completer wants e.g. 'from xxx' as input, not just 'xxx'.

This change also causes all modules to be offered as completions to
'from ', whereas previously this was regarded as empty input.
2012-05-17 00:03:38 -03:00
Fabián Ezequiel Gallina 936bc8333f Enhancements on ipython 0.10 setup documentation (thanks to @tkf for the hint) 2012-05-17 00:03:38 -03:00
Fabián Ezequiel Gallina 29810afbbd Added missing dot in `python-completion-complete-at-point' error 2012-05-17 00:03:37 -03:00
Fabián Ezequiel Gallina cb37c7e369 Enhanced completion subject finding logic for `python-shell-completion--do-completion-at-point' 2012-05-17 00:03:37 -03:00
Fabián Ezequiel Gallina 0d0e6ccde6 Make python-shell-completion--do-completion-at-point' to return a list for completion-at-point' do it's job instead of replicating completion logic.
Removed vars:
 + python-shell-completion-original-window-configuration
2012-05-17 00:03:36 -03:00
Fabián Ezequiel Gallina 394f09a38f Make python-shell-completion--do-completion-at-point' work for calls done via python-completion-complete-at-point'.
The comint prompt retrieval logic was failing on
`python-shell-completion--do-completion-at-point' when calls to it
happened from outside the process buffer.
2012-05-17 00:03:36 -03:00
Fabián Ezequiel Gallina cd1ed6c8f4 python-end-of-defun-function now works correctly when comments are not indented properly.
Calling `end-of-defun' on a python file will now do the correct thing,
even for cases like this:

    def fib(n):
        if n < 2:
    #       base cases
            return n
        else:
            return fib(n - 2) + fib(n - 1)
2012-05-17 00:03:36 -03:00
Fabián Ezequiel Gallina dc4f2e5326 Enhancements on indentation for lines after a backslash continuation.
Backslashed continuations with parens in the middle are now handled
correctly. Things like this are now indented properly:

objects = Thing.objects.all() \
                       .filter(
                           type="toy",
                           status="bought"
                           subtype="car"
                       ) \
                       .aggregate(
                           Sum('amount')
                       ) \
                       .values_list()

New Functions:

    * `python-info-beginning-of-backlash' returns the point where a
      backslashed line start.
2012-05-17 00:03:36 -03:00
Fabián Ezequiel Gallina 479a14cc3a Added self to the list of font-lock-keywords 2012-05-17 00:03:35 -03:00
Fabián Ezequiel Gallina 27d7f16f7a Updated `python-font-lock-keywords' to match latest Python 2.7 and 3.2 documentation. 2012-05-17 00:03:35 -03:00
Fabián Ezequiel Gallina 6cad4c6e30 Beautified code
* All columns are now less that 79 chars.
  * Removed tabs that were beign used to indent code.
  * Reindented the whole file.
2012-05-17 00:03:35 -03:00
Fabián Ezequiel Gallina 0674d3fadb Enhancements on indentation code and related functions.
This commit includes:

    * A more robust implementation of `python-indent-calculate-indentation'.
    * enhancements on `python-indent-context' when dealing with backslashes
      and blocks.
    * Many changes, comments and enhancements to
      `python-indent-calculate-indentation'. Many of them especially focused
      to match pep8 guidelines, being this one the most important new one:
      http://mail.python.org/pipermail/python-dev/2011-June/111760.html
    * Better `python-info-line-ends-backslash-p' that would work as intended
      on narrowed buffers.
    * `python-info-continuation-line-p' now does what's supposed to do.
    * Enhanced implementation of `python-info-continuation-line-p',
      `python-info-block-continuation-line-p' and
      `python-info-assignment-continuation-line-p'

New Functions:

    * `python-util-forward-comment' a simple replacement `forward-comment'
      with some necessary enhancements.
2012-05-17 00:03:34 -03:00
Fabián Ezequiel Gallina bbd27e0710 `python-check' now can have named buffers on its own depending the command launched.
New vars:
  + python-check-buffer-name
2012-05-17 00:03:34 -03:00
Fabián Ezequiel Gallina bba416bcf2 Enhancements on python-check command.
Use pyflakes (PyChecker is dead) and run the process respecting
virtualenv rules.
2012-05-17 00:03:34 -03:00
Fabián Ezequiel Gallina c4b155cb49 Removed :safe attribute for dangerous variables
Changed vars:
 + python-shell-interpreter
 + python-shell-interpreter-args
 + python-shell-completion-setup-code
 + python-shell-completion-string-code
 + python-shell-completion-module-string-code
 + python-shell-completion-pdb-string-code
 + python-ffap-setup-code
 + python-ffap-string-code
 + python-check-command
 + python-eldoc-setup-code
 + python-eldoc-string-code
2012-05-17 00:03:33 -03:00
Fabián Ezequiel Gallina e37a45513c Fixed docstring typos 2012-05-17 00:03:33 -03:00
Fabián Ezequiel Gallina a1ea6ab81c Enhanced shell setup for Windows.
Also added documentation explaining how to spawn the iPython process
on Windows.
2012-05-17 00:03:32 -03:00
Fabián Ezequiel Gallina 722c985bb0 Added compatibility with lastest CEDET.
Obsolete variables definitions:
  + python-buffer => python-shell-internal-buffer

Obsolete functions definitions:
  + python-proc => python-shell-internal-get-or-create-process
  + python-send-string => python-shell-internal-send-string
2012-05-17 00:03:32 -03:00
Fabián Ezequiel Gallina 338a21d0d1 Improvements on completion code.
Do no complete when defining a code block (we can't do this until
finding some way of getting raw tabs to the interpreter correctly)
2012-05-17 00:03:32 -03:00
Fabián Ezequiel Gallina aa4099353c Improved completion support when in [i]pdb
`python-shell-completion--do-completion-at-point' has been modified in
order to support different completion contexts easily.

New vars:
 + python-shell-completion-pdb-string-code
2012-05-17 00:03:31 -03:00
Fabián Ezequiel Gallina 76a9ea3bbb Added `python-pdbtrack-activate' variable to allow users to activate/deactivate pdbtrack.
To keep in sync with the old behavior its default value is t.
2012-05-17 00:03:31 -03:00
Fabián Ezequiel Gallina f6b59cd190 Renamed stuff to keep "namespace" clean.
Renamed vars:
 + python-shell-module-completion-string-code => python-shell-completion-module-string-code
 + python-completion-original-window-configuration => python-shell-completion-original-window-configuration
2012-05-17 00:03:31 -03:00
Dan Davison 9a5fc05973 Don't request completions for zero-length input
Fixes a bug in which incorrect completion output was displayed, for
example when point was after a closing paren.
2012-05-17 00:03:30 -03:00
Fabián Ezequiel Gallina c7815c384b Make `python-shell-send-string-no-output' delete trailing newlines from output. 2012-05-17 00:03:30 -03:00
Dan Davison 291e2b939b Dismiss completions buffer when unique completion has been made 2012-05-17 00:03:30 -03:00
Fabián Ezequiel Gallina 9399498ea7 Documentation enhancements 2012-05-17 00:03:29 -03:00
Fabián Ezequiel Gallina 2bdce3883b Renamed indentity occurrences to identity in previous commmit 2012-05-17 00:03:29 -03:00
Fabián Ezequiel Gallina 279c9272ee Enhancements to internal python shell naming.
The internal python shell now takes into account more shell settings
in order to generate the unique hash for its name.

Also `python-shell-setup-codes' has been simplified and is not allowed
to be a list of cons anymore.
2012-05-17 00:03:29 -03:00
Fabián Ezequiel Gallina e1f00930bf Enhancements to pdbtrack.
pdbtrack now handles correctly the case where the stacktrace
information is on the second line.

All python buffers not opened by the user and used for tracking are
closed automatically when tracking process finishes.

Simplified code for keeping the tracked buffer.

Removed vars:
 + python-pdbtrack-tracking-buffers

Removed functions:
 + python-pdbtrack-get-or-add-tracking-buffers

New vars:
 + python-pdbtrack-tracked-buffer
 + python-pdbtrack-buffers-to-kill

New functions:
 + python-pdbtrack-set-tracked-buffer
2012-05-17 00:03:28 -03:00
Fabián Ezequiel Gallina aeac8c27f2 Enhancements to pdbtrack
pdbtracking now autodetects the filename being tracked from the prompt
and not from the `inferior-python-mode-current-file' variable.

Removed vars:
  + `inferior-python-mode-current-file'
2012-05-17 00:03:28 -03:00
Fabián Ezequiel Gallina 8386d830a3 Documentation enhancements and other small fixes.
Removed vars:
  + python-shell-import-line-regexp
2012-05-17 00:03:28 -03:00
Dan Davison 9253ea694d Complete module import lines in addition to variable names
Available when using ipython v0.11. Completions on lines starting with
"from " or "import " are supplied by
IPython.core.completerlib.module_completion

ipython v0.11 configuration:

(setq python-shell-interpreter "ipython"
      python-shell-completion-setup-code
      "from IPython.core.completerlib import module_completion\n"
      python-shell-module-completion-string-code
      "';'.join(module_completion('''%s'''))\n"
      python-shell-completion-string-code
      "';'.join(get_ipython().Completer.all_completions('''%s'''))\n")
2012-05-17 00:03:27 -03:00
Dan Davison b71bfa9cd6 Return appropriate value to comint-dynamic-complete
This avoids a "No completions for ..." message being issued when a
completion has been made. Also, reduces redundancy between the
inferior-python-mode and python-mode completion code.
2012-05-17 00:03:27 -03:00
Fabián Ezequiel Gallina 929036b470 Enhancements to `python-shell-calculate-process-environment'
The `python-shell-extra-pythonpaths' variable have been introduced as
simple way of adding paths to the PYTHONPATH without affecting
existing values.
2012-05-17 00:03:27 -03:00
Fabián Ezequiel Gallina 40417cb37a Enhancements on python-shell-calculate-process-environment' and python-shell-calculate-exec-path'
Removed functions:
 + python-util-merge
2012-05-17 00:03:26 -03:00
Fabián Ezequiel Gallina fc6c545e4c Added simple way of jumping to current buffer's class/function definitions
The new `python-nav-jump-to-defun' function allows a user to jump fast
and easy to a function or class definition in the current buffer. For
this a entry in the menu and the C-c C-j keybinding have been
introduced.

New functions:
 + `python-nav-list-defun-positions'
 + `python-nav-read-defun'
 + `python-nav-jump-to-defun'

The new function `python-nav-list-defun-positions' does the same as a
relevant part of the `python-imenu-create-index' so the latter has
been refactored to use it.
2012-05-17 00:03:25 -03:00
Fabián Ezequiel Gallina 1faf2911d6 Enhancements to python-shell-send-string-no-output to work OK with iPython 0.11
Also the documentation has been updated with info to make iPython 0.11
and 0.10 work with python.el's shell integration.
2012-05-17 00:03:25 -03:00
Fabián Ezequiel Gallina a0686d71f6 Make run-python-internal to set process-query-on-exit-flag to nil
Also python-shell-make-comint now returns the process buffer name.
2012-05-17 00:03:25 -03:00
Fabián Ezequiel Gallina fad22dec87 Fixed indentation case for after beginning of block 2012-05-17 00:03:25 -03:00
Fabián Ezequiel Gallina fbc39529f0 Renamed python-clone-local-variables to python-util-clone-local-variables 2012-05-17 00:03:24 -03:00
Fabián Ezequiel Gallina d2190c5795 New function python-clone-local-variables
Copied from org.el: it allows the `python-shell-make-comint' to be
simplified. It copies all local variables from a buffer to the
current.
2012-05-17 00:03:24 -03:00
Fabián Ezequiel Gallina 307bd2e8c7 Fix typo enviroment => environment
Removed function:
    * python-shell-calculate-process-enviroment

New function:
    * python-shell-calculate-process-environment
2012-05-17 00:03:24 -03:00
Fabián Ezequiel Gallina 96eeb83a55 Make shells inherit variables from parent buffer and internal shells not show by default.
python-shell-make-comint now passes all parent buffer variables to the
comint buffer created ensuring local variables work as intended. Also,
this function now receives a third optional argument called POP that
establishes if the created comint buffer should be displayed or not
after its creation.
2012-05-17 00:03:23 -03:00
Fabián Ezequiel Gallina 0f55249e18 Use defcustom with :safe whenever is possible. 2012-05-17 00:03:23 -03:00
Fabián Ezequiel Gallina 77afb61ab3 Refactored run-python and run-python-internal.
Created new function python-shell-make-comint that takes care of
creating comint processes.

New Function:
    * python-shell-make-comint
2012-05-17 00:03:22 -03:00
Fabián Ezequiel Gallina 257b0017ef Fixed cornercase for normal lines when indentation was triggered in the middle of them 2012-05-17 00:03:22 -03:00
Fabián Ezequiel Gallina 8565528794 Make python-info-continuation-line-p to check context type matches
In order for a line to be continuation of another, they must be on the
same context.

New Function:
    * python-info-ppss-context-type
2012-05-17 00:03:22 -03:00
Fabián Ezequiel Gallina 64348c3241 Implemented simple virtualenv setup via python-shell-virtualenv-path variable.
when set to a string, makes the values stored in
`python-shell-process-environment' and `python-shell-exec-path' to be
modified properly so shells are started with the specified virtualenv.

New Variables:
    * python-shell-virtualenv-path

New functions:
    * python-shell-calculate-process-environment
    * python-shell-calculate-exec-path
2012-05-17 00:03:21 -03:00
Fabián Ezequiel Gallina 1fe1b5aa84 Implemented internal python shell.
This new kind of shell is intended to be used for generic
communication related to defined configurations. The main difference
with global or dedicated shells is that these ones are attached to a
configuration, not a buffer. This means that can be used for example
to retrieve the sys.path and other stuff, without messing with user
shells.

New Variables:
    * python-shell-internal-buffer-name,

New functions:
    * python-shell-internal-get-process-name
    * run-python-internal
    * python-shell-internal-get-or-create-process
    * python-shell-internal-send-string (makes python-send-receive obsolete)
2012-05-17 00:03:21 -03:00
Fabián Ezequiel Gallina ecf24fd762 Backported triple quote syntax from Emacs 24 2012-05-17 00:03:21 -03:00
Fabián Ezequiel Gallina 33d0aec16e Make package description separator contain 3 dashes (ELPA conformance) 2012-05-17 00:03:20 -03:00
Fabián Ezequiel Gallina f2a972f356 Updated TODO 2012-05-17 00:03:20 -03:00
Fabián Ezequiel Gallina 9438f1ef3a fixed font-lock-builtin-face regexp 2012-05-17 00:03:20 -03:00
Fabián Ezequiel Gallina 82c2b0de6a Set local variable `mode-require-final-newline' to t 2012-05-17 00:03:19 -03:00
Fabián Ezequiel Gallina c61d750ea7 None, True, False, Ellipsis, __debug__, and NotImplemented now use font-lock-constant-face
Also copyright, license, credits, quit, exit are removed from
font-lock since they are added by the site module and only useful for
shell interaction and not programs.

See: http://docs.python.org/release/3.1.3/library/constants.html#constants-added-by-the-site-module
2012-05-17 00:03:19 -03:00
Fabián Ezequiel Gallina 0b7b2e512d python-info-current-defun: fixed cornercase that caused imenu to break 2012-05-17 00:03:19 -03:00
Fabián Ezequiel Gallina b7f1355986 Added package information for ELPA conformance 2012-05-17 00:03:18 -03:00
Fabián Ezequiel Gallina 15cc40b819 Fixed eldoc behavior.
* python-eldoc-setup-code: The code to get help now uses the
        inspect element. When an object doesn't have documentation and
        if it is callable it returns the signature for it. Also when
        an object does contain documentation it only returns the first
        line.

      * python-eldoc-at-point: has been simplified to just message the
        doc header of objects.

      * python-info-current-defun: was not taking into account the
        current indentation so point was always inside a defun, even
        if the indentation was less or equal than the defun above.
2012-05-17 00:03:18 -03:00
Fabián Ezequiel Gallina 9787f82961 Indentation enhancements on after-backslash
Multiline sentences beginning with "import", "from" or "return" are
indented correctly now.
2012-05-17 00:03:18 -03:00
Fabián Ezequiel Gallina f8994527d4 fixed last paren indentation logic 2012-05-17 00:03:17 -03:00
Fabián Ezequiel Gallina 65e4f7642e Fixed weird cornercase behavior in python-indent-calculate-indentation.
Doing (setq python-indent-levels '(0)) was causing the value of
python-indent-levels to not be initialized correctly on next calls to
python-indent-calculate-indentation. Using (setq python-indent-levels
(list 0)) instead does the trick but I'm not sure why.
2012-05-17 00:03:17 -03:00
Fabián Ezequiel Gallina 589cefd766 increased forward-comment COUNT variable value in all calls 2012-05-17 00:03:16 -03:00
Fabián Ezequiel Gallina 4cafacb52a docstring enhancements 2012-05-17 00:03:16 -03:00
Fabián Ezequiel Gallina 107c2439fa indentation fixes on after backslash 2012-05-17 00:03:16 -03:00
Fabián Ezequiel Gallina 9fff18585a Implemented python-nav-backward-sentence, python-nav-forward-sentence
Also small fixes to python-nav-sentence-start and
python-nav-sentence-end were added.
2012-05-17 00:03:15 -03:00
Fabián Ezequiel Gallina 3697b5314a Added python-nav-sentence-start and python-nav-sentence-end functions 2012-05-17 00:03:15 -03:00
Fabián Ezequiel Gallina c942de99c0 fixed CL related bytecompilation errors and set make-tree for imenu default 2012-05-17 00:03:14 -03:00
Fabián Ezequiel Gallina fc2dc7df02 Implemented imenu support.
New variables:
 + python-imenu-include-defun-type
 + python-imenu-make-tree
 + python-imenu-subtree-root-label
 + python-imenu-index-alist

New Functions:
 + python-imenu-tree-assoc
 + python-imenu-make-element-tree
 + python-imenu-make-tree
 + python-imenu-create-index

API changes:
 + python-info-current-defun now supports an optional argument called
 INCLUDE-TYPE.
2012-05-17 00:03:14 -03:00
Fabián Ezequiel Gallina 2d63ad564d Documentation enhancements with regards to code checking. (thanks schickm) 2012-05-17 00:03:14 -03:00
Fabián Ezequiel Gallina af5c1bebb5 Fixed python-info-current-defun for classes without bases 2012-05-17 00:03:13 -03:00
Fabián Ezequiel Gallina 74d7b6051a Fixed infinite loop on python-info-current-defun
For this python-beginning-of-defun-function has been modified to
return t or nil if a defun was found.
2012-05-17 00:03:13 -03:00
Fabián Ezequiel Gallina 053a6c726f Docstrings enhancements 2012-05-17 00:03:13 -03:00
Fabián Ezequiel Gallina 327f0e8429 Small cornercase fix to python-info-current-defun.
Returned the bad defun name when point was at the beginning of defun.
2012-05-17 00:03:12 -03:00
Fabián Ezequiel Gallina 6b4328531c Fixed python-info-current-defun to match new navigation code.
python-nav-beginning-of-defun and python-beginning-of-defun-function
now support a new extra optional argument called NODECORATORS.
2012-05-17 00:03:12 -03:00
Fabián Ezequiel Gallina 2ed294c5df Replaced references from python-beginning-of-innermost-defun to python-beginning-of-defun-function 2012-05-17 00:03:12 -03:00
Fabián Ezequiel Gallina c2cb97aec2 User customizable fill-paragraph behavior.
For this, four new variables which contain the symbol name of the
function that specifies the behavior of fill-paragraph on certain
conditions were added:

    * python-fill-comment-function: For comments
    * python-fill-string-function: For strings
    * python-fill-decorator-function: For decorators
    * python-fill-paren-function: For parens

All of these variables are safe local variables in the case the value
provided is a symbol. Out of the box, they default to these four new
functions respectively:

    * python-fill-comment
    * python-fill-string
    * python-fill-decorator
    * python-fill-paren
2012-05-17 00:03:11 -03:00
Fabián Ezequiel Gallina 0567effbae Corrected implementations for python-{beginning,end}-of-defun functions.
When point is at beginning-of-defun, end-of-defun moves to the end of
the defun, even if it contains nested defuns. When point is at any
inner defun end-of-defun moves to the end of it, if another inner
defun exists at the same level point is moved to it.

For beginning-of-defun things are funkier, it would move backwards
following nested defuns in order. This will be fixed soon.

Note: Decorators are considered part of defuns.

Removed:
    * python-use-beginning-of-innermost-defun
    * python-beginning-of-innermost-defun-regexp

Renamed:
    * python-beginning-of-defun => python-nav-beginning-of-defun
    * python-beginning-of-defun-regexp => python-nav-beginning-of-defun-regexp
2012-05-17 00:03:11 -03:00
Fabián Ezequiel Gallina c806ea6e87 New variable python-use-beginning-of-innermost-defun
Controls if beginning-of-defun function should go to outermost or
innermost defun.
2012-05-17 00:03:11 -03:00
Fabián Ezequiel Gallina f9471190dc Better indentation handling when inside parens. 2012-05-17 00:03:10 -03:00
Fabián Ezequiel Gallina 86f1889aa9 Fixed indentation issue when indenting a python-indent-dedenter from end of line 2012-05-17 00:03:10 -03:00
Fabián Ezequiel Gallina 66bbb27f8d new variables python-shell-process-environment and python-shell-exec-path
The main reason for these new variables is virtualenv support.
2012-05-17 00:03:10 -03:00
Fabián Ezequiel Gallina 30e429dd37 New variable python-shell-send-setup-max-wait
Controls the timeout for output just before sending the setup code.
2012-05-17 00:03:09 -03:00
Fabián Ezequiel Gallina e2d8d4790f Documentation enhancements 2012-05-17 00:03:09 -03:00
Fabián Ezequiel Gallina c0428ba0bd Better shell setup using the new python-shell-send-setup-codes function.
At the moment of shell setup, all the pending output is accepted so
the prompt is always displayed correctly.
2012-05-17 00:03:09 -03:00
Fabián Ezequiel Gallina 9f1537ef3e Added indentation support for continuation of dotted expressions
Expressions like these are now supported and indented correctly:

    Object.objects.exclude(foo=1)\
                  .filter(bar=2)\
                  .values_list('baz')

Also added a small fix to python-info-assignment-continuation-line-p
to check the match for the operator is not inside some paren.
2012-05-17 00:03:08 -03:00
Fabián Ezequiel Gallina c43cd8b10f Enhancements to python-indent-electric-colon.
Only de-indent line if it really closes a block.
2012-05-17 00:03:08 -03:00
Fabián Ezequiel Gallina 14a7849583 New function python-info-ppss-context
Use this function for most syntax-ppss related tasks. While in some
parts code could be longer it makes everything more readable.

This is the first step for a cleaner indentation machinery.
2012-05-17 00:03:07 -03:00
Fabián Ezequiel Gallina 099bf0104e Added commentary about installing pyreadline on system that bundles Python without readline 2012-05-17 00:03:07 -03:00
Fabián Ezequiel Gallina da3d48d7d6 Remove find-file-noselect invocation in python-shell-send-file 2012-05-17 00:03:07 -03:00
Fabián Ezequiel Gallina 2db30ac50a Use insert instead of insert-string 2012-05-17 00:03:06 -03:00
Fabián Ezequiel Gallina 62feb91565 Better non-standard shell integration support
Added python-shell-prompt-output-regexp to match the prompts
added before output in shells like iPython. With the value of
this variable the output generated for
python-shell-send-string-no-ouput is cleaned up.

Moved completion variables and bindings setup for shell to
inferior-python-mode definition.

Renamed python-shell-completion-strings-code to
python-shell-completion-string-code.

improved python-shell-completion--get-completions string
splitting.

Cleaned up some unecessary messages.

Better code sending need test for python-shell-completion-setup
python-ffap-setup and python-eldoc-setup.

Added example for iPython integration in the commentary section.
2012-05-17 00:03:06 -03:00
Fabián Ezequiel Gallina 9ce938be0b Shell integration improvements and cleanups
Removed functions python-shell-clear-latest-output and
python-shell-send-and-clear-output in favor of
python-shell-send-string-no-output.

Also python-shell-send-string now supports multiline string statements
so you won't have to worry calling python-shell-send-file again.

All this changes should make integrations with other Python shells
than standard more robust.
2012-05-17 00:03:06 -03:00
Fabián Ezequiel Gallina 73ed683681 python.el now bytecompiles without warnings 2012-05-17 00:03:05 -03:00
Fabián Ezequiel Gallina e2803784cf Implemented Skeletons after GNU/Emacs python.el
6 basic skeletons are defined: class, def, for, if, try and while.

While these skeletons are strongly based on GNU/Emacs' current
python.el a better definition macro, a generic template for
try/except/finally/else blocks and a cool menu display is included.
2012-05-17 00:03:05 -03:00
Fabián Ezequiel Gallina 67845102b2 Explain we have python-indent-electric-colon 2012-05-17 00:03:05 -03:00
Fabián Ezequiel Gallina cb42456fc6 Don't deactivate mark after indenting commands 2012-05-17 00:03:04 -03:00
Fabián Ezequiel Gallina 76eefb1fe5 Small fix to python-indent-electric-colon
Check current indentation is greater than the current calculated
indentation.
2012-05-17 00:03:04 -03:00
Fabián Ezequiel Gallina ffdb56c385 Implemented python-indent-electric-colon 2012-05-17 00:03:04 -03:00
Fabián Ezequiel Gallina 17d13b8526 Fixed indentation of multi-line function call's closing parenthesis 2012-05-17 00:03:03 -03:00
Fabián Ezequiel Gallina 24b68537c3 Make inferior-python-mode-current-file be set via convert-standard-filename 2012-05-17 00:03:03 -03:00
Fabián Ezequiel Gallina d439cda598 Enhanced python-shell-send-file function
python-shell-send-file function now can be called interactively and
will do the right thing.

Also the python code that sent the file was improved so the shell
considers the correct path when evaluating the file.

Removed the inferior-python-mode-current-temp-file variable, after
this update inferior-python-mode-current-file is enough.
2012-05-17 00:03:03 -03:00
Fabián Ezequiel Gallina 57808175eb Added commentary about auto-indentation on newlines for python-mode.el users 2012-05-17 00:03:02 -03:00
Fabián Ezequiel Gallina d818ffa870 Use convert-standard-filename to fix temp files path 2012-05-17 00:03:02 -03:00
Fabián Ezequiel Gallina d8e594dba8 Fixed highlighting for dictionary assignments 2012-05-17 00:03:02 -03:00
Fabián Ezequiel Gallina 6eb68dc25b Fixed pdb-track on Windows
make-temp-file is returning the temp file path with the wrong type of
slashes.
2012-05-17 00:03:01 -03:00
Fabián Ezequiel Gallina 534e24385b Fixed incorrect syntax highlighting for variable assignations 2012-05-17 00:03:01 -03:00
Fabián Ezequiel Gallina 14d9f80c0d Fixed indentation guess logic to never accept 0 as a possible value 2012-05-17 00:03:01 -03:00
Fabián Ezequiel Gallina 78334b439d Implemented python-eldoc-at-point (python-describe-symbol replacement) 2012-05-17 00:03:00 -03:00
Fabián Ezequiel Gallina 8b3e0e76ee Implemented python-check 2012-05-17 00:03:00 -03:00
Fabián Ezequiel Gallina 2947016aa7 Small changes to ffap support 2012-05-17 00:03:00 -03:00
Fabián Ezequiel Gallina 046428d328 Added ffap support 2012-05-17 00:02:59 -03:00
Fabián Ezequiel Gallina 1066882c6d Simplified python-eldoc-function using python-shell-send-and-clear-output 2012-05-17 00:02:59 -03:00
Fabián Ezequiel Gallina 138df81369 Implemeneted python-shell-clear-latest-output and python-shell-send-and-clear-output
Also Simplified python-shell-completion--get-completions using
python-shell-send-and-clear-output
2012-05-17 00:02:59 -03:00
Fabián Ezequiel Gallina 9e6629387d Eldoc integration is now compatible with python 3 2012-05-17 00:02:58 -03:00
Fabián Ezequiel Gallina ed0eb59464 Make shell use completion-at-point for autocompletion. 2012-05-17 00:02:58 -03:00
Fabián Ezequiel Gallina fc87f759ed Fixed called-interactively-p invocation. 2012-05-17 00:02:57 -03:00
Fabián Ezequiel Gallina db1497be14 Cleaned up TODO 2012-05-17 00:02:57 -03:00
Fabián Ezequiel Gallina 075a0f6194 Enhanced shell and code autocompletion.
python-shell-completion-complete-at-point and
python-completion-complete-at-point now share common code.

Also lots of fixes related to the cleanup of shell output has been
made so completion code is really robust now.
2012-05-17 00:02:57 -03:00
Fabián Ezequiel Gallina 3d6913c7d1 Fixes to shell completion at point 2012-05-17 00:02:57 -03:00
Fabián Ezequiel Gallina 13d914ed50 Fixed shell region sending 2012-05-17 00:02:56 -03:00
Fabián Ezequiel Gallina 4e531f7a7e Documentation fixes 2012-05-17 00:02:56 -03:00
Fabián Ezequiel Gallina 19b122e44e Do not indent at the beginning of buffer fix 2012-05-17 00:02:56 -03:00
Fabián Ezequiel Gallina 69bab1deb3 Do not indent at the beginning of buffer 2012-05-17 00:02:55 -03:00
Fabián Ezequiel Gallina df700cc99e Fixed infinite while loop in python-info-current-defun
Was caused when a beginning of defun was in the beginning of buffer
because python-beginning-of-innermost-defun never reached the real
start when (bobp)
2012-05-17 00:02:55 -03:00
Fabián Ezequiel Gallina b962ebad98 Modified autocompletion code setup
Now it is compatible with python 2.x and python 3.x
2012-05-17 00:02:54 -03:00
Fabián Ezequiel Gallina 13d1a42edb Fixed indentation inside parens when comments are around 2012-05-17 00:02:54 -03:00
Fabián Ezequiel Gallina bbac1eb8ab python-indent-guess-indent-offset improvements 2012-05-17 00:02:54 -03:00
Fabián Ezequiel Gallina 183f9296f1 Fixed backspace behavior for delete-selection-mode. 2012-05-17 00:02:53 -03:00
Fabián Ezequiel Gallina 954aa7bdb8 Enhanced python-indent-guess-indent-offset logic. 2012-05-17 00:02:53 -03:00
Fabián Ezequiel Gallina 79dafa51ba python-shell-get-or-create-process preserves current buffer. 2012-05-17 00:02:53 -03:00
Fabián Ezequiel Gallina 66b0b492bc Generalized use of python-shell-send-file with cleanup of prompts. 2012-05-17 00:02:52 -03:00
Fabián Ezequiel Gallina 6ac2041b86 Cleanup prompts when sending region to shell. 2012-05-17 00:02:52 -03:00
Fabián Ezequiel Gallina 45c138ac0f First commit. 2012-05-17 00:02:52 -03:00
Fabián Ezequiel Gallina 3b3027dc0a Added blank python.el to workaround bzr git-apply issues 2012-05-17 00:02:42 -03:00
Fabián Ezequiel Gallina d8c80081f6 Deleted lisp/progmodes/python.el as first step of the new python.el merge. 2012-05-17 00:01:30 -03:00
Leo Liu 784e7d6eeb * lisp/progmodes/python.el (python-pdbtrack-get-source-buffer): Use
compilation-message if available to find real filename.
2012-04-26 00:46:01 +08:00
Leo Liu daf75653c2 * progmodes/python.el (python-send-region): Add suffix .py 2012-04-25 23:23:19 +08:00
Leo Liu 257440aa1c * lisp/progmodes/python.el: Move hideshow setup to the end. 2012-04-24 22:58:29 +08:00
Juanma Barranquero 376cbaccd9 Remove some `toggle-read-only' warnings.
* lisp/bs.el (bs-toggle-readonly): Call `toggle-read-only' interactively.

* lisp/descr-text.el (describe-char):
  lisp/progmodes/python.el (python-describe-symbol):
  Don't call `toggle-read-only', set `buffer-read-only'.
2012-04-19 18:50:07 +02:00
Leo Liu f45f90f331 * lisp/progmodes/python.el: Trivial cleanup. 2012-04-17 03:28:57 +08:00
Nathan Weizenbaum 8f33b5f873 `python-fill-paragraph' filling fixup when font-lock is disabled
* progmodes/python.el (python-fill-paragraph): Make
python-fill-region in a multiline string work when font-lock is
disabled.

Fixes: debbugs:7018
2012-04-10 13:27:44 +02:00
Chong Yidong fb7ada5f94 Remove * characters from the front of variable docstrings. 2012-04-09 21:05:48 +08:00
Leo Liu 5eac0c026f Fix infinite loop in python-end-of-statement
http://debbugs.gnu.org/10788
2012-02-11 12:20:16 +08:00
Syver Enstad 6b25e4e27d Fix pdb path handling.
* progmodes/gud.el (pdb): Give pdb full paths, to allow setting
breakpoints in files outside current directory.

* lisp/progmodes/python.el: Require ansi-color at top-level.

Fixes: debbugs:6098
2012-01-29 15:06:54 +08:00
Glenn Morris acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Paul Eggert 301b181a14 Spelling fixes. 2011-12-16 22:51:13 -08:00
Juanma Barranquero fe7a3057a3 Fix typos. 2011-11-20 20:35:27 +01:00
Paul Eggert e1dbe924b5 Spelling fixes. 2011-11-19 18:29:42 -08:00
Paul Eggert c5e87d104b Spelling fixes. 2011-11-17 09:40:48 -08:00
Paul Eggert 4c36be58ca Spelling fixes. 2011-11-17 01:09:20 -08:00
Ken Manheimer 8642c2163e * python.el (python-pdbtrack-stack-entry-regexp)
(python-pdbtrack-input-prompt, python-pdbtrack-track-stack-file):
Adjust to recognize ipdb as well as regular python pdb prompts.
Adjustments shamelessly taken exactly as suggested in EmacsWiki
page: http://www.emacswiki.org/PythonProgrammingInEmacs#toc14
2011-11-16 11:37:48 -05:00
Stefan Monnier 90132c1485 * lisp/progmodes/python.el (python-beginning-of-statement): Rewrite.
Fixes: debbugs:2703
2011-11-09 10:00:32 -05:00
Chong Yidong 3199b96fc5 Fix various uses of display-buffer and pop-to-buffer
to avoid using special-display-* and same-window-* variables.

* lisp/buff-menu.el (Buffer-menu-switch-other-window): Use second arg
of display-buffer.
(Buffer-menu-2-window): Use switch-to-buffer-other-window.

* lisp/replace.el (occur-mode-goto-occurrence)
(occur-mode-display-occurrence) Use second arg of pop-to-buffer
and display-buffer.

* lisp/window.el (display-buffer-alist): Add *Python*.

* lisp/mail/reporter.el (reporter-submit-bug-report): Use second arg of
display-buffer.

* lisp/mail/sendmail.el (sendmail-user-agent-compose): Don't bind the
special-display and same-window variables.
(mail-other-window): Use switch-to-buffer-other-window.
(mail-other-frame): USe switch-to-buffer-other-frame.

* lisp/progmodes/gdb-mi.el (gdb-frame-gdb-buffer): Use
display-buffer-other-frame.
(gdb-display-gdb-buffer): Use pop-to-buffer.

* lisp/progmodes/gud.el (gud-goto-info): Use info-other-window.

* lisp/progmodes/python.el: Don't set same-window-buffer-names.

* lisp/textmodes/bibtex.el (bibtex-search-entry): Use switch-to-buffer.
2011-09-10 17:15:28 -04:00
Christoph Scholtes 464cdf568e * progmodes/python.el (python-mode-map): Use correct function to
start python interpreter from menu-bar (as reported by Geert
Kloosterman).
(inferior-python-mode-map): Fix typo.
(python-shell-map): Removed.
2011-09-03 12:44:37 -06:00
Juanma Barranquero 519d22cc0e * loadhist.el (unload--set-major-mode): New function.
(unload-feature): Use it.

* progmodes/python.el (python-after-info-look): Add autoload cookie.
  (python-unload-function): New function.

Fixes: debbugs:8781 debbugs:8730
2011-06-25 19:42:18 +02:00
Dan Nicolaescu c5cde04220 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.
2011-06-15 07:07:48 -07:00
Glenn Morris f86307039d * lisp/progmodes/python.el (brm-menu): Declare. 2011-05-23 20:38:35 -07:00
Stefan Monnier 4f91a8160f Don't quote lambda expressions with `quote'. 2011-05-23 14:57:17 -03:00
Glenn Morris c71a0d48f3 Merge from emacs-23; up to 2010-06-11T14:39:54Z!cyd@stupidchicken.com. 2011-05-16 19:26:56 -07:00
Juanma Barranquero ce1539b46d lisp/progmodes/python.el: Highlight keyword "nonlocal" (bug#8639). 2011-05-13 14:44:48 +02:00
Juanma Barranquero e02f48d76b lisp/progmodes/*.el: Lexical-binding cleanup. 2011-04-22 20:44:26 +02:00
Christoph Scholtes 6d0f1c9e55 * 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 16:44:07 -06:00
Glenn Morris 95df8112a0 Refill some long/short copyright headers. 2011-01-26 00:36:39 -08:00
Glenn Morris 73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Stefan Monnier 77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Stefan Monnier 364df1cc76 * progmodes/python.el (python-mode): Don't impose font-lock.
Fixes: debbugs:3628
2011-01-02 22:49:13 -05:00
Glenn Morris 5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Stefan Monnier 175069efeb Derive from prog-mode, use derived-mode-p, and fix up various
minor style issues in lisp/progmodes.

* lisp/progmodes/vhdl-mode.el (vhdl-write-file-hooks-init)
(vhdl-hs-minor-mode, vhdl-ps-print-init): Fix make-local-variable ->
make-local-hook.
* lisp/progmodes/sh-script.el (sh-require-final-newline): Remove.
(sh-set-shell): Don't set require-final-newline since it's already done
by prog-mode.
* lisp/progmodes/modula2.el (m2-mode): Don't make m2-end-comment-column
since we never set it.
* lisp/progmodes/ebrowse.el (ebrowse-set-tree-indentation):
Use read-string and standard prompt.
* lisp/progmodes/dcl-mode.el (dcl-mode-map): Move init into declaration.
* lisp/progmodes/meta-mode.el (meta-mode-abbrev-table): Merge init and decl.
(meta-common-mode-syntax-table): Rename from meta-mode-syntax-table.
(meta-common-mode-map): Rename from meta-mode-map.
Remove C-m binding, which is a user preference, not mode specific.
(meta-common-mode): New major mode; replace meta-common-initialization.
* lisp/progmodes/js.el (js-mode): Call syntax-propertize rather than messing
around with font-lock.
* lisp/progmodes/etags.el (select-tags-table-mode):
Derive from special-mode.
* lisp/progmodes/octave-mod.el (octave-mode):
* lisp/progmodes/gdb-mi.el (gdb-inferior-io-mode, gdb-threads-mode)
(gdb-memory-mode, gdb-disassembly-mode, gdb-breakpoints-mode)
(gdb-frames-mode, gdb-locals-mode, gdb-registers-mode):
Let define-derived-mode do its job.
* lisp/progmodes/cpp.el (cpp-edit-mode-map):
Move initialization into declaration.
(cpp-edit-mode): Use define-derived-mode.
(cpp-edit-load): Use derived-mode-p.
* lisp/progmodes/mixal-mode.el (mixal-mode):
* lisp/progmodes/f90.el (f90-mode):
* lisp/progmodes/cfengine.el (cfengine-mode): Don't bother setting
require-final-newline since prog-mode does it already.
* lisp/progmodes/cc-cmds.el (c-update-modeline): Use match-string.
* lisp/progmodes/asm-mode.el (asm-mode-map): Fix menu setup.
* lisp/progmodes/antlr-mode.el: Require cc-mode upfront.
(antlr-mode-syntax-table, antlr-action-syntax-table): Initialize in
the declaration.
(antlr-directory-dependencies, antlr-show-makefile-rules):
Use derived-mode-p.
(antlr-language-option): Don't assume point-min==1.
(antlr-mode): Use define-derived-mode.
* lisp/progmodes/ada-mode.el: Use derived-mode-p.
(ada-mode): Use define-derived-mode.
Use hack-local-variables-hook.

* lisp/progmodes/vhdl-mode.el (vhdl-mode):
* lisp/progmodes/verilog-mode.el (verilog-mode):
* lisp/progmodes/vera-mode.el (vera-mode):
* lisp/progmodes/sql.el (sql-mode):
* lisp/progmodes/scheme.el (scheme-mode):
* lisp/progmodes/perl-mode.el (perl-mode):
* lisp/progmodes/octave-inf.el (inferior-octave-mode):
* lisp/progmodes/autoconf.el (autoconf-mode):
* lisp/progmodes/m4-mode.el (m4-mode):
* lisp/progmodes/inf-lisp.el (inferior-lisp-mode):
* lisp/progmodes/idlwave.el (idlwave-mode):
* lisp/progmodes/icon.el (icon-mode):
* lisp/progmodes/idlw-help.el (idlwave-help-mode):
* lisp/progmodes/dcl-mode.el (dcl-mode):
* lisp/progmodes/idlw-shell.el (idlwave-shell-mode):
* lisp/progmodes/ebrowse.el (ebrowse-tree-mode, ebrowse-electric-list-mode)
(ebrowse-member-mode, ebrowse-electric-position-mode):
Use define-derived-mode.

* lisp/progmodes/xscheme.el (xscheme-start)
(local-set-scheme-interaction-buffer, scheme-interaction-mode):
* lisp/progmodes/which-func.el (which-function):
* lisp/progmodes/vhdl-mode.el (vhdl-set-style):
* lisp/progmodes/verilog-mode.el (verilog-set-compile-command)
(verilog-modify-compile-command, verilog-error-regexp-add-xemacs)
(verilog-set-define, verilog-auto-reeval-locals):
* lisp/progmodes/sql.el (sql-product-font-lock, sql-interactive-mode):
* lisp/progmodes/simula.el (simula-mode):
* lisp/progmodes/scheme.el (scheme-mode-variables, dsssl-mode):
* lisp/progmodes/python.el (python-check, python-mode):
* lisp/progmodes/prolog.el (prolog-mode-variables):
* lisp/progmodes/gud.el (gud-tooltip-activate-mouse-motions):
* lisp/progmodes/ebrowse.el (ebrowse-view-file-other-frame):
* lisp/progmodes/delphi.el (delphi-mode):
* lisp/progmodes/cc-styles.el (c-setup-paragraph-variables):
* lisp/progmodes/cc-mode.el (c-basic-common-init, c-common-init)
(c-font-lock-init): Move make-local-variable to their setq.

* lisp/progmodes/xscheme.el (exit-scheme-interaction-mode)
(xscheme-enter-interaction-mode, xscheme-enter-debugger-mode)
(xscheme-debugger-mode-p, xscheme-send-string-1):
* lisp/progmodes/tcl.el (inferior-tcl-proc, tcl-current-word)
(tcl-load-file, tcl-restart-with-file):
* lisp/progmodes/ps-mode.el (ps-run-running):
* lisp/progmodes/gdb-mi.el (gud-watch, gdb-mouse-set-clear-breakpoint):
* lisp/progmodes/js.el (js--get-all-known-symbols):
* lisp/progmodes/inf-lisp.el (inferior-lisp-proc):
* lisp/progmodes/idlwave.el (idlwave-beginning-of-statement)
(idlwave-template, idlwave-update-buffer-routine-info)
(idlwave-update-current-buffer-info)
(idlwave-get-routine-info-from-buffers, idlwave-choose)
(idlwave-scan-class-info, idlwave-fix-keywords)
(idlwave-list-buffer-load-path-shadows):
* lisp/progmodes/idlw-toolbar.el (idlwave-toolbar, idlwave-toolbar-add)
(idlwave-toolbar-remove):
* lisp/progmodes/idlw-shell.el (idlwave-shell-save-and-action)
(idlwave-shell-file-name, idlwave-shell-electric-debug-all-off)
(idlwave-shell-menu-def):
* lisp/progmodes/idlw-complete-structtag.el
(idlwave-prepare-structure-tag-completion):
* lisp/progmodes/gud.el (gud-set-buffer):
* lisp/progmodes/f90.el (f90-backslash-not-special):
* lisp/progmodes/delphi.el (delphi-find-unit): Use derived-mode-p.
2010-12-10 15:00:25 -05:00
Chong Yidong 07976ae3b8 Merge changes from emacs-23 branch 2010-11-27 15:04:57 -05:00
Chong Yidong 4e2f7d2a68 Highlight top-level augmented assignments in Python (Bug#6445).
* progmodes/python.el (python-font-lock-keywords): Highlight
top-level augmented assignments (Bug#6445).
2010-11-21 12:12:44 -05:00
Chong Yidong ae3da38afc Backport fixes for Bug#5390 and Bug#5694 from trunk.
* progmodes/python.el: Add Ipython support (Bug#5390).
(python-shell-prompt-alist)
(python-shell-continuation-prompt-alist): New options.
(python--set-prompt-regexp): New function.
(inferior-python-mode, run-python, python-shell): Require
ansi-color.  Use python--set-prompt-regexp to set the comint
prompt based on the Python interpreter.
(python--prompt-regexp): New var.
(python-check-comint-prompt)
(python-comint-output-filter-function): Use it.
(run-python): Use a pipe (Bug#5694).
2010-11-21 12:04:43 -05:00
Chong Yidong 1d851570a6 Make the sys.path remove in Python mode customizable (Bug#7454).
* progmodes/python.el (run-python): Doc fix.
(python-keep-current-directory-in-path): New var (Bug#7454).
2010-11-21 11:52:05 -05:00
Glenn Morris 091af6490f python.el comment. 2010-11-20 18:19:39 -08:00
Stefan Monnier 4a47c27573 Merge from emacs-23 2010-11-17 22:54:14 -05:00
Stefan Monnier bac2de0fe3 * lisp/progmodes/python.el (run-python): Explain why we remove the current
directory from sys.path.  Suggested by Eric Hanchrow <erich@cozi.com>.
2010-11-17 10:00:16 -05:00
Glenn Morris bc1d5cdfd4 * lisp/progmodes/python.el (python-shell): Doc fix. 2010-11-09 23:46:01 -08:00
Stefan Monnier d607b96bc2 Merge from emacs-23 2010-11-09 15:07:10 -05:00
Stefan Monnier 73525e726c * lisp/progmodes/python.el (python-font-lock-syntactic-keywords):
Fix handling of backslash escapes.
(python-quote-syntax): Adjust accordingly.

Fixes: debbugs:7322
2010-11-08 13:56:10 -05:00
Glenn Morris 5ed619e0a3 Use line-end-position rather than end-of-line, etc.
* textmodes/texnfo-upd.el (texinfo-start-menu-description)
(texinfo-update-menu-region-beginning, texinfo-menu-first-node)
(texinfo-delete-existing-pointers, texinfo-find-pointer)
(texinfo-clean-up-node-line, texinfo-insert-node-lines)
(texinfo-multiple-files-update):
* textmodes/table.el (table--probe-cell-left-up)
(table--probe-cell-right-bottom):
* textmodes/picture.el (picture-tab-search):
* textmodes/page-ext.el (pages-copy-header-and-position)
(pages-directory-for-addresses):
* progmodes/vera-mode.el (vera-get-offset):
* progmodes/simula.el (simula-calculate-indent):
* progmodes/python.el (python-pdbtrack-overlay-arrow):
* progmodes/prolog.el (end-of-prolog-clause):
* progmodes/perl-mode.el (perl-calculate-indent, perl-indent-exp):
* progmodes/icon.el (indent-icon-exp):
* progmodes/etags.el (tag-re-match-p):
* progmodes/ebrowse.el (ebrowse-show-file-name-at-point):
* progmodes/ebnf2ps.el (ebnf-begin-file):
* progmodes/dcl-mode.el (dcl-back-to-indentation-1)
(dcl-save-local-variable):
* play/life.el (life-setup):
* play/gametree.el (gametree-looking-at-ply):
* nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
* mail/sendmail.el (mail-mode-auto-fill):
* emacs-lisp/lisp-mode.el (calculate-lisp-indent):
* emacs-lisp/edebug.el (edebug-overlay-arrow):
* emacs-lisp/checkdoc.el (checkdoc-this-string-valid):
* woman.el (woman-parse-numeric-value, woman2-TH, woman2-SH)
(woman-tab-to-tab-stop, WoMan-warn-ignored):
* type-break.el (type-break-file-keystroke-count):
* term.el (term-replace-by-expanded-history-before-point)
(term-skip-prompt, term-extract-string):
* speedbar.el (speedbar-edit-line, speedbar-expand-line)
(speedbar-contract-line, speedbar-toggle-line-expansion)
(speedbar-parse-c-or-c++tag, speedbar-parse-tex-string)
(speedbar-buffer-revert-buffer, speedbar-highlight-one-tag-line):
* sort.el (sort-skip-fields):
* skeleton.el (skeleton-internal-list):
* simple.el (line-move-finish, line-move-to-column):
* shell.el (shell-forward-command):
* misc.el (copy-from-above-command):
* makesum.el (double-column):
* ebuff-menu.el (electric-buffer-update-highlight):
* dired.el (dired-move-to-end-of-filename):
* dframe.el (dframe-popup-kludge):
* bookmark.el (bookmark-kill-line, bookmark-bmenu-show-filenames):
* arc-mode.el (archive-get-lineno):
Use line-end-position and line-beginning-position.

* net/ange-ftp.el, progmodes/hideif.el, reposition.el:
Same, but only in comments.
2010-11-06 13:23:42 -07:00
Stefan Monnier cf38dd4298 New syntax-propertize functionality.
* lisp/font-lock.el (font-lock-syntactic-keywords): Make obsolete.
(font-lock-fontify-syntactic-keywords-region): Move handling of
font-lock-syntactically-fontified to...
(font-lock-default-fontify-region): ...here.
Let syntax-propertize-function take precedence.
(font-lock-fontify-syntactically-region): Cal syntax-propertize.

* lisp/emacs-lisp/regexp-opt.el (regexp-opt-depth): Skip named groups.

* lisp/emacs-lisp/syntax.el (syntax-propertize-function)
(syntax-propertize-chunk-size, syntax-propertize--done)
(syntax-propertize-extend-region-functions): New vars.
(syntax-propertize-wholelines, syntax-propertize-multiline)
(syntax-propertize--shift-groups, syntax-propertize-via-font-lock)
(syntax-propertize): New functions.
(syntax-propertize-rules): New macro.
(syntax-ppss-flush-cache): Set syntax-propertize--done.
(syntax-ppss): Call syntax-propertize.

* lisp/progmodes/ada-mode.el (ada-set-syntax-table-properties)
(ada-after-change-function, ada-initialize-syntax-table-properties)
(ada-handle-syntax-table-properties): Only define when
syntax-propertize is not available.
(ada-mode): Use syntax-propertize-function.

* lisp/progmodes/autoconf.el (autoconf-mode):
Use syntax-propertize-function.
(autoconf-font-lock-syntactic-keywords): Remove.

* lisp/progmodes/cfengine.el (cfengine-mode):
Use syntax-propertize-function.
(cfengine-font-lock-syntactic-keywords): Remove.

* lisp/progmodes/cperl-mode.el (cperl-mode): Use syntax-propertize-function.

* lisp/progmodes/fortran.el (fortran-mode): Use syntax-propertize-function.
(fortran--font-lock-syntactic-keywords): New var.
(fortran-line-length): Update syntax-propertize-function and
fortran--font-lock-syntactic-keywords.

* lisp/progmodes/gud.el (gdb-script-syntax-propertize-function): New var;
replaces gdb-script-font-lock-syntactic-keywords.
(gdb-script-mode): Use it.

* lisp/progmodes/js.el (js--regexp-literal): Define while compiling.
(js-syntax-propertize-function): New var; replaces
js-font-lock-syntactic-keywords.
(js-mode): Use it.

* lisp/progmodes/make-mode.el (makefile-syntax-propertize-function):
New var; replaces makefile-font-lock-syntactic-keywords.
(makefile-mode): Use it.
(makefile-imake-mode): Adjust.

* lisp/progmodes/mixal-mode.el (mixal-syntax-propertize-function): New var;
replaces mixal-font-lock-syntactic-keywords.
(mixal-mode): Use it.

* lisp/progmodes/octave-mod.el (octave-syntax-propertize-sqs): New function
to replace octave-font-lock-close-quotes.
(octave-syntax-propertize-function): New function to replace
octave-font-lock-syntactic-keywords.
(octave-mode): Use it.

* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function): New fun to
replace perl-font-lock-syntactic-keywords.
(perl-syntax-propertize-special-constructs): New fun to replace
perl-font-lock-special-syntactic-constructs.
(perl-font-lock-syntactic-face-function): New fun.
(perl-mode): Use it.

* lisp/progmodes/python.el (python-syntax-propertize-function): New var to
replace python-font-lock-syntactic-keywords.
(python-mode): Use it.
(python-quote-syntax): Simplify and adjust to new use.

* lisp/progmodes/ruby-mode.el (ruby-here-doc-beg-re):
Define while compiling.
(ruby-here-doc-end-re, ruby-here-doc-beg-match)
(ruby-font-lock-syntactic-keywords, ruby-comment-beg-syntax)
(syntax-ppss, ruby-in-ppss-context-p, ruby-in-here-doc-p)
(ruby-here-doc-find-end, ruby-here-doc-beg-syntax)
(ruby-here-doc-end-syntax): Only define when
syntax-propertize is not available.
(ruby-syntax-propertize-function, ruby-syntax-propertize-heredoc):
New functions.
(ruby-in-ppss-context-p): Update to new syntax of heredocs.
(electric-indent-chars): Silence bytecompiler.
(ruby-mode): Use prog-mode, syntax-propertize-function, and
electric-indent-chars.

* lisp/progmodes/sh-script.el (sh-st-symbol): Remove.
(sh-font-lock-close-heredoc, sh-font-lock-open-heredoc): Add eol arg.
(sh-font-lock-flush-syntax-ppss-cache, sh-font-lock-here-doc): Remove.
(sh-font-lock-quoted-subshell): Assume we've already matched $(.
(sh-font-lock-paren): Set syntax-multiline.
(sh-font-lock-syntactic-keywords): Remove.
(sh-syntax-propertize-function): New function to replace it.
(sh-mode): Use it.

* lisp/progmodes/simula.el (simula-syntax-propertize-function): New var to
replace simula-font-lock-syntactic-keywords.
(simula-mode): Use it.

* lisp/progmodes/tcl.el (tcl-syntax-propertize-function): New var to
replace tcl-font-lock-syntactic-keywords.
(tcl-mode): Use it.

* lisp/progmodes/vhdl-mode.el (vhdl-mode): Use syntax-propertize-function
if available.
(vhdl-fontify-buffer): Adjust.

* lisp/textmodes/bibtex.el (bibtex-mode): Use syntax-propertize-function.

* lisp/textmodes/reftex.el (font-lock-syntactic-keywords): Don't declare
since we don't use it.

* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-function): New var to
replace sgml-font-lock-syntactic-keywords.
(sgml-mode): Use it.

* lisp/textmodes/tex-mode.el (tex-common-initialization, doctex-mode):
Use syntax-propertize-function.

* lisp/textmodes/texinfo.el (texinfo-syntax-propertize-function): New fun
to replace texinfo-font-lock-syntactic-keywords.
(texinfo-mode): Use it.

* test/indent/octave.m: Remove some `fixindent' not needed any more.
2010-09-11 01:13:42 +02:00
Kenichi Handa 9e69cb054d merge changes in emacs-23 branch 2010-09-01 16:13:21 +09:00
Stefan Monnier f291fe60fb Use `declare' in defmacros.
* lisp/window.el (save-selected-window):
* lisp/subr.el (with-temp-file, with-temp-message, with-syntax-table):
* lisp/progmodes/python.el (def-python-skeleton):
* lisp/net/dbus.el (dbus-ignore-errors):
* lisp/jka-cmpr-hook.el (with-auto-compression-mode):
* lisp/international/mule.el (with-category-table):
* lisp/emacs-lisp/timer.el (with-timeout):
* lisp/emacs-lisp/lisp-mnt.el (lm-with-file):
* lisp/emacs-lisp/eieio.el (with-slots):
* lisp/emacs-lisp/easymenu.el (easy-menu-define):
* lisp/emacs-lisp/debug.el (debugger-env-macro):
* lisp/emacs-lisp/cl-compat.el (Multiple-value-bind, Multiple-value-setq)
(Multiple-value-call, Multiple-value-prog1):
* lisp/emacs-lisp/cl-seq.el (cl-parsing-keywords, cl-check-key)
(cl-check-test-nokey, cl-check-test, cl-check-match): Move indent and
edebug rule to definition.
* lisp/emacs-lisp/lisp-mode.el (save-selected-window)
(with-current-buffer, combine-after-change-calls)
(with-output-to-string, with-temp-file, with-temp-buffer)
(with-temp-message, with-syntax-table, read-if, eval-after-load)
(dolist, dotimes, when, unless):
* lisp/emacs-lisp/byte-run.el (inline): Remove indent rule, redundant.
2010-08-30 15:03:05 +02:00
Chong Yidong edfd00fa82 * lisp/progmodes/python.el: Add Ipython support (Bug#5390).
Based on a patch by Fabian Ezequiel Gallina.

(python-shell-prompt-alist)
(python-shell-continuation-prompt-alist): New options.
(python--set-prompt-regexp): New function.
(inferior-python-mode, run-python, python-shell): Require
ansi-color.  Use python--set-prompt-regexp to set the comint
prompt based on the Python interpreter.
(python--prompt-regexp): New var.
(python-check-comint-prompt)
(python-comint-output-filter-function): Use it.
(run-python): Use a pipe (Bug#5694).
(python-send-region): Send a different Python command if Ipython is in use.
(python-check-version): Use a Python command to find the version.
2010-08-24 16:20:21 -04:00
Chris Foote 9027027d08 * progmodes/python.el (python-block-pairs): Allow use of "finally" with "else" (Bug#3991). 2010-08-22 20:44:55 -04:00
Christoph Scholtes 4565b08e18 Add some font-locking for Python 2.7.
* lisp/progmodes/python.el (python-font-lock-keywords): Add Python 2.7
builtins (BufferError, BytesWarning, WindowsError; callables
bin, bytearray, bytes, format, memoryview, next, print; __package__).
2010-07-06 21:46:58 -07:00
Chong Yidong b8280f3930 Minor Python mode fix (Bug#5653).
* progmodes/python.el (python-pdbtrack-stack-entry-regexp): Allow
the characters _<> in the stack entry (Bug#5653).
2010-02-26 19:19:50 -05:00
Mark A. Hershberger aaef4f91fa replace references to obsolete c-subword-mode 2010-01-19 14:39:22 -05:00
Chong Yidong fd579fdca5 * progmodes/python.el (python-font-lock-keywords): Handle qualified decorators
(Bug#881).
2010-01-05 15:11:04 -07:00
Chong Yidong 8cffbb7542 * progmodes/python.el (python-symbol-completions): Remove text
properties from symbol string before calling python-send-receive.
2009-12-14 16:19:24 +00:00
Stefan Monnier 51ef56c47f * minibuffer.el (completion-at-point-functions): New var.
(completion-at-point): New command.
* indent.el (indent-for-tab-command): Handle the new `complete' behavior.
* progmodes/python.el (python-mode-map): Use completion-at-point.
(python-completion-at-point): Rename from python-partial-symbol and
adjust for use in completion-at-point-functions.
(python-mode): Setup completion-at-point for Python completion.
* emacs-lisp/lisp.el (lisp-completion-at-point): New function
extracted from lisp-complete-symbol.
(lisp-complete-symbol): Use it.
* emacs-lisp/lisp-mode.el (emacs-lisp-mode): Use define-derived-mode,
setup completion-at-point for Elisp completion.
(emacs-lisp-mode-map, lisp-interaction-mode-map): Use completion-at-point.
* ielm.el (ielm-map): Use completion-at-point.
(inferior-emacs-lisp-mode): Setup completion-at-point for Elisp completion.
* progmodes/sym-comp.el: Move to...
* obsolete/sym-comp.el: Move from progmodes.
2009-12-07 20:06:26 +00:00
Dan Nicolaescu 1e8780b173 * textmodes/tex-mode.el (tex-alt-dvi-print-command)
(tex-dvi-print-command, tex-bibtex-command, tex-start-commands)
(tex-start-options, slitex-run-command, latex-run-command)
(tex-run-command, tex-directory):
* textmodes/ispell.el (ispell-html-skip-alists)
(ispell-tex-skip-alists, ispell-tex-skip-alists):
* textmodes/fill.el (adaptive-fill-first-line-regexp):
(adaptive-fill-regexp):
* textmodes/dns-mode.el (auto-mode-alist):
* progmodes/python.el (interpreter-mode-alist):
* progmodes/etags.el (tags-compression-info-list):
* progmodes/etags.el (tags-file-name):
* net/browse-url.el (browse-url-galeon-program)
(browse-url-firefox-program):
* mail/sendmail.el (mail-signature-file)
(mail-citation-prefix-regexp):
* international/mule-conf.el (eight-bit):
* international/latexenc.el (latex-inputenc-coding-alist):
* international/fontset.el (x-pixel-size-width-font-regexp):
* emacs-lisp/warnings.el (warning-type-format):
* emacs-lisp/trace.el (trace-buffer):
* emacs-lisp/lisp-mode.el (lisp-interaction-mode-map)
(emacs-lisp-mode-map):
* calendar/holidays.el (holiday-solar-holidays)
(holiday-bahai-holidays, holiday-islamic-holidays)
(holiday-christian-holidays, holiday-hebrew-holidays)
(hebrew-holidays-4, hebrew-holidays-3, hebrew-holidays-2)
(hebrew-holidays-1, holiday-oriental-holidays)
(holiday-general-holidays):
* x-dnd.el (x-dnd-known-types):
* tool-bar.el (tool-bar):
* startup.el (site-run-file):
* shell.el (shell-dumb-shell-regexp):
* rfn-eshadow.el (file-name-shadow-tty-properties)
(file-name-shadow-properties):
* paths.el (remote-shell-program, news-directory):
* mouse.el ([C-down-mouse-3]):
* menu-bar.el (menu-bar-tools-menu):
* jka-cmpr-hook.el (jka-compr-load-suffixes)
(jka-compr-mode-alist-additions, jka-compr-compression-info-list)
(jka-compr-compression-info-list):
* isearch.el (search-whitespace-regexp):
* image-file.el (image-file-name-extensions):
* find-dired.el (find-ls-option):
* files.el (directory-listing-before-filename-regexp)
(directory-free-space-args, insert-directory-program)
(list-directory-brief-switches, magic-fallback-mode-alist)
(magic-fallback-mode-alist, auto-mode-interpreter-regexp)
(automount-dir-prefix):
* faces.el (face-x-resources, x-font-regexp, x-font-regexp-head)
(x-font-regexp-slant, x-font-regexp-weight, face-x-resources)
(face-font-registry-alternatives, face-font-registry-alternatives)
(face-font-family-alternatives):
* facemenu.el (facemenu-add-new-face, facemenu-background-menu)
(facemenu-foreground-menu, facemenu-face-menu):
* epa-hook.el (epa-file-name-regexp):
* dnd.el (dnd-protocol-alist):
* textmodes/rst.el (auto-mode-alist):
* button.el (default-button):  Purecopy strings.
2009-11-06 05:16:23 +00:00
Stefan Monnier 9a5293129d * textmodes/two-column.el (2C-split):
* textmodes/texnfo-upd.el (texinfo-multi-file-included-list):
* textmodes/tex-mode.el (tex-set-buffer-directory):
* textmodes/spell.el (spell-region, spell-string):
* textmodes/reftex.el (reftex-erase-buffer):
(reftex-get-file-buffer-force, reftex-kill-temporary-buffers):
* textmodes/reftex-toc.el (reftex-toc-promote-action):
* textmodes/reftex-sel.el (reftex-get-offset, reftex-insert-docstruct)
(reftex-select-item):
* textmodes/reftex-ref.el (reftex-label-info-update)
(reftex-offer-label-menu):
* textmodes/reftex-index.el (reftex-index-change-entry)
(reftex-index-phrases-info):
* textmodes/reftex-global.el (reftex-create-tags-file)
(reftex-save-all-document-buffers, reftex-ensure-write-access):
* textmodes/reftex-dcr.el (reftex-echo-ref, reftex-echo-cite)
(reftex-view-crossref-from-bibtex):
* textmodes/reftex-cite.el (reftex-bibtex-selection-callback)
(reftex-extract-bib-entries-from-thebibliography)
(reftex-all-used-citation-keys, reftex-create-bibtex-file):
* textmodes/refbib.el (r2b-capitalize-title):
(r2b-convert-buffer, r2b-help):
* textmodes/page-ext.el (pages-directory)
(pages-directory-goto-with-mouse):
* textmodes/bibtex.el (bibtex-validate-globally):
* textmodes/bib-mode.el (bib-capitalize-title):
* textmodes/artist.el (artist-clear-buffer, artist-system):
* progmodes/xscheme.el (global-set-scheme-interaction-buffer):
(local-set-scheme-interaction-buffer, xscheme-process-filter)
(verify-xscheme-buffer, xscheme-enter-interaction-mode)
(xscheme-enter-debugger-mode, xscheme-debugger-mode-p)
(xscheme-send-control-g-interrupt, xscheme-start-process)
(xscheme-process-sentinel, xscheme-cd):
* progmodes/verilog-mode.el (verilog-read-always-signals)
(verilog-set-define, verilog-getopt-file)
(verilog-module-inside-filename-p):
* progmodes/sh-script.el:
* progmodes/python.el (python-pdbtrack-get-source-buffer)
(python-pdbtrack-grub-for-buffer, python-execute-file):
* progmodes/octave-inf.el (inferior-octave):
* progmodes/idlwave.el (idlwave-scan-user-lib-files)
(idlwave-shell-compile-helper-routines, idlwave-set-local)
(idlwave-display-completion-list-xemacs, idlwave-list-abbrevs)
(idlwave-display-completion-list-emacs, idlwave-list-load-path-shadows)
(idlwave-completion-fontify-classes, idlwave-display-calling-sequence):
* progmodes/idlw-shell.el (idlwave-shell-examine-display-clear)
(idlwave-shell-filter, idlwave-shell-examine-highlight)
(idlwave-shell-sentinel, idlwave-shell-filter-directory)
(idlwave-shell-display-line, idlwave-shell-set-bp-in-module)
(idlwave-shell-examine-display, idlwave-shell-run-region)
(idlwave-shell-filter-bp, idlwave-shell-save-and-action)
(idlwave-shell-sources-filter, idlwave-shell-goto-next-error):
* progmodes/idlw-help.el (idlwave-help-get-special-help)
(idlwave-help-get-help-buffer):
* progmodes/gud.el (gud-basic-call, gud-find-class)
(gud-tooltip-activate-mouse-motions-if-enabled):
* progmodes/gdb-mi.el (gdb-mouse-toggle-breakpoint-fringe):
* progmodes/ebrowse.el (ebrowse-member-table, ebrowse-save-tree-as)
(ebrowse-view-exit-fn, ebrowse-tags-list-members-in-file)
(ebrowse-tags-next-file):
* progmodes/ebnf2ps.el (ebnf-generate-eps, ebnf-generate-eps)
(ebnf-eps-production-list, ebnf-begin-file, ebnf-log)
(ebnf-eps-finish-and-write):
* progmodes/cpp.el (cpp-edit-save):
* progmodes/cperl-mode.el (cperl-pod-to-manpage):
* progmodes/cc-defs.el (c-emacs-features):
* progmodes/antlr-mode.el (antlr-invalidate-context-cache)
(antlr-directory-dependencies):
* progmodes/ada-xref.el (ada-gnat-parse-gpr, ada-get-ali-file-name)
(ada-run-application, ada-find-in-src-path, ada-goto-parent)
(ada-find-any-references, ada-make-filename-from-adaname)
(ada-make-body-gnatstub):
* obsolete/rnews.el (news-list-news-groups):
* obsolete/resume.el (resume-suspend-hook,resume-write-buffer-to-file):
* obsolete/iso-acc.el (iso-acc-minibuf-setup):
* net/rcirc.el (rcirc-debug):
* net/newst-treeview.el (newsticker--treeview-list-add-item)
(newsticker--treeview-list-clear, newsticker-treeview-browse-url)
(newsticker--treeview-list-update-faces, newsticker-treeview-save)
(newsticker--treeview-item-show-text, newsticker--treeview-item-show)
(newsticker--treeview-tree-update-tag,newsticker--treeview-buffer-init)
(newsticker-treeview-show-item, newsticker--treeview-unfold-node)
(newsticker--treeview-list-clear-highlight)
(newsticker--treeview-list-update-highlight)
(newsticker--treeview-list-highlight-start)
(newsticker--treeview-tree-update-highlight)
(newsticker--treeview-get-selected-item)
(newsticker-treeview-mark-list-items-old)
(newsticker--treeview-set-current-node):
* net/newst-plainview.el (newsticker--buffer-set-uptodate):
* net/newst-backend.el (newsticker--get-news-by-funcall)
(newsticker--get-news-by-wget, newsticker--image-get)
(newsticker--image-sentinel):
* net/mairix.el (mairix-rmail-fetch-field, mairix-gnus-fetch-field):
* net/eudcb-ph.el (eudc-ph-do-request, eudc-ph-open-session):
(eudc-ph-close-session):
* net/eudc.el (eudc-save-options):
* language/thai-word.el (thai-update-word-table):
* language/japan-util.el (japanese-string-conversion):
* international/titdic-cnv.el (tsang-quick-converter)
(ziranma-converter, ctlau-converter):
* international/mule-cmds.el (describe-language-environment):
* international/ja-dic-cnv.el (skkdic-convert-okuri-ari)
(skkdic-convert-postfix, skkdic-convert-prefix):
(skkdic-convert-okuri-nasi, skkdic-convert):
* emacs-lisp/re-builder.el (reb-update-overlays):
* emacs-lisp/pp.el (pp-to-string, pp-display-expression):
* emacs-lisp/gulp.el (gulp-send-requests):
* emacs-lisp/find-gc.el (trace-call-tree):
* emacs-lisp/eieio-opt.el (eieio-browse, eieio-describe-class)
(eieio-describe-generic):
* emacs-lisp/eieio-base.el (eieio-persistent-read):
* emacs-lisp/edebug.el (edebug-outside-excursion):
* emacs-lisp/debug.el (debugger-make-xrefs):
* emacs-lisp/cust-print.el (custom-prin1-to-string):
* emacs-lisp/chart.el (chart-new-buffer):
* emacs-lisp/authors.el (authors-scan-el, authors-scan-change-log):
Use with-current-buffer.
* textmodes/artist.el (artist-system): Don't call
copy-sequence on a fresh string.
* progmodes/idlw-shell.el (easymenu setup): Use dolist.
2009-10-31 02:38:34 +00:00
Dan Nicolaescu ca0a881a35 * puresize.h (BASE_PURESIZE): Increase to 1470000.
* lread.c (Fload): Purecopy the file name when building Vpreloaded_file_list.

* textmodes/ispell.el (ispell-skip-region-alist):
* international/mule-conf.el (eight-bit):
* international/fontset.el (font-encoding-alist):
* startup.el (pure-space-overflow-message):
* simple.el (overwrite-mode-textual, overwrite-mode-binary):
* paths.el (gnus-nntp-service, rmail-spool-directory)
(term-file-prefix):
* files.el (save-some-buffers-action-alist):
* cmuscheme.el (same-window-buffer-names):
* ielm.el (same-window-buffer-names):
* shell.el (same-window-buffer-names):
* mail/sendmail.el (same-window-buffer-names):
* progmodes/inf-lisp.el (same-window-buffer-names):
* bindings.el (mode-line-client)
(mode-line-column-line-number-mode-map):
* language/tibetan.el (tibetan-precomposition-rule-regexp)
(tibetan-precomposed-regexp): Purecopy string arguments.
2009-10-30 02:00:11 +00:00
Juanma Barranquero 32226619c5 Use called-interactively-p' instead of interactive-p'. 2009-10-02 03:48:36 +00:00
Glenn Morris 5f68c1b736 Use forward-line rather than goto-line. 2009-09-01 03:18:44 +00:00
Glenn Morris d5d105e863 Use help-print-return-message rather than the now obsolete alias. 2009-08-21 07:24:26 +00:00
Martin Rudalics 3ba6d4ed56 (python-shift-left, python-shift-right):
When the mark is not active shift the current line.  (Bug#2381)
2009-02-20 16:30:53 +00:00
Stefan Monnier 865ff911f3 (python-use-skeletons): Re-add.
(def-python-skeleton): Use it.
2009-02-12 18:16:26 +00:00
Glenn Morris e18cc61cc9 Comment (python-mode is now separate from Python). 2009-02-03 04:13:17 +00:00
Glenn Morris ae940284fa Add 2009 to copyright years. 2009-01-05 03:18:22 +00:00
Stefan Monnier f75501733f (python-mode): Don't impose ourselves on hippie. 2008-10-26 05:10:54 +00:00
Romain Francoise 75adb00dcf (run-python): Remove '' from sys.path. 2008-08-24 19:47:07 +00:00
Juanma Barranquero f67b40b3d8 (python-comment-line-p, python-blank-line-p, python-skip-out,
python-check-comint-prompt): Don't use `iff' in docstrings.
2008-05-08 03:42:10 +00:00
Glenn Morris b1fc2b5014 Switch to recommended form of GPLv3 permissions notice. 2008-05-06 07:25:26 +00:00
Stefan Monnier 0c8a412cfd (python-block-pairs): Align finally with except. 2008-05-05 07:10:25 +00:00
Glenn Morris a3dd77f764 Dave Love <fx at gnu.org>
(python-beginning-of-statement): Loop at least once (fixes 2008-02-21 change).
2008-05-03 18:51:41 +00:00
Stefan Monnier 88bdb6c2e5 (python-mode-map): Use abbrev-table-menu.
(python-use-skeletons): Remove, unused.
(python-skeletons): Remove.  Use the abbrev table instead.
(python-mode-abbrev-table): Fix regexp; add enable-function and case-fixed.
(def-python-skeleton): Simplify.
(python-expand-template): Use the abbrev-table and abbrev-insert.
(python-abbrev-pc-hook, python-abbrev-syntax-table, python-pea-hook): Remove.
(python-mode): Don't set pre-abbrev-expand-hook.
2008-04-17 20:09:54 +00:00
Ken Manheimer f7aa70c758 Finish pdbtrack integration cleanup, settling missing-functions
byte compiler warnings appropriately.

* progmodes/python.el (python-point): Remove this - beginning-of-line was
all that was necessary for `python-pdbtrack-overlay-arrow'.
(python-end-of-def-or-class, python-beginning-of-def-or-class)
(python-goto-initial-line): Drop these - they were only needed for
python-point.
(python-comint-output-filter-function): Use condition-case and
beginning-of-line directly, instead of python-mode.el functions
which require all sorts of baggage.
(point-safe): Unnecessary - we're using condition-case directly,
instead.
(python-execute-file): Include for python-shell, which i'm leaving
in keeping despite it being unnecessary for pdb tracking.
2008-02-22 17:49:48 +00:00
Ken Manheimer 82ede38976 Revise pdbtrack functionality to incorporate advances in python-mode.el.
(I'm doing this python.el checkin with some byte-compiler warnings.  These
warnings existed before Nick Roberts or I applied any of the pdbtrack
changes, and look very clearly like preexisting, incomplete adoption of
code from python-mode.el.  I'm going to next look at settling those
warnings, though I don't have time for a major reconciliation of the two
python-mode implementations.)

(python-pdbtrack-toggle-stack-tracking): Clarify docstring.
(python-pdbtrack-minor-mode-string): A sign indicating that pdb
tracking is happening.
(python-pdbtrack-stack-entry-regexp): Better recognize stack traces.
(python-pdbtrack-input-prompt): Better recognize PDB prompts.
(add python-pdbtrack-track-stack-file to comint-output-filter-functions):
Tracking is plugged in to all comint buffers once python.el is loaded.
(python-pdbtrack-overlay-arrow): Toggle activation of
`python-pdbtrack-minor-mode-string' in addition to the overlay arrow.
(python-pdbtrack-track-stack-file): Use new
`python-pdbtrack-get-source-buffer' for more flexible access to
debugging source files.
(python-pdbtrack-get-source-buffer): Identify debugging target
buffer according to pdb stack trace, optionally using new
`python-pdbtrack-grub-for-buffer' if file is not locally
available.
(python-pdbtrack-grub-for-buffer): Find most recent python-mode
named buffer, or having function with indicated name.
(python-shell): Remove comint-output-filter-functions hook
addition, it's being done elsewhere.  Wrap long line.
2008-02-21 22:28:13 +00:00
Chong Yidong 2bcda1d5ac Merge from Dave Love's 2008-01-20 version.
Require sym-comp.  Add Python buffer to same-window-buffer-names.
Fixup whitespaces.
(python-font-lock-keywords): Add highlighting for Python builtins.
(python-font-lock-syntactic-keywords): Rewrite.
(python-quote-syntax): Use syntax-ppss-context instead of parsing
ppss directly.
(python-mode-map): Add binding for python-find-function.
(python-calculate-indentation): Clean up the logic.
(python-beginning-of-defun): Explicitly set return value.
(python-beginning-of-statement): Stop looping if we get stuck
going backwards.
(python-next-statement): Stop looping if we somehow end up inside
a string while advancing.
(python-preoutput-continuation, python-version-checked): New vars.
(python-check-version): New function.
(run-python): Set default command to python-command instead of
python-python-command.
(run-python): Use python-check-version.  Give PYTHONPATH
precedence over data-directory in the process environment.  Load
function definitions in python process after.
(python-check-comint-prompt): New function.
(python-send-command, python-send-receive): Use it.
(python-complete-symbol, python-try-complete): Functions deleted.
Use symbol-complete instead of python-complete-symbol throughout.
(python-fill-paragraph): Further refine the fenced-string regexp.
(def-python-skeleton): Expand to the original abbrev instead if in
a comment or string.  Tweak skeletons for `if', `while', `for',
`try/except', `try/finally', `name'.
(python-pea-hook, python-abbrev-pc-hook): New functions.
(python-abbrev-syntax-table): New var.
(python-mode): Add python-pea-hook to pre-abbrev-expand-hook.  Use
symbol-completion-try-complete for hippie expansion.  Turn on font
lock unconditionally.
(python-mode-hook): Defcustom it.  No need to use make-local
variable on indent-tabs-mode in "Turn off Indent Tabs mode"
option, since it's buffer-local.
2008-02-21 17:03:47 +00:00
Nick Roberts d550787cc9 Also require comint when loading.
(python-mode-map): Bind python-pdbtrack-toggle-stack-tracking,
Replace python-shell with run-python on menu bar,
(python-shell-map): New map.
(python-default-interpreter, python-python-command-args)
(python-jython-command-args, python-pdbtrack-do-tracking-p):
New options.
(python-which-shell, python-which-args, python-which-bufname):
New buffer local variables.
(python-file-queue, python-pdbtrack-is-tracking-p):
* progmodes/python.el (python-pdbtrack-stack-entry-regexp)
(python-pdbtrack-input-prompt, python-pdbtrack-track-range):
New constants.

Pdbtrack features:

(python-point, python-end-of-def-or-class)
(python-beginning-of-def-or-class, python-goto-initial-line)
(python-comint-output-filter-function)
(python-pdbtrack-overlay-arrow)
(python-pdbtrack-track-stack-file, python-toggle-shells)
(python-shell, python-pdbtrack-toggle-stack-tracking)
(turn-on-pdbtrack, turn-off-pdbtrack, python-sentinel):
New functions.
2008-02-20 00:18:23 +00:00
Glenn Morris f2c6de6aed Quote all calls to "auxiliary skeleton"s to prevent infloops. 2008-01-20 04:02:15 +00:00
Glenn Morris f2357ea13b Martin Svenson <phromo at gmail.com> (tiny change)
(python-imports): Default to "None".
2008-01-20 03:56:50 +00:00
Miles Bader 59ce725a3b Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-987
2008-01-08 20:46:54 +00:00
Glenn Morris 4e643dd23c Add 2008 to copyright years. 2008-01-07 02:11:00 +00:00
Glenn Morris 5cec305694 Remove directory part from filenames in function declarations. 2007-12-06 04:09:57 +00:00
Glenn Morris 981ed8df13 (compilation-shell-minor-mode): Declare as a function. 2007-12-05 03:32:55 +00:00
Glenn Morris 2650c1dbf9 (top-level): Don't require cl when compiling. 2007-12-02 20:04:11 +00:00
Dan Nicolaescu e8ffb999b9 * frame.el (msdos-mouse-p):
* generic-x.el (w32-shell-name):
* files.el (msdos-long-file-names, w32-long-file-name)
(msdos-long-file-names, dired-get-filename, dired-unmark)
(dired-do-flagged-delete, dos-8+3-filename, vms-read-directory)
(view-mode-disable):
* term/mac-win.el (mac-code-convert-string, mac-coerce-ae-data)
(mac-resume-apple-event, mac-font-panel-mode)
(mac-atsu-font-face-attributes, mac-ae-set-reply-parameter)
(mac-clear-font-name-table):
* term/pc-win.el (msdos-remember-default-colors)
(w16-set-clipboard-data, w16-get-clipboard-data):
* term/w32-win.el (w32-send-sys-command, w32-select-font)
(set-message-beep):
* w32-fns.el (set-message-beep, w32-get-clipboard-data)
(w32-get-locale-info, w32-get-valid-locale-ids)
(w32-set-clipboard-data):
* help-fns.el (ad-get-advice-info):
* font-lock.el (fast-lock-after-fontify-buffer)
(fast-lock-after-unfontify-buffer, fast-lock-mode)
(lazy-lock-after-fontify-buffer)
(lazy-lock-after-unfontify-buffer, lazy-lock-mode):
* net/browse-url.el (w32-shell-execute):
* dos-fns.el (int86, msdos-long-file-names):
* dos-w32.el (default-printer-name): Declare as functions.
2007-11-21 03:06:01 +00:00
Dan Nicolaescu 6d00e226c3 * progmodes/python.el (info-lookup-maybe-add-help):
* progmodes/ps-mode.el (doc-view-minor-mode):
* mail/emacsbug.el (Info-menu, Info-goto-node):
* emulation/viper-keym.el (viper-ex)
(viper-normalize-minor-mode-map-alist, viper-set-mode-vars-for):
* emulation/viper-cmd.el (widget-type, widget-button-press)
(viper-set-hooks):
* emacs-lisp/tcover-unsafep.el (unsafep-function):
* emacs-lisp/tcover-ses.el (ses-set-curcell, ses-update-cells)
(ses-load, ses-vector-delete, ses-create-header-string)
(ses-read-cell, ses-read-symbol, ses-command-hook, ses-jump):
* emacs-lisp/gulp.el (mail-subject, mail-send): Declare as
functions.

* url-mailto.el (mail-send-and-exit):
* url-http.el (url-dav-file-attributes):
* url-file.el (ange-ftp-set-passwd, ange-ftp-copy-file-internal):
(url-generate-unique-filename): Declare as functions.
2007-11-20 07:56:02 +00:00
Stefan Monnier c01b997152 (python-mode-abbrev-table): Use :regexp.
Merge defvar and define-abbrev-table.
(def-python-skeleton): Use :case-fixed and :enable-function.
(python-abbrev-pc-hook, python-abbrev-syntax-table, python-pea-hook): Remove.
(python-mode): Don't modify pre-abbrev-expand-hook.
2007-10-31 20:00:36 +00:00
Stefan Monnier d720f96e93 (python-current-defun): Remove left-over assignment to `start'. 2007-10-23 21:27:20 +00:00
Miles Bader 1af74d06e5 Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-875
2007-10-09 08:52:57 +00:00
Juanma Barranquero d56f40cb55 (python-eldoc-function): Doc fix. 2007-09-27 21:23:43 +00:00
Juanma Barranquero 2092ac41d6 (python-eldoc-function): Doc fix. 2007-09-27 11:55:06 +00:00
Glenn Morris f4ff3e5cc0 Adam Hupp <adam at hupp.org>
(run-python): Import emacs module without waiting; prevents lockup on
error.
2007-09-24 00:12:25 +00:00
Stefan Monnier 308114ef9f Merge changes from Dave Love's v2007-Sep-10.
(python-font-lock-keywords): Update to the 2.5 version of the language.
(python-quote-syntax): Let-bind font-lock-syntactic-keywords to nil.
(python-backspace): Only behave funny in code.
(python-compilation-regexp-alist): Add PDB stack trace regexp.
(inferior-python-mode): Add PDB prompt regexp.
(python-fill-paragraph): Refine the fenced-string regexp.
(python-find-imports): Handle imports spanning several lines.
(python-mode): Add `class' to hideshow support.
2007-09-10 20:02:31 +00:00
Miles Bader 37cc095b6a Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-851
2007-08-13 13:41:28 +00:00
Glenn Morris e7f767c25e Replace `iff' in doc-strings and comments. 2007-08-08 07:34:30 +00:00
Vinicius Jose Latorre 47968e06da Fix infinite loop in python.el 2007-08-01 00:47:25 +00:00
Miles Bader 2f12b71311 Merge from emacs--rel--22
Patches applied:

 * emacs--rel--22  (patch 75-83)

   - Update from CVS
   - Remove lisp/erc/erc-nicklist.el
   - Update some .arch-inventory files
   - Indicate that emacs--devo--0--patch-834 does not need to be applied
   - Merge from gnus--rel--5.10
   - Restore lisp/emacs-lisp/cl-loaddefs.el

 * gnus--rel--5.10  (patch 239-241)

   - Merge from emacs--devo--0
   - Update from CVS

2007-07-29  Kimit Yada  <kimitto@gmail.com>  (tiny change)

   * lisp/emacs-lisp/copyright.el (copyright-update-year, copyright-update)
   (copyright-fix-years, copyright): Correctly handle the case where
   copyright-limit is nil.

2007-07-28  Konstantin Novitsky  <knovitsk@Bear.com>  (tiny change)

   * lisp/progmodes/python.el (run-python): Fix path separator under w32.

2007-07-24  Katsumi Yamaoka  <yamaoka@jpl.org>

   * lisp/gnus/gnus-msg.el (gnus-summary-supersede-article)
   (gnus-summary-resend-message-edit): Add Gcc header.
   (gnus-summary-resend-bounced-mail): Ditto; search whole body for parent
   article's Message-ID; refer parent article in summary buffer.

   * lisp/gnus/message.el (message-bounce): Call mime-to-mml.

Revision: emacs@sv.gnu.org/emacs--devo--0--patch-838
2007-07-31 05:02:54 +00:00
Stefan Monnier 0b3ef4f1e5 (run-python): Fix path separator under w32. 2007-07-28 20:24:19 +00:00
Miles Bader 9aecacd08a Merge from emacs--rel--22
Patches applied:

 * emacs--rel--22  (patch 70-73)

   - Update from CVS

2007-07-25  Glenn Morris  <rgm@gnu.org>

   * Relicense all FSF files to GPLv3 or later.

Revision: emacs@sv.gnu.org/emacs--devo--0--patch-828
2007-07-26 05:28:10 +00:00
Glenn Morris 1a484753b2 Switch license to GPLv3 or later. 2007-07-25 04:29:40 +00:00
Stefan Monnier 4f7a582baa (python-which-func-length-limit): New var.
(python-which-func): New function.
(python-current-defun): Add optional `length-limit' and try to fit
computed function name to that length.
(python-mode): Hook `python-which-func' up.
2007-07-12 04:36:48 +00:00
Juanma Barranquero 36754e8e79 (python-complete-symbol): Remove redundant check. 2007-06-14 00:11:40 +00:00
Stefan Monnier 52319b0e59 (python-font-lock-keywords, python-open-block-statement-p, python-mode):
Add support for the new "with" keyword.
2007-05-10 17:39:27 +00:00
Stefan Monnier 0b480dc773 (python-font-lock-keywords, python-open-block-statement-p, python-mode):
Add support for the new "with" keyword.
2007-05-09 16:56:20 +00:00
Stefan Monnier 0f21ecf3c5 (python-end-of-block): Revert last change.
(python-end-of-statement): Make sure we move *forward*.
2007-05-09 16:53:13 +00:00
Stefan Monnier 11c4b29d3a (python-guess-indent): Check non-nullness before comparing indent against
the 2..8 interval.
2007-05-08 01:35:26 +00:00
Glenn Morris 66b08d69be Restore file pending consideration of legal issues. 2007-04-26 19:43:05 +00:00
Chong Yidong 9b71a937c3 Remove python.el due to unclear legal issues. 2007-04-24 01:52:53 +00:00
Chong Yidong 003586aae6 (python-end-of-block): Avoid looping forever if python-next-statement
fails.
2007-04-16 18:55:29 +00:00
Stefan Monnier 070f60e096 (python-mode): Skip comments when parsing. 2007-03-28 01:21:47 +00:00
Juanma Barranquero e2411870e6 (python-default-template): Doc fix.
(python-buffer): Fix typo in docstring.
2007-03-19 15:37:15 +00:00
Stefan Monnier 86a3e45eea (python-send-command): Restart proc if necessary.
(python-proc): Simplify.
2007-03-05 19:57:03 +00:00