Opened 16 years ago
Last modified 12 years ago
#724 reopened defect
Fail in macro Embed combination
| Reported by: | Víctor de Buen Remiro | Owned by: | Víctor de Buen Remiro |
|---|---|---|---|
| Priority: | high | Milestone: | Mantainance |
| Component: | Kernel | Version: | 2.0.1 |
| Severity: | normal | Keywords: | |
| Cc: | Javier Portugal, Pedro Gea, Jorge |
Description
When there are two embeded files at the begin of a file and the first one hast just one declaration the parser lost the second one.
Let be these three files
////////////////////////////////////////////////////////////////////////////// // FILE : file.tol // PURPOSE: test for #Embed macro ////////////////////////////////////////////////////////////////////////////// #Embed "file.1.tol"; #Embed "file.2.tol";
////////////////////////////////////////////////////////////////////////////// // FILE : file.1.tol // PURPOSE: test for #Embed macro ////////////////////////////////////////////////////////////////////////////// Real a = 1;
////////////////////////////////////////////////////////////////////////////// // FILE : file.2.tol // PURPOSE: test for #Embed macro ////////////////////////////////////////////////////////////////////////////// Real b = 1;
When file.tol is compìled just Real a is created.
If we declare anything before the first #Embed in in file.tol or we add any declaration to file.1.tol it works fine.
Attachments (1)
Change History (14)
comment:1 Changed 16 years ago by
| Cc: | Javier Portugal Pedro Gea Jorge added |
|---|---|
| Status: | new → assigned |
comment:2 Changed 16 years ago by
| Priority: | highest → normal |
|---|
comment:3 Changed 16 years ago by
| Priority: | normal → lowest |
|---|
comment:4 Changed 16 years ago by
| Severity: | blocker → normal |
|---|
comment:5 Changed 14 years ago by
comment:7 Changed 14 years ago by
| Resolution: | → remind |
|---|---|
| Status: | assigned → closed |
He puesto un parche que no resuelve pero sí evita este problema.
Al final del filter compruebo si el resultado filtrado comienza por #Embed y en tal caso le añado la línea neutra Write ( \"\" ) ; que evita el problema sin efectos secundarios ni apenas tiempo de CPU extra.
comment:9 Changed 12 years ago by
| Resolution: | remind |
|---|---|
| Status: | closed → reopened |
El problema sigue ocurriendo si simplemente en lugar de:
#Embed "file.1.tol"; #Embed "file.2.tol";
hacemos:
NameBlock n = [[ #Embed "file.1.tol"; #Embed "file.2.tol" ]];
Changed 12 years ago by
| Attachment: | Embed01.zip added |
|---|

(In [3823]) Refs #724