bpt/emacs.git
12 years agoDeactivate mark on python-shell-send-region
Dan Davison [Thu, 17 May 2012 03:03:39 +0000 (00:03 -0300)]
Deactivate mark on python-shell-send-region

12 years agoUse `completion-at-point` instead of `comint-dynamic-complete` in shell completion
Dan Davison [Thu, 17 May 2012 03:03:38 +0000 (00:03 -0300)]
Use `completion-at-point` instead of `comint-dynamic-complete` in shell completion

12 years agoPass entire line of input to module completer
Dan Davison [Thu, 17 May 2012 03:03:38 +0000 (00:03 -0300)]
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.

12 years agoEnhancements on ipython 0.10 setup documentation (thanks to @tkf for the hint)
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:38 +0000 (00:03 -0300)]
Enhancements on ipython 0.10 setup documentation (thanks to @tkf for the hint)

12 years agoAdded missing dot in `python-completion-complete-at-point' error
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:37 +0000 (00:03 -0300)]
Added missing dot in `python-completion-complete-at-point' error

12 years agoEnhanced completion subject finding logic for `python-shell-completion--do-completion...
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:37 +0000 (00:03 -0300)]
Enhanced completion subject finding logic for `python-shell-completion--do-completion-at-point'

12 years agoMake `python-shell-completion--do-completion-at-point' to return a list for `completi...
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:36 +0000 (00:03 -0300)]
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

12 years agoMake `python-shell-completion--do-completion-at-point' work for calls done via `pytho...
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:36 +0000 (00:03 -0300)]
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.

12 years agopython-end-of-defun-function now works correctly when comments are not indented properly.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:36 +0000 (00:03 -0300)]
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)

12 years agoEnhancements on indentation for lines after a backslash continuation.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:36 +0000 (00:03 -0300)]
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.

12 years agoAdded self to the list of font-lock-keywords
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:35 +0000 (00:03 -0300)]
Added self to the list of font-lock-keywords

12 years agoUpdated `python-font-lock-keywords' to match latest Python 2.7 and 3.2 documentation.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:35 +0000 (00:03 -0300)]
Updated `python-font-lock-keywords' to match latest Python 2.7 and 3.2 documentation.

12 years agoBeautified code
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:35 +0000 (00:03 -0300)]
Beautified code

  * All columns are now less that 79 chars.
  * Removed tabs that were beign used to indent code.
  * Reindented the whole file.

12 years agoEnhancements on indentation code and related functions.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:34 +0000 (00:03 -0300)]
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.

12 years ago`python-check' now can have named buffers on its own depending the command launched.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:34 +0000 (00:03 -0300)]
`python-check' now can have named buffers on its own depending the command launched.

New vars:
  + python-check-buffer-name

12 years agoEnhancements on python-check command.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:34 +0000 (00:03 -0300)]
Enhancements on python-check command.

Use pyflakes (PyChecker is dead) and run the process respecting
virtualenv rules.

12 years agoRemoved :safe attribute for dangerous variables
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:33 +0000 (00:03 -0300)]
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

12 years agoFixed docstring typos
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:33 +0000 (00:03 -0300)]
Fixed docstring typos

12 years agoEnhanced shell setup for Windows.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:32 +0000 (00:03 -0300)]
Enhanced shell setup for Windows.

Also added documentation explaining how to spawn the iPython process
on Windows.

12 years agoAdded compatibility with lastest CEDET.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:32 +0000 (00:03 -0300)]
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

12 years agoImprovements on completion code.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:32 +0000 (00:03 -0300)]
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)

12 years agoImproved completion support when in [i]pdb
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:31 +0000 (00:03 -0300)]
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

