[issue46290] Parameter names are inaccurate in dataclasses docs

2022-01-08 Thread Tal Einat


Tal Einat  added the comment:

Indeed, the argument name in the code is "obj", and in 3 of those 4 functions 
it is a normal (positional or keyword) argument, so the name is important.

--
assignee: eric.smith -> taleinat
nosy: +taleinat

___
Python tracker 
<https://bugs.python.org/issue46290>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46279] [docs] Minor information-ordering issue in __main__ doc

2022-01-08 Thread Tal Einat

Tal Einat  added the comment:

I agree that it seems better to avoid menntioning venv in that sentence. 
Specifically I suggest:

This won’t work for __main__.py files in the root directory of a .zip file 
though. Hence, for consistency, minimal __main__.py without a __name__ check 
are preferred.

--
nosy: +taleinat

___
Python tracker 
<https://bugs.python.org/issue46279>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46290] Parameter names are inaccurate in dataclasses docs

2022-01-08 Thread Tal Einat


Tal Einat  added the comment:


New changeset ef5376e69e72fa922d7f1b3df47b99d3576f9df1 by Zsolt Dollenstein in 
branch 'main':
bpo-46290: Fix parameter names in dataclasses docs (GH-30450)
https://github.com/python/cpython/commit/ef5376e69e72fa922d7f1b3df47b99d3576f9df1


--

___
Python tracker 
<https://bugs.python.org/issue46290>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46290] Parameter names are inaccurate in dataclasses docs

2022-01-08 Thread Tal Einat


Tal Einat  added the comment:

Thanks for the report and the PR, Zsolt!

--
nosy:  -miss-islington
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue46290>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46290] Parameter names are inaccurate in dataclasses docs

2022-01-08 Thread Tal Einat


Tal Einat  added the comment:

Good to know Eric, will do!

--

___
Python tracker 
<https://bugs.python.org/issue46290>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46086] Add ratio_min() function to the difflib library

2022-01-08 Thread Tal Einat


Tal Einat  added the comment:

Thanks for the suggestion and the PR, Giacomo!

However, in my opinion, this is better suited to be something like a cookbook 
recipe.  The number of use cases for this will be low, and there would be 
little advantage to having this in the stdlib rather than elsewhere.

--
nosy: +taleinat

___
Python tracker 
<https://bugs.python.org/issue46086>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46261] [doc] fix inaccuracies in sqlite3.Cursor.lastrowid docs

2022-01-08 Thread Tal Einat


Tal Einat  added the comment:


New changeset b6aa38f1ca79600f2ab46ac114ff36461a19c4a3 by Erlend Egeberg 
Aasland in branch 'main':
bpo-46261: Update `sqlite3.Cursor.lastrowid` docs (GH-30407)
https://github.com/python/cpython/commit/b6aa38f1ca79600f2ab46ac114ff36461a19c4a3


--
nosy: +taleinat

___
Python tracker 
<https://bugs.python.org/issue46261>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46141] Fix ipaddress.ip_network TypeErrors

2022-01-08 Thread Tal Einat


Change by Tal Einat :


--
nosy: +pmoody, taleinat
stage:  -> patch review
status: pending -> open
versions:  -Python 3.8

___
Python tracker 
<https://bugs.python.org/issue46141>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46261] [doc] fix inaccuracies in sqlite3.Cursor.lastrowid docs

2022-01-08 Thread Tal Einat


Tal Einat  added the comment:


New changeset 987fba102e909229dd2aa1a6115aa28d514c1818 by Miss Islington (bot) 
in branch '3.10':
bpo-46261: Update `sqlite3.Cursor.lastrowid` docs (GH-30407)
https://github.com/python/cpython/commit/987fba102e909229dd2aa1a6115aa28d514c1818


--

___
Python tracker 
<https://bugs.python.org/issue46261>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46261] [doc] fix inaccuracies in sqlite3.Cursor.lastrowid docs

2022-01-08 Thread Tal Einat


Tal Einat  added the comment:


New changeset b29aa71090e4dd34900660ecca8bb62667440f41 by Miss Islington (bot) 
in branch '3.9':
[3.9] bpo-46261: Update `sqlite3.Cursor.lastrowid` docs (GH-30407)
https://github.com/python/cpython/commit/b29aa71090e4dd34900660ecca8bb62667440f41


--

___
Python tracker 
<https://bugs.python.org/issue46261>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46261] [doc] fix inaccuracies in sqlite3.Cursor.lastrowid docs

2022-01-08 Thread Tal Einat


Tal Einat  added the comment:

Thanks for this, Erlend!

--
stage: resolved -> patch review

___
Python tracker 
<https://bugs.python.org/issue46261>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46261] [doc] fix inaccuracies in sqlite3.Cursor.lastrowid docs

2022-01-08 Thread Tal Einat


Change by Tal Einat :


--
stage: patch review -> resolved

___
Python tracker 
<https://bugs.python.org/issue46261>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46005] [doc] replace 'distutils' examples with 'setuptools'

2022-01-17 Thread Tal Einat


Tal Einat  added the comment:

First, I think that it's good and useful to have full, well-maintained examples 
of how to build extension modules in the docs.

Second, until distutils is removed, I think we should keep the documentation 
for how to use it. Due to this, I don't think adding the "setuptools 
disclaimer" would be appropriate, since we shouldn't remove the section once 
the setuptools docs are updated.

It seems to me that we should:

1. Add a prominent note about distutils being deprecated and what that means: 
can one still use it, should one still use it, when is it planned to be 
removed, etc.

2. Add mention that 3rd-party tools are now the recommended way to build 
extensions. Include links to the sections in these libraries' docs explaining 
how to build extensions.

--
nosy: +taleinat

___
Python tracker 
<https://bugs.python.org/issue46005>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43654] IDLE: Fix tab completion after settings and some keys

2022-01-20 Thread Tal Einat


Tal Einat  added the comment:

Terry, for all intents and purposes you're the one in charge of IDLE now. I 
suggest deciding whether to change all three bindings as in the current PR or 
only the one for completions. Just le me know and if needed I'll make a new PR.

--

___
Python tracker 
<https://bugs.python.org/issue43654>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46086] Add ratio_min() function to the difflib library

2022-01-20 Thread Tal Einat


Tal Einat  added the comment:

I'm closing this for now since nobody has followed up and to the best of my 
understanding this wouldn't be an appropriate addition to the stdlib. 

This can be re-opened in the future if needed, of course.

--
resolution:  -> rejected
stage: patch review -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue46086>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41857] Document timeout arguments to poll() in select module

2022-01-20 Thread Tal Einat


Change by Tal Einat :


--
versions: +Python 3.11, Python 3.9

___
Python tracker 
<https://bugs.python.org/issue41857>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40529] Auto Completions with case insensitive

2022-01-20 Thread Tal Einat


Change by Tal Einat :


--
Removed message: https://bugs.python.org/msg382482

___
Python tracker 
<https://bugs.python.org/issue40529>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40529] Auto Completions with case insensitive

2022-01-20 Thread Tal Einat


Change by Tal Einat :


--
Removed message: https://bugs.python.org/msg382481

___
Python tracker 
<https://bugs.python.org/issue40529>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40529] Auto Completions with case insensitive

2022-01-20 Thread Tal Einat


Tal Einat  added the comment:

This should probably be brought up in the python-ideas mailing list, which is 
much more active than the group on discuss.python.org.

--

___
Python tracker 
<https://bugs.python.org/issue40529>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46080] argparse.BooleanOptionalAction with default=argparse.SUPPRESS and help specified raises exception

