A bugfix/cleanup release .The fixed bugs are:
Otherwise lots of small additions to the to be replacement for our ncurses frontend, the urwid frontend.
I’d like to specifically thank Amjith Ramanujam for his work on history search which was further implemented and is in working order right now.
A bugfix release. The fixed bugs are:
As a highlight of the release, Michele Orrù added i18n support to bpython.
Some issues have been resolved as well:
A bugfix release. The fixed bugs are:
Well guys. It’s been some time since the latest release, six months have passed We have added a whole slew of new features, and closed a number of bugs as well.
We also have a new frontend for bpython. Marien Zwart contributed a urwid frontend as an alternative for the curses frontend. Be aware that there still is a lot to fix for this urwid frontend (a lot of the keyboard shortcuts do not yet work for example) but please give it a good spin. Urwid also optionally integrates with a Twisted reactor and through that with things like the GTK event loop.
At the same time we have done a lot of work on the GTK frontend. The GTK frontend is now ‘usable’. Please give that a spin as well by running python-gtk on you system.
We also welcome a new contributor in the name of Michele Orrù who we hope will help us fix even more bugs and improve functionality.
As always, please submit any bugs you might find to our bugtracker.
Unfortunately another bugfix release as I (Bob) broke py3 support.
Thanks very much to Henry Prêcheur for both the bug report and the patch.
A quick bugfix release (this should not become a habit).
A bugfix/feature release (and a start at gtk). Happy Christmas everyone!
A bugfix release. Fixed issues:
Other fixes without opened issues:
Added missing data files to the tarball.
bpython has added a view source shortcut to show the source of the current function.
The history file is now really configurable. This issue was reported in Debian’s bugtracker.
bpython has now some basic support for Python 3 (requires Pygments >=1.1.1). As a result, setuptools is now optional.
The pastebin URL is now configurable and the default pastebin is now bpaste.net
Argument names are now shown as completion suggestions and one can tab through the completion list.
Bugfix release (mostly)
This release was a true whopper!
Probably some other things, but I hate changelogs. :)
It’s been a long while since the last release and there’ve been numerous little bugfixes and extras here and there so I’m putting this out as 0.8.0. Check the hg commit history if you want more info: http://bitbucket.org/bobf/bpython/
Menno sent me some patches to fix some stuff:
C-d behaviour changed so it no longer exits if the current line isn’t empty.
Extra linebreak added to end of stdout flush.
pygments and pyparsing are now dependencies.
Jørgen Tjernø has done lots of cool things like write a manpage and .desktop file and improved the way tabbing works and also added home, end and del key handling as well as C-w for deleting words - thanks a lot!
raw_input() and all its friends now work fine.
PYTHONSTARTUP handled without blowing up on stupid errors (it now parses the file at once instead of feeding it to the repl line-by-line).
KeyboardInterrupt handler clears the list window properly now.
Forgot to switch rpartition to split for 2.4 compat.
The help() now works (as far as I can see) exactly the same as the vanilla help() in the regular interpreter. I copied some code from pydoc.py to make it handle the special cases, e.g. help(‘keywords’) help(‘modules’) etc.
Somehow it escaped my attention that the list window was never fully using the rightmost column, except for the first row. This is because me and numbers don’t have the best relationship. I think stability is really improving with the latest spat of bugfixes, keep me informed of any bugs.
No noticeable changes except that bpython should now work with Python 2.4. Personally I think it’s silly to make a development tool work with an out of date version of Python but some people seem to disagree. The only real downside is that I had to do a horrible version of all() using reduce(), otherwise there’s no real differences in the code.
Now you can configure a ~/.bpythonrc file (or pass a rc file at the command line (bpython /foo/bar). See README for details.
help() actually displays the full help page, and I fixed up the ghetto pager a little.
Now you can hit tab to display the autocomplete list, rather than have it pop up automatically as you type which, apparently, annoys Brendogg.
A few people have commented that the help() built-in function doesn’t work so well with bpython, since Python will try to output the help string to PAGER (usually “less”) which obviously makes everything go wrong when curses is involved. With a bit of hackery I’ve written my own ghetto pager and injected my own help function into the interpreter when it initialises in an attempt to rectify this. As such, it’s pretty untested but it seems to be working okay for me. Suggestions/bug reports/patches are welcome regarding this.
Well, hopefully we’re one step closer to making the list sizing stuff work. I really hate doing code for that kind of thing as I never get it quite right, but with perseverence it should end up being completely stable; it’s not the hardest thing in the world.
Various cosmetic fixes have been put in at the request of a bunch of people who were kind enough to send me emails regarding their experiences.
PYTHONSTARTUP is now dealt with and used properly, as per the vanilla interpreter.
It looks like the last release was actually pretty bug-free, aside from one tiny bug that NEVER ACTUALLY HAPPENS but someone was bugging me about it anyway, oh well.
It’s been quite a long time since the last update, due to several uninteresting and invalid excuses, but I finally reworked the list drawing procedures so the crashing seems to have been taken care of to an extent. If it still crashes, the way I’ve written it will hopefully allow a much more robust way of fixing it, one that might actually work.
Thanks to Aaron Gallagher for pointing out a case where the hugely inefficient list generation routines were actually making a significant issue; they’re much more efficient now and should hopefully not cause any more problems.
Thanks to Klaus Alexander Seis for the expanduser() patch. Auto indent works on multiple levels now.
Now with auto-indent. Let me know if it’s annoying.
Thanks a lot to Angus Gibson for submitting a patch to fix a problem I was having with initialising the keyboard stuff in curses properly.
Also a big thanks to John Beisley for providing the patch that shows a class __init__ method’s argspec on class instantiation.
I’ve fixed up the argspec display so it handles really long argspecs (e.g. subprocess.Popen()) and doesn’t crash if something horrible happens (rather, it avoids letting something horrible happen).
I decided to add a key that will get rid of the autocomplete window, since it can get in the way. C-l seemed like a good choice, since it would work well as a side-effect of redrawing the screen (at least that makes sense to me). In so doing I also cleaned up a lot of the reevaluating and resizing code so that a lot of the strange output seen on Rewind/resize seems to be gone.
The fix for the last bug broke the positioning of the autocomplete box, whoops.
That pesky bug keeps coming up. I think it’s finally nailed but it’s just a matter of testing and hoping. I hate numbers.
I’m having a bit of trouble with some integer division that’s causing trouble when a certain set of circumstances arise, and I think I’ve taken care of that little bug, since it’s a real pain in the ass and only creeps up when I’m actually doing something useful, so I’ll test it for a bit and release it as hopefully a bug fixed version.
A little late in the day to start a changelog, but here goes... This version fixed another annoying little bug that was causing crashes given certain exact circumstances. I always find it’s the way with curses and sizing of windows and things...
I’ve also got bpython to try looking into pydoc if no matches are found for the argspec, which means the builtins have argspecs too now, hooray.