12 years agoAdded `python-pdbtrack-activate' variable to allow users to activate/deactivate pdbtrack.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:31 +0000 (00:03 -0300)]
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.

12 years agoRenamed stuff to keep "namespace" clean.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:31 +0000 (00:03 -0300)]
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

12 years agoDon't request completions for zero-length input
Dan Davison [Thu, 17 May 2012 03:03:30 +0000 (00:03 -0300)]
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.

12 years agoMake `python-shell-send-string-no-output' delete trailing newlines from output.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:30 +0000 (00:03 -0300)]
Make `python-shell-send-string-no-output' delete trailing newlines from output.

12 years agoDismiss completions buffer when unique completion has been made
Dan Davison [Thu, 17 May 2012 03:03:30 +0000 (00:03 -0300)]
Dismiss completions buffer when unique completion has been made

12 years agoDocumentation enhancements
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:29 +0000 (00:03 -0300)]
Documentation enhancements

12 years agoRenamed indentity occurrences to identity in previous commmit
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:29 +0000 (00:03 -0300)]
Renamed indentity occurrences to identity in previous commmit

12 years agoEnhancements to internal python shell naming.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:29 +0000 (00:03 -0300)]
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.

12 years agoEnhancements to pdbtrack.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:28 +0000 (00:03 -0300)]
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

12 years agoEnhancements to pdbtrack
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:28 +0000 (00:03 -0300)]
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'

12 years agoDocumentation enhancements and other small fixes.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:28 +0000 (00:03 -0300)]
Documentation enhancements and other small fixes.

Removed vars:
  + python-shell-import-line-regexp

12 years agoComplete module import lines in addition to variable names
Dan Davison [Thu, 17 May 2012 03:03:27 +0000 (00:03 -0300)]
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")

12 years agoReturn appropriate value to comint-dynamic-complete
Dan Davison [Thu, 17 May 2012 03:03:27 +0000 (00:03 -0300)]
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.

12 years agoEnhancements to `python-shell-calculate-process-environment'
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:27 +0000 (00:03 -0300)]
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.

12 years agoEnhancements on `python-shell-calculate-process-environment' and `python-shell-calcul...
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:26 +0000 (00:03 -0300)]
Enhancements on `python-shell-calculate-process-environment' and `python-shell-calculate-exec-path'

Removed functions:
 + python-util-merge

12 years agoAdded simple way of jumping to current buffer's class/function definitions
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:25 +0000 (00:03 -0300)]
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.

12 years agoEnhancements to python-shell-send-string-no-output to work OK with iPython 0.11
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:25 +0000 (00:03 -0300)]
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.

12 years agoMake run-python-internal to set process-query-on-exit-flag to nil
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:25 +0000 (00:03 -0300)]
Make run-python-internal to set process-query-on-exit-flag to nil

Also python-shell-make-comint now returns the process buffer name.

12 years agoFixed indentation case for after beginning of block
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:25 +0000 (00:03 -0300)]
Fixed indentation case for after beginning of block

12 years agoRenamed python-clone-local-variables to python-util-clone-local-variables
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:24 +0000 (00:03 -0300)]
Renamed python-clone-local-variables to python-util-clone-local-variables

12 years agoNew function python-clone-local-variables
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:24 +0000 (00:03 -0300)]
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.

12 years agoFix typo enviroment => environment
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:24 +0000 (00:03 -0300)]
Fix typo enviroment => environment

Removed function:
    * python-shell-calculate-process-enviroment

New function:
    * python-shell-calculate-process-environment

12 years agoMake shells inherit variables from parent buffer and internal shells not show by...
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:23 +0000 (00:03 -0300)]
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.

12 years agoUse defcustom with :safe whenever is possible.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:23 +0000 (00:03 -0300)]
Use defcustom with :safe whenever is possible.

12 years agoRefactored run-python and run-python-internal.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:22 +0000 (00:03 -0300)]
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

12 years agoFixed cornercase for normal lines when indentation was triggered in the middle of...
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:22 +0000 (00:03 -0300)]
Fixed cornercase for normal lines when indentation was triggered in the middle of them