2022-01-20 Thread Tal Einat


Tal Einat  added the comment:


New changeset 9e87c0e03fa501fb90008547983ce4c1dcaaf90c by Felix Fontein in 
branch 'main':
bpo-46080: fix argparse help generation exception in edge case (GH-30111)
https://github.com/python/cpython/commit/9e87c0e03fa501fb90008547983ce4c1dcaaf90c


--
nosy: +taleinat

___
Python tracker 
<https://bugs.python.org/issue46080>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41857] Document timeout arguments to poll() in select module

2022-01-20 Thread Tal Einat


Tal Einat  added the comment:


New changeset 27df7566bc19699b967e0e30d7808637b90141f6 by Zane Bitter in branch 
'main':
bpo-41857: mention timeout argument units in select.poll() and select.depoll() 
doc-strings (GH-22406)
https://github.com/python/cpython/commit/27df7566bc19699b967e0e30d7808637b90141f6


--
nosy: +taleinat

___
Python tracker 
<https://bugs.python.org/issue41857>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46080] argparse.BooleanOptionalAction with default=argparse.SUPPRESS and help specified raises exception

2022-01-21 Thread Tal Einat


Tal Einat  added the comment:

Thanks for the report and the PR, Felix!

--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue46080>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41857] Document timeout arguments to poll() in select module

2022-01-21 Thread Tal Einat


Change by Tal Einat :


--
pull_requests: +28928
pull_request: https://github.com/python/cpython/pull/30741

___
Python tracker 
<https://bugs.python.org/issue41857>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41857] Document timeout arguments to poll() in select module

2022-01-21 Thread Tal Einat


Change by Tal Einat :


--
pull_requests: +28929
pull_request: https://github.com/python/cpython/pull/30742

___
Python tracker 
<https://bugs.python.org/issue41857>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41857] Document timeout arguments to poll() in select module

2022-01-21 Thread Tal Einat


Tal Einat  added the comment:


New changeset f6e5972fa984c10d47694973db1c91c6486d654a by Tal Einat in branch 
'3.10':
[3.10] bpo-41857: mention timeout argument units in select.poll() and 
select.depoll() doc-strings (GH-22406)
https://github.com/python/cpython/commit/f6e5972fa984c10d47694973db1c91c6486d654a


--

___
Python tracker 
<https://bugs.python.org/issue41857>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41857] Document timeout arguments to poll() in select module

2022-01-21 Thread Tal Einat


Tal Einat  added the comment:


New changeset 656971e4953a70a6048170377888db5530eea0a6 by Tal Einat in branch 
'3.9':
[3.9] bpo-41857: mention timeout argument units in select.poll() and 
select.depoll() doc-strings (GH-22406)
https://github.com/python/cpython/commit/656971e4953a70a6048170377888db5530eea0a6


--

___
Python tracker 
<https://bugs.python.org/issue41857>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41857] Document timeout arguments to poll() in select module

2022-01-21 Thread Tal Einat


Tal Einat  added the comment:

Thanks for this improvement, Zane!

--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue41857>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45193] IDLE Show completions pop-up not working on Ubuntu Linux

2022-01-23 Thread Tal Einat


Change by Tal Einat :


--
pull_requests: +29025
pull_request: https://github.com/python/cpython/pull/28332

___
Python tracker 
<https://bugs.python.org/issue45193>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45578] Missing tests for the dis module

2022-01-26 Thread Tal Einat


Tal Einat  added the comment:

Thanks for your work on this Nikita!

--
nosy: +taleinat
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue45578>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1178] IDLE - add "paste code" functionality

2007-09-18 Thread Tal Einat

New submission from Tal Einat:

Patch adding a 'Paste Code' item to the 'Edit' menu, as well as hotkeys.

Using 'Paste Code' instead of the normal paste will remove prompts ('>>>
' or '... ') from the code, and also remove empty lines if pasting to a
shell window.

This allows easily copy/pasting code between shell and editor windows,
as well as easily pasting code from other applications (e.g. a web
browser) into IDLE.

This patch uses IDLE's PyParse.py for parsing code, and Tk's clipboard
API for interaction with the clipboard (it changes the clipboard's
contents, generates a normal paste event, and changes the contents back).

Test only on WinXP SP2 so far, needs to be tested on other platforms,
especially the clipboard interaction.

--
components: IDLE
files: IDLE_paste_code.070918.patch
messages: 56017
nosy: taleinat
severity: minor
status: open
title: IDLE - add "paste code" functionality
type: behavior
versions: Python 2.6

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1178>
__

IDLE_paste_code.070918.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1130] Idle - Save (buffer) - closes IDLE and does not save file (Windows XP)

2007-09-23 Thread Tal Einat

New submission from Tal Einat:

The saving bug is a string/bytes issue, simply fixed by replaced line
366 in Lib\idlelib\IOBinding.py with:
chars = chars.replace(b"\n", self.eol_convention.encode('ASCII'))

--
nosy: +taleinat

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1130>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1225] IDLE - Fix: pressing Ctrl+C while printing exception -> stuck

2007-10-01 Thread Tal Einat

New submission from Tal Einat:

Patch run.py, adding a global 'interruptable' flag which is set only
when executing code. This avoids interrupting the main thread while it
is printing an exception, which would cause IDLE to freeze up.

Reworked patch from IDLE-Spoon.

--
components: IDLE
files: IDLE_Interrupt.071001.patch
messages: 56209
nosy: kbk, taleinat
severity: normal
status: open
title: IDLE - Fix: pressing Ctrl+C while printing exception -> stuck
type: crash
versions: Python 2.5, Python 2.6

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1225>
__

IDLE_Interrupt.071001.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1130] Idle - Save (buffer) - closes IDLE and does not save file (Windows XP)

2007-10-09 Thread Tal Einat

Tal Einat added the comment:

Your solution is better than my suggestion, but has two minor bugs:

1) eol_convention must be initialized somewhere. For instance, opening a
new editor window (Ctrl+N) and saving it fails because
self.eol_convention is not defined. I agree that is shouldn't be a class
attribute, but it must be intialized in __init__.

2) You meant chars = self.encode(text), right? (otherwise the eol change
is discraded...)

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1130>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1252] IDLE - patch Delegator to support callables

2007-10-09 Thread Tal Einat

New submission from Tal Einat:

Add an __call__ magic method to Delegator so that it can delegate to
callables. This will raise the required exception if the delegate isn't
callable.

The built-in callable() method will now return True for any Delegator.
Before this patch it always returns False, which is wrong if the
delegate is callable, so callable() doesn't really work on Delegator
instances in both cases. I couldn't see how this could be harmful.

Also make the Delegator class a new-style class.


This patch is required for the Squeezer and ShellLogger IDLE extensions
found on PyPI to be able to co-exist.

--
components: IDLE
files: IDLE_Delegator.071010.patch
messages: 56305
nosy: kbk, taleinat
severity: normal
status: open
title: IDLE - patch Delegator to support callables
type: behavior
versions: Python 2.5, Python 2.6

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1252>
__

IDLE_Delegator.071010.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1253] IDLE - Percolator overhaul

2007-10-09 Thread Tal Einat

New submission from Tal Einat:

The Percolator class has been very hard to figure out, and has been a
source of confusion for users wanting to "hack" IDLE.

This patch makes Percolator a generally useful class which inherits from
Delegator. It also adds a new class, TkTextPercolator, which inherits
from Percolator and does all of the Text widget specific stuff.

The code has been refactored, cleaned up, and the in-code comments have
been improved. UndoDelegator.py, ColorDelegator.py and EditorWindow.py
have been updated as needed.

