Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removing apparently unwanted functions from Tkinter #47285

Closed
gpolo mannequin opened this issue Jun 3, 2008 · 15 comments
Closed

Removing apparently unwanted functions from Tkinter #47285

gpolo mannequin opened this issue Jun 3, 2008 · 15 comments
Assignees
Labels
topic-tkinter type-bug An unexpected behavior, bug, or error

Comments

@gpolo
Copy link
Mannequin

gpolo mannequin commented Jun 3, 2008

BPO 3035
Nosy @rhettinger, @terryjreedy, @bitdancer, @briancurtin, @asvetlov
Files
  • removed_index_funcs.diff
  • issue3035.diff
  • issue3035.diff
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = 'https://github.com/asvetlov'
    closed_at = <Date 2012-03-31.12:01:49.218>
    created_at = <Date 2008-06-03.18:32:48.863>
    labels = ['type-bug', 'expert-tkinter']
    title = 'Removing apparently unwanted functions from Tkinter'
    updated_at = <Date 2012-03-31.12:01:49.217>
    user = 'https://bugs.python.org/gpolo'

    bugs.python.org fields:

    activity = <Date 2012-03-31.12:01:49.217>
    actor = 'asvetlov'
    assignee = 'asvetlov'
    closed = True
    closed_date = <Date 2012-03-31.12:01:49.218>
    closer = 'asvetlov'
    components = ['Tkinter']
    creation = <Date 2008-06-03.18:32:48.863>
    creator = 'gpolo'
    dependencies = []
    files = ['10514', '25067', '25068']
    hgrepos = []
    issue_num = 3035
    keywords = ['patch', 'needs review']
    message_count = 15.0
    messages = ['67669', '97750', '156518', '156519', '156520', '156521', '156535', '156615', '156620', '156672', '157082', '157089', '157092', '157175', '157178']
    nosy_count = 7.0
    nosy_names = ['rhettinger', 'terry.reedy', 'gpolo', 'r.david.murray', 'brian.curtin', 'asvetlov', 'python-dev']
    pr_nums = []
    priority = 'low'
    resolution = 'fixed'
    stage = 'patch review'
    status = 'closed'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue3035'
    versions = ['Python 3.3', 'Python 3.4']

    @gpolo
    Copy link
    Mannequin Author

    gpolo mannequin commented Jun 3, 2008

    Patch for removing some unwanted, and probably not used, functions at
    tkinter/init.

    @gpolo gpolo mannequin added the topic-tkinter label Jun 3, 2008
    @briancurtin
    Copy link
    Member

    If this stuff needs to be removed it should probably go through the deprecation process.

    @briancurtin briancurtin added the type-bug An unexpected behavior, bug, or error label Jan 14, 2010
    @asvetlov
    Copy link
    Contributor

    Pushed as PendingDepricationWarnings for upcoming 3.3

    @asvetlov asvetlov self-assigned this Mar 21, 2012
    @python-dev
    Copy link
    Mannequin

    python-dev mannequin commented Mar 21, 2012

    New changeset d42f264f291e by Andrew Svetlov in branch 'default':
    Issue bpo-3035: Unused functions from tkinter are marked as pending peprecated.
    http://hg.python.org/cpython/rev/d42f264f291e

    @bitdancer
    Copy link
    Member

    PendingDeprecationWarning would mean that we are going to remove it "someday". If you actually want to remove them in a reasonable time, you should use "DeprecationWarning" in 3.3, and then remove them in 3.4.

    But is there a need to remove them? Maybe PendingDeprecationWarning is right and we'll remove them in Python4 :)

    @bitdancer
    Copy link
    Member

    Also, posting a patch for review before committing is a good idea. If you don't get a review in a reasonable time period, then as a committer you can of course go ahead and commit, based on your judgement.

    @terryjreedy
    Copy link
    Member

    I do not know or directly use tkinter enough to judge the proposed removal. (Although they do look like they might be useless.) I would like to see a little more explanation on the record. Who wrote
    "# XXX I don't like these -- take them away"?

    Also, deprecation messages often give the alternative or replacement to what is being removed. Are these so useless that there is no replacement?

    @asvetlov
    Copy link
    Contributor

    David Murray,
    I used to think what deprecation process in Python have to go trough PendingDeprectaionWarning to DeprecationWarning and removing in next next release at end. Is it right?
    Also I thought what that trivial patch does not need to be published in tracker. Will do next time.

    Terry J. Reedy, the message what you asked was made by GvR in 1995.
    That functions can be used to point position in text widget (single-line Entry doesn't support it).

    Now I think we need to deprecate that functions, but also add keyword-only parameters in widgets methods which can accept that ones.
    Documentation need to be updated as well.

    I'll make a patch for that.

    Thank you for mentoring.

    @bitdancer
    Copy link
    Member

    You are theoretically right about not posting trivial patches, but as you can see, sometimes even a trivial patch elicits unexpected insights. So I like to always post my patches, even the seemingly trivial ones. Then if I don't get any responses, I figure it is OK to to ahead on the trivial ones :)

    Of course, I don't do this 100% of the time. This is especially true if there has been prior discussion, or sometimes discussion on IRC (although in the latter case I still may post the patch and always post summary of the IRC discussion).

    As for the deprecation process. PendingDeprecationWarning was introduced for...I forget which feature it was. Something that was going to be around for several releases, anyway. And I think that feature wound up not getting removed until Python3, but I don't remember for sure.

    Then for a short time we did start using it as you say, giving a three release deprecation cycle (pending, deprecated, gone), but that was before deprecation warnings were made silent. PendingDeprecations were silent, you see, so using them one release early was a hack around the fact that DeprecationWarnings were *not* silent.

    On the other hand I think we've gotten more strict about "needless" deprecations. If there's no harm in leaving something in, we leave it in. It's too bad Guido's comment wasn't noticed at the Python3 boundary; that is the perfect time to remove such cruft. So doing a PendingDeprecationWarning to remind ourselves that this is something we want to remove in Python4 is also a reasonable approach. Really, I think this is an area where our procedures and criteria are still a bit in flux...

    @rhettinger
    Copy link
    Contributor

    Usually, I would counsel against removing anything that isn't broken by design, but the code for these functions offers nothing substantive. So, +1 for marking as deprecated in 3.3 and removing in 3.4.

    @asvetlov
    Copy link
    Contributor

    Updated patch. Warning type is DeprecationWarning, docs mentioned that.

    @bitdancer
    Copy link
    Member

    Raymond is suggesting removal in 3.4, and given that we are doing it I don't see any reason to wait for 3.5, either, so you probably want to update the warning messages to say 3.4 instead of 3.5. Otherwise it looks good to me.

    Ezio suggested adding a test that fails if we don't do the deprecation in 3.4 (that is, when the feature release number changes, the test starts failing). And/or you can open a new 3.4-only issue "remove deprecated tkinter functions" and mark it as a release blocker.

    @asvetlov
    Copy link
    Contributor

    Thank you, David.

    I've updated the patch.

    I think making new test for check is easy but bpo-14446 is good enough.
    Running stupid test doesn't make sense for this case.

    @python-dev
    Copy link
    Mannequin

    python-dev mannequin commented Mar 31, 2012

    New changeset 2bc374182ed4 by Andrew Svetlov in branch 'default':
    issue bpo-3035: update PendingDeprecationWarning to DeprectionWarning, point deprecation in tkinter doc
    http://hg.python.org/cpython/rev/2bc374182ed4

    @asvetlov
    Copy link
    Contributor

    I've updated the patch following David's recommendations, pushed it into default branch.

    bpo-14446 has been made to remove deprecated code in 3.4

    Closing the issue as fixed.

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    topic-tkinter type-bug An unexpected behavior, bug, or error
    Projects
    None yet
    Development

    No branches or pull requests

    5 participants