This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: IDLE should detect changes to open files by other processes
Type: enhancement Stage: test needed
Components: IDLE Versions: Python 3.9
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: terry.reedy Nosy List: Al.Sweigart, terry.reedy
Priority: normal Keywords:

Created on 2015-08-05 19:05 by Al.Sweigart, last changed 2022-04-11 14:58 by admin.

Messages (2)
msg248059 - (view) Author: Al Sweigart (Al.Sweigart) * Date: 2015-08-05 19:05
Many IDEs will check for changes to their opened files made by other programs. This is usually done with a quick check when the IDE's window gets focus.

A dialog will tell the user the file has changed on disk and ask if they want to reload it. This dialog is only shown when the file has changed AND there are unsaved changes made in the editor. Otherwise, the file changes are just silently reloaded. (This is the behavior of Sublime Text.)
msg248172 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2015-08-07 04:37
Notepad++ always asks, even when the edit buffer is not dirty. Actual use case: edit file with tkinter import and run in 3.4.  Works.  Open file in 2.7, changet tkinter to Tkinter, and run it.  If I click on the 3.4 wndow, I do not want it silently changed.

Here is my expert use (with changed edit buffers).  Hg nearly always screws up merges of Idle entries in misc/NEWS (skip the whys).  So I open the two or three required versions in Notepad++, edit all to how they should be, save the earliest (currently 3.4), go to TortoiseHg, commit, and merge forward (currently to 3.5).  If there is a conflict, revert to local, activate the 3.5 Notepad++ window, click NO, save, go back to TortoiseHg, mark resolved, and commit.

I am curious when beginners would need this feature.
History
Date User Action Args
2022-04-11 14:58:19adminsetgithub: 68987
2020-01-07 22:13:10terry.reedysetassignee: terry.reedy
versions: + Python 3.9, - Python 2.7, Python 3.4, Python 3.5, Python 3.6
2015-08-07 04:37:27terry.reedysetmessages: + msg248172
2015-08-07 04:18:25terry.reedysetnosy: + terry.reedy
stage: test needed

versions: - Python 3.2, Python 3.3
2015-08-05 19:05:39Al.Sweigartcreate