Also, the code using ColorDelegator in EditorWindow.py has been slightly
modified to work better with the Percolator.

I've done some testing (only on WinXP but nothing here is platform
specific) and this seems to work without a hitch.

This patch is required for the Squeezer and ShellLogger IDLE extensions
found on PyPI to be able to co-exist.

--
components: IDLE
files: IDLE_Percolator.071010.patch
messages: 56306
nosy: kbk, taleinat
severity: normal
status: open
title: IDLE - Percolator overhaul
type: behavior
versions: Python 2.5, Python 2.6

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1253>
__

IDLE_Percolator.071010.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1253] IDLE - Percolator overhaul

2007-10-23 Thread Tal Einat

Tal Einat added the comment:

The change required for Squeezer and ShellLogger is the separation of
the Tk Text specific logic into a subclass, which makes Percolator a
generally useful class. Along with the simple patch to Delegator.py
which allows delegation to callables, this change allows one to replace
a method with a Percolator instance.

I want to do this for EditorWindow.write, since both Squeezer and
ShellLogger need to hook onto this call somehow. Furthermore,
ShellLogger must catch this call before Squeezer does, since Squeezer
may change the output, but the original output should pass through
ShellLogger first.

Since there is no way to control the order in which extensions are
loaded, this constraint must be enforced by the extensions themselves.
Using the patched Percolator is the simplest way I could come up with to
support this. (IMHO adding a constraint solver for extensions at this
point would be overkill.)

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1253>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1252] IDLE - patch Delegator to support callables

2007-10-25 Thread Tal Einat

Tal Einat added the comment:

I understand your argument, but am not convinced. I'll try to explain
how I see this and how I came to this view.


I wished to wrap a specific method (or function) instead of wrapping the
father object with a Delegator and implementing a single method. But I
needed more than simple function wrapping - I wanted a chain of
functions where each wraps the next, and the ability to change the order
of links in this chain. So what I really wanted was a Percolator, but
instead of having it wrap an object and delegate methods, I wanted it to
delegate direct calls.

My first idea was to implement a FunctionDelegator class. But I realized
I would have to implement a FunctionPercolator class, which would be
indentical to the existing Percolator class except that it would inherit
from FunctionDelegator instead of Delegator.

>From there I had three choices:

1) create a second pair of delegator/percolator classes which are nearly
identical (much code ducplication)

2) make a Percolator generator function, which accepts a Delegator
class, and returns a Percolator class/object which uses it (possibly
inheriting from it)

3) make Delegator able to delegate direct calls

The third option is obviously the simplest to implement, requiring the
least code without any code duplication.

After some thought, I came to the point-of-view described below, and
realized that the third option is actually what I would expect if I were
thinking about delegators and percolators as transparent proxies.


> Delegates are not intended to be callable.

Why not? IMO, the nice thing about the Delegator class is that you can
use an instance just as if it were the underlying object, transparently.
The major exception from this behavior was that calling a Delegator
never works, even if the underlying object is callable. From this point
of view, my patch makes the Delegator concept complete, while before it
was broken.

> I think this patch increases the complexity and obscurity of the
> Delegator/Percolator/WidgetRedirector code, rather than improving
> it.  Apparently you want to sometimes call a chain of methods (as
> in current usage) and sometimes call a chain of functions. The
> semantic overload, which was bad enough already, is too great.

You describe method calls and direct calls as though they were
fundamentally different. Therefore you find that delegating both is too
much semantic overloading. However, if one views direct calling of an
object as a special case of calling a method (since functions are also
objects) -- the __call__ method -- then delegating both method calls and
direct calls is The Right Thing.

> Also, this __call__ method, if actually used, propagates to the
> end of the Delegator chain and calls the function at the end,
> (assuming it is a function).  Or it will skip non-callable
> Delegators and stop at the first callable one.

True, since this is precisely what Delegators do for any method call --
this is the expected behavior.


> If Squeezer and ShellLogger require this change, then I'd
> suggest changing them to match current Percolator usage, instead.
> Currently I don't see a Delegator being used in Squeezer.  Could
> you be more specific about why the change is needed for those
> two extensions?

Squeezer currently replaces PyShell's write method with a method of its
own. ShellLogger also needs to hook onto the write method, but
ShellLogger's function must be called before Squeezer's method, since
Squeezer can insert a button without calling the underlying write
method. But extensions must replace the write method in their
constructor, and the order of their construction is "random". In other
words, a rudimentary form of constraint enforcement is required, which
can be achieved using a Percolator.

Without the suggested change to Delegator, this can be accomplished by
wrapping EditorWindow with a Percolator, and having extensions insert
Delegators (filters) as appropriate. However, this is a much larger
change to the code -- for example, this breaks type checks, e.g. assert
isinstance(editwin, EditorWindow)). This would also add overhead to
every method call done on EditorWindow, with this overhead growing
linearly with the number of Delegators inserted. I find wrapping
specific methods to be more straightforward and therefore simpler, but
this can be argued.

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1252>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1334] IDLE - Fix several highlighting bugs

2007-10-26 Thread Tal Einat

New submission from Tal Einat:

This patch fixes the following bugs:

* Configured selection highlighting colors were ignored
* Updating highlighting in the config dialog would cause
  non-Python files to be colored as if they were Python source

Additionally, adding and removing of ColorDelegators to the Percolator
was not being done in an organized fashion, causing multiple colorizers
to be present simultaneously in certain cases. This patch ensures that
there will always be at most one colorizer present in the Percolator.

This patch also reduces code duplication by grouping colorization code
into EditorWindow.ResetColorizer, and having __init__ let ResetColorizer
do its thing.

There is one side effect to this patch - applying a new highlighting
scheme or renaming a file causes the screen to "blink". This can be
avoided without too much work, but IMHO is minor enough to leave as it is.

--
components: IDLE
files: IDLE_highlighting.071026.patch
messages: 56788
nosy: kbk, taleinat
severity: normal
status: open
title: IDLE - Fix several highlighting bugs
versions: Python 2.5, Python 2.6
Added file: http://bugs.python.org/file8618/IDLE_highlighting.071026.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1334>
__

IDLE_highlighting.071026.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1252] IDLE - patch Delegator to support callables

2007-10-27 Thread Tal Einat

Tal Einat added the comment:

It seems we're looking at Delegators and Percolators from increasingly
different points of view. Let's back up a little.


I see a Delegator object as a transparent proxy to its "delegate". This
means that attribute access is automatically delegated to the delegate,
unless it is explicitly overridden by the Delegator. That's it.

Some use cases for such a transparent proxy are:
* override only specific attributes/methods of an object
* allow replacement of an object which is referenced in several places
without having to update every reference

