Commit graph

634 commits

Author SHA1 Message Date
Fabián Ezequiel Gallina
e2a5e3f87a python.el: Ensure remote process-environment on non-interactive processes
* lisp/progmodes/python.el
(python-shell-tramp-refresh-process-environment): New function.
(python-shell-with-environment): Use it.

* test/automated/python-tests.el (python-shell-with-environment-2): Update.
2015-08-21 22:34:39 -03:00
Fabián Ezequiel Gallina
49071a4afc ; python.el: Bump version to 25.1
Also update author email and add Package-Require header to allow
installation from Emacs 24.x.
2015-08-21 19:36:01 -03:00
Fabián Ezequiel Gallina
4150b563e7 python.el: Enhancements to process environment setup.
* lisp/progmodes/python.el (python-shell-process-environment)
(python-shell-extra-pythonpaths, python-shell-exec-path)
(python-shell-virtualenv-root): Update docstring.  Remove :safe.
(python-shell-setup-codes): Remove :safe.
(python-shell-remote-exec-path): New defcustom.
(python-shell--add-to-path-with-priority): New macro.
(python-shell-calculate-pythonpath): Give priority to
python-shell-extra-pythonpaths.  Update docstring.
(python-shell-calculate-process-environment): Give priority to
python-shell-process-environment.  Update docstring.
(python-shell-calculate-exec-path): Give priority to
python-shell-exec-path and calculated virtualenv bin directory.
Update docstring.
(python-shell-tramp-refresh-remote-path): New function.
(python-shell-with-environment): Use it when working remotely and
do not modify tramp-remote-path.  Allow nesting.
(python-shell-calculate-command): Remove useless
python-shell-with-environment call.

* test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
(python-shell-calculate-pythonpath-2)
(python-shell-calculate-process-environment-6)
(python-shell-calculate-process-environment-7)
(python-shell-calculate-process-environment-8)
(python-shell-calculate-exec-path-3)
(python-shell-calculate-exec-path-4)
(python-shell-calculate-exec-path-5)
(python-shell-calculate-exec-path-6)
(python-shell-with-environment-3): New tests.
(python-shell-calculate-process-environment-2)
(python-shell-calculate-process-environment-3)
(python-shell-calculate-process-environment-4)
(python-shell-calculate-process-environment-5)
(python-shell-calculate-exec-path-1)
(python-shell-calculate-exec-path-2)
(python-shell-with-environment-1)
(python-shell-with-environment-2): Update and simplify.
2015-08-21 19:06:57 -03:00
Paul Eggert
c1cacb0994 Avoid hard-coding "M-x command" in docstrings
* lisp/calendar/todo-mode.el (todo-mode):
* lisp/desktop.el (desktop-save-mode):
* lisp/edmacro.el (edit-kbd-macro):
* lisp/emacs-lisp/package.el (package-menu-execute):
* lisp/emulation/viper-cmd.el (viper-ask-level):
* lisp/emulation/viper-init.el (viper-expert-level):
* lisp/filesets.el (filesets-add-buffer):
* lisp/follow.el (follow-mode):
* lisp/gnus/auth-source.el (auth-sources):
* lisp/international/ogonek.el (ogonek-informacja)
(ogonek-information):
* lisp/net/tramp.el (tramp-process-actions):
* lisp/org/org-gnus.el (org-gnus-no-new-news):
* lisp/org/org.el (org-ellipsis):
* lisp/progmodes/python.el (python-shell-get-process-or-error):
* lisp/progmodes/vhdl-mode.el (vhdl-mode):
* lisp/server.el (server-start):
* lisp/type-break.el (type-break-noninteractive-query):
* lisp/userlock.el (ask-user-about-supersession-help):
* lisp/whitespace.el (whitespace-report-region):
Prefer (substitute-command-keys "`\\[foo-command]'")
to "`M-x foo-command'" in docstrings and the like.
2015-08-21 14:09:47 -07:00
Fabián Ezequiel Gallina
197f280042 ; python.el: Emacs 24.x compatibility fixes
* lisp/progmodes/python.el: Provide compatibility alternatives for
prog-widen and prog-first-column.
2015-08-11 23:56:25 -03:00
Fabián Ezequiel Gallina
287bce9888 python.el: Fix local/remote shell environment setup
* lisp/progmodes/python.el (python-shell-with-environment): Fix
remote/local environment setup.

