GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Argument Clinic: Touch source file if any output file changed · Issue #64595 · python/cpython

Argument Clinic: Touch source file if any output file changed #64595

New issue
Copy link
New issue
Copy link
Closed
Closed
Argument Clinic: Touch source file if any output file changed#64595
Copy link
Assignees
larryhastings
Labels
buildThe build process and cross-buildThe build process and cross-buildtopic-argument-clinictype-featureA feature request or enhancementA feature request or enhancement

Description

@larryhastings
larryhastings
opened on Jan 26, 2014
Issue body actions
BPO 20396
Nosy @ncoghlan, @larryhastings, @zware, @serhiy-storchaka

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/larryhastings'
closed_at = None
created_at = <Date 2014-01-26.14:02:21.527>
labels = ['type-feature', 'expert-argument-clinic']
title = 'Argument Clinic: Touch source file if any output file changed'
updated_at = <Date 2015-02-25.15:25:31.345>
user = 'https://github.com/larryhastings'

bugs.python.org fields:

activity = <Date 2015-02-25.15:25:31.345>
actor = 'serhiy.storchaka'
assignee = 'larry'
closed = False
closed_date = None
closer = None
components = ['Argument Clinic']
creation = <Date 2014-01-26.14:02:21.527>
creator = 'larry'
dependencies = []
files = []
hgrepos = []
issue_num = 20396
keywords = []
message_count = 3.0
messages = ['209315', '209318', '209323']
nosy_count = 4.0
nosy_names = ['ncoghlan', 'larry', 'zach.ware', 'serhiy.storchaka']
pr_nums = []
priority = 'low'
resolution = None
stage = 'needs patch'
status = 'open'
superseder = None
type = 'enhancement'
url = 'https://bugs.python.org/issue20396'
versions = []

