[easybuild] Tomorrow: Lmod Zoom Meeting: 15 years of Lmod: A Retrospective. August 1st 9:30 Central (14:30 UTC)

2023-07-31 Thread Robert McLay
It has been over 15 years since I first started working on Lmod.  It is time 
for a retrospective.

We will have our next Lmod Zoom meeting on August 1st at 9:30am (14:30 UTC)

Current Agenda:


  *   Q/A
  *   Presentation: 15 years of Lmod: A Retrospective
  *   If there is time:  A Discussion of recent Lmod issues


The zoom link can be found here: https://github.com/TACC/Lmod/wiki

The presentation will be found here:
https://github.com/TACC/Lmod/blob/main/my_docs/23/lmod_zoom_mtg_2023_08_01/presentation.pdf

Best,
Robert



[easybuild] Lmod Zoom Meeting June 6th at 09:30 US Central (14:30 UTC)

2023-06-04 Thread Robert McLay
We will have our next Zoom meeting on Lmod on June 6th at 9:30am  (14:30 UTC)

Current Agenda:
- Q/A
- Discussion of Lmod issues over the past months
- Presentation:

  *   How EasyBuild interfaces to Lmod by Kenneth Hoste

The zoom link can be found here: https://github.com/TACC/Lmod/wiki

See you on Tuesday

Best,
Robert



[easybuild] Tomorrow: Lmod Monthly Zoom Meeting 9:30 US Central (15:30 UTC)

2023-03-06 Thread Robert McLay
On Tuesday March 7th at 15:30 UTC (9:30 Central US), we will have our next Zoom 
meeting on Lmod.

Current Agenda:
- Q/A
- Discussion of Lmod issues over the past month
- Presentation:
  - How to test personal modulefiles over marked defaults module
  - How to use inherit() to integrate your compiler or mpi/compiler personal 
modulefiles into the system software hierarchy
The zoom link can be found here: 
https://github.com/TACC/Lmod/wiki<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FTACC%2FLmod%2Fwiki=05%7C01%7C%7Cade776da46154d32171208db1aa28794%7C31d7e2a5bdd8414e9e97bea998ebdfe1%7C0%7C0%7C638133057602213573%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000%7C%7C%7C=20aLSKPerOZBrTwfKaF5ojzJoyoYdoUXPEyS%2BEZQSKY%3D=0>

The presentation will be found here:
https://github.com/TACC/Lmod/blob/master/my_docs/23/lmod_zoom_mtg_2023_03_07/presentation.pdf<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FTACC%2FLmod%2Fblob%2Fmaster%2Fmy_docs%2F23%2Flmod_zoom_mtg_2023_01_10%2Fpresentation.pdf=05%7C01%7C%7Cade776da46154d32171208db1aa28794%7C31d7e2a5bdd8414e9e97bea998ebdfe1%7C0%7C0%7C638133057602213573%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000%7C%7C%7C=%2FGXuQjzTUV%2BEHvhxbc1KDURCqse1JX1x%2F3iAnN33ZTE%3D=0>

You do not need to be an Lmod expert to attend.

Best,
Robert McLay


[easybuild] Lmod Monthly Zoom Meeting 9:30 US Central (15:30 UTC)

2023-03-01 Thread Robert McLay
On Tuesday March 7th at 15:30 UTC (9:30 Central US), we will have our next Zoom 
meeting on Lmod.

Current Agenda:
- Q/A
- Discussion of Lmod issues over the past month
- Presentation:
  - How to test personal modulefiles over marked defaults module
  - How to use inherit() to integrate your compiler or mpi/compiler personal 
modulefiles into the system software hierarchy
The zoom link can be found here: 
https://github.com/TACC/Lmod/wiki<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FTACC%2FLmod%2Fwiki=05%7C01%7C%7C284aafd9f3b8414111f708db0de4fb7e%7C31d7e2a5bdd8414e9e97bea998ebdfe1%7C0%7C0%7C638119049345283475%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=x2DLQy27p13LIMiLAH1oxllRKfeWO8m4Qq%2F9t4%2FhYCo%3D=0>