(Caching is just an implementation detail, whose only purpose is to
facilitate changing a Delegator's delegate.)


As for Percolator, it really "is a" delegator -- it delegates attribute
access to the bottom of the chain, unless it is explicitly overridden.
True, in a "normal" Delegator this overriding can only be done in one
place, and in a Percolator it can also happen in any of the chain's
links. But the concept is identical -- it is a transparent proxy for an
underlying object.

IMO chaining Percolators makes just as much sense as chaining Delegators
-- you're just chaining proxies. How each proxy works internally doesn't
really matter (as long as they work :).


Now, it seems to me that you aren't looking at Delegators and
Peroclators as transparent proxies at all. Specifically, what you wrote
implies that in order to proxy a callable, one should explicitly define
an __call__ method in their Delegator class/instance. But this is
exactly the opposite of the behavior with any other method/attribute,
where I can implicitly have the underlying attribute used by not
defining it in the Delegator. This is Delegator is for!


I'm attaching a Python file which will hopefully show how __call__ is
out of sync with the rest of Delegator's behavior. In its context,
"forwarded" means explicitly defined by a Delegator. "intercepted" means
that except for the interceptor and catcher, the method is not defined
(i.e. by the passers). Please take a moment to run it.


I should note that the situation is similar with other "magic" methods,
e.g. len(). This seems to make Python a bit less dynamic that I would
expect. Aside from implementation considerations such as speed, I'm not
sure I see why this is the way it is, e.g. why dynamically giving a
__call__ attribute to an instance shouldn't make it callable. I'll do
some more searching and reading on this.

Even though, I still think being able to delegate/percolate callables is
important enough to warrant such a change. After all, at the bottom
line, if the underlying object is callable then it will be called, and
if not then an appropriate exception will be raised. Isn't that the
Right Thing?

Added file: http://bugs.python.org/file8637/Delegators3.py

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1252>
__import traceback
from Delegator import Delegator

class NamedDelegator(Delegator):
"A bit of infrastructure..."
def __init__(self, name):
Delegator.__init__(self)
self.name = name

def _forward(self, to):
return self.name + ' -> ' + to

def _catch(self):
return self.name


class Catcher(NamedDelegator):
"Just catches everything"
forwarded = intercepted = quietly_forwarded = quietly_intercepted = \
__call__ = NamedDelegator._catch

class Passer(NamedDelegator):
"Just forwards everything"
def forwarded(self):
return self._forward(self.delegate.forwarded())

def intercepted(self):
return self._forward(self.delegate.intercepted())

# forwarding quietly means letting Delegator take care of it

class Interceptor(NamedDelegator):
"Forwards or intercepts, according to method names"
def forwarded(self):
return self._forward(self.delegate.forwarded())

quietly_intercepted = NamedDelegator._catch
intercepted = NamedDelegator._catch
__call__ = NamedDelegator._catch

class CallableDelegator(Delegator):
def __call__(self, *args, **kwargs):
return self.delegate.__call__(*args, **kwargs)

# Set up a chain
bottom = b0 = Catcher("Catcher")
b1 = Passer("Passer 1")
b1.setdelegate(b0)
b2 = Interceptor("Interceptor 2")
b2.setdelegate(b1)
top = b3 = Passer("Passer 3")
b3.setdelegate(b2)

# See what happens

print '"forwarded" is only implemented by the bottom ("Catcher"):'
print 'top.forwarded() =', top.forwarded()
print
print 'but "intercepted" is also implemented by b2 ("Interceptor 2"):'
print 'top.intercepted() =', top.intercepted()
print

print 'this is how it looks without

[issue1334] IDLE - Fix several highlighting bugs

2007-10-27 Thread Tal Einat

Tal Einat added the comment:

The first patch contained a bug - a window opened using the "New Window"
menu option would not be colorized.

This patch removes the assumption that EditorWindow.ResetColorizer will
be called by IOBinding code, by calling ResetColorizer during __init__
anyways. This means that in some cases it will be called multiple times,
but this has no noticeable effect since the window is not shown until
afterwards. (In the worst case scenario, the colors would "blink" once
or twice.)

Added file: http://bugs.python.org/file8640/IDLE_highlighting.071028.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1334>
__

IDLE_highlighting.071028.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1350] IDLE - CallTips enhancement - show full doc-string in new window

2007-10-27 Thread Tal Einat

New submission from Tal Einat:

This (relatively speaking) simple patch allows the full doc-string of a
callable to be displayed in a textView window. Once a call-tip is being
displayed, hitting one of the keys which is bound to the
force-open-calltip virtual event (Control-backslash by default) opens
the new window. If there is no extra documentation to be shown (in
addition to what is already shown in the call-tip), the window is not
displayed.

--
components: IDLE
files: IDLE_CallTips.071028.patch
messages: 56876
nosy: kbk, taleinat
severity: minor
status: open
title: IDLE - CallTips enhancement - show full doc-string in new window
versions: Python 2.5, Python 2.6
Added file: http://bugs.python.org/file8641/IDLE_CallTips.071028.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1350>
__

IDLE_CallTips.071028.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1717170] "Really print?" Dialog

2007-10-28 Thread Tal Einat

Tal Einat added the comment:

:)

Minor note - shouldn't there be a question mark at the end of the message?

_
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1717170>
_
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1612746] Enhanced tabbed pane widget

2007-10-29 Thread Tal Einat

Tal Einat added the comment:

Update, as requested.

After the recent configDialog.py changes, very little changes to it are
required.

I've included a much updated version of tabbedPages.py in this patch.
Since posting the original patch, I've discovered and fixed a few bugs,
implemented a 3d look for the tabs, and cleaned up the code. This
version has also been tested more thoroughly.

Also, this version very nicely supports tabbed panes with more than one
row of tabs. However you can't see this with configDialog.py, you'll
have to use the test code to check it out (just add several new pages
and then play around with them). I've used this feature in implementing
the extension config dialog, where every extension gets its own tab. I
hope I can finally get to posting a patch for it...

Enjoy!

Added file: http://bugs.python.org/file8650/IDLE_tabbedPages.071029.patch

_
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1612746>
_

IDLE_tabbedPages.071029.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1612746] Enhanced tabbed pane widget

2007-10-29 Thread Tal Einat

Tal Einat added the comment:

Bah, sorry, included wrong version of tabbedPages.py in the previous patch.

(differences are very minor, just some code cleanup and one very minor bug)

Added file: http://bugs.python.org/file8653/IDLE_tabbedPages.071029.patch

_
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1612746>
_

IDLE_tabbedPages.071029.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1252] IDLE - patch Delegator to support callables

2007-10-29 Thread Tal Einat

Tal Einat added the comment:

I'm trying to keep this as simple as possible, because it seems we're
tending to over-complicate.

We're discussing two distinct issues:

1) Should Delegator delegate calls to callables
2) Should Percolator inherit from Delegator

Have I missed something?


Regarding the first issue, I do think Delegator should do this, because
I view calling a callable as a special case of calling a method. To
illustrate my point, please take the code in example1.py, run it once
with Delegator as it is, and run it again after adding the __call__
method to Delegator's definition.



Regarding the second issue, I don't think I can put my thoughts better
than I already have:

As for Percolator, it really "is a" delegator -- it delegates attribute
access to the bottom of the chain, unless it is explicitly overridden.
True, in a "normal" Delegator this overriding can only be done in one
place, and in a Percolator it can also happen in any of the chain's
links. But the concept is identical -- it is a transparent proxy for an
underlying object.


Added file: http://bugs.python.org/file8654/example1.py

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1252>
__import traceback
from Delegator import Delegator

class Callable(object):
def __call__(self, *args, **kw):
return args, kw

def method(self, *args, **kw):
return args, kw

if __name__ == '__main__':
delegator = Delegator(Callable())

print 'Normal method call:',
print delegator.method('one', two='two')

print '"Direct" call (the underlying object is callable):',
try:
print delegator('one', two='two')
except:
print
traceback.print_exc()
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1612746] Enhanced tabbed pane widget

2007-11-01 Thread Tal Einat

Tal Einat added the comment:

Updated patch as requested.

Most of the changes are cosmetic, except one minor bug (kw -> **kw). I
added a few comments and doc-strings as well.


Consider removing tabpage.py, which is no longer used...

Added file: http://bugs.python.org/file8671/IDLE_tabbedpages.071101.patch

_
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1612746>
_

