Ping. It's been over a month, which means the archives won't automatically keep thread history, so here's the link to the original message (with the patch): <http://cygwin.com/ml/cygwin-apps/2006-08/msg00073.html>.
Opinions? Can I apply this? Igor On Wed, 16 Aug 2006, Igor Peshansky wrote: > On Tue, 8 Aug 2006, Igor Peshansky wrote: > > > On Sun, 6 Aug 2006, Brian Dessent wrote: > > > > [snip] > > > http://cygwin.com/ml/cygwin-apps/2006-02/msg00099.html > > > So, we have a couple of issues here. Firstly, the bug/unintended > > > feature of -r causing the infinite retries until the file can be > > > written (if I understand correctly.) Second the patch by Igor that > > > adds a dialog when trying to replace an in-use file. > > > > Right. > > > > > Here is my opinion on the matter: I like the dialog idea, but I don't > > > think having "Abort" as an option is appropriate, as it will > > > potentially cause a really screwed up install, plus it was left > > > unimplemented in the patch submitted. So let's just have two > > > options: "Retry" and "Replace on Reboot". I know that this means we > > > can't use the stock "Abort/Retry/Ignore" dialog but I think it's > > > worth it for clarity. > > > > Agreed on all points. However, there is a technical issue here. > > Stock MessageBoxes come in many flavors -- there actually is a > > Retry/Cancel box. There is no Retry/Continue stock box, unfortunately. > > > > We can use the Retry/Cancel one, and perhaps play some games with the > > WNDPROC of the MessageBox class to make "Cancel" look like "Replace on > > reboot" (or "Continue", which I like better -- we can explain in the > > MessageBox text that pressing "Continue" will require a reboot later), > > but I'm not sure it'll work, and it'll be ugly. Plus, I don't know > > that much about the WNDPROC, so it'll take me a bit of time to get > > something like this working. > > > > OTOH, I can change my patch to use the Retry/Cancel box today, and add > > the following to the text: "Pressing 'Cancel' will cause setup to use > > Windows mechanisms for replacing in-use files. It will be necessary > > for you to reboot after setup completes." I know, the label "Cancel" > > is evocative of aborting the whole installation, but this > > functionality is so useful, IMO, that I, for one, would put up with a > > little annoyance of a wrong label. Changing the label in a way I've > > described above could be a later enhancement. > > Well, lo and behold, I overreacted. It turned out to be much easier > than I anticipated, so attached is the patch with the Retry/Continue > message box. > > > > http://cygwin.com/ml/cygwin-apps/2006-01/msg00204.html > > [snip] > > However, there was another issue in that thread (the inline patch). > > It seems that applying that will cause the code to be simpler, but I'm > > afraid there's some little issue I'm missing. > > I still have that one in my private sandbox, and had it in my running copy > of setup for a while with no observed problems. Any opinions? > > > > If we can finish off the "Retry/Replace" file-in-use thing and > > > assuming there are no reports of new issues with this snapshot then > > > I think we can push out a release. > > > > Sounds good. If people are fine with the Retry/Cancel box, I can have > > a new patch by the end of this week. > > So my weeks end on Wednesdays... :-) Since this change involved > indenting an 80-line chunk of code, I'm also attaching a > whitespace-indifferent patch for ease of reviewing. ChangeLog is below. > Igor > ============================================================================== > 2006-08-16 Igor Peshansky <[EMAIL PROTECTED]> > > * install.cc (Installer::installOne): If file is in use, ask the user > to stop processes and retry. > (MB_RETRYCONTINUE, IDCONTINUE): New macros. > (hMsgBoxHook): New static field. > (CBTProc): New window hook function. > (_custom_MessageBox): New function. > * CHANGES: Update with the above. -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ [EMAIL PROTECTED] | [EMAIL PROTECTED] ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!) |,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte." "But no -- you are no fool; you call yourself a fool, there's proof enough in that!" -- Rostand, "Cyrano de Bergerac"