The presentation will be found here (it is not there yet!)
https://github.com/TACC/Lmod/blob/master/my_docs/23/lmod_zoom_mtg_2023_03_07/presentation.pdf<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FTACC%2FLmod%2Fblob%2Fmaster%2Fmy_docs%2F23%2Flmod_zoom_mtg_2023_01_10%2Fpresentation.pdf=05%7C01%7C%7C284aafd9f3b8414111f708db0de4fb7e%7C31d7e2a5bdd8414e9e97bea998ebdfe1%7C0%7C0%7C638119049345283475%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=%2BcufM7C%2FthcH%2BRdj4OLigAeuXhLY%2FFLIQaUm2J%2BquVk%3D=0>

You do not need to be an Lmod expert to attend.

Best,
Robert McLay


[easybuild] Lmod Monthly Zoom Meeting on Jan. 10th at 9:30 U.S. Central (15:30 UTC)

2023-01-05 Thread Robert McLay
On Tuesday Jan 10th at 15:30 UTC (9:30 Central US), we will have our next
Zoom meeting on Lmod.

Current Agenda:
- Q/A
- TCL module support for break, help msg, puts
- Next Meeting Feb 7th at 9:30 Central (15:30 UTC)
- Next Topic: How to use check_module_tree_syntax to verify your module
tree.


The zoom link can be found here: https://github.com/TACC/Lmod/wiki

The presentation will be found here (Not there yet!)
https://github.com/TACC/Lmod/blob/master/my_docs/23/lmod_zoom_mtg_2023_01_10/presentation.pdf

You do not need to be an Lmod expert to attend.

Best,
Robert.
-- 
Robert McLay, Ph.D.
Manager of Software Tools, HPC
mc...@tacc.utexas.edu


[easybuild] Tomorrow: Lmod Monthly Zoom Meeting on Dec. 6th at 9:30 U.S. Central (15:30 UTC)

2022-12-05 Thread Robert McLay
Tomorrow: On Tuesday Dec. 6th at 15:30 UTC (9:30 Central US), we will have our 
next Zoom meeting on Lmod.



Current Agenda:

- Q/A

- Quick overview on what happened at SC 22

- Xavier’s idea about virtual modulepaths

- Ideas on how to handle blocking users from unloading dependent modules.

- Presentation on How Lmod handles the tricky parts of loading TCL modulefiles



The zoom link can be found here: https://github.com/TACC/Lmod/wiki



The presentation can be found here:

https://github.com/TACC/Lmod/blob/master/my_docs/22/lmod_zoom_mtg_2022_12_06/presentation.pdf



You do not need to be an Lmod expert to attend.



Best,

Robert.





[easybuild] Lmod Monthly Zoom Meeting on Dec. 6th at 9:30 U.S. Central (15:30 UTC)

2022-11-30 Thread Robert McLay
On Tuesday Dec. 6th at 15:30 UTC (9:30 Central US), we will have our next Zoom 
meeting on Lmod.

Current Agenda:
- Q/A
- Quick overview on what happened at SC 22
- Xavier’s idea about virtual modulepaths
- Ideas on how to handle blocking users from unloading dependent modules.
- Presentation on How Lmod handles the tricky parts of loading TCL modulefiles

The zoom link can be found here: https://github.com/TACC/Lmod/wiki

The presentation can be found here: (It doesn’t exist yet)
https://github.com/TACC/Lmod/blob/master/my_docs/22/lmod_zoom_mtg_2022_12_06/presentation.pdf

You do not need to be an Lmod expert to attend.

Best,
Robert.





[easybuild] Tomorrow: Lmod Monthly Zoom Meeting on Oct 4th at 9:30 U.S. Central (14:30 UTC)

2022-10-03 Thread Robert McLay
On Tuesday Oct.  4th at 14:30 UTC (9:30 Central US), we will have our next
Zoom meeting on Lmod.

Current Agenda:
- Q/A
- A quick demo on how git worktrees work.
- Presentation on How Lmod loads a module (part 2): loadModuleFile()

The Agenda for this meeting can be found here:
https://hackmd.io/1Ts9nI6wS-2smaUYIN4cYg

The zoom link can be found here: https://github.com/TACC/Lmod/wiki

The presentation can be found here:
https://github.com/TACC/Lmod/blob/master/my_docs/22/lmod_zoom_mtg_2022_10_04/presentation.pdf