IDLE_tabbedpages.071101.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1374] IDLE - minor FormatParagraph bug fix

2007-11-02 Thread Tal Einat

New submission from Tal Einat:

The format_paragraph_event method was not returning "break", causing
unwanted side effects when called via a key binding.

--
components: IDLE
files: IDLE_FormatParagraph.071102.patch
messages: 57060
nosy: kbk, taleinat
severity: normal
status: open
title: IDLE - minor FormatParagraph bug fix
versions: Python 2.5, Python 2.6, Python 3.0
Added file: http://bugs.python.org/file8678/IDLE_FormatParagraph.071102.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1374>
__

IDLE_FormatParagraph.071102.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1457] IDLE - configDialog - new layout for key config

2007-11-18 Thread Tal Einat

New submission from Tal Einat:

As brought up on the idle-dev mailing list, I have redesigned the key
config window. The new layout is two wide frames one above the other,
instead of two tall frames side-by-side. This allows the key-binding
entries to be completely visible in the listbox.

--
components: IDLE
files: IDLE_configDialog.071118.patch
messages: 57617
nosy: kbk, taleinat
severity: normal
status: open
title: IDLE - configDialog - new layout for key config
versions: Python 2.5, Python 2.6
Added file: http://bugs.python.org/file8771/IDLE_configDialog.071118.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1457>
__

IDLE_configDialog.071118.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1705362] cannot change cursor color in IDLE

2007-11-19 Thread Tal Einat

Tal Einat added the comment:

Fixed in patch 1725576.

--
title: cannot change cursor color in IDLE  -> cannot change cursor color in IDLE

_
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1705362>
_
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1692335] Fix exception pickling: Move initial args assignment to BaseException.__new__

2012-01-11 Thread Tal Einat

Tal Einat  added the comment:

I'd just like to weigh in and say that this is a major issue for me at the 
moment. Not being able to indiscriminately pickle/unpickle exceptions is making 
my parallel-processing work very painful, because of problematic stdlib 
exceptions.

I'm surprised this hasn't been fixed way back in 2.x. FWIW, for my project 
having this fixed in 3.x could be a significant incentive to finally ditch 2.x.

--
nosy: +taleinat

___
Python tracker 
<http://bugs.python.org/issue1692335>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12411] cgi.parse_multipart is broken on 3.x

2011-07-04 Thread Tal Einat

Tal Einat  added the comment:

The patch seems broken to me.

In cgi.parse_multipart(), the 'boundary' variable can be a string even though 
it is concatenated to bytes. Its default value is a string, and a string can be 
given via the pdict argument. There is no validity check other than 
valid_boundary(), which allows both string and bytes.

Most of the changes to test_cgi.py are entirely unrelated. The one test added 
which tests cgi.parse_multipart() should fail since it uses a string (not 
bytes) boundary, while the correct boundary for the test is commented out.

I short this patch seems half-baked. IMO reject this patch and fix just the 
bytes/strings issue with cgi.parse_multipart. Or, as mentioned in the comments, 
use FieldStorage to implement it and be done with it.

--
nosy: +taleinat

___
Python tracker 
<http://bugs.python.org/issue12411>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12411] cgi.parse_multipart is broken on 3.x

2011-07-04 Thread Tal Einat

Tal Einat  added the comment:

Yes, please submit the other additional tests in a separate issue.

The default value for boundary should surely be b"". A simple test should be 
added where cgi.parse_multipart() uses the default boundary.

If valid_boundary() is used only for cgi.parse_multipart() then it should be 
changed to validate that the boundary is a bytes instance (which would also 
make it simpler). Otherwise (if vaild_boundary() is also used elsewhere) 
cgi.parse_multipart() should itself check that the boundary is indeed a bytes 
instance, throwing a TypeError otherwise.

Tip: You should run the relevant tests, making sure they all pass, before 
submitting a patch. That way you really know that the patch actually works (as 
far as passing all of the tests).

Thanks for adding more stdlib tests :)

--

___
Python tracker 
<http://bugs.python.org/issue12411>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12590] First line and cursor not visible when opening files

2011-07-21 Thread Tal Einat

Changes by Tal Einat :


--
nosy: +taleinat

___
Python tracker 
<http://bugs.python.org/issue12590>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10107] Quitting IDLE on Mac doesn't save unsaved code

2010-10-15 Thread Tal Einat

Tal Einat  added the comment:

Note that some discussion about this issue is taking place on the idle-dev 
mailing list.

Bruce Sherwood found the line "root.bind('<>', 
flist.close_all_callback)", which seems to be an unsuccessful attempt to 
achieve the wanted behavior.

Kevin Walzer mentioned that a grep on the idlelib code doesn't turn up any 
references to "tk::mac::Quit".

I don't have access to OSX for testing. Could someone please replace the 
root.bind call with what Kevin suggested, and see if it solves the problem?

--

___
Python tracker 
<http://bugs.python.org/issue10107>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1350] IDLE - CallTips enhancement - show full doc-string in new window

2008-06-08 Thread Tal Einat

Changes by Tal Einat <[EMAIL PROTECTED]>:


Removed file: http://bugs.python.org/file8641/IDLE_CallTips.071028.patch

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1350>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1350] IDLE - CallTips enhancement - show full doc-string in new window

2008-06-08 Thread Tal Einat

Changes by Tal Einat <[EMAIL PROTECTED]>:


Removed file: 
http://bugs.python.org/file8960/IDLE_CallTips.071214.incremental.patch

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1350>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2053] IDLE - standardize dialogs

2008-06-08 Thread Tal Einat

Tal Einat <[EMAIL PROTECTED]> added the comment:

After more testing, I discovered a bug which broke Goto Line. Attaching
a fixed patch.

Added file: 
http://bugs.python.org/file10555/IDLE_standardize_dialogs.080609.patch

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2053>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2053] IDLE - standardize dialogs

2008-06-08 Thread Tal Einat

Changes by Tal Einat <[EMAIL PROTECTED]>:


Removed file: 
http://bugs.python.org/file10555/IDLE_standardize_dialogs.080609.patch

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2053>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2053] IDLE - standardize dialogs

2008-06-08 Thread Tal Einat

Changes by Tal Einat <[EMAIL PROTECTED]>:


Added file: 
http://bugs.python.org/file10556/IDLE_standardize_dialogs.080609.patch

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2053>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue3068] IDLE - Add an extension configuration dialog

2008-06-09 Thread Tal Einat

New submission from Tal Einat <[EMAIL PROTECTED]>:

Attaching a patch for a straightforward extension config dialog, largely
based on configDialog.py.

This uses the multiple-tab-rows feature of the TabbedPageSet widget from
the tabbedPages module, as well as the included VerticalScrolledFrame
widget. Other than that there's nothing really new here.

--
components: IDLE
files: IDLE_configExtensionsDialog.080609.patch
keywords: patch
messages: 67872
nosy: kbk, taleinat
severity: normal
status: open
title: IDLE - Add an extension configuration dialog
type: behavior
versions: Python 2.6
Added file: 
http://bugs.python.org/file10560/IDLE_configExtensionsDialog.080609.patch

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3068>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue3068] IDLE - Add an extension configuration dialog

2008-06-09 Thread Tal Einat

Changes by Tal Einat <[EMAIL PROTECTED]>:


Removed file: 
http://bugs.python.org/file10560/IDLE_configExtensionsDialog.080609.patch

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3068>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue3068] IDLE - Add an extension configuration dialog

2008-06-09 Thread Tal Einat

Tal Einat <[EMAIL PROTECTED]> added the comment:

I forgot to mention:

