{syntax double} ignoruje Latte komentáře

- nanuqcz
 - Člen | 822
 
Ahoj,
doufám, že to nebyl záměr, ale když mám takovouto šablonu:
{syntax double}
{**
 * tohle bych čekal, že se ve výstupu objeví, závorky nejsou zdvojené
 *}
{blabla}
jeho výstupem je:
{blabla}
První tři řádky chybí. Čekal bych, že pokud použiju
{syntax double}, budu muset zdvojit i závorky u
{* komentářů *}.
PHP 5.3, Nette 2.0 Alpha 2 s namespace
Díky

- Mikulas Dite
 - Člen | 756
 
A jo, to vypadá jako chyba.
Regex pro comment je ale tady https://api.nette.org/…ser.php.html#389
a všechny se odstraní ještě předtím, než nastoupí makra (tzn. ještě se
neví, co je tam za kontext a macro syntax).
Zkusil jsem to opravit: https://github.com/…796922c35b6e
Můžeš to prosím otestovat? Jestli to bude fungovat pořádně (mě to funguje, ale pro jistotu), tak pošlu pull request.
Edit: funguje to, když se to nejmenuje *. Ještě to opravím.
: )
Editoval Mikulas Dite (30. 4. 2011 21:09)

- Mikulas Dite
 - Člen | 756
 
Fix: https://github.com/…70f8dfb267a9
Zamezí to výstupu přes čištění bufferu. Šlo by to udělat i tak, že to v komentu se vůbec nepustí, ale bylo by to složitější. Má to cenu psát?
Zkusil jsem pustit testy a prošlo to stejně, jako bez těch změn (cca 5–6 failů, většina fatal, ale to je na jiné vlákno).

- nanuqcz
 - Člen | 822
 
Sry, moc tě nechápu:
Mikulas Dite napsal(a):
Edit: funguje to, když se to nejmenuje
*. Ještě to opravím. : )
Co pokud se jmenuje * ?
Mikulas Dite napsal(a):
Zamezí to výstupu přes čištění bufferu. Šlo by to udělat i tak, že to v komentu se vůbec nepustí, ale bylo by to složitější. Má to cenu psát?
Rozumím jen cca každému druhému slovu (obrazně řečeno) :-)
Využívám to takto:
{syntax double}
{**
 * Nějaký text
 * {{$promenna}}   //tato proměnná potřebuju, aby se zpracovala
 *}
Každopádně vyřešil jsem to docela jednoduše:
{syntax double}
{{={}}**
 * cokoliv
 *}
takže opravovat to jen kvůli mě netřeba. Spíš jsem myslel, že by bylo dobré, aby se o té chybě vědělo, proto jsem to tu napsal ;-) Díky

- Mikulas Dite
 - Člen | 756
 
Přemýšlel jsem nad tím a možná to není tak úplně špatně.
Komentáře se teď odmažou ještě před makry a funguje to krásně. Cokoliv
bych tam vložil makrem, třeba text z databáze, bude mít ten komentář ve
výstupu ať je tam jakákoliv syntaxe. Ty komentáře jsou stejně pro
vývojáře a hodně často na testování, takže tam asi nemá moc cenu double
syntax používat. Javascript, hlavní kandidát na syntax double snad nikdy
nemá v kódu {*, takže to by mělo být v pohodě.
Spíš je trošku wtf, že při nastavení syntax na python/asp jsou
komentáře pořád {* *}.