PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"!

Chris Angelico rosuav at gmail.com
Mon Jul 21 16:48:03 CEST 2014


On Tue, Jul 22, 2014 at 12:27 AM, Grant Edwards <invalid at invalid.invalid> wrote:
> On 2014-07-21, Chris Angelico <rosuav at gmail.com> wrote:
>
>> You call it a bug because you can't think of any way it could be
>> beneficial. That's the wrong way of looking at it. Something isn't a
>> bug because you find it annoying; it's a bug because it fails to
>> implement the programmer's intentions and/or the docs/specification.
>
> I was always taught that it's a "bug" is when a program doesn't do
> what a reasonable user expects -- that it's got nothing to do with the
> programmer's intent.

There are many definitions of the word, and sometimes they disagree.
(That's why it's common to have an "issue tracker" rather than a "bug
tracker"; often the "is this a bug report or a feature request"
question doesn't even matter. In theory, version x.y.? releases should
have bug fixes but not feature additions, but sometimes some bug fix
might potentially break code, so it's deferred till the next x.?
release. Or a feature addition is allowed to be backported, because
it's Idle, not the core language.)

But even using that definition, I would not say that one single person
saying "this can't possibly be useful" is enough to define something
as a bug. Take, for instance, the behaviour of Windows's cmd.exe
editing keys: enter three commands, then up-arrow three times and hit
enter, then press down, enter, down, enter. You'll repeat the three
commands. In other interfaces (eg GNU readline), you'd do the same job
by pressing up, up, up, enter each time. Personally, I find the
cmd.exe behaviour extremely surprising, especially when I've been
working with some very similar commands (imagine: ./configure
some_bunch_of_args; make; some_command_to_test; rm -rf *; git checkout
HEAD - then repeat with a different set of configure arguments), and I
end up "stuck half way up command history", wondering why I'm not
seeing what I wanted. Can be extremely awkward. But even so, I don't
call this a bug. It's entirely possible that it is one - some internal
state that isn't being reset correctly - as I don't have docs or the
programmer's intention to compare against. However, I can't honestly
call it a bug based on just my own use-cases. I personally find it
useless and unhelpful, but that doesn't make it a bug any more than a
colourblind person would find a colour-based UI phenomenon a bug.

ChrisA



More information about the Python-list mailing list