This patch also removes the "paragraph width" option from the "General"
tab in the normal IDLE config, since that configures a parameter of the
FormatParagraph extension, which can now be done in the extension config
dialog.

Added file: 
http://bugs.python.org/file10561/IDLE_configExtensionsDialog.080609.patch

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3068>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1529018] Move firewall warning to "about" menu

2008-07-11 Thread Tal Einat

Tal Einat <[EMAIL PROTECTED]> added the comment:

What if this message was made part of the error message which is
displayed when the connection to the subprocess fails? This way only
users in situations where it is likely that the warning is relevant will
see it.

I suggest this since the original problem for which the warning was
added has become very uncommon, so bugging all of our users with such a
warning (even if it has a "don't show this again" check-box) seems
unnecessary.

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1529018>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue3344] IDLE - use enumerate instead of zip(count(), ...)

2008-07-11 Thread Tal Einat

New submission from Tal Einat <[EMAIL PROTECTED]>:

Just minor code cleanup.

Only one instance of zip(count(), ...) in EditorWindow.py, where I also
changed 'file' to 'file_name' to avoid overriding the built-in 'file' class.

--
files: IDLE_EditorWindow_minor.patch
keywords: patch
messages: 69571
nosy: kbk, taleinat
severity: normal
status: open
title: IDLE - use enumerate instead of zip(count(), ...)
Added file: http://bugs.python.org/file10878/IDLE_EditorWindow_minor.patch

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3344>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1350] IDLE - CallTips enhancement - show full doc-string in new window

2007-12-13 Thread Tal Einat

Tal Einat added the comment:

Yes, I admit I haven't tested this very thoroughly. I'll give this some
more time this weekend and submit another patch.

As for 3.0, I'll have to see what you've changed, but I'll gladly work
up a patch based on the newer version.

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1350>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1350] IDLE - CallTips enhancement - show full doc-string in new window

2007-12-14 Thread Tal Einat

Tal Einat added the comment:

Alrighty then!

Since I had also done some work on CallTips.py since the previous patch,
I've worked up a merged version, including stuff from the py3k version
and better tests.

Changes since the first patch:
* add support for callable instances (e.g. __call__)
* use inspect, which does the hackish stuff for us, such as using
.im_func where needed and formatting doc-strings appropriately
* use isinstance instead of type checking, like in the py3k branch
* rename get_arg_text to get_arg_text_and_doc
* add test cases for callable instances, classmethods, staticmethods and
old-style classes
* rework testing code
* tested extensively (only on WinXP, Python2.5)

I'm attaching a patch relative to the current SVN head, and another one
relative to the current SVN head with the previous patch applied.

Added file: http://bugs.python.org/file8957/IDLE_CallTips.071214.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1350>
__

IDLE_CallTips.071214.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1350] IDLE - CallTips enhancement - show full doc-string in new window

2007-12-14 Thread Tal Einat

Changes by Tal Einat:


Added file: 
http://bugs.python.org/file8958/IDLE_CallTips.071214.incremental.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1350>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1350] IDLE - CallTips enhancement - show full doc-string in new window

2007-12-14 Thread Tal Einat

Tal Einat added the comment:

Now for CallTipWindow.py:

* split conditionals into two lines as requested
* changed the test (took me a while to understand what "controversy" you
were referring to...)

I couldn't find anything wrong with the first line. It is the
function/method signature if it was found, or just the beginning of the
doc-string otherwise. Unless you think the adding the signature (when
possible) is unnecessary/confusing...

The above changes are included in both new patches.

Added file: http://bugs.python.org/file8959/IDLE_CallTips.071214.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1350>
__

IDLE_CallTips.071214.patch
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1350] IDLE - CallTips enhancement - show full doc-string in new window

2007-12-14 Thread Tal Einat

Changes by Tal Einat:


Added file: 
http://bugs.python.org/file8960/IDLE_CallTips.071214.incremental.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1350>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1350] IDLE - CallTips enhancement - show full doc-string in new window

2007-12-14 Thread Tal Einat

Tal Einat added the comment:

(bah, sorry for the mess, use the patch files from the later hour)

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1350>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1607] Patch for TCL 8.5 support

2007-12-14 Thread Tal Einat

Changes by Tal Einat:


--
nosy: +taleinat

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1607>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1777398] IDLE Freezes After Running Scripts

2007-12-14 Thread Tal Einat

Changes by Tal Einat:


--
nosy: +taleinat

_
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1777398>
_
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1350] IDLE - CallTips enhancement - show full doc-string in new window

2007-12-27 Thread Tal Einat

Tal Einat added the comment:

I had a working version which also used inspect before I saw your 3.0
version, but they both use inspect similarly, very straightforward. I
seem to recall only one of the version used inspect to get the doc
string, but I don't remember which one...

Depending on how you divide things, this patch includes more than just
two different developments. But they are interrelated to some extent.
And one of the developments is more rigorous testing, which this version
passes with flying colors.

If you wish, I can try to get another developer or two to test and
review this patch, if that will help somehow. Or anything else that will
help...

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1350>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1607] Patch for TCL 8.5 support

2007-12-28 Thread Tal Einat

Tal Einat added the comment:

I say close it, but start a discussion on switching to Tcl/Tk8.5 on the
appropriate list(s).

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1607>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2050] IDLE - make ScriptBinding event handlers return 'break'

2008-02-08 Thread Tal Einat

New submission from Tal Einat:

Event handlers in ScriptBinding.py were not returning 'break', although
they should have been.

--
components: IDLE
files: IDLE_ScriptBinding.080208.patch
messages: 62196
nosy: kbk, taleinat
severity: minor
status: open
title: IDLE - make ScriptBinding event handlers return 'break'
type: behavior
versions: Python 2.5, Python 2.6
Added file: http://bugs.python.org/file9391/IDLE_ScriptBinding.080208.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2050>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2049] IDLE - Restart Shell & Run Module

2008-02-08 Thread Tal Einat

New submission from Tal Einat:

When IDLE is run with a subprocess, add a 'Restart Shell & Run Module'
item to the 'Run' menu in editor windows. Also add Alt-F5 as a hotkey
for this item.

This is what the 'Run Module' (F5) item used to do (when there was a
subprocess). As of this patch 'Run Module' will not restart the shell
under any circumstances.


The advantages of this are that the user has more control (can run a
module in the shell either with or without restarting). It also avoids
surprising users which wouldn't expect 'Run Module' to restart the shell.


Based on changes proposed by Doug on idle-dev:
http://mail.python.org/pipermail/idle-dev/2007-January/002541.html

--
components: IDLE
files: IDLE_restart_shell_and_run_module.080208.patch
messages: 62195
nosy: kbk, taleinat
severity: normal
status: open
title: IDLE - Restart Shell & Run Module
type: behavior
versions: Python 2.5, Python 2.6
Added file: 
http://bugs.python.org/file9390/IDLE_restart_shell_and_run_module.080208.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2049>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2053] IDLE - standardize dialogs

2008-02-08 Thread Tal Einat

New submission from Tal Einat:

In many places in the code, tkMessageBox dialogs were being used
directly, with the master (parent) widget being set explicitly to the
EditorWindow's text widget. Only in some cases was the focus being set
to the text widget afterwards, although in most this is the Right Thing
To Do.

This patch adds a decorator which wraps a tkMessage box (or similar)
function to use the EditorWindow's text widget as a parent by default
and set focus back to it afterwards. This is used to wrap the showerror
and ask* methods. It also changes the code to use these methods wherever
appropriate.