12 years agoMake python-info-continuation-line-p to check context type matches
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:22 +0000 (00:03 -0300)]
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

12 years agoImplemented simple virtualenv setup via python-shell-virtualenv-path variable.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:21 +0000 (00:03 -0300)]
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

12 years agoImplemented internal python shell.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:21 +0000 (00:03 -0300)]
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)

12 years agoBackported triple quote syntax from Emacs 24
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:21 +0000 (00:03 -0300)]
Backported triple quote syntax from Emacs 24

12 years agoMake package description separator contain 3 dashes (ELPA conformance)
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:20 +0000 (00:03 -0300)]
Make package description separator contain 3 dashes (ELPA conformance)

12 years agoUpdated TODO
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:20 +0000 (00:03 -0300)]
Updated TODO

12 years agofixed font-lock-builtin-face regexp
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:20 +0000 (00:03 -0300)]
fixed font-lock-builtin-face regexp

12 years agoSet local variable `mode-require-final-newline' to t
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:19 +0000 (00:03 -0300)]
Set local variable `mode-require-final-newline' to t

12 years agoNone, True, False, Ellipsis, __debug__, and NotImplemented now use font-lock-constant...
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:19 +0000 (00:03 -0300)]
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

12 years agopython-info-current-defun: fixed cornercase that caused imenu to break
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:19 +0000 (00:03 -0300)]
python-info-current-defun: fixed cornercase that caused imenu to break

12 years agoAdded package information for ELPA conformance
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:18 +0000 (00:03 -0300)]
Added package information for ELPA conformance

12 years agoFixed eldoc behavior.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:18 +0000 (00:03 -0300)]
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.

12 years agoIndentation enhancements on after-backslash
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:18 +0000 (00:03 -0300)]
Indentation enhancements on after-backslash

Multiline sentences beginning with "import", "from" or "return" are
indented correctly now.

12 years agofixed last paren indentation logic
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:17 +0000 (00:03 -0300)]
fixed last paren indentation logic

12 years agoFixed weird cornercase behavior in python-indent-calculate-indentation.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:17 +0000 (00:03 -0300)]
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.

12 years agoincreased forward-comment COUNT variable value in all calls
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:16 +0000 (00:03 -0300)]
increased forward-comment COUNT variable value in all calls

12 years agodocstring enhancements
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:16 +0000 (00:03 -0300)]
docstring enhancements

12 years agoindentation fixes on after backslash
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:16 +0000 (00:03 -0300)]
indentation fixes on after backslash

12 years agoImplemented python-nav-backward-sentence, python-nav-forward-sentence
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:15 +0000 (00:03 -0300)]
Implemented python-nav-backward-sentence, python-nav-forward-sentence

Also small fixes to python-nav-sentence-start and
python-nav-sentence-end were added.

12 years agoAdded python-nav-sentence-start and python-nav-sentence-end functions
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:15 +0000 (00:03 -0300)]
Added python-nav-sentence-start and python-nav-sentence-end functions

12 years agofixed CL related bytecompilation errors and set make-tree for imenu default
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:14 +0000 (00:03 -0300)]
fixed CL related bytecompilation errors and set make-tree for imenu default

12 years agoImplemented imenu support.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:14 +0000 (00:03 -0300)]
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.

12 years agoDocumentation enhancements with regards to code checking. (thanks schickm)
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:14 +0000 (00:03 -0300)]
Documentation enhancements with regards to code checking. (thanks schickm)

12 years agoFixed python-info-current-defun for classes without bases
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:13 +0000 (00:03 -0300)]
Fixed python-info-current-defun for classes without bases

12 years agoFixed infinite loop on python-info-current-defun
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:13 +0000 (00:03 -0300)]
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.

12 years agoDocstrings enhancements
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:13 +0000 (00:03 -0300)]
Docstrings enhancements

12 years agoSmall cornercase fix to python-info-current-defun.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:12 +0000 (00:03 -0300)]
Small cornercase fix to python-info-current-defun.

