Package: emacs;
Reported by: Dan Davison <dandavison7 <at> gmail.com>
Date: Sat, 27 Aug 2016 21:11:02 UTC
Severity: minor
Tags: confirmed
Found in version 25.1.50
To reply to this bug, email your comments to 24322 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#24322
; Package emacs
.
(Sat, 27 Aug 2016 21:11:02 GMT) Full text and rfc822 format available.Dan Davison <dandavison7 <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Sat, 27 Aug 2016 21:11:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Dan Davison <dandavison7 <at> gmail.com> To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org> Subject: 25.1.50; Python completion should not strip trailing space Date: Sat, 27 Aug 2016 21:10:23 +0000
[Message part 1 (text/plain, inline)]
From emacs -Q: (setq python-shell-interpreter "ipython" python-shell-interpreter-args "-i") M-x run-python In the python comint buffer insert "from itertools imp" and hit tab. You will see "imp" completed as "import" (no trailing space). However, if you do this in ipython itself, you will see "imp" completed as "import ". This (i.e. what ipython does) is the desired behavior (because import is always followed by another word). In GNU Emacs 25.1.50.1 (x86_64-apple-darwin14.5.0, NS appkit-1348.17 Version 10.10.5 (Build 14F27)) of 2016-04-16 built on hemiprocne Repository revision: 934549e23d6bda5231375dbfed7b42a966c85d14 Windowing system distributor 'Apple', version 10.3.1348 Configured using: 'configure --prefix=/usr/local/Cellar/emacs/HEAD --enable-locallisppath=/usr/local/share/emacs/site-lisp --infodir=/usr/local/Cellar/emacs/HEAD/share/info/emacs --with-xml2 --without-dbus --without-gnutls --with-ns --disable-ns-self-contained' Configured features: JPEG NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message dired dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 195970 9329) (symbols 48 19431 0) (miscs 40 43 170) (strings 32 14792 5110) (string-bytes 1 431078) (vectors 16 32763) (vector-slots 8 640839 4764) (floats 8 156 54) (intervals 56 194 0) (buffers 976 11))
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#24322
; Package emacs
.
(Sat, 27 Aug 2016 21:23:02 GMT) Full text and rfc822 format available.Message #8 received at 24322 <at> debbugs.gnu.org (full text, mbox):
From: Dan Davison <dandavison7 <at> gmail.com> To: 24322 <at> debbugs.gnu.org Subject: [PATCH] Re: 25.1.50; Python completion should not strip trailing space Date: Sat, 27 Aug 2016 21:21:47 +0000
[Message part 1 (text/plain, inline)]
Patch attached. This patch is also available as a pull request at at https://github.com/dandavison/emacs/pull/1 The commit hash is 8e69b33a53ea30389a5e3946dd711320a77e0d23. I have only tested this on macOS. As far as I am aware, when the space character is present, it is present deliberately and it is appropriate to retain it, but I would appreciate feedback from python.el experts. On Sat, 27 Aug 2016 at 14:10 Dan Davison <dandavison7 <at> gmail.com> wrote: > From emacs -Q: > > (setq python-shell-interpreter "ipython" > python-shell-interpreter-args "-i") > > M-x run-python > > In the python comint buffer insert "from itertools imp" and hit tab. > > You will see "imp" completed as "import" (no trailing space). > > However, if you do this in ipython itself, you will see "imp" completed > as "import ". This (i.e. what ipython does) is the desired behavior > (because import is always followed by another word). > > In GNU Emacs 25.1.50.1 (x86_64-apple-darwin14.5.0, NS appkit-1348.17 > Version 10.10.5 (Build 14F27)) > of 2016-04-16 built on hemiprocne > Repository revision: 934549e23d6bda5231375dbfed7b42a966c85d14 > Windowing system distributor 'Apple', version 10.3.1348 > Configured using: > 'configure --prefix=/usr/local/Cellar/emacs/HEAD > --enable-locallisppath=/usr/local/share/emacs/site-lisp > --infodir=/usr/local/Cellar/emacs/HEAD/share/info/emacs --with-xml2 > --without-dbus --without-gnutls --with-ns --disable-ns-self-contained' > > Configured features: > JPEG NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS > > Important settings: > value of $LANG: en_US.UTF-8 > locale-coding-system: utf-8-unix > > Major mode: Lisp Interaction > > Minor modes in effect: > tooltip-mode: t > global-eldoc-mode: t > electric-indent-mode: t > mouse-wheel-mode: t > tool-bar-mode: t > menu-bar-mode: t > file-name-shadow-mode: t > global-font-lock-mode: t > font-lock-mode: t > blink-cursor-mode: t > auto-composition-mode: t > auto-encryption-mode: t > auto-compression-mode: t > line-number-mode: t > transient-mark-mode: t > > Recent messages: > For information about GNU Emacs and the GNU system, type C-h C-a. > > Load-path shadows: > None found. > > Features: > (shadow sort mail-extr emacsbug message dired dired-loaddefs format-spec > rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config > gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse > rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 > ietf-drums mm-util mail-prsvr mail-utils time-date mule-util tooltip > eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel > term/ns-win ns-win ucs-normalize term/common-win tool-bar dnd fontset > image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode > prog-mode register page menu-bar rfn-eshadow timer select scroll-bar > mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame > cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai > tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian > slovak czech european ethiopic indian cyrillic chinese charscript > case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer > cl-preloaded nadvice loaddefs button faces cus-face macroexp files > text-properties overlay sha1 md5 base64 format env code-pages mule > custom widget hashtable-print-readable backquote kqueue cocoa ns > multi-tty make-network-process emacs) > > Memory information: > ((conses 16 195970 9329) > (symbols 48 19431 0) > (miscs 40 43 170) > (strings 32 14792 5110) > (string-bytes 1 431078) > (vectors 16 32763) > (vector-slots 8 640839 4764) > (floats 8 156 54) > (intervals 56 194 0) > (buffers 976 11)) > >
[Message part 2 (text/html, inline)]
[0001-Don-t-strip-space-from-python-completions.patch (application/octet-stream, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#24322
; Package emacs
.
(Sat, 27 Aug 2016 21:48:01 GMT) Full text and rfc822 format available.Message #11 received at 24322 <at> debbugs.gnu.org (full text, mbox):
From: Dan Davison <dandavison7 <at> gmail.com> To: 24322 <at> debbugs.gnu.org Subject: Re: [PATCH] Re: 25.1.50; Python completion should not strip trailing space Date: Sat, 27 Aug 2016 21:47:02 +0000
[Message part 1 (text/plain, inline)]
Here is the patch pasted into the body of an email: From 8e69b33a53ea30389a5e3946dd711320a77e0d23 Mon Sep 17 00:00:00 2001 From: Dan Davison <dandavison7 <at> gmail.com> Date: Fri, 5 Aug 2016 12:19:20 -0700 Subject: [PATCH] Don't strip space from python completions The returned completion deliberately includes a space after a word like 'import', which is always followed by more words. * lisp/progmodes/python.el (python-shell-completion-native-get-completions): Remove space from regular expression character class --- lisp/progmodes/python.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index ad69f87..8616279 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -3551,7 +3551,7 @@ completion." (split-string (buffer-substring-no-properties (line-beginning-position) (point-min)) - "[ \f\t\n\r\v()]+" t) + "[\f\t\n\r\v()]+" t) :test #'string=)))) (set-process-filter process original-filter-fn))))) -- 2.3.2 (Apple Git-55) On Sat, 27 Aug 2016 at 14:21 Dan Davison <dandavison7 <at> gmail.com> wrote: > Patch attached. > > This patch is also available as a pull request at at > https://github.com/dandavison/emacs/pull/1 The commit hash > is 8e69b33a53ea30389a5e3946dd711320a77e0d23. > > I have only tested this on macOS. As far as I am aware, when the space > character is present, it is present deliberately and it is appropriate to > retain it, but I would appreciate feedback from python.el experts. > > On Sat, 27 Aug 2016 at 14:10 Dan Davison <dandavison7 <at> gmail.com> wrote: > >> From emacs -Q: >> >> (setq python-shell-interpreter "ipython" >> python-shell-interpreter-args "-i") >> >> M-x run-python >> >> In the python comint buffer insert "from itertools imp" and hit tab. >> >> You will see "imp" completed as "import" (no trailing space). >> >> However, if you do this in ipython itself, you will see "imp" completed >> as "import ". This (i.e. what ipython does) is the desired behavior >> (because import is always followed by another word). >> >> In GNU Emacs 25.1.50.1 (x86_64-apple-darwin14.5.0, NS appkit-1348.17 >> Version 10.10.5 (Build 14F27)) >> of 2016-04-16 built on hemiprocne >> Repository revision: 934549e23d6bda5231375dbfed7b42a966c85d14 >> Windowing system distributor 'Apple', version 10.3.1348 >> Configured using: >> 'configure --prefix=/usr/local/Cellar/emacs/HEAD >> --enable-locallisppath=/usr/local/share/emacs/site-lisp >> --infodir=/usr/local/Cellar/emacs/HEAD/share/info/emacs --with-xml2 >> --without-dbus --without-gnutls --with-ns --disable-ns-self-contained' >> >> Configured features: >> JPEG NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS >> >> Important settings: >> value of $LANG: en_US.UTF-8 >> locale-coding-system: utf-8-unix >> >> Major mode: Lisp Interaction >> >> Minor modes in effect: >> tooltip-mode: t >> global-eldoc-mode: t >> electric-indent-mode: t >> mouse-wheel-mode: t >> tool-bar-mode: t >> menu-bar-mode: t >> file-name-shadow-mode: t >> global-font-lock-mode: t >> font-lock-mode: t >> blink-cursor-mode: t >> auto-composition-mode: t >> auto-encryption-mode: t >> auto-compression-mode: t >> line-number-mode: t >> transient-mark-mode: t >> >> Recent messages: >> For information about GNU Emacs and the GNU system, type C-h C-a. >> >> Load-path shadows: >> None found. >> >> Features: >> (shadow sort mail-extr emacsbug message dired dired-loaddefs format-spec >> rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config >> gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse >> rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 >> ietf-drums mm-util mail-prsvr mail-utils time-date mule-util tooltip >> eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel >> term/ns-win ns-win ucs-normalize term/common-win tool-bar dnd fontset >> image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode >> prog-mode register page menu-bar rfn-eshadow timer select scroll-bar >> mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame >> cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai >> tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian >> slovak czech european ethiopic indian cyrillic chinese charscript >> case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer >> cl-preloaded nadvice loaddefs button faces cus-face macroexp files >> text-properties overlay sha1 md5 base64 format env code-pages mule >> custom widget hashtable-print-readable backquote kqueue cocoa ns >> multi-tty make-network-process emacs) >> >> Memory information: >> ((conses 16 195970 9329) >> (symbols 48 19431 0) >> (miscs 40 43 170) >> (strings 32 14792 5110) >> (string-bytes 1 431078) >> (vectors 16 32763) >> (vector-slots 8 640839 4764) >> (floats 8 156 54) >> (intervals 56 194 0) >> (buffers 976 11)) >> >>
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#24322
; Package emacs
.
(Sat, 27 Aug 2016 22:59:02 GMT) Full text and rfc822 format available.Message #14 received at 24322 <at> debbugs.gnu.org (full text, mbox):
From: Dan Davison <dandavison7 <at> gmail.com> To: 24322 <at> debbugs.gnu.org Subject: Re: [PATCH] Re: 25.1.50; Python completion should not strip trailing space Date: Sat, 27 Aug 2016 22:58:25 +0000
[Message part 1 (text/plain, inline)]
The patch currently only fixes "native" (readline-based) completion. If it is agreed that this is the correct direction I can prepare a similar patch for the non-native / legacy completion function `python-shell-completion-get-completions', which shows the same behavior. On Sat, 27 Aug 2016 at 14:47 Dan Davison <dandavison7 <at> gmail.com> wrote: > Here is the patch pasted into the body of an email: > > From 8e69b33a53ea30389a5e3946dd711320a77e0d23 Mon Sep 17 00:00:00 2001 > From: Dan Davison <dandavison7 <at> gmail.com> > Date: Fri, 5 Aug 2016 12:19:20 -0700 > Subject: [PATCH] Don't strip space from python completions > > The returned completion deliberately includes a space after a word like > 'import', which is always followed by more words. > > * lisp/progmodes/python.el > (python-shell-completion-native-get-completions): > Remove space from regular expression character class > --- > lisp/progmodes/python.el | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el > index ad69f87..8616279 100644 > --- a/lisp/progmodes/python.el > +++ b/lisp/progmodes/python.el > @@ -3551,7 +3551,7 @@ completion." > (split-string > (buffer-substring-no-properties > (line-beginning-position) (point-min)) > - "[ \f\t\n\r\v()]+" t) > + "[\f\t\n\r\v()]+" t) > :test #'string=)))) > (set-process-filter process original-filter-fn))))) > > -- > 2.3.2 (Apple Git-55) > > > On Sat, 27 Aug 2016 at 14:21 Dan Davison <dandavison7 <at> gmail.com> wrote: > >> Patch attached. >> >> This patch is also available as a pull request at at >> https://github.com/dandavison/emacs/pull/1 The commit hash >> is 8e69b33a53ea30389a5e3946dd711320a77e0d23. >> >> I have only tested this on macOS. As far as I am aware, when the space >> character is present, it is present deliberately and it is appropriate to >> retain it, but I would appreciate feedback from python.el experts. >> >> On Sat, 27 Aug 2016 at 14:10 Dan Davison <dandavison7 <at> gmail.com> wrote: >> >>> From emacs -Q: >>> >>> (setq python-shell-interpreter "ipython" >>> python-shell-interpreter-args "-i") >>> >>> M-x run-python >>> >>> In the python comint buffer insert "from itertools imp" and hit tab. >>> >>> You will see "imp" completed as "import" (no trailing space). >>> >>> However, if you do this in ipython itself, you will see "imp" completed >>> as "import ". This (i.e. what ipython does) is the desired behavior >>> (because import is always followed by another word). >>> >>> In GNU Emacs 25.1.50.1 (x86_64-apple-darwin14.5.0, NS appkit-1348.17 >>> Version 10.10.5 (Build 14F27)) >>> of 2016-04-16 built on hemiprocne >>> Repository revision: 934549e23d6bda5231375dbfed7b42a966c85d14 >>> Windowing system distributor 'Apple', version 10.3.1348 >>> Configured using: >>> 'configure --prefix=/usr/local/Cellar/emacs/HEAD >>> --enable-locallisppath=/usr/local/share/emacs/site-lisp >>> --infodir=/usr/local/Cellar/emacs/HEAD/share/info/emacs --with-xml2 >>> --without-dbus --without-gnutls --with-ns --disable-ns-self-contained' >>> >>> Configured features: >>> JPEG NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS >>> >>> Important settings: >>> value of $LANG: en_US.UTF-8 >>> locale-coding-system: utf-8-unix >>> >>> Major mode: Lisp Interaction >>> >>> Minor modes in effect: >>> tooltip-mode: t >>> global-eldoc-mode: t >>> electric-indent-mode: t >>> mouse-wheel-mode: t >>> tool-bar-mode: t >>> menu-bar-mode: t >>> file-name-shadow-mode: t >>> global-font-lock-mode: t >>> font-lock-mode: t >>> blink-cursor-mode: t >>> auto-composition-mode: t >>> auto-encryption-mode: t >>> auto-compression-mode: t >>> line-number-mode: t >>> transient-mark-mode: t >>> >>> Recent messages: >>> For information about GNU Emacs and the GNU system, type C-h C-a. >>> >>> Load-path shadows: >>> None found. >>> >>> Features: >>> (shadow sort mail-extr emacsbug message dired dired-loaddefs format-spec >>> rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config >>> gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse >>> rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 >>> ietf-drums mm-util mail-prsvr mail-utils time-date mule-util tooltip >>> eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel >>> term/ns-win ns-win ucs-normalize term/common-win tool-bar dnd fontset >>> image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode >>> prog-mode register page menu-bar rfn-eshadow timer select scroll-bar >>> mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame >>> cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai >>> tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian >>> slovak czech european ethiopic indian cyrillic chinese charscript >>> case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer >>> cl-preloaded nadvice loaddefs button faces cus-face macroexp files >>> text-properties overlay sha1 md5 base64 format env code-pages mule >>> custom widget hashtable-print-readable backquote kqueue cocoa ns >>> multi-tty make-network-process emacs) >>> >>> Memory information: >>> ((conses 16 195970 9329) >>> (symbols 48 19431 0) >>> (miscs 40 43 170) >>> (strings 32 14792 5110) >>> (string-bytes 1 431078) >>> (vectors 16 32763) >>> (vector-slots 8 640839 4764) >>> (floats 8 156 54) >>> (intervals 56 194 0) >>> (buffers 976 11)) >>> >>>
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#24322
; Package emacs
.
(Mon, 03 Jul 2017 22:01:02 GMT) Full text and rfc822 format available.Message #17 received at 24322 <at> debbugs.gnu.org (full text, mbox):
From: npostavs <at> users.sourceforge.net To: Dan Davison <dandavison7 <at> gmail.com> Cc: 24322 <at> debbugs.gnu.org Subject: Re: bug#24322: [PATCH] Re: 25.1.50; Python completion should not strip trailing space Date: Mon, 03 Jul 2017 18:02:13 -0400
tags 24322 + confirmed severity 24322 minor quit Sorry it took so long for someone to reach this report. Dan Davison <dandavison7 <at> gmail.com> writes: >>>> From emacs -Q: >>>> >>>> (setq python-shell-interpreter "ipython" >>>> python-shell-interpreter-args "-i") Using plain "python" shows the behaviour you describe. I can't really get ipython working properly unless I add --simple-prompt to python-shell-interpreter-args, and then it seems that ipython itself prints the completions without a space. I'm using ipython 5.1.0, I think I've read in some other bug that the --simple-prompt started being necessary from version 5.x. > The patch currently only fixes "native" (readline-based) completion. If it > is agreed that this is the correct direction I can prepare a similar patch > for the non-native / legacy completion function > `python-shell-completion-get-completions', which shows the same behavior. Yes please!
npostavs <at> users.sourceforge.net
to control <at> debbugs.gnu.org
.
(Mon, 03 Jul 2017 22:01:02 GMT) Full text and rfc822 format available.npostavs <at> users.sourceforge.net
to control <at> debbugs.gnu.org
.
(Mon, 03 Jul 2017 22:01:02 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.