All in all, the change in functionality is that the dialogs' parent
widget will always be the text widget, and that focus will always be
returned to it. This makes the interface more consistent. As a bonus, a
lot of repetitive cruft is removed from the code, and writing extensions
is made another bit simpler.

--
components: IDLE
files: IDLE_standardize_dialogs.080208.patch
messages: 62214
nosy: kbk, taleinat
severity: normal
status: open
title: IDLE - standardize dialogs
versions: Python 2.5, Python 2.6
Added file: 
http://bugs.python.org/file9394/IDLE_standardize_dialogs.080208.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2053>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1794] Hot keys must work in any keyboard layout

2008-02-08 Thread Tal Einat

Tal Einat added the comment:

(sorry to be joining in late, but I just happened upon this...)

Nashev, if you configured your IDLE's keys to fit a Russian keyboard
layout, then you could post your config-keys.cfg file (from your .idlerc
directory) on the internet for others to enjoy. (this is the file where
user-configured key bindings are saved)

IMHO, specifically in the case of IDLE, binding to scan codes instead of
characters would be harmful, since it would be harder for users not
familiar with scan codes to understand and tweak.

--
nosy: +taleinat

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1794>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2053] IDLE - standardize dialogs

2008-02-08 Thread Tal Einat

Tal Einat added the comment:

Bah, the initial version contained a silly bug in
EditorWindow.goto_line_event. Please remove it, and use this version
instead.

Added file: 
http://bugs.python.org/file9395/IDLE_standardize_dialogs.080209.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2053>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2053] IDLE - standardize dialogs

2008-02-09 Thread Tal Einat

Tal Einat added the comment:

Going through the code more thoroughly, found additional places where
the standardized dialogs should be used. Also fixed remaining places
where these dialogs are used but the parent widget was still being
explicitly set to be the text widget, which is now the default.

(should be easy to apply both patches in any order without conflicts)

Added file: 
http://bugs.python.org/file9396/IDLE_standardize_dialogs.080209_2.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2053>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2061] IDLE - autocompletion to support alternate patch separators

2008-02-10 Thread Tal Einat

New submission from Tal Einat:

This patch makes the auto-completion of file names support possible
alternate separator characters (e.g. '/' in windows).

--
components: IDLE
files: IDLE_AutoComplete_path_separators.080211.patch
messages: 62263
nosy: kbk, taleinat
severity: minor
status: open
title: IDLE - autocompletion to support alternate patch separators
type: rfe
versions: Python 2.6
Added file: 
http://bugs.python.org/file9400/IDLE_AutoComplete_path_separators.080211.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2061>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2062] IDLE - autocompletion logic optimization

2008-02-10 Thread Tal Einat

New submission from Tal Einat:

Improve the code in AutoCompleteWindow._complete_string to be more
efficient.

(this is to be followed up by a more extensive patch, which builds on
this change to support case-insensitive completion)

--
components: IDLE
files: IDLE_AutoComplete_complete_string_optimization.080211.patch
messages: 62265
nosy: kbk, taleinat
severity: minor
status: open
title: IDLE - autocompletion logic optimization
type: behavior
versions: Python 2.6
Added file: 
http://bugs.python.org/file9402/IDLE_AutoComplete_complete_string_optimization.080211.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2062>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2062] IDLE - autocompletion logic optimization

2008-02-10 Thread Tal Einat

Tal Einat added the comment:

Found two more instances in the code where a similar improvement can be
made. This (second) version of the patch is more consistent, please use
it instead of the initial version.

Added file: 
http://bugs.python.org/file9403/IDLE_AutoComplete_complete_string_optimization.080211.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2062>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2049] IDLE - Restart Shell & Run Module

2008-02-11 Thread Tal Einat

Tal Einat added the comment:

First of all, installing Python on Windows creates a 'Edit with IDLE'
context-menu item whenever you right-click a .py file, which opens IDLE
without a subprocess. The reason for this is that there is still a
problem regarding having several instances of IDLE, each with a
subprocess, open in parallel on Windows. The result is that many users
on Windows are often running IDLE without a subprocess; we can't treat
it as an 'expert' mode.

IMHO if you really feel strongly about this, then the Windows issue must
be resolved, and the 'Edit with IDLE' context-menu item should run IDLE
with a subprocess.


I understand your point that having the shell be restarted every time
helps teach good programming practices. But IDLE is used not only as a
learning environment; it's also a great Python shell for other purposes,
such as testing & debugging or scientific uses. I agree that these are
more advanced uses, so perhaps restarting the shell could be the
default, and the option to not have it restarted available when needed.

Thinking about it, I like the idea of an extension which is disabled by
default. I'll think about it some more, and then perhaps implement it.
Just a thought: It would be important to mention such an extension in a
prominent place in the documentation.

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2049>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2062] IDLE - autocompletion logic optimization

2008-02-11 Thread Tal Einat

Tal Einat added the comment:

Well, I admit, I haven't tested this enough. Specifically, there is a
bug in this patch (both versions); please delete it.


I accept your criticism of my latest patches, they truly are of inferior
quality. I deeply apologize for having taken up more of your time than I
should have.


Allow me to explain my situation:

I work with a highly modified version of IDLE to which I have added many
features, and which is also used daily by ~10 friends and colleagues.
Many of these patches are my attempt to contribute the more mature and
successful changes/features back to CPython. However, the completion
code differs greatly from the CPython version, making porting changes a
large effort, requiring me to re-implement many things, as well as go
once more through the process of testing and debugging.

This is really a great deal of work and I have been eager to contribute
some of the better features. While I have tried to be methodical,
thorough and test everything, I seem to still have been too hasty. I
must tell you that I spent many hours preparing the last few patches,
but I realize that doing half a job is worse than not doing it at all.

In the future I will test every change much more thoroughly before
posting it as a patch.

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2062>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2049] IDLE - Restart Shell & Run Module

2008-02-11 Thread Tal Einat

Tal Einat added the comment:

I agree that the interface should be kept as simple as possible, but
this is a meaningful and important addition, which will help clarify to
the users how to work with the subprocess. The point of this change is
avoid surprising the user, while also making the interface more
straightforward and consistent.


The major usage issues that this patch addresses, as I see them, are:

1. New users are surprised and aggravated when they first use 'Run
Module', because they weren't expecting the shell to be restarted,
causing them to lose a lot of work done before the restart. This also
happens to experienced users sometimes (accidents happen) and can be
very frustrating. I don't think the 'normal state' should be to restart
the shell, rather this should always be explicitly requested by the user.

2. When working with a subprocess, there is no (simple) way to just run
the module in the shell without restarting it.

3. Inconsistency in the functionality of 'Run Module' depending on
whether you have a subprocess.


The problem with the configuration option approach is that if you
configure 'Run Module' to not restart, then restarting requires:
switching to the Shell window, restarting, switching back to the editor
window, and running the module: 4 actions instead of one.

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2049>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2062] IDLE - autocompletion logic optimization

2008-02-13 Thread Tal Einat

Tal Einat added the comment:

After fixing the aforementioned bug and testing as thoroughly as I can,
here is a revised patch.

Added file: 
http://bugs.python.org/file9426/IDLE_AutoComplete_complete_string_optimization.080214.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2062>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2061] IDLE - autocompletion to support alternate path separators

2008-02-16 Thread Tal Einat

Tal Einat added the comment:

Umm, that's me being silly and forgetting to remove some backwards
compatibility stuff.

Revised (simpler) version attached.

Added file: 
http://bugs.python.org/file9439/IDLE_AutoComplete_path_separators.080216.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2061>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1529142] Allowing multiple instances of IDLE with sub-processes

2008-04-14 Thread Tal Einat

