m4 et les virgules

Marc Chantreux marc.chantreux at ulpmm.u-strasbg.fr
Thu Jan 5 15:10:08 CET 2006


Bruno Bonfils wrote:
> Si je peux me permettre, tu es taré

tu peux ... tu peux aussi me dire pourquoi !

Je cherche a utiliser la coloration syntaxique de vim pour mes topos, La 
  macro suivante sera :

SLIDE(En pratique,
PAR(maintenant, passons a la pratique)
CODE( Mon exemple , perl ,
`
$a = 12;
$b = \$a;
print "$b : $$b\n"
'))

Au final, j'ai une page HTML avec un titre un paragraphe et du code coloré!

>> define(`LISTITEM', `ifelse($1,`',,`<li>$1</li>
>> LISTITEM(shift($*))')')dnl
>> define(UL,`<ul>
>> LISTITEM($*)</ul>')
>>
>> Le problème est que la chaine 
>> `m4, avec qq problèmes'
> 
> pourquoi shift ?

et bien ...
J'affiche le premier element :
`<li>$1</li>

et je le retire des elements a traiter :
LISTITEM(shift($*))

C'est récursif, quoi ... si tu ne shift pas, la récursion ne peut finir.

> hmm voici comment je déclare ma fonction :
> 
> define(`slice', `$1'`$2')dnl
> define(`add_slice', add_slice_sub(`primary_disk', $*))dnl
> define(`add_slice_sub', `filesys         'slice(`$1', $2)        $3 $4)
> 
> Et mon appel :
> 
> define(`primary_disk', `c1t0d0')
> add_slice(s0,2048,/)
> add_slice(s1,2048,swap)
> add_slice(s2,all ,overlap)

Bon ... je suis en train d'essayer de comprendre pourquoi tu fais aussi 
long alors que j'ai l'impression que tout pourrait etre écrit dans 
add_slice ...

> Pour ma part, je voulais faire ca en m4 (pour les non "libristes", c'est
> pour générer un profile jumpstart)

J'ai beau etre libriste, je ne sais pas ce qu'est un profil jumpstart :)

> galère, d'une part pour la documentation, d'autre part, ce n'est pas
> très souple.

regarde du coté de TT2 : http://template-toolkit.org. j'utilise m4 aussi 
parceque je veux apprendre a utiliser la chose.

> Tu as regardé MGP sinon ?

mgptunning.free.fr ? ;)

Si tu parles de magicpoint, c'est pas bon : je dois faire ca en html 
pour conserver le syn on de vim dans le code.

mc



More information about the Shell mailing list