You do not need to be an Lmod expert to attend.

Best,
Robert.

-- 
Robert McLay, Ph.D.
Manager of Software Tools, HPC
mc...@tacc.utexas.edu


[easybuild] Lmod Monthly Zoom Meeting on Oct 4th at 9:30 U.S. Central (14:30 UTC)

2022-09-27 Thread Robert McLay
On Tuesday Oct.  4th at 14:30 UTC (9:30 Central US), we will have our next
Zoom meeting on Lmod.

Current Agenda:
- Q/A
- A quick demo on how git worktrees work.
- Presentation on How Lmod loads a module (part 2): loadModuleFile()

The zoom link can be found here: https://github.com/TACC/Lmod/wiki

The presentation can be found here:
https://github.com/TACC/Lmod/blob/master/my_docs/22/lmod_zoom_mtg_2022_10_04/presentation.pdf

You do not need to be an Lmod expert to attend.

Best,
Robert.


-- 
Robert McLay, Ph.D.
Manager of Software Tools, HPC
mc...@tacc.utexas.edu


[easybuild] Tomorrow: Lmod Monthly Zoom Mtg: Tuesday Sept 6th, 14:30 UTC (9:30 US Central)

2022-09-05 Thread Robert McLay
On Tuesday Sept. 6th at 14:30 UTC (9:30 Central US), we will have our next
Zoom meeting on Lmod.

The current agenda is:

- Q/A
- Changes to module --miniConfig
   - Taking Kenneth's suggestion about configuration variable
   - Lmod now reports where configuration variables are set: ml --miniConfig
- Issue #585: Using **install** instead of **cp**
  - Changed rule for system accounts vs. user accounts:
  - Use UID_MIN from /etc/login.defs otherwise 500 for UID_MIN
  - This came up during the same change for XALT
- Issue #595: Switching ~/.lmod.d to use ~/.config/lmod/\*.
   and switching ~/.lmod.d/.cache/\* to ~/.cache/lmod/\*
- Change in Nag message: Print only when a direct user load?
- Presentation on How Lmod loads a modulefile (Part 2).

The zoom link can be found here: https://github.com/TACC/Lmod/wiki

Slides found here:
https://github.com/TACC/Lmod/blob/master/my_docs/22/lmod_zoom_mtg_2022_09_06/presentation.pdf

If you wish to add topics to this meeting, please go here:
https://hackmd.io/MRME9w5XQ9uhKnFzNfCqIw

Lmod beginner's welcome

Best,
Robert.

-- 
Robert McLay, Ph.D.
Manager of Software Tools, HPC
mc...@tacc.utexas.edu


[easybuild] Re: [Lmod-users] Spider output - whatis vs help

