{syntax double} ignoruje Latte komentáře

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
nanuqcz
Člen | 822
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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 {* *}.

David Grudl
Nette Core | 8228
+
0
-

Fixed, syntax komentářů se přepíná.