Commit graph

655 commits

Author SHA1 Message Date
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