* test/automated/python-tests.el (python-shell-with-environment-1)
(python-shell-with-environment-2): New tests.
2015-07-06 20:08:01 -03:00
Fabián Ezequiel Gallina
0fdc3f2ee8 python.el: Respect process environment for remote shells
* lisp/progmodes/python.el
(python-shell-calculate-process-environment): Calculate
process-environment or tramp-remote-process-environment depending
whether current file is remote.
(python-shell-calculate-exec-path): Calculate exec-path or
tramp-remote-path depending whether current file is remote.
(python-shell-with-environment): New macro.
(python-shell-prompt-detect, python-shell-calculate-command)
(python-shell-make-comint, python-check): Use it.
2015-07-06 07:57:14 -03:00
Fabián Ezequiel Gallina
f3400f4ca6 python.el: Avoid making let-bound defvars buffer local (Bug#18244)
* lisp/progmodes/python.el (python-shell--interpreter)
(python-shell--interpreter-args): New vars.
(inferior-python-mode, python-shell-make-comint): Use them.
2015-07-06 02:34:44 -03:00
Fabián Ezequiel Gallina
8867296609 ; python.el: Replace eval-when-compile with eval-and-compile 2015-07-06 02:02:06 -03:00
Fabián Ezequiel Gallina
02dc8dac7e python.el: Fixes for IPython 3.x (Bug#20580)
* lisp/progmodes/python.el:
(python-shell-completion-native-setup): Fix IPython 3.x setup.
(python-shell-completion-native-get-completions): Fix timeout
logic.
2015-07-06 01:59:02 -03:00
Fabián Ezequiel Gallina
a5e39bfae8 python.el: Fix mark-defun behavior (Bug#19665)
* lisp/progmodes/python.el: (python-mark-defun): New function.

* test/automated/python-tests.el (python-mark-defun-1)
(python-mark-defun-2, python-mark-defun-3): New tests.
2015-07-06 01:04:00 -03:00
Christoph Wedler
044d4cc0c0 Respect `prog-indentation-context' in python.el
* lisp/progmodes/python.el (python-indent-guess-indent-offset)
(python-indent-context, python-indent--calculate-indentation)
(python-info-current-defun)
(python-info-dedenter-opening-block-message)
(python-info-line-ends-backslash-p)
(python-info-beginning-of-backslash)
(python-info-continuation-line-p): Use `prog-widen'.
(python-indent--calculate-indentation)
(python-indent--calculate-levels)
(python-indent-calculate-indentation): Use `prog-first-column'.
(python-indent--calculate-levels): Simplify.

Ignore also initial empty lines for syntax calculation.
* lisp/progmodes/python.el (python-indent-context): Return
:no-indent for first non-empty line, not just in line 1.
* test/automated/python-tests.el (python-indent-base-case)
(python-indent-inside-paren-1, python-indent-inside-paren-2)
(python-indent-inside-paren-3, python-indent-inside-paren-4)
(python-indent-inside-paren-5, python-indent-inside-paren-6)
(python-indent-after-backslash-1)
(python-indent-after-backslash-2)
(python-indent-after-backslash-3)
(python-indent-after-backslash-4, python-indent-inside-string-1):
Expect :no-indent for first non-empty line.
2015-07-05 08:52:03 +00:00
Paul Eggert
96794d2f97 Don't quote nil and t in doc strings
This is as per "Tips for Documentation Strings" in the elisp manual.
For consistency, do the same in diagnostics and comments.
2015-05-21 10:06:44 -07:00
Fabián Ezequiel Gallina
e35bf57271 python.el: better limit for looking-back calls
* lisp/progmodes/python.el (python-shell-accept-process-output):
Use last comint prompt start as limit for looking-back.
2015-05-11 00:03:08 -03:00
Fabián Ezequiel Gallina
8b7e2c495a python.el: Fix warnings on looking-back calls missing LIMIT
* lisp/progmodes/python.el (python-shell-accept-process-output):
Pass LIMIT arg to looking-back.
2015-04-29 21:09:58 -03:00
Paul Eggert
8f1eda7a8a Spelling fixes 2015-04-19 23:59:46 -07:00
Fabián Ezequiel Gallina
659609d182 python.el: Keep symmetry on sexp navigation with parens
Fixes: debbugs:19954

* lisp/progmodes/python.el
(python-nav--forward-sexp): Add argument skip-parens-p.
(python-nav-forward-sexp, python-nav-backward-sexp)
(python-nav-forward-sexp-safe)
(python-nav-backward-sexp-safe): Use it.

* test/automated/python-tests.el
(python-nav-forward-sexp-1): Fix test.
2015-04-12 22:43:44 -03:00
Fabián Ezequiel Gallina
c9415ccbf8 python.el: Indent docstring lines to base-indent
Fixes: debbugs:19595

Thanks to immerrr <immerrr@gmail.com> for reporting and providing
an initial patch.

* lisp/progmodes/python.el
(python-indent-context): Add :inside-docstring context.
(python-indent--calculate-indentation): Handle :inside-docstring.
(python-indent-region): Re-indent docstrings.

* test/automated/python-tests.el (python-indent-region-5)
(python-indent-inside-string-2): Fix tests.
2015-04-09 01:41:55 -03:00
Fabián Ezequiel Gallina
911ed2eba4 python.el: Increase native completion robustness
Fixes: debbugs:19755

Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
this and providing useful ideas.

* lisp/progmodes/python.el
(python-shell-completion-native-output-timeout): Increase value.
(python-shell-completion-native-try-output-timeout): New var.
(python-shell-completion-native-try): Use it.
(python-shell-completion-native-setup): New readline setup avoids
polluting current context, ensures output when no-completions are
available and includes output end marker.
(python-shell-completion-native-get-completions): Trigger with one
tab only.  Call accept-process-output until output end is found or
python-shell-completion-native-output-timeout is exceeded.
2015-04-09 00:53:18 -03:00
Fabián Ezequiel Gallina
ab9252a01a python.el: Do not break IPython magic completions.
Fixes: debbugs:19736

* lisp/progmodes/python.el (python-shell-completion-setup-code):
Cleaner setup; import rlcompleter as last resource.
2015-04-06 19:18:46 -03:00
Fabián Ezequiel Gallina
cf7b034ee1 Fix previous commit to prevent infloop 2015-04-06 01:22:19 -03:00
Fabián Ezequiel Gallina
deea36f0ec python.el: Enhance docstring detection following PEP-257.
* lisp/progmodes/python.el (python-docstring-at-p): Remove function.
(python-info-assignment-statement-p): New function.
(python-info-assignment-continuation-line-p): Use it.
(python-info-docstring-p): New function.
(python-font-lock-syntactic-face-function)
(python-fill-string): Use it.

* test/automated/python-tests.el (python-info-assignment-statement-p-1)
(python-info-assignment-statement-p-2)
(python-info-assignment-statement-p-3, python-info-docstring-p-1)
(python-info-docstring-p-2, python-info-docstring-p-3)
(python-info-docstring-p-4, python-info-docstring-p-5)
(python-info-docstring-p-6): New tests.
2015-04-05 23:58:13 -03:00
Daniel Colascione
1d02107dab Shut up python-mode's indentation guesser
* lisp/progmodes/python.el
(python-indent-guess-indent-offset-verbose): New defcustom.
(python-indent-guess-indent-offset): Use it.
2015-03-26 13:46:06 -07:00
Paul Eggert
37ad855a38 Merge from origin/emacs-24
f160106 Avoid assertion violations in Rmail due to newline cache
1b0ebbd browse-url-firefox: update for firefox 36's removal of -remote
1817892 Avoid erratic behavior of menu-bar tooltips on w32  (Bug#19925)
0260932 Bump python.el version
b0adfc7 Spelling fixes
35f047c * src/fileio.c (Fmake_temp_name): Doc tweaks.
6f2971a * lisp/comint.el (comint-line-beginning-position): Revert searching
65d8ac7 Mention in admin/notes/repo how to mark commits not to be merged.
86fe750 # Remove NEWS temporary markup
4fa778b erc.el: Add old version header for package.el compatibilty
9366f05 Tramp: Disable paging with PAGER=cat

Conflicts:
	admin/notes/repo
	etc/NEWS
	lisp/ChangeLog
	lisp/erc/ChangeLog
	src/ChangeLog
2015-03-03 14:41:30 -08:00
Paul Eggert
d8e9122115 Merge from origin/emacs-24
e726f20 Handle "#" operator properly inside macro.  Fix coding bug.
618931b Handle dead frame in menu-bar-non-minibuffer-window-p.  (Bug#19728)
017a03a Document MS-Windows file-name idiosyncrasies  (Bug#19463)
f3faf4f Fix description of Customize buffer in Emacs manual.
1c1d0b7 Fix a typo in the Emacs manual's Hungry Delete description.
be7fb82 src/dispextern.h (FACE_FOR_CHAR): Fix the commentary.
33c4409 Spelling fixes
6c8231e python.el: Handle tabs in python-indent-dedent-line.
41c3b92 * lisp/progmodes/python.el: Respect user indentation after comment.
868df45 Avoid compiler warnings in decode_env_path.
b28c979 Fix XEmacs version typo in comment and ChangeLog
989fb32 Improve solution of bug #19701
6310530 Fix refilling of list of language environments in User Manual
c4c447d Restore XEmacs compatibility

Conflicts:
	doc/emacs/ChangeLog
	lisp/ChangeLog
	src/ChangeLog
	test/ChangeLog
2015-02-25 22:53:56 -08:00
Fabián Ezequiel Gallina
02609324ce Bump python.el version 2015-02-21 18:43:33 -03:00
Fabián Ezequiel Gallina
16d91bce1d python.el: Do not deactivate mark on shell fontification.
Fixes: debbugs:19871

* lisp/progmodes/python.el (python-shell-font-lock-post-command-hook):
Do not deactivate mark on fontification.
2015-02-16 19:53:59 -03:00
Fabián Ezequiel Gallina
da726ad0c6 python.el: Allow killing shell buffer if process is dead.
Fixes: debbugs:19823

* lisp/progmodes/python.el (python-shell-font-lock-kill-buffer): Don't
require a running process.
(python-shell-font-lock-post-command-hook): Fontify only if the
shell process is running.
2015-02-12 00:41:07 -03:00
Fabián Ezequiel Gallina
880415a6a6 python.el: Fix typo in eldoc initialization for Emacs 24.x 2015-02-09 23:53:11 -03:00
Fabián Ezequiel Gallina
859e865e93 python.el: Improved shell font lock respecting markers.
Fixes: debbugs:19650

* lisp/progmodes/python.el
(python-shell-font-lock-get-or-create-buffer): Use special buffer name.
(python-shell-font-lock-with-font-lock-buffer): Enable font lock.
(python-shell-font-lock-post-command-hook): Fontify by copying text
properties from fontified buffer to shell, keeping markers unchanged.
(python-shell-font-lock-turn-off): Fix typo.
(python-util-text-properties-replace-name): Delete function.
2015-02-09 23:44:06 -03:00
Fabián Ezequiel Gallina
dcec731abf python.el: Fix completion-at-point.
Fixes: debbugs:19667

* lisp/progmodes/python.el
(python-shell-completion-native-get-completions): Force process
buffer.
(python-shell-completion-at-point): Handle case where call is not
in a shell buffer.
2015-02-08 01:31:12 -03:00
Fabián Ezequiel Gallina
67dfbd6057 python.el: Fix shell font-lock multiline input.
Fixes: debbugs:19744

* lisp/progmodes/python.el
(python-shell-font-lock-post-command-hook): Handle multiline
input.
2015-02-08 00:36:30 -03:00
Fabián Ezequiel Gallina
52df70a887 python.el: Make shell font-lock respect markers.
Fixes: debbugs:19650

* lisp/progmodes/python.el (python-shell-font-lock-cleanup-buffer): Use
`erase-buffer`.
(python-shell-font-lock-comint-output-filter-function): Handle
newlines.
(python-shell-font-lock-post-command-hook): Respect markers on
text fontification.
2015-02-08 00:25:20 -03:00
Fabián Ezequiel Gallina
2155973e5e python.el: Keep eldoc visible while typing args.
Fixes: debbugs:19637

* lisp/progmodes/python.el (python-eldoc--get-symbol-at-point): New
function.
(python-eldoc--get-doc-at-point, python-eldoc-at-point): Use it.

* test/automated/python-tests.el
(python-eldoc--get-symbol-at-point-1)
(python-eldoc--get-symbol-at-point-2)
(python-eldoc--get-symbol-at-point-3)
(python-eldoc--get-symbol-at-point-4): New tests.
2015-02-07 18:39:07 -03:00
Fabián Ezequiel Gallina
2d467a0ff0 Fix hideshow integration.
Fixes: debbugs:19761

* lisp/progmodes/python.el
(python-hideshow-forward-sexp-function): New function based on
Carlos Pita <carlosjosepita@gmail.com> patch.
(python-mode): Make `hs-special-modes-alist` use it and initialize
the end regexp with the empty string to avoid skipping parens.

* test/automated/python-tests.el
(python-tests-visible-string): New function.
(python-parens-electric-indent-1)
(python-triple-quote-pairing): Fix indentation, move require calls.
(python-hideshow-hide-levels-1)
(python-hideshow-hide-levels-2): New tests.
2015-02-07 16:43:47 -03:00
Fabián Ezequiel Gallina
86c50b9af1 * lisp/progmodes/python.el (python-check-custom-command): Do not use
defvar-local for compat with Emacs<24.3.
2015-02-07 14:25:47 -03:00
Stefan Monnier
683d4b6e92 * lisp/progmodes/python.el: Preserve compatibility with Emacs-24
(python-mode): Don't assume eldoc-documentation-function has a non-nil
default.
2015-02-04 21:47:22 -05:00
Sam Steingold
4188e3cc2b Avoid the error when computing top-level indentation.
* lisp/progmodes/python.el (python-indent-calculate-indentation):
Do not apply max to an empty list
2015-02-04 16:26:43 -05:00
Paul Eggert
33c4409a8e Spelling fixes 2015-01-29 19:47:35 -08:00
Fabián Ezequiel Gallina
6c8231ee8c python.el: Handle tabs in python-indent-dedent-line.
Fixes: debbugs:19730

* lisp/progmodes/python.el (python-indent-dedent-line): Fixes for
indentation with tabs.  Thanks to <dale@codefu.org>.

* test/automated/python-tests.el
(python-indent-dedent-line-backspace-2)
(python-indent-dedent-line-backspace-3): New tests.
2015-01-30 00:41:52 -03:00
Fabián Ezequiel Gallina
41c3b9241c * lisp/progmodes/python.el (python-indent-context): Respect user
indentation after comment.

* test/automated/python-tests.el (python-indent-pep8-1)
(python-indent-pep8-2, python-indent-pep8-3)
(python-indent-after-comment-2): Fix tests.
(python-indent-after-comment-3): New test.
2015-01-30 00:19:55 -03:00
Fabián Ezequiel Gallina
95a2cb24b0 Merge from origin/emacs-24
9664def Signal a file-error from directory-files on MS-Windows  (Bug#19701)
fd4e65e Added missing test for previous commit
5485e3e5 python.el: New non-global state dependent indentation engine.
3b23e6a Fix the description of --insert command-line option  (Bug#19694)
7a7e594 Add a cross-reference in ELisp manual.  (Bug#19668)
b4f4075 Fixes: debbugs:19660
83b3c31 * test/automated/regexp-tests.el: Require regexp-opt

Conflicts:
	lisp/progmodes/python.el
2015-01-28 01:08:18 -03:00
Sam Steingold
bd7a1e1564 minor tweaks for `python-check'
* lisp/progmodes/python.el (python-check-custom-command): Buffer local
because it usually includes the buffer name.
(python-check-command): Set to epylint when pyflakes is not available.
2015-01-27 13:20:57 -05:00
Fabián Ezequiel Gallina
5485e3e5b2 python.el: New non-global state dependent indentation engine.
Fixes: debbugs:18319
Fixes: debbugs:19595

* lisp/progmodes/python.el (python-syntax-comment-or-string-p): Accept
PPSS as argument.
(python-syntax-closing-paren-p): New function.
(python-indent-current-level)
(python-indent-levels): Mark obsolete.
(python-indent-context): Return more context cases.
(python-indent--calculate-indentation)
(python-indent--calculate-levels): New functions.
(python-indent-calculate-levels): Use them.
(python-indent-calculate-indentation, python-indent-line):
(python-indent-line-function): Rewritten to use new API.
(python-indent-dedent-line): Simplify logic.
(python-indent-dedent-line-backspace): Use `unless`.
(python-indent-toggle-levels): Delete function.

* test/automated/python-tests.el (python-indent-pep8-1)
(python-indent-pep8-2, python-indent-pep8-3)
(python-indent-after-comment-1, python-indent-after-comment-2)
(python-indent-inside-paren-1, python-indent-inside-paren-2)
(python-indent-after-block-1, python-indent-after-block-2)
(python-indent-after-backslash-1, python-indent-after-backslash-2)
(python-indent-after-backslash-3, python-indent-block-enders-1)
(python-indent-block-enders-2, python-indent-block-enders-3)
(python-indent-block-enders-4, python-indent-block-enders-5)
(python-indent-dedenters-1, python-indent-dedenters-2)
(python-indent-dedenters-3, python-indent-dedenters-4)
(python-indent-dedenters-5, python-indent-dedenters-6)
(python-indent-dedenters-7, python-indent-dedenters-8): Fix tests.
(python-indent-base-case, python-indent-after-block-3)
(python-indent-after-backslash-5, python-indent-inside-paren-3)
(python-indent-inside-paren-4, python-indent-inside-paren-5)
(python-indent-inside-paren-6, python-indent-inside-string-1)
(python-indent-inside-string-2, python-indent-inside-string-3)
(python-indent-dedent-line-backspace-1): New Tests.
2015-01-27 00:17:24 -03:00
Michal Nazarewicz
fd020a2931 eldoc: modify eldoc-documentation-function' using add-function'
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-function): Describe how
major modes should use `add-function' to alter value of the variable.

* lisp/hexl.el (hexl-mode): Set `eldoc-documentation-function' using
`add-function' so the default value is always used.
* lisp/ielm.el (inferior-emacs-lisp-mode): Set
`eldoc-documentation-function' using `add-function' so the default
value is always used.
* lisp/progmodes/cfengine.el (cfengine3-mode): Set
`eldoc-documentation-function' using `add-function' so the default
value is always used.
* lisp/progmodes/elisp-mode (emacs-lisp-mode): Set
`eldoc-documentation-function' using `add-function' so the default
value is always used.
* lisp/progmodes/octave.el (octave-mode): Set
`eldoc-documentation-function' using `add-function' so the default
value is always used.
* lisp/progmodes/python.el (python-mode): Set
`eldoc-documentation-function' using `add-function' so the default
value is always used.
* lisp/simple.el (read--expression): Set `eldoc-documentation-function'
using `add-function' so the default value is always used.
2015-01-20 15:04:15 +01:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Paul Eggert
6ddd819467 Merge from origin/emacs-24
a5f90a3 * .gitattributes: New file.
5a9710f Make sure tool-bar changes are reflected on display.
93796ba * autogen.sh: Port better to non-GNU 'cp'.
9758516 Fix a typo in a comment in the previous commit.
aa472a3 Fix the pixel coordinates returned by pos-visible-in-window-p.  (Bug#19473)
d261229 * automated/tramp-tests.el (tramp--test-smb-or-windows-nt-p): New defun. (tramp-test30-special-characters): Use it. (tramp--test-check-files): Filter nil file names out.
9278f05 Omit trailing white space
1c93fd3 Sync with Tramp 2.2.11.
96ebe18 Sync with Tramp 2.2.11.
e792450 Sync with Tramp 2.2.11.
2d17e12 Fix ChangeLog entry.
6444482 Fix auto-revert-tail-mode for remote files
b5c9c13 Spelling fixes
c5504d1 src/w32proc.c (Fw32_get_codepage_charset): Doc fix.  (Bug#19458)

Conflicts:
	ChangeLog
	doc/misc/ChangeLog
	lisp/ChangeLog
	src/ChangeLog
	test/ChangeLog
2015-01-01 10:47:17 -08:00
Paul Eggert
732fd4c7e1 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 09:18:06 -08:00
Paul Eggert
b5c9c131ca Spelling fixes 2014-12-28 15:06:16 -08:00
Fabián Ezequiel Gallina
2cb7592275 python.el: Native readline completion.
This commit adds native readline completion that fallbacks to the old
mechanism when it cannot be used for the current interpreter.

* lisp/progmodes/python.el (python-shell-completion-native-disabled-interpreters)
(python-shell-completion-native-enable)
(python-shell-completion-native-output-timeout): New defcustoms.
(python-shell-completion-native-interpreter-disabled-p)
(python-shell-completion-native-try)
(python-shell-completion-native-setup)
(python-shell-completion-native-turn-off)
(python-shell-completion-native-turn-on)
(python-shell-completion-native-turn-on-maybe)
(python-shell-completion-native-turn-on-maybe-with-msg)
(python-shell-completion-native-toggle): New functions.
(python-shell-completion-native-get-completions): New function.
(python-shell-completion-at-point): Use it.

* test/automated/python-tests.el
(python-shell-completion-native-interpreter-disabled-p-1): New
test.
2014-12-27 20:58:45 -03:00