2017-07-03 Thread Robert McLay
gets closer to what my colleagues suggested. However, we still
> get
> > the full “help” string, which they’d like to avoid when using spider.
> > But I’ve seen too that the spider will print the content of help,
> when
> > there is a single module for that software. With multiple modules the
> > output is what we needed:
> >
> >
> >
> > ~]$ ml spider test1
> >
> >
> >
> > ---
> >
> >   test1:
> >
> > ---
> >
> > Description:
> >
> >   whatis
> >
> >
> >
> >  Versions:
> >
> > test1/1.0
> >
> > test1/2.0
> >
> >
> >
> > ---
> >
> >   For detailed information about a specific "test1" module (including
> > how to load the modules) use the module's full name.
> >
> >   For example:
> >
> >
> >
> >  $ module spider test1/2.0
> >
> > ---
> >
> >
> >
> >
> >
> > To summarize: it is all good, I think we can get Lmod to do what we
> > want. I just wasn’t aware of all these spider output details.
> >
> >
> >
> > Best,
> >
> > Damian
> >
> >
> >
> >
> >
> > *From: *Robert McLay <mc...@tacc.utexas.edu>
> > *Date: *Friday 30 June 2017 at 21:29
> > *To: *Kenneth Hoste <kenneth.ho...@ugent.be>
> > *Cc: *"Geimer, Markus" <m.gei...@fz-juelich.de>, lmod-users
> > <lmod-us...@lists.sourceforge.net>
> > *Subject: *Re: [Lmod-users] Spider output - whatis vs help
> >
> >
> >
> > Either way is fine by me.  Using the second style, you'd get:
> >
> >
> >
> > $ ml spider EasyBuild/3.2.0
> >
> >
> >
> > EasyBuild/3.2.0:
> >
> >
> >
> >Description:
> >
> > ...
> >
> >
> >
> > Whatis:
> >
> >  Homepage: http://hpcugent.github.com/easybuild/
> >
> >
> >
> > R.
> >
> >
> >
> >
> >
> >
> >
> > On Fri, Jun 30, 2017 at 2:13 PM, Kenneth Hoste <
> kenneth.ho...@ugent.be
> > <mailto:kenneth.ho...@ugent.be>> wrote:
> >
> > Hi Robert & co,
> >
> > Things are slightly different now (since EayBuild v3.2.0),
> thanks to
> > changes made by Markus (in CC) [1]:
> >
> > help([[
> >
> > Description
> > ===
> > EasyBuild is a software build and installation framework
> >  written in Python that allows you to install software in a
> structured,
> >  repeatable and robust way.
> >
> >
> > More information
> > 
> >  - Homepage: http://hpcugent.github.com/easybuild/
> > ]])
> >
> > whatis([[Description: EasyBuild is a software build and
> installation
> > framework
> >  written in Python that allows you to install software in a
> structured,
> >  repeatable and robust way.]])
> > whatis([[Homepage: http://hpcugent.github.com/easybuild/]])
> >
> >
> > Markus: taken the below into account, do you think we should make
> > any further changes?
> >
> >
> > regards,
> >
> > Kenneth
> >
> >
> > [1] https://github.com/hpcugent/easybuild-framework/pull/2113
> >
> >
> >
> > On 30/06/2017 20:19, Robert McLay wrote:
> >
> > Here is a typical modulefile found at Univ. of Ghent that
> have
> > been created by EasyBuild:
> >
> >
> >
> > whatis([[Description: ZeroMQ looks like an embeddable
> networking
> > library but acts like a concurrency framework.
> >
> >  It gives you sockets that carry atomic messages across
> various
> >

[easybuild] Re: [Lmod-users] NAMD license validation

2017-02-20 Thread Robert McLay
I looked at our namd modulefile and our namd binaries. We do not restrict
access to namd in any way.  Using the userInGroup() function is how we
control access.



R.


On Mon, Feb 20, 2017 at 12:41 PM, Maxime Boissonneault <
maxime.boissonnea...@calculquebec.ca> wrote:

> Yes. Though my question is not how to restrict access, but whether people
> do it or not for NAMD at their site.
>
> Maxime
>
> On 17-02-20 13:40, Bennet Fauber wrote:
>
>> Robert's scheme would apply to any software module one wished to
>> restrict access, to, yes?
>>
>> -- bennet
>>
>>
>>
>


-- 
Robert McLay, Ph.D.
TACC
Manager, HPC Software Tools
(512) 232-8104


[easybuild] Re: [Lmod-users] NAMD license validation

2017-02-20 Thread Robert McLay
We do the same thing by making the package in a particular group.  We make
the module world readable and use the userInGroup("magic_group") function.
This function returns true if the user is root or the user is in the group
specified.

local err_message = [[
You do not have access to VASP.5.3.5!


Users have to show their licenses and be confirmed by the
VASP team that they are registered users under that license.
Scan a copy of the license and send it to x...@tacc.utexas.edu
]]


if (userInGroup("namd_group")) then
  local vasp_dir="/opt/apps/intel15/mvapich2_2_1/vasp/5.3.5"
  setenv("TACC_VASP_DIR",vasp_dir)
  setenv("TACC_VASP_BIN",pathJoin(vasp_dir,"bin"))
  prepend_path("PATH",pathJoin(vasp_dir,"bin"))
else
   LmodError(err_message,"\n")
end


I hope this helps too!
R.


On Mon, Feb 20, 2017 at 10:22 AM, Alvarez, Damian <d.alva...@fz-juelich.de>
wrote:

> Hi Maxime,
>
> At JSC we install NAMD in a directory that belongs to the namd group.
> Access to others is not allowed. To add users to that group they have to
> send us proof that they acquired a license. I believe there is also an
> arrangement to communicate with the NAMD developers which users have access
> to the software, even though I might recall wrong and that might be for
> another software.
>
> I hope that helps!
>
> Damian
>
> On 20/02/17 17:11, "Maxime Boissonneault" <maxime.boissonneault@
> calculquebec.ca> wrote:
>
> Hi all,
>
> I would like to know how various sites handle NAMD licensing. The
> license seem to imply that each user has to have the license (similar
> to
> VASP). However, I could find many sites who do this check, while others
> don't.
>
> Do you do it at your site ?
>
>
> --
> -
> Maxime Boissonneault
> Analyste de calcul - Calcul Québec, Université Laval
> Président - Comité de coordination du soutien à la recherche de Calcul
> Québec
> Team lead - Research Support National Team, Compute Canada
> Instructeur Software Carpentry
> Ph. D. en physique
>
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> ___
> Lmod-users mailing list
> lmod-us...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lmod-users
>
>
>
>
> 
> 
> 
> 
> Forschungszentrum Juelich GmbH
> 52425 Juelich
> Sitz der Gesellschaft: Juelich
> Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
> Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
> Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
> Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
> Prof. Dr. Sebastian M. Schmidt
> 
> 
> 
> 
>
> 
> ------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> ___
> Lmod-users mailing list
> lmod-us...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lmod-users
>



-- 
Robert McLay, Ph.D.
TACC
Manager, HPC Software Tools
(512) 232-8104


Re: [easybuild] Lmod Hands on @ TACC Booth Nov 18 2:00-3:30

2015-11-13 Thread Robert McLay
I don't think that it will be recorded.  The acoustics are usually pretty
bad on the convention floor.  If this changes, I'll let you know. The
slides for the talks will be made available later in the lmod repo.   The
material for the tutorials will also be made available.  The talks will be
at the TACC Booth which is #548.

R.


On Fri, Nov 13, 2015 at 9:22 AM, Kenneth Hoste <kenneth.ho...@ugent.be>
wrote:

>
>
> On 13/11/15 08:24, Martin wrote:
>
> will the talks be recorded and/or will you make the slides available on
> speakerdeck or slideshare?
>
>
> I'm certainly happy to share my slides (once I finished them).
>
> I plan to do some live demo as well, so having a recording may be useful
> (although I'd hate looking at myself on YouTube ;-)).
> But I can share the transcript of the demo too.
>
> Whether or not they're going to record it, I have no idea (I guess Robert
> would know).
>
> K.
>
>
> Thanks,
> Martin
>
>
> On Thu, Nov 12, 2015 at 11:44 PM, Robert McLay <mc...@tacc.utexas.edu>
> wrote:
>
>> I will be giving the 5th Annual Lmod Booth BoF at SC 15.  This year
>> Kenneth Hoste of Easybuild fame has volunteered to give a short talk on:
>>
>> Why I like Lmod and why you should too!
>>
>> Then I'll briefly talk about the new features in Lmod.
>>
>> After that I'll be presenting a Hands on tutorial, where you'll be able
>> to choose your own topic(s).  Please sign up at the TACC booth. The topics
>> are:
>>
>>
>> Topic 1:  Using Lmod:
>>
>> This is topic that introduces Lmod to those who are new to Lmod.
>>
>> Topic 2:  Using Lmod to create personal modules:
>>
>> This topic shows you how to leverage a Lmod installation to have
>> personal modules.
>>
>> Topic 3: Installing Lmod in a personal account:
>>
>> This is a way for you to test Lmod before installing system wide.
>>
>> Topic 4: How to install a System Spider cache:
>>
>> Lmod can speed up command like "module avail" and "module spider"
>> with a system spider cache file.
>>
>> Topic 5: How to write modulefiles for a system.
>>
>>How to write meta modules. How to write generic modulefiles.
>>
>> Any Question?
>>
>> R.
>>
>> --
>> Robert McLay, Ph.D.
>> TACC
>> Manager, HPC Software Tools
>> (512) 232-8104
>>
>>
>
>
> --
> http://www.xing.com/profile/Martin_Marcher
> http://www.linkedin.com/in/martinmarcher
> Mobil: +43 / 660 / 62 45 103
> UID: ATU68801424
>
>
>


-- 
Robert McLay, Ph.D.
TACC
Manager, HPC Software Tools
(512) 232-8104


[easybuild] Lmod Hands on @ TACC Booth Nov 18 2:00-3:30

2015-11-12 Thread Robert McLay
I will be giving the 5th Annual Lmod Booth BoF at SC 15.  This year Kenneth
Hoste of Easybuild fame has volunteered to give a short talk on:

Why I like Lmod and why you should too!

Then I'll briefly talk about the new features in Lmod.

After that I'll be presenting a Hands on tutorial, where you'll be able to
choose your own topic(s).  Please sign up at the TACC booth. The topics are:


Topic 1:  Using Lmod:

This is topic that introduces Lmod to those who are new to Lmod.

Topic 2:  Using Lmod to create personal modules:

This topic shows you how to leverage a Lmod installation to have
personal modules.

Topic 3: Installing Lmod in a personal account:

This is a way for you to test Lmod before installing system wide.

Topic 4: How to install a System Spider cache:

Lmod can speed up command like "module avail" and "module spider"
with a system spider cache file.

Topic 5: How to write modulefiles for a system.

   How to write meta modules. How to write generic modulefiles.

Any Question?

R.

-- 
Robert McLay, Ph.D.
TACC
Manager, HPC Software Tools
(512) 232-8104


Re: [easybuild] module help RFE

2015-08-08 Thread Robert McLay
In Lua modulefiles.  there is no variable expansion so there won't be an
issue with color output there.

R.


On Fri, Aug 7, 2015 at 3:39 PM, Kenneth Hoste <kenneth.ho...@ugent.be>
wrote:

> Hi Jean-Guillaume,
>
> On 06/08/15 17:08, Piccinali Jean-Guillaume wrote:
>
>> Hi,
>>
>> I have a question about how eb is creating modulefiles in
>> easybuild/modules/all.
>> It looks like the [description] part in the easyconfig file is used to
>> generate the module help of the modulefile.
>>
>
> Close: the 'description' and 'homepage' parameters are combined to
> populate the text produced by 'module help'.
>
> This is now hard-wired, but plans are starting to emerge to make this a
> lot more flexible, to provide more control over how the module file is
> formatted.
>
>>
>> For instance, if my easyconfig x-1.0.eb has:
>>
>> description = """bla bla bla"""
>> then "module help x" will display:
>>
>> --- Module Specific Help for 'x/1.0' --
>> bla bla bla
>>
>>
>>
>> The modulefile looks like this:
>> #%Module
>> proc ModulesHelp { } {
>>  puts stderr {
>> bla bla bla
>>   - Homepage: http://www.cscs.ch
>>  }
>> }
>>
>>
>>
>> Fine but would it be possible to replace the
>>  puts stderr { ... }
>> with
>>  puts stderr " ... "
>>
>> That would allow me to colorify the module help with:
>> \033\[01;32m xxx \033\[0m
>>
>> See attached screenshot.
>>
>
> The reason that { ... } is being used rather than " ... " is because the
> former prevents Tcl from trying to expand what it thinks are variables
> (e.g. $x).
>
> From https://www.tcl.tk/about/language.html:
>
> Curly braces provide another way of grouping information into words.
> They are different from quotes in that no substitutions are performed
> on the text between the curly braces.
>
> A simple test using tclsh shows that switching to " ... " may cause
> problems with being very careful (basically, without escaping '$' in the
> string being used:
>
> $ tclsh
> % puts stderr { foo $bar }
>  foo $bar
> % puts stderr " foo $bar "
> can't read "bar": no such variable
> % puts stderr " foo \$bar "
>  foo $bar
>
>
> So, it's not totally impossible, but it has to be done with great care,
> since it's not just about '$':
>
> % puts stderr " [ expr 2 + 3 ] "
>  5
> % puts stderr { [ expr 2 + 3 ] }
>  [ expr 2 + 3 ]
>
> I'm not sure if there's a way to switch to using " ... " to allow for
> colorized help messages, yet avoid that Tcl tries to evaluate/expand
> substrings.
>
>
> regards,
>
> Kenneth
>



-- 
Robert McLay, Ph.D.
TACC
Manager, HPC Software Tools
(512) 232-8104