On Tue, Oct 26, 2010 at 11:17 PM, Edward K. Ream <[email protected]> wrote: > On Oct 26, 4:15 pm, "Edward K. Ream" <[email protected]> wrote: > >> 1. Using the so-called Modern User Interface is turning out to be easier >> than I expected.
Early this morning I started a complete revision of the @button make-leo-nsi. I basically had no choice. It was either throw out the script or explain to people how to use it. I just couldn't bear to explain the complexities (stupidities), so out it had to go :-) The new approach is much simpler: 1. Use NSIS !define statements as they were intended to define constants. 2. Use NSIS !include statements to separate boilerplate from manifest-related code. 3. Use a script to generate *only* the manifest-related code in two files: nsi-install-files.txt and nsi-uninstall-files.txt. The script will use two or three constants created by the !define statements. 4. There will be a "master" file, eventually named leo.nsi, that simply !includes the other files. At present the included files are in the leo directory. Eventually they will be in the leo/dist directory. This is a bit of a detour, but it is already paying off in terms of increased clarity. You could call it another collapse in complexity. For example, the code is now colorized properly, because I also added support for @language nsi. The file leo/mode/nsi.py could be improved a bit, but it already is a whole lot better than looking at code embedded in docstrings! As perhaps a more important benefit, there is only one level of "macro expansion" going on, that defined by NSIS itself. Edward P.S. Iirc, either Viktor or Bernhard suggested a similar approach a long time ago... EKR -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en.
