#20 shell gets set to 'cpython'

open-fixed
nobody
None
5
2015-02-07
2004-09-03
Dan Christensen
No

If I edit a source file which starts with

#!/usr/bin/python

and I hit C-c C-c to run it, then py-execute-region sets
the variable shell using

(setq shell (or (py-choose-shell-by-shebang)
(py-choose-shell-by-import)
py-which-shell))))

The function py-choose-shell-by-shebang returns cpython.
Then a bit further down we have

(let ((cmd (concat shell ...

which gives an error:

Debugger entered--Lisp error: (wrong-type-argument
sequencep cpython)
concat(cpython "")

The only related line in my .emacs.el is

(require 'python-mode)

Dan

Discussion

  • Martin Blais
    Martin Blais
    2005-01-06

    Logged In: YES
    user_id=10996

    I also report the same problem.
    Same place, same reason.

    shell gets set to a symbol, and it's attempted to be concat'ed.

    This break py-execute-buffer, and IMO it's a major showstopper.

     
  • Edward Loper
    Edward Loper
    2006-03-12

    • status: open --> open-fixed
     
  • Edward Loper
    Edward Loper
    2006-03-12

    Logged In: YES
    user_id=195958

    It appears to me that this was fixed in cvs revision 4.66,
    which changed "(let ((cmd (concat shell..." to "(let ((cmd
    (concat py-which-shell".

    I'm closing this bug as fixed for now, but if it's still
    not working for you using the current cvs version, let me
    know and I'll take another look at it.