Hello.

The state machine of v14.10 will be (still hacky but) good enough
to drive *on-compose-embed* via a normal macro that runs _in the
current process_, instead of in a forked subprocess that needs to
be driven very complicatedly.
So, in v14.10 a signature can be done just like

  set on-compose-embed=mysig
  define mysig {
    ~< ~/.mysig
  }

I think that is simple enough: *signature* remains obsoleted.
But i will obsolete *on-compose-splice* and
*on-compose-splice-shell* in v14.10.

May thou speak up now on complains, please.

Already Ciao!
and greetings!
from Germany for the occasional lurker!


===

We also support "match groups" for regular expressions and such,
and for "in-memory" results for `~^^' (new, for that purpose) or
`digmsg', which is pretty cool (as the I/O protocol used by the
splice hooks is no longer necessary at all).
For a simple example, here is my personal

  define on-compose-leave {
    \call age

^"can"

    \if -N smime-sign && -N _smime-sign-cert
      \local vput fop _smime-sign-cert expand "$_smime-sign-cert"
      \if -r "$_smime-sign-cert"

^file exists?

        \dig - atta ins "$_smime-sign-cert"

^insert as attachment 

        \if $^0 -eq 210

^"Match group" used to represent result status in-memory.

          \dig - atta attribute-set-at $^1 \

^"Match group" still alive and well (^1 == index of attachment)

                  content-description S/MIME certificate for stef...@sdaoden.eu
          \ec S/MIME: $^0
        \el
          \ec S/MIME error $^0: $^*
        \en
      \en
    \en

    \local vput vexpr sec seconds
    \if $? -ne 0; \return; \en
    \local pp : $((e = sec / 60 % 60))
    \if $e -eq 42
      : $((e = -((sec % 60) - 60)))
      \ec 'Minute 42, sleeping '$e' seconds'
      \sleep $e
    \el
      : $((e = sec % 42))
      \if $e -eq 42
        \ec 'Second 42, sleeping a second'
        \sleep 1
      \en
    \en
  }

We gain more scope control, too.  The very grazy hypothetic

       define hi {
         local pp local vput global vpospar i$((i = 1 + 1)) quote
         xcall t "$@"
       }

keeps the modifications of the $(()) construct "local pp"
(positional parameters), keeps the assignment to the resulting
iNUMBER variable "local vput", but modifies the "global"
positional parameter stack.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply via email to