Opened 15 years ago
Last modified 11 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 15 years ago by
Cc: | Javier Portugal Pedro Gea Jorge added |
---|---|
Status: | new → assigned |
comment:2 Changed 15 years ago by
Priority: | highest → normal |
---|
comment:3 Changed 15 years ago by
Priority: | normal → lowest |
---|
comment:4 Changed 15 years ago by
Severity: | blocker → normal |
---|
comment:5 Changed 13 years ago by
comment:7 Changed 13 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 11 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 11 years ago by
Attachment: | Embed01.zip added |
---|
(In [3823]) Refs #724