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.
Created on 2007年05月18日 02:15 by rhettinger, last changed 2022年04月11日 14:56 by admin.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| idle_filerevert.diff | gpolo, 2009年08月03日 02:54 | |||
| Messages (16) | |||
|---|---|---|---|
| msg55114 - (view) | Author: Raymond Hettinger (rhettinger) * (Python committer) | Date: 2007年05月18日 02:15 | |
When using CVS or SVN, it is common to revert or merge a file that is open in the editor. It would be great to have a reload/refresh option on the menu to bring in the changed file. Without that option, the only approach is to close without saving, fire-up the editor again, and reload the file manually. |
|||
| msg55115 - (view) | Author: Kurt B. Kaiser (kbk) * (Python committer) | Date: 2007年05月22日 23:18 | |
But isn't this an example of a bell/whistle which is outside IDLE's design policies? It would add a menu item which would be rather rarely used, especially by beginners, it seems to me. Why not just close the edit window (not IDLE) and re-open using the Files / Recent Files feature? |
|||
| msg55116 - (view) | Author: Tal Einat (taleinat) * (Python committer) | Date: 2007年07月20日 23:29 | |
I agree with KBK that what you suggest goes against IDLE's philosophy, which is to be simple and uncluttered, avoiding "bells and whistles". However, I do think that a simple "revert file" menu item in the File menu, which would just reload the file from the file system, could be generally useful. Additionally, IDLE could monitor the file on the file system, and if it is changed outside of IDLE, ask the user whether to continue with the current version or switch to the new version on disk. I've seen some text editors do this, and it can save some headaches. Drawbacks are that some users may find this annoying (at least at first), and it could be somewhat complex to implement. Thoughts on this? Perhaps this should be brought up on IDLE-dev? Each of the above would allow you to revert/merge using whatever CVS/SVN/etc. tools you normally use, then just load the new version inside the already open instance of IDLE. I think this would be a good separation of roles between IDLE and version control tools. |
|||
| msg55117 - (view) | Author: Kurt B. Kaiser (kbk) * (Python committer) | Date: 2007年07月22日 01:04 | |
If you have more than one IDLE window open (even a shell), it's not necessary to shut down. Just close the edit window, confirm the unsaved warning, and use the Recent Files menu item to reopen with the current disk contents. We are talking about five mouse clicks instead of three, counting confirmation dialogs. In my opinion, it's not worth complicating IDLE and confusing beginners with a 'revert' menu item to save two clicks every other day or so. I normally use IDLE with svn and never feel the need to reload something that was merged. After all, you should have updated before you opened the file in IDLE. If you modified the file in IDLE, saved, and checked it in, IDLE's copy is the same as svn. Maybe you have a use case I haven't considered. If it's a good one, then a (normally inactive) IDLE extension might be warranted for those who really need this. Adding a warning when saving that the file has changed on disk is a good emacs feature which has saved my bacon a number of times. That would be a good feature to add to IDLE, but that's a different request. Rejecting this one. |
|||
| msg59757 - (view) | Author: Nashev (Nashev) | Date: 2008年01月11日 22:32 | |
It is very nice feature, that exists in many advanced and professional GUI-based editors on the Windows and Mac. For example, i can fast name TextWrangler, HomeSite, Flash, PhotoShop and it is only first names in mind. It feature for simplify tool's usage, it is improve GUI usability. |
|||
| msg59758 - (view) | Author: Nashev (Nashev) | Date: 2008年01月11日 22:36 | |
There are command in menu is called "Revert". P.S.: for knowing that file changed, programs in windows can register OS callback for this event and just react on it. In Mac i think too, but i don't know how with it on unix and python. |
|||
| msg70912 - (view) | Author: Terry J. Reedy (terry.reedy) * (Python committer) | Date: 2008年08月08日 21:22 | |
This appears to me to duplicate and supercede http://bugs.python.org/issue1175686 If so, could that be closed as superceded? |
|||
| msg91213 - (view) | Author: Guilherme Polo (gpolo) * (Python committer) | Date: 2009年08月03日 02:54 | |
I have done a very initial patch in an attempt to define where we should go with this feature. There are several different proposals around this issue and the superseded one, I opted to implement the simplest one which is to add a 'Revert' entry in the file menu which re-reads the file currently open. There are at least two problems with this patch. First, I don't think there is a non-hacky way to place a command on a menu in a specific place by using an idle extension, so, the 'Revert' entry is the last entry in the file menu right now. I guess this would be solved by not making this an extension and then proceed to manually remove the menu entry while creating the shell window (similarly to what it is done when running under mac osx). The second problem happens when reverting the file, I'm not sure if it should be done differently but this seems to cause some problem with Multicall. |
|||
| msg91538 - (view) | Author: Guilherme Polo (gpolo) * (Python committer) | Date: 2009年08月13日 23:59 | |
Kurt, there is now a patch on issue 6699 which adds your suggested feature: "Adding a warning when saving that the file has changed on disk is a good emacs feature which has saved my bacon a number of times. That would be a good feature to add to IDLE, but that's a different request". |
|||
| msg112887 - (view) | Author: Mark Lawrence (BreamoreBoy) * | Date: 2010年08月04日 20:32 | |
msg91213 states that there are two problems with the patch. Could we have comments from IDLE users please. |
|||
| msg186003 - (view) | Author: Raymond Hettinger (rhettinger) * (Python committer) | Date: 2013年04月04日 05:56 | |
Roger, can you pick this one up? Adding a "reload" option to the file menu benefits IDLE in two ways. First, it allows users to easily discard changes. Second, it helps IDLE play well with reverts and updates in version control systems. In the absence of this feature, users have to close their current file without saving and then re-open it from disk. |
|||
| msg186009 - (view) | Author: Terry J. Reedy (terry.reedy) * (Python committer) | Date: 2013年04月04日 06:23 | |
Notepad++ has 'Reload from disk' right after New and Open, and I like that explicit wording. 'Revert' is a bit esoteric for beginners. (And I do not see that on the menu now.) Kurt's argument applies to Notepad++ also -- one could close the file and reload from the recent files list, but there it is. There is a subtle psychological factor: reloading may mean 'I messed up and want to start over'. In that state, a simple direct reload is tension defuser. Quite separately, Notepad++ check file modification times when it gets the focus and if the disk copy is newer, it pops up a box saying so and asking if one wants to reload. (Or perhaps it check for OS notifications at this time.) This is the feature directed at catching reverts and merges. |
|||
| msg186031 - (view) | Author: Roger Serwy (roger.serwy) * (Python committer) | Date: 2013年04月04日 13:39 | |
Raymond, I can pick this up. I might as well work on #6699 at the same time. |
|||
| msg371442 - (view) | Author: Terry J. Reedy (terry.reedy) * (Python committer) | Date: 2020年06月13日 08:23 | |
#1175686 was not a dependency, but a duplicate closed in favor of this issue, because gpolo attached the diff here. This is obviously not a high priority, but I still want to consider it. The addition would no longer be an extension, but likely a method in iomenu. |
|||
| msg374446 - (view) | Author: Terry J. Reedy (terry.reedy) * (Python committer) | Date: 2020年07月28日 00:36 | |
All open files, up to the most recent 21 (and that could be increased) are in the recent file list. Clicking on any name loads that file, unless it is already loaded. The exception enforced in filelist.FileList.open, lines 29-32: if key in self.dict: edit = self.dict[key] edit.top.wakeup() return edit I believe that we just need to ask, before the return, "Replace editor content with file content?" and if yes, call edit.io.loadfile(filename). |
|||
| msg374447 - (view) | Author: Terry J. Reedy (terry.reedy) * (Python committer) | Date: 2020年07月28日 00:56 | |
Recent edits to iomenu.IOBinding.loadfile were intended to preserve the option of reloading a non-empty editor. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:24 | admin | set | github: 44968 |
| 2020年07月28日 00:56:04 | terry.reedy | set | messages:
+ msg374447 stage: patch review -> test needed |
| 2020年07月28日 00:36:45 | terry.reedy | set | priority: low -> normal messages: + msg374446 |
| 2020年06月13日 08:23:20 | terry.reedy | set | versions:
+ Python 3.10, - Python 3.3 nosy: - kbk, Nashev, gpolo, roger.serwy messages: + msg371442 assignee: roger.serwy -> terry.reedy |
| 2014年02月04日 11:59:33 | taleinat | set | nosy:
- taleinat |
| 2014年02月03日 18:34:20 | BreamoreBoy | set | nosy:
- BreamoreBoy |
| 2013年04月04日 13:39:34 | roger.serwy | set | messages: + msg186031 |
| 2013年04月04日 06:23:29 | terry.reedy | set | messages: + msg186009 |
| 2013年04月04日 05:56:24 | rhettinger | set | assignee: rhettinger -> roger.serwy messages: + msg186003 nosy: + roger.serwy |
| 2011年04月13日 02:31:15 | rhettinger | set | keywords:
+ needs review, - patch assignee: kbk -> rhettinger versions: + Python 3.3, - Python 3.2 |
| 2010年08月04日 20:32:13 | BreamoreBoy | set | versions:
+ Python 3.2, - Python 3.1, Python 2.7 nosy: + BreamoreBoy messages: + msg112887 stage: test needed -> patch review |
| 2009年08月13日 23:59:55 | gpolo | set | messages: + msg91538 |
| 2009年08月03日 02:54:59 | gpolo | set | files:
+ idle_filerevert.diff keywords: + patch messages: + msg91213 |
| 2009年08月03日 02:34:50 | gpolo | link | issue1175686 superseder |
| 2009年04月26日 22:12:11 | ajaksu2 | set | nosy:
+ gpolo dependencies: + add "reload" function to IDLE stage: test needed versions: + Python 3.1, Python 2.7, - Python 2.6 |
| 2008年08月08日 21:22:03 | terry.reedy | set | nosy:
+ terry.reedy messages: + msg70912 |
| 2008年01月11日 22:36:36 | Nashev | set | messages: + msg59758 |
| 2008年01月11日 22:32:37 | Nashev | set | nosy:
+ Nashev messages: + msg59757 |
| 2007年05月18日 02:15:52 | rhettinger | create | |