Linked PRs

  • gh-64595: Argument Clinic: Touch source file if any output file changed #104152
  • gh-64595: Fix write file logic in Argument Clinic #104507
  • gh-64595: Fix regression in file write logic in Argument Clinic #106449
  • [3.12] gh-64595: Fix regression in file write logic in Argument Clinic (#106449) #106452
  • gh-64595: Touch the source file if the generated file was changed #155265

Activity

Next
  1. larryhastings commented on Jan 26, 2014

    @larryhastings
    larryhastings
    on Jan 26, 2014
    ContributorAuthor
    More actions

    A minor bug, but still one that could cause confusion. It's already bitten me once.

    If I change the code generator in clinic.py, then --make everything, files using the "file" destination often won't change. All the changes to the generated code will go in the generated file. And since the UNIX build process ignores those generated files, it doesn't rebuild the source file. I'd have to use "--make -f".

    This won't just happen to me though. If you update your trunk and run "make clinic" this could easily happen to you too.

    I propose that Clinic handle this as follows: if the generated file changes, but the source file does not, it "touches" the source file. (Technically I'll probably just rewrite the source file, as I already have code that does that.)

    Reacted by Erlend E. Aasland
  2. larryhastings
    self-assigned this
    on Jan 26, 2014
  3. larryhastings
    added
    type-featureA feature request or enhancementA feature request or enhancement
    on Jan 26, 2014
  4. serhiy-storchaka commented on Jan 26, 2014

    @serhiy-storchaka
    serhiy-storchaka
    on Jan 26, 2014
    Member
    More actions

    It should first touch source file and then generated file. So that the date of generated file is always later the date of source file.

  5. ncoghlan commented on Jan 26, 2014

    @ncoghlan
    ncoghlan
    on Jan 26, 2014
    Contributor
    More actions

    With Serhiy's modification, sounds like a reasonable plan to me.

  6. serhiy-storchaka
    added
    topic-argument-clinic
    on Feb 25, 2015
  7. ezio-melotti
    transferred this issue fromon Apr 10, 2022
  8. erlend-aasland
    added a commit that references this issue on May 4, 2023

    pythongh-64595: Argument Clinic: Touch source file if any output file…

    6ca580c
  9. erlend-aasland
    linked a pull request that will close this issuegh-64595: Argument Clinic: Touch source file if any output file changed #104152on May 5, 2023
  10. erlend-aasland
    closed this as completedin #104152on May 5, 2023
  11. erlend-aasland
    added a commit that references this issue on May 5, 2023

    gh-64595: Argument Clinic: Touch source file if any output file chang…

    45a9e38
  12. erlend-aasland commented on May 5, 2023

    @erlend-aasland
    erlend-aasland
    on May 5, 2023
    Contributor
    More actions

    Resolved, taking Serhiy's and Nick's remarks into account, with:

    • gh-64595: Argument Clinic: Touch source file if any output file changed #104152
  13. carljm
    added a commit that references this issue on May 5, 2023

    Merge branch 'main' into inlinecomp2

    8a78a36
  14. jbower-fb
    added a commit that references this issue on May 8, 2023

    pythongh-64595: Argument Clinic: Touch source file if any output file…

    d3192a2
  15. erlend-aasland
    reopened this on May 15, 2023
  16. 6 remaining items

  17. erlend-aasland
    reopened this on Jul 5, 2023
  18. erlend-aasland commented on Jul 5, 2023

    @erlend-aasland
    erlend-aasland
    on Jul 5, 2023
    Contributor
    More actions

    #104507 introduced a regression which in practice makes clinic unusable. Clearly, the current ClinicExternalTest test is not sufficient; we need to be able to catch errors as serious this in CI.

  19. erlend-aasland
    added a commit that references this issue on Jul 5, 2023

    pythongh-64595: Fix regression in file write logic in Argument Clinic

    6f5936a
  20. ambv
    added a commit that references this issue on Jul 5, 2023

    gh-64595: Fix regression in file write logic in Argument Clinic (#106449

    9d1d4f9
  21. erlend-aasland
    added 2 commits that reference this issue on Jul 5, 2023

    [3.12] pythongh-64595: Fix regression in file write logic in Argument…

    b02430a

    [3.12] gh-64595: Fix regression in file write logic in Argument Clinic (

    b72601e
  22. carljm
    added a commit that references this issue on Jul 5, 2023

    Merge branch 'main' into modulelocals

    4c59e51
  23. hugovk commented on Jan 11, 2024

    @hugovk
    hugovk
    on Jan 11, 2024
    Member
    More actions

    Triage: the fix PR has been merged, can this be re-closed?

  24. erlend-aasland commented on Jan 11, 2024

    @erlend-aasland
    erlend-aasland
    on Jan 11, 2024
    Contributor
    More actions

    Triage: the fix PR has been merged, can this be re-closed?

    No, the fix introduced a regression, so it had to be reverted :( I'll see if I can find time in the coming weeks to fix this.

    Reacted by Hugo van Kemenade
  25. erlend-aasland commented on Jan 17, 2024

    @erlend-aasland
    erlend-aasland
    on Jan 17, 2024
    Contributor
    More actions

    I'm not sure this is worth fixing in Argument Clinic. It is a limitation with how we've set up the build system. A more modern build system would detect the #include dependencies automatically. We can chose to fix this in the Makefile (or just wait until a new build system is in place).

  26. erlend-aasland
    added
    buildThe build process and cross-buildThe build process and cross-build
    on Jan 17, 2024
  27. erlend-aasland
    removed a link to a pull requestgh-64595: Argument Clinic: Touch source file if any output file changed #104152on Jan 17, 2024
  28. serhiy-storchaka commented on Aug 6, 2026

    @serhiy-storchaka
    serhiy-storchaka
    on Aug 6, 2026
    Member
    More actions

    #155265 implements the original Larry's plan (with my modification).

  29. serhiy-storchaka
    added a commit that references this issue on Aug 18, 2026

    gh-64595: Touch the source file if the generated file was changed (GH…

    c5168ea
  30. serhiy-storchaka
    closed this as completedon Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

  • @larryhastings
    larryhastings

Labels

buildThe build process and cross-buildThe build process and cross-buildtopic-argument-clinictype-featureA feature request or enhancementA feature request or enhancement

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    You are visitor 01402503 — GeezerVison does not store the pages you look up.
    Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.