He aislado el bug, en la rutina EncajeSimplon;
[ EncajeSimplon w donde i;
objectloop(i in donde) {
if (WordInProperty(w, i, name)) rtrue;
#ifndef TARGET_GLULX; ! demomento esto da un error "Illegal backpatch marker in forward-declared symbol" error en glulx
if (i provides synomym_f) if (TextInProperty (i,synomym_f,w)==1) rtrue;
if (i provides synomym_fp) if (TextInProperty (i,synomym_fp,w)==1) rtrue;
if (i provides synomym_m) if (TextInProperty (i,synomym_m,w)==1) rtrue;
if (i provides synomym_mp) if (TextInProperty (i,synomym_mp,w)==1) rtrue;
#endif;
! if (WordInProperty(w, i, name_f)) rtrue;
! if (WordInProperty(w, i, name_mp)) rtrue;
! if (WordInProperty(w, i, name_fp)) rtrue;
! if (WordInProperty(w, i, adjectives)) rtrue;
if (children(i) && EncajeSimplon(w, i)) rtrue;
}
rfalse;
];
Por alguna razón, las líneas 'if (i provides...' generan un error al compilar para Glulx llamado:
Arrghhch!! Horrible!
Bueno, con las directivas de compilación agregadas, el peligro fue desactivado.
Veremos cómo resolver el asunto.
Me llama la atención, pues hay otras partes de codigo en la extension que vuelven a usar el if (i provides synomym_f) etc, y alli inform no chilla.
Qué se la va a hacer.
Todo este asunto está relacionado con mis investigaciones para que I7 de soporte al tema de los sinónimos de diferente genero/numero, a la manera de informATE.
Ya estoy en condiciones de decir que es un autentico dolor de cabeza. Primero por el trabajo que me está costando, y segundo porque efectivamente me duele la cabeza.
No hay comentarios:
Publicar un comentario