Tal Einat added the comment:
I don't think this is a major issue. Most users only use one version of IDLE
with one version of Python.
IDLE's user config is indeed shared between all versions. This is an
unfortunate design mistake, and could perhaps be fixed in 3.5.
Regarding this
Tal Einat added the comment:
If you think ColorDelegator and UndoDelegator should be fixed as well, I'd be
happy to take a look, but we should open a separate tracker issue for it.
--
___
Python tracker
<http://bugs.python.org/is
Tal Einat added the comment:
So is that a go-ahead to commit to the 2.7 and 3.4 branches (as well as
default)?
--
___
Python tracker
<http://bugs.python.org/issue20
Tal Einat added the comment:
I'm attaching a patch which really fixes this issue, along with additional
tests for idlelib.HyperParser.
I did indeed have to fix PyParse as well. I got it working with re.subn() as
Martin suggested, but the performance was much worse (between 100x and
Changes by Tal Einat :
Removed file:
http://bugs.python.org/file35959/taleinat.20140716.IDLE_HyperParser_unicode_ids.patch
___
Python tracker
<http://bugs.python.org/issue21
Changes by Tal Einat :
Added file:
http://bugs.python.org/file35960/taleinat.20140716.IDLE_HyperParser_unicode_ids_v2.patch
___
Python tracker
<http://bugs.python.org/issue21
Tal Einat added the comment:
Fix committed to 3.4 and merged to default. (My first commit!)
Not back-porting this to 2.7 despite PEP 434, because support for non-ASCII
identifiers only exists in 3.x.
Close this issue as fixed!
--
___
Python
Tal Einat added the comment:
Bah, my original message was truncated!
I could use some help figuring out how to test with various Tk versions. I have
a Mac with OSX 10.8, and I've found the "IDLE and tkinter with Tcl/Tk on Mac OS
X" page[1], but I'm still not sure how
Tal Einat added the comment:
@Ned: Great! Please keep me posted.
--
___
Python tracker
<http://bugs.python.org/issue3068>
___
___
Python-bugs-list mailin
Tal Einat added the comment:
I'm attaching my conversion of deque.rotate and _count_elements in
Modules/_collectionsmodule.c.
There remain 3 other functions in that module to be converted.
One is deque_init which returns int; Larry said (on IRC) to hold off with that
for now.
The othe
New submission from Tal Einat:
For example, in `Object/stringlib/transmogrify.h`, the methods `ljust` and
`rjust` have an argument named `fillchar` of type char. It's Python default
value should be b' ', but the only way I've found to do that is by sett
Tal Einat added the comment:
Additionally, the char converter doesn't create valid c defaults. For example,
I got " " instead of ' ' for fillchar, which has type char, so I had to
manually set c_default = "' '".
--
Tal Einat added the comment:
Attaching patch for complete conversion of Objects/unicodeobject.c.
Notes:
* maketrans() was already converted
* converting the lstrip, rstrip and strip methods required a small, non-trivial
change to the code, since they used a common function for argument parsing
Tal Einat added the comment:
Attached patch for AC conversion of Objects/stringlib/transmogrify.h.
Converting the functions in this file required changes to Objects/bytesobject.c
and Objects/bytearrayobject.c. Those changes are in the patch as well. The
conversion of those files is part of
Tal Einat added the comment:
While converting Objects/stringlib/transmogrify.h as part of issue20180 (Derby
#11), some changes to Objects/bytesobject.c and Objects/bytearrayobject.c were
required. Those changes are included in the relevant patch attached to that
issue.
--
nosy
New submission from Tal Einat:
In Objects/bytes.c, the strip methods need a "self converter" so that
they get a PyBytesObject* instead of PyObject*. However, having set
this in bytes.strip and "cloning" that clinic definition for
bytes.lstrip and bytes.rstrip, it appears tha
New submission from Tal Einat:
It would be useful for conversion of existing function to be able to set the
name of the C variable for arguments which is different than the Python
argument name.
For example, not being able to do so makes converting bytes.translate much
harder. In the
Tal Einat added the comment:
Attaching a straight-forward patch, adding an optional 'c_name' parameter to
CConvertor. When given it is used for the name of the C variable. It is also
used for the '_length' variable names (when used).
This works for my use case (bytes.tran
Tal Einat added the comment:
Never mind my previous comment; I realize it would create to much of a mess.
Sorry for the noise.
--
___
Python tracker
<http://bugs.python.org/issue20
Tal Einat added the comment:
While converting Objects/stringlib/transmogrify.h as part of issue20180 (Derby
#11), some changes to Objects/bytesobject.c and Objects/bytearrayobject.c were
required. Those changes are included in the relevant patch attached to that
issue.
--
nosy
Tal Einat added the comment:
I've been working on converting unicode, bytes and bytearray, but their files
are separated into Derby groups #10, #11 and #12. Could we create a new issue
and move the relevant files to it?
The files I'd like to move:
>From Derby #10 (issue20179)
Tal Einat added the comment:
Attached patch for AC conversion of Objects/bytesobject.c and
Objects/bytearrayobject.c.
This is one patch because there are changes that must be done in
bytes_methods.h and bytes_methods.c that affect both of bytesobject.c and
bytearrayobject.c. Those changes
Tal Einat added the comment:
See nearly complete conversion of Objects/bytearrayobject.c in patch attached
to issue20179.
--
___
Python tracker
<http://bugs.python.org/issue20
Tal Einat added the comment:
+1 for this. It would save a bit of manual conversion work, and would
significantly reduce the size and complexity of the resulting patches.
--
___
Python tracker
<http://bugs.python.org/issue20
Tal Einat added the comment:
Attached updated patch for bytes and bytearray.
In the previous patch I missed the 'clear' and 'copy' bytearray methods. This
patch is a replacement for the previous one, with the additional conversion of
these two methods.
---
Tal Einat added the comment:
Attaching a new patch for complete conversion of Objects/unicodeobject.c.
This is to replace the previous patch for this file.
This new patch also converts all other possible unicode methods,
including those not using PyArg_* functions. This includes various
methods
Tal Einat added the comment:
You look very handsome today Larry :)
Regardless, I do think this is a good idea. I've converted several functions
that have -1 as a default value for ints where they ideally should have None.
Having None as the default will be much clearer and less error
Tal Einat added the comment:
My only comment from reviewing the patch is that you seem to have used
NULLABLE_PY_SSIZE_T_INITIALIZE by accident one time in int_converter (in
clinic.py).
Other than that, as you already know, make sure to return 1 in both converters
in the "if (arg == Py
Tal Einat added the comment:
Found two bugs in the draft patch in Objects/longobject.c:
1) In _PyLong_NullableIntConverter, there is no index variable, so the
Py_DECREF and Py_XDECREF need to be removed from the end of the function.
2) In _PyLong_NullablePy_ssize_tConverter, the index
Tal Einat added the comment:
Attached nearly complete conversion of Modules/_collectionsmodule.c.
I've converted all functions using PyArg_* functions, including __new__
methods, but not deque.__init__.
I'm attaching a separate patch for deque.__init__.
--
Added
Tal Einat added the comment:
Attached a patch converting deque.__init__ in Modules/_collectionsmodule.c,
which completes the conversion of this file.
This patch depends Larry's first patch in issue20341 (Argument Clinic: add
"nullable ints"). This functionality is used
Tal Einat added the comment:
Another bug in the patch:
In int_converter.__init__ in clinic.py, the patch adds:
if not isinstance(self.default, int):
fail("Illegal default value for int_converter")
This fails if no default is specified, e.g. for positional only argument. The
Changes by Tal Einat :
--
assignee: -> docs@python
components: +Build, Demos and Tools, Documentation
nosy: +docs@python
type: -> enhancement
versions: +Python 3.4
___
Python tracker
<http://bugs.python.org/i
New submission from Tal Einat:
There is no entry for 'l', which maps to 'long' according to 'long_converter'
in clinic.py.
Patch attached for Doc/howto/clinic.rst.
--
files: missing_long_legacy_converter.clinic.rst.patch
keywords: patch
messages: 208818
Tal Einat added the comment:
Attached is a complete conversion of Modules/_randommodule.c. Three
_random.Random methods were converted: seed, getrandbits and __new__.
There's was an problem converting _random.Random.__new__. I overcame it cleanly
and think this patch is good. Details
Tal Einat added the comment:
Attached complete conversion of Modules/xxlimited.c, Modules/xxmodule.c and
Modules/xxsubtype.c.
There are no tests for these and the code is not used by anything AFAIK, so I
was extra careful and went over the diffs manually once everything was done
New submission from Tal Einat:
This is caused by the code "fields = list(parser_body_fields)" under
"if new_or_init:" in CLanguage.output_templates().
'parser_body_fields' is initialized to None and may not be set before the
above mentioned code.
Attached is a
Tal Einat added the comment:
See documentation patch for this issue attached to issue20346 (a duplicate of
this).
--
nosy: +taleinat
___
Python tracker
<http://bugs.python.org/issue20
Tal Einat added the comment:
I thought AC was how all new modules were supposed to be written. If so, the
example modules should definitely use AC!
Also note that once the generated code is in separate files, the code in the
origin files will be simpler and clearer
Tal Einat added the comment:
Thanks, Stefan. I hadn't realized that the xx files were targeted mainly a
third-party developers. In this case, I can see the sense in not converting
them.
I only wish someone had said something *before* I went ahead and converted
Tal Einat added the comment:
The new patch still uses NULLABLE_PY_SSIZE_T_INITIALIZE instead of
NULLABLE_INT_T_INITIALIZE in one place in int_converter.converter_init.
--
___
Python tracker
<http://bugs.python.org/issue20
Changes by Tal Einat :
--
nosy: +taleinat
___
Python tracker
<http://bugs.python.org/issue20283>
___
___
Python-bugs-list mailing list
Unsubscribe:
New submission from Tal Einat:
To quote issue20294 where Larry Hastings added AC support for __new__ and
__init__:
"
* __init__ and __new__ always take kwargs.
* if the function signature doesn't accept keyword arguments,
it calls _PyArg_NoKeywords().
"
However, due
Tal Einat added the comment:
In general, that sounds like a reasonable suggestion to me. A quick search
shows that most classes that call _PyArg_NoKeywords check the type first. I
think we should strive for uniformity in this respect, so I'm +1 for your
suggestion.
I do see some cl
Tal Einat added the comment:
Great. Most of the classes in itertools could use this.
BTW, you'll need to supply a way to supply the C name of the type, to use in
the type check.
--
___
Python tracker
<http://bugs.python.org/is
Tal Einat added the comment:
+1 for that as well, I've written quite a few self converters for that reason.
--
___
Python tracker
<http://bugs.python.org/is
Tal Einat added the comment:
I've found two bugs:
1) In the type check, a '&' needs to be added before the type name.
2) Setting template_dict['self_type_object'] fails for module functions
--
___
Python tracker
<h
Tal Einat added the comment:
Also, I believe the the type of the first argument passed to a method is a
pointer to the typedef object, so a '*' needs to be added after the typedef
name wherever it is used in such functions.
--
___
Pyth
Tal Einat added the comment:
My last comment was wrong. There is a bug regarding the first argument to new
methods; It should just remain a PyTypeObject*.
--
___
Python tracker
<http://bugs.python.org/issue20
Tal Einat added the comment:
You're right, this issue does indeed seem to have been resolved since I created
this issue. I just checked this on Objects/bytesobject.c with the latest
version and get the desired output. So you've done right to close this issue.
I'd like to n
Tal Einat added the comment:
I'm still seeing the first argument to a __new__ function as "groupbyobject *"
instead of "PyTypeObject *". This causes the following error (for example):
./Modules/itertoolsmodule.c:112:34: error: no member named 'tp_allo
Tal Einat added the comment:
To clarify my previous comment, I was referring to the first argument passed to
the generated 'impl' function.
Context: I'm attempting to convert 'itertools.groupby' in
Modules/itertoolsmodule.c.
--
_
Tal Einat added the comment:
Also, I'm seeing this in the generated code for __new__ methods:
if (({self_name} == {self_type_object}) &&
--
___
Python tracker
<http://bugs.pytho
Tal Einat added the comment:
To make reproducing these bugs easier, I'm attaching my partially converted
version of Modules/itertoolsmodules.c, which has the buggy generated code
inside.
"Partially converted" means that I've only converted some of the functions
requir
Tal Einat added the comment:
Using the latest clinic.py from default branch, everything in itertools works
like a charm :)
--
resolution: -> fixed
status: open -> closed
___
Python tracker
<http://bugs.python.org/i
Tal Einat added the comment:
Attached is a complete AC conversion of itertools.
This is a large conversion, so I was extra careful. I even went over the entire
diff manually to check for any errors. Compilation runs without warnings and
the entire test suite passes.
Notes:
* I didn't co
Tal Einat added the comment:
And at that, I've finished the conversion of this entire Derby group! Woohoo!
(except for itertools.repeat which is pending discussion)
--
___
Python tracker
<http://bugs.python.org/is
Tal Einat added the comment:
This has indeed been fixed by the change you mentioned.
--
resolution: -> fixed
status: open -> closed
___
Python tracker
<http://bugs.python.org/i
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue2213>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue1524639>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue5680>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue1528593>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue1721083>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue1253>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue4832>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue2704>
___
___
Python-bugs-list mailing list
Unsubscribe:
Tal Einat added the comment:
This should be closed as "wont fix".
--
nosy: +taleinat
___
Python tracker
<http://bugs.python.org/issue1253>
___
___
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue6143>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue1442493>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue1612262>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue9262>
___
___
Python-bugs-list mailing list
Unsubscribe:
Tal Einat added the comment:
Is there any chance this patch could get some love? I've stopped using IDLE a
long time ago, but this patch is a great improvement!
--
versions: +Python 3.5 -Python 3.2
___
Python tracker
<http://bugs.py
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue1178>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue10079>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue17296>
___
___
Python-bugs-list mailing list
Unsubscribe:
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue12411>
___
___
Python-bugs-list mailing list
Unsubscribe:
Tal Einat added the comment:
Roger's patch LGTM, and should be considered a bug-fix.
I will note, however, that this doesn't address the original issue: It still
does not supply an easily discoverable method of toggling highlighting. Having
a keyboard shortcut documented in the he
Changes by Tal Einat :
--
nosy: -taleinat
___
Python tracker
<http://bugs.python.org/issue7676>
___
___
Python-bugs-list mailing list
Unsubscribe:
Tal Einat added the comment:
As the title suggests, this patch adds a second configuration dialog, used to
configure extensions.
This is useful because many extensions have parameters, but setting them can
only be done by editing a file. Also, the documentation for such parameters is
hard to
Tal Einat added the comment:
(This is a bit long; there's a TL;DR at the end.)
You'd be surprised how many of IDLE's features are implemented as extensions.
These are simply included in idlelib, enabled by default and configured with
reasonable values.
Take a look at Lib
Tal Einat added the comment:
Ping?
Can this please go in? It's such a great improvement to user experience!
I've seen too many novice users print a ton of output by accident and have IDLE
hang as a result, losing their interactive session. This simple extension avoid
those issues
Tal Einat added the comment:
Confirmed on OSX 10.8 with Python 3.4 (built from default branch, changeset
88969:32af4954e46a).
Note that this doesn't happen when opening just a shell window, e.g. by running
./python -m idlelib.idle. Furthermore, even when running IDLE as described in
t
Tal Einat added the comment:
This is caused by MultiCall's _ComplexBinder.__del__() being called during app
shutdown. _ComplexBinder.__del__() unbinds a bunch of event handlers from the
widget to which it is attached. It seems that there's some edge case here where
the underlying
Tal Einat added the comment:
I put the try/except outside of the loop on purpose. If calling the widget's
unbind() method fails once, it will fail forever afterwards.
If you prefer a different spelling, move the try/except into the loop, and
break out of the loop in case of an exception:
Tal Einat added the comment:
Attaching second patch, to replace the first.
As suggested by Serhiy, I moved the try/except block into the loop.
I also added a comment explaining the try/except block and referencing this
issue.
--
Added file:
http://bugs.python.org/file33926
Tal Einat added the comment:
Both previous patches caused an import error. Here's a new patch with that
fixed, and actually tested to fix the bug.
--
Added file:
http://bugs.python.org/file33927/taleinat_idle_closing_exception_3.patch
___
P
Tal Einat added the comment:
It's an old patch and it may not be in a properly recognized format.
I'll create a new patch soon.
--
___
Python tracker
<http://bugs.python.
Tal Einat added the comment:
I'm glad that adding features to IDLE is being considered! However, I really
think that new features should be chosen with extreme care. Adding advanced
features aimed mostly at "power" users should be avoided unless really
necessary, IMO.
The rea
New submission from Tal Einat:
Following up issue3068, this is a separate patch which moves the "paragraph
reformat width" setting from the "general" tab in IDLE's config dialog to the
relevant place in the extensions configuration.
--
components: IDLE
Tal Einat added the comment:
Here's an updated patch. As requested, the patch is against the current 3.3
branch and applies cleanly to default.
I tested with both Python 3.3.4 RC1 and 3.4.0 beta 3, while overriding their
idlelib with the one from the repo with these changes.
I also re
Tal Einat added the comment:
Here's a completely re-written patch!
The patch is against current 3.3 (changeset 360976a6d8b9), since that's what
Terry requested recently on issue3068. It also applies cleanly to the current
default branch (changeset 360976a6d8b9).
This patch h
Tal Einat added the comment:
Removing text before "iomark" can be done by using the underlying Text widget
directly. See how the Squeezer extension does this in issue1529353. This should
simplify the implementation significantly.
I also took a look at the version of the extensio
Tal Einat added the comment:
Roger, thanks for the quick response!
I'll try to get to working on this in the coming days.
--
___
Python tracker
<http://bugs.python.org/i
Changes by Tal Einat :
--
nosy: +roger.serwy, terry.reedy
___
Python tracker
<http://bugs.python.org/issue1529353>
___
___
Python-bugs-list mailing list
Unsub
Tal Einat added the comment:
Terry, if I wrote an appropriate patch, would it have a chance of being
accepted?
--
___
Python tracker
<http://bugs.python.org/issue6
Changes by Tal Einat :
--
nosy: +terry.reedy
___
Python tracker
<http://bugs.python.org/issue6143>
___
___
Python-bugs-list mailing list
Unsubscribe:
Tal Einat added the comment:
The relation to Squeezer is that both of these can be useful when you've had a
large amount of output written in the IDLE shell. I prefer Squeezer as a
solution for this issue, for two reasons:
1. Squeezer catches long outputs before they are ever written i
Tal Einat added the comment:
Also, note that the new version of Squeezer allows squeezing tracebacks as well
as normal output! It does not squeeze them automatically, though; the user must
do so manually.
--
___
Python tracker
<h
Tal Einat added the comment:
Regarding the tooltip traceback, seems like that could be related. I added a
tooltip to the "squeezed text" buttons, with no delay, so perhaps there's some
kind of race condition?
Could you try changing "delay=0" in the code to "
Tal Einat added the comment:
Indeed, expanding very long texts still degrades the performance of IDLE. But
the user has to explicitly expand the text (by double-clicking the button) and
can easily squeeze the text again.
As for your suggestion to show just the first several lines and a "
1201 - 1300 of 1452 matches
Mail list logo