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.

Reply via email to