1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-31 11:13:50 +00:00
Commit Graph

105598 Commits

Author SHA1 Message Date
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
4b32415cc5 Added ChangeLog entry for python.el merge. 2012-05-17 00:07:25 -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