Tal Einat <[EMAIL PROTECTED]> added the comment:

I really, really wish we could get this in for Python2.6 - this issue is
a major drawback for beginners, for whom IDLE is mostly intended.

Perhaps not this specific patch; I am willing to work on cleaning up the
code and getting it tested by users on different platforms. Is there any
chance of this happening? What can I do to get this moving again?

_
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1529142>
_
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1529142] Allowing multiple instances of IDLE with sub-processes

2008-04-16 Thread Tal Einat

Tal Einat <[EMAIL PROTECTED]> added the comment:

Thanks for taking the time to review this patch, Guilherme. For the
record, on which OS+Python have you tested this?

_
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1529142>
_
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2053] IDLE - standardize dialogs

2008-04-29 Thread Tal Einat

Tal Einat <[EMAIL PROTECTED]> added the comment:

uploaded a single comprehensive patch file

Added file: 
http://bugs.python.org/file10140/IDLE_standardize_dialogs.080429.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2053>
__
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue3640] test_cpickle crash on AMD64 Windows build

2008-11-17 Thread Tal Einat

Tal Einat <[EMAIL PROTECTED]> added the comment:

Will this be back-ported to 2.5.3? (please say yes...)

--
nosy: +taleinat

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3640>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1529142] Allowing multiple instances of IDLE with sub-processes

2008-11-29 Thread Tal Einat

Tal Einat <[EMAIL PROTECTED]> added the comment:

First of all, the multiprocessing module doesn't work fully in an
interactive shell.

>From the Python2.6 docs:
"Note Functionality within this package requires that the __main__
method be importable by the children. This is covered in Programming
guidelines however it is worth pointing out here. This means that some
examples, such as the multiprocessing.Pool examples will not work in
the interactive interpreter."

And later on that same page (under Programming Guidelines -> Windows):
"Make sure that the main module can be safely imported by a new Python
interpreter without causing unintended side effects (such a starting a
new process)."

This is probably why IDLE is acting up for you. I would be surprised
if using the multiprocessing module will work well in IDLE either with
or without a sub-process.


As per the patch, someone should just work up an updated one with all
of the insight gained in the last several years (!) regarding this.

It should just do two things:
1) remove the use of the SO_REUSEADDR flag in the sub-process spawning
code -- see http://bugs.python.org/issue1201569
2) pass zero as the argument for the port number, which instructs the
underlying socket library to select an available port, and later
retrieve the selected port from the socket object -- see
http://mail.python.org/pipermail/idle-dev/2008-June/002687.html

The other changes in my original patch, while they do work, are
unnecessarily complex and make it much harder to get the patch
accepted. They should also not be significant if the spawning delays
are fixed.

If you'd like to work up such a patch and get it reviewed and
committed, please be my guest! I will help you in any way I can if you
take this up. Otherwise I guess it will wait until I find the time and
energy...

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1529142>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2053] IDLE - standardize dialogs

2008-11-29 Thread Tal Einat

Tal Einat <[EMAIL PROTECTED]> added the comment:

Attaching a new patch against a more recent revision (resolved minor
conflict).

Only 3 extremely minor changes from previous patch: fixed two more
places where the parent was being passed explicitly (no longer required)
and changed two tabs -> spaces.

I've done some fairly thorough manual testing of this, and have been
using it without any issues for almost six months.

Added file: 
http://bugs.python.org/file12161/IDLE_standardize_dialogs.081129.patch

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2053>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37821] IDLE shell uses wrong namespace for completions

2019-08-13 Thread Tal Einat


Tal Einat  added the comment:

Terry, many thanks for the clarifications!

> The intended behavior is to complete if at all possible.

I can see the point in that.

> What is odd to me is that you seem happy using the more numerous non-user 
> IDLE imports when there is no Shell.

The alternative would just be completing in an empty namespace, which would be 
completely useless.  I do agree that having a shell should increase the 
available modules etc. available for completion.


FWIW I brought this up trying the dict-key completions in the shell with 
`globals()`, and got very surprising results.

Perhaps we should differentiate between completions in the shell vs. when 
editing a file.  In the shell, having completions for things not actually 
available is weird IMO.  In the editor it makes more sense.

Or perhaps we should really go the route of 18766 and try to make all available 
modules available for completions.  I really dislike the arbitrary availability 
of only certain modules for completion.  That would likely be a *huge* 
undertaking, though, and I don't think it's worth it.  Maybe restrict this to 
just stdlib modules, and/or use lazy (on demand) importing.

Finally, we can also decide that the current behavior is what we want. It's 
there, documented, and normally not very surprising.

--

___
Python tracker 
<https://bugs.python.org/issue37821>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37821] IDLE shell uses wrong namespace for completions

2019-08-13 Thread Tal Einat


Change by Tal Einat :


--
Removed message: https://bugs.python.org/msg349556

___
Python tracker 
<https://bugs.python.org/issue37821>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37821] IDLE shell uses wrong namespace for completions

2019-08-13 Thread Tal Einat


Tal Einat  added the comment:

Terry, many thanks for the clarifications!

> The intended behavior is to complete if at all possible.

I can see the point in that.

> What is odd to me is that you seem happy using the more numerous non-user 
> IDLE imports when there is no Shell.

The alternative would just be completing in an empty namespace, which would be 
completely useless.  I do agree that having a shell should increase the 
available modules etc. available for completion.


FWIW I brought this up trying the dict-key completions in the shell with 
`globals()[` and got surprising results.

Perhaps we should differentiate between completions in the shell vs. when 
editing a file.  In the shell, having completions for things not actually 
available is weird IMO.  In the editor it makes more sense.

Or perhaps we should really go the route of issue #18766 and try to make all 
available modules available for completions.  I really dislike the arbitrary 
availability of only certain modules for completion.  That would likely be a 
*huge* undertaking, though, and I don't think it's worth it.  Maybe restrict 
this to just stdlib modules, and/or use lazy (on demand) importing.

Finally, we can also decide that the current behavior is what we want. It's 
there, documented, and normally not very surprising.

--

___
Python tracker 
<https://bugs.python.org/issue37821>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37849] IDLE: Completion window misplaced when shown above current line

2019-08-13 Thread Tal Einat


New submission from Tal Einat :

When the current line is near the bottom of the shell window, the completions 
list will be shown above it.  However, instead of appearing directly above the 
current line, it appears quite a bit higher, about one line too high.  See 
attached screenshot.

Seen on Windows 10 with current master 
(2a570af12ac5e4ac5575a68f8739b31c24d01367).

First brought up by Terry Reedy in a comment on PR GH-15169 [1].

[1] https://github.com/python/cpython/pull/15169#issuecomment-521066906

--
assignee: terry.reedy
components: IDLE
messages: 349652
nosy: taleinat, terry.reedy
priority: normal
severity: normal
status: open
title: IDLE: Completion window misplaced when shown above current line
versions: Python 3.7, Python 3.8, Python 3.9

___
Python tracker 
<https://bugs.python.org/issue37849>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37849] IDLE: Completion window misplaced when shown above current line

2019-08-13 Thread Tal Einat


Change by Tal Einat :


Added file: 
https://bugs.python.org/file48541/idle_completion_window_position.png

___
Python tracker 
<https://bugs.python.org/issue37849>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37849] IDLE: Completion window misplaced when shown above current line

2019-08-13 Thread Tal Einat


Change by Tal Einat :


--
keywords: +patch
pull_requests: +14988
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/15267

___
Python tracker 
<https://bugs.python.org/issue37849>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



  1   2   3   4   5   6   7   8   9   10   >