Returned the bad defun name when point was at the beginning of defun.

12 years agoFixed python-info-current-defun to match new navigation code.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:12 +0000 (00:03 -0300)]
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.

12 years agoReplaced references from python-beginning-of-innermost-defun to python-beginning...
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:12 +0000 (00:03 -0300)]
Replaced references from python-beginning-of-innermost-defun to python-beginning-of-defun-function

12 years agoUser customizable fill-paragraph behavior.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:11 +0000 (00:03 -0300)]
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

12 years agoCorrected implementations for python-{beginning,end}-of-defun functions.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:11 +0000 (00:03 -0300)]
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

12 years agoNew variable python-use-beginning-of-innermost-defun
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:11 +0000 (00:03 -0300)]
New variable python-use-beginning-of-innermost-defun

Controls if beginning-of-defun function should go to outermost or
innermost defun.

12 years agoBetter indentation handling when inside parens.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:10 +0000 (00:03 -0300)]
Better indentation handling when inside parens.

12 years agoFixed indentation issue when indenting a python-indent-dedenter from end of line
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:10 +0000 (00:03 -0300)]
Fixed indentation issue when indenting a python-indent-dedenter from end of line

12 years agonew variables python-shell-process-environment and python-shell-exec-path
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:10 +0000 (00:03 -0300)]
new variables python-shell-process-environment and python-shell-exec-path

The main reason for these new variables is virtualenv support.

12 years agoNew variable python-shell-send-setup-max-wait
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:09 +0000 (00:03 -0300)]
New variable python-shell-send-setup-max-wait

Controls the timeout for output just before sending the setup code.

12 years agoDocumentation enhancements
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:09 +0000 (00:03 -0300)]
Documentation enhancements

12 years agoBetter shell setup using the new python-shell-send-setup-codes function.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:09 +0000 (00:03 -0300)]
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.

12 years agoAdded indentation support for continuation of dotted expressions
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:08 +0000 (00:03 -0300)]
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.

12 years agoEnhancements to python-indent-electric-colon.
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:08 +0000 (00:03 -0300)]
Enhancements to python-indent-electric-colon.

Only de-indent line if it really closes a block.

12 years agoNew function python-info-ppss-context
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:07 +0000 (00:03 -0300)]
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.

12 years agoAdded commentary about installing pyreadline on system that bundles Python without...
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:07 +0000 (00:03 -0300)]
Added commentary about installing pyreadline on system that bundles Python without readline

12 years agoRemove find-file-noselect invocation in python-shell-send-file
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:07 +0000 (00:03 -0300)]
Remove find-file-noselect invocation in python-shell-send-file

12 years agoUse insert instead of insert-string
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:06 +0000 (00:03 -0300)]
Use insert instead of insert-string

12 years agoBetter non-standard shell integration support
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:06 +0000 (00:03 -0300)]
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.

12 years agoShell integration improvements and cleanups
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:06 +0000 (00:03 -0300)]
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.

12 years agopython.el now bytecompiles without warnings
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:05 +0000 (00:03 -0300)]
python.el now bytecompiles without warnings

12 years agoImplemented Skeletons after GNU/Emacs python.el
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:05 +0000 (00:03 -0300)]
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.

12 years agoExplain we have python-indent-electric-colon
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:05 +0000 (00:03 -0300)]
Explain we have python-indent-electric-colon

12 years agoDon't deactivate mark after indenting commands
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:04 +0000 (00:03 -0300)]
Don't deactivate mark after indenting commands

12 years agoSmall fix to python-indent-electric-colon
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:04 +0000 (00:03 -0300)]
Small fix to python-indent-electric-colon

Check current indentation is greater than the current calculated
indentation.

12 years agoImplemented python-indent-electric-colon
Fabián Ezequiel Gallina [Thu, 17 May 2012 03:03:04 +0000 (00:03 -0300)]
Implemented python-indent-electric-colon