On Fri, Dec 29, 2017 at 07:27:14AM +0000, Arkadiusz Drabczyk wrote:
On Thu, Dec 28, 2017 at 07:07:57PM +0300, Oleg A. Mamontov wrote:
Hello,

On Tue, Dec 26, 2017 at 03:23:50PM +0000, Arkadiusz Drabczyk wrote:
> On Tue, Dec 26, 2017 at 06:36:20AM +0800, Yubin Ruan wrote:
> > Hi,
> >
> > I have a folder hook like this:
> >
> >     folder-hook =somembox 'push "!touch /tmp/\1-touched\n"'
> >
> > where I would like to create a file "/tmp/somebox-touched" when I select and
> > enter a mailbox. As you can see, \1 here should represent the name of the 
mbox
> > (as in many Regex). Is there a way to do this so that I do not have to write
> > rules for all the mbox one by one?
>
> Like that:
>
> folder-hook . 'set my_oldrecord=$record; set record=^; set my_folder=$record; 
set record=$my_oldrecord'
> folder-hook . 'push "!touch /tmp/${my_folder}-touched\n"'

Thanks for sharing such an interesting approach. How can it be extended to
remove the '=' starting character? I've tried to do following:

folder-hook . 'set my_oldrecord=$record; set record=^; set my_folder=`echo 
$record | sed s/=//`; set record=$my_oldrecord'

But unfortunately it doesn't work for some reason.

The best I could come up with:

folder-hook . 'set my_oldrecord=$record; set record=^; set my_folder=$record; 
set record=$my_oldrecord'
folder-hook . 'push "!touch /tmp/$(echo ${my_folder} | sed 's,^=,,)-touched\n"'

The reason the solution you tried doesn't work is probably because
mutt performs shell substitution before parsing the line as said in
the manual:

"It is also possible to substitute the output of a Unix command in an
initialization file. This is accomplished by enclosing the command in
backticks (``). In Example 3.5, "Using external command's output in
configuration files", the output of the Unix command "uname -a" will
be substituted before the line is parsed."

So what shell sees is:

$ echo | sed s/=//

Thank you for suggestion and explanation, but do I understand right that there is no way to create internal mutt variable ($my_foo) as
modification of another one ($my_bar)?


--
Arkadiusz Drabczyk <[email protected]>

--
Cheers,
Oleg A. Mamontov

mailto: [email protected]

skype:  lonerr11
cell:   +7 (903) 798-1352

Reply via email to