* Cameron Simpson <c...@zip.com.au> [2009-05-31 01:41 -0500]: > On 30May2009 22:20, David J. Weller-Fahy > <dave-lists-mutt-us...@weller-fahy.com> wrote: > | #v+ > | folder-hook . 'push ":\\\`~/.mutt/listbox-to-email.pl\ > $my_folder\\\`<enter>"' > | #v- > | > | I do not understand why the macro is required to force mutt to parse > | that ""-quoted string, and now I'm wondering if there are any other > | constructs which would allow the same level of parsing without defining > | a macro... hrm. Methinks I need to read more of the source, manual, and > | wiki to understand, but that may have to wait until I get more > | round-tuits. > > There are no macros in that command line. Hmm, there are macros in > mine; I guess removing them is what you're after.
Yep, I probably should have been clear: It struck me as a waste to generate a macro just so the string can be interpreted as a mutt-level ""-string. I was just trying different things to remove the requirement for a macro. It just occurred to me, though, that you might want the macro so you can re-use the command later? Not sure, but either way I figured it out. > If you get your perl script to log command line arguments to a file, > what does it show? Is it even run? The Perl script didn't run, instead I would get the following. #v+ `~/.mutt/listbox-to-email.pl: unknown command #v- I had also tried the following command: #v+ folder-hook . 'push ":\`~/.mutt/listbox-to-email.pl\ $my_folder\`\\\<enter\\\>"' #v- Which resulted in the following being left on the mutt command line. #v+ :`~/.mutt/listbox-to-email.pl =lists.mutt-users`\<enter\> #v- That should have given me the clue-bat you gave me below, as it indicates the <enter> (had it worked) would have executed `~/.mutt/listbox-to-email.pl =lists.mutt-users`, which is what I wanted to happen. Ahhhh... hindsight. ;) > What if you change: > \\\` > into plain > \` > at the start and end? As you suggested, I changed the \\\` to \`, and voilĂ ! It works without the macro! I can only plead tired-eye-rushing syndrome, as that's the only way I should have missed trying all the possibilities instead of skipping the one that worked. For the record the following folder-hooks work to execute a script and pass the current folder name as the script's first command line parameter. #v+ folder-hook +lists* 'set my_oldrecord=$record; set record=^; set my_folder=$record; set record=$my_oldrecord' folder-hook . 'push ":\`~/.mutt/listbox-to-email.pl\ $my_folder\`\<enter\>"' #v- Also, I'll attach my little Perl script, as someone might find it handy. > | That is odd, but workable. > > That does seem a little odd, since mutt's ok with blank lines in the > muttrc. Yep... another code-dive for another time. Good timing on the solution, anyway, as my next semester starts tomorrow. ;) -- dave [ please don't CC me ]