ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Henning Hraban Ramm <texml@fiee.net>
To: ntg-context@ntg.nl
Subject: [NTG-context] Re: defining macros
Date: Sat, 11 Jan 2025 10:21:04 +0100	[thread overview]
Message-ID: <9c96f651-6373-49ed-b51b-9f1781e35a18@fiee.net> (raw)
In-Reply-To: <b48a0c63-ab09-4d1b-88d2-732c3b4ad802@xs4all.nl>

Am 11.01.25 um 00:19 schrieb Hans Hagen:
>> Yes, of course, but I’m often surprised by funny characters like #:
> 
> Well, there are reasons: It has to fit in the #1 .. #9 approach because
> these things are stored into tokens, so single character. Then one has 
> to decide on what characters. There's also a performance issue because 
> we don't want to sacrifice too much and these preamble tokens are 
> "parsed" every time a macro is called so they better can be efficient.
> 
> In the end only a few users (mostly developers) will see the obscure 
> ones (and understand why some are there). The \optional prefix enables 
> these extensions. It's a bit like: I want to grab arguments with mandate 
> {} and there is something so let's look it up. Or, I bet that one can 
> grab \par's so lets the manual for that.

Thank you for the explanation!
I guess you meant \tolerant instead of \optional?


> Did you know that we can have #A..#E as well. So 15 parameters instead 
> of 9? I still need to use that more (deep down).

That I knew. At least in mkvi/mklx mode.
If I use even 4 params I lose count of them.

> Don't worry, you don't want to know what I forget.

Sure.
I’m proud to have found several features that you forgot about ;)

>> I’m not competent enough to rewrite e.g.
>> https://wiki.contextgarden.net/System_Macros/Handling_Arguments
> 
>> Sigh.
> 
> So you haven't reached Wolfgang level yet, and by the time you have, he 
> bumped the scale up again, so don't sigh too much ... won't help, 
> actually your upcoming manual will cover plenty, so more of a hurray.

I’m always aiming for the stars. ;)
But my manual can’t be better than me, and I want it to be up to date 
and helpful – mostly for myself ;-P

Yes, I need to read the lowlevel manuals. But after taxes… (Also sigh.)

Hraban
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2025-01-11  9:22 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-10 11:55 [NTG-context] " Henning Hraban Ramm
2025-01-10 18:45 ` [NTG-context] " Hans Hagen via ntg-context
2025-01-10 22:04   ` Henning Hraban Ramm
2025-01-10 23:19     ` Hans Hagen
2025-01-11  9:21       ` Henning Hraban Ramm [this message]
2025-01-11 11:30         ` Hans Hagen via ntg-context
2025-01-14 17:50           ` Henning Hraban Ramm
2025-01-14 18:27             ` Hans Hagen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9c96f651-6373-49ed-b51b-9f1781e35a18@fiee.net \
    --to=texml@fiee.net \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).