Anzeige:
Ergebnis 1 bis 2 von 2

Thema: [m4] Makro wird einmal expandiert und einmal nicht

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719

    [m4] Makro wird einmal expandiert und einmal nicht

    Es gibt irgendwie ganz wenig Dokumentation zu GNU m4 und hier im Forum kann man auch nicht danach suchen (min-Suchlänge drei Buchstaben). Jetzt hab ich hier nur ne ganz kleine Anleitung, da steht nicht viel drinn und ich stoße schon bei ein wenig ausprobieren an meine Grenzen: In folgender Datei werden die beiden Makros STYLESHEET und IMGDIR im Makro HEADER expandiert, nicht aber im Makro NAVBAR. Ich kann mir nicht erklären warum, wüsste es aber gerne, um nicht irgendwann mal böse überrascht zu werden.
    Code:
    define(`STYLESHEET', ifdef(`PREFIX', `PREFIX/css/gray.css',`css/gray.css'))
    define(`IMGDIR', ifdef(`PREFIX', `PREFIX/gfx/',`gfx'))
    
    define(`HEADER', `<?xml version="1.0"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>$1 IMGDIR</title>
    <link rel="stylesheet" type="text/css" href="STYLESHEET"/>
    </head>
    <body>')
    
    define(`NAVBAR', `<div id="nav"><a href="#"> STYLESHEET </a>|<a href="#">KDE Stuff</a></div>IMGDIR<div id="content">')
    
    define(`FOOTER', `</div>
    <div id="footer"><span style="padding-right: 10px;">Generated by m4 on esyscmd(`date')</span></div>
    </body>
    </html>')

  2. #2
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Ich glaub ich bin in letzter Zeit ein bißchen voreilig mit posten, ich konnte mein Problem selber lösen: m4 mag das anscheinend nicht, wenn in einem Makro ein # ist. Das muss man extra quoten, nämlich so `#´.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •