|
Creador de
PowerRustCOBOL ![]()
|
Cuatro correcciones, ya en main.
GOBACK nunca fue una sentencia. El lexer no tenía la palabra clave GOBACK — solo la variante con guion GO-BACK — así que un GOBACK. suelto se leía como un identificador seguido de punto: exactamente la forma de un encabezado de párrafo. Cada GOBACK que el generador añade a cada manejador se interpretaba como un párrafo vacío llamado GOBACK, y nada retornaba. De ahí venían dos síntomas antiguos: el fallo "paragraph 'GOBACK' is declared more than once" al terminar un cuerpo con su propio GOBACK, y la regla que prohibía escribirlo. Los dos eran parches de una palabra clave que faltaba. Ahora un manejador que declara sus propios párrafos puede cerrar su flujo principal y dejar de caer dentro de ellos. PERFORM dentro de un programa anidado se resolvía contra el programa exterior. El intérprete construía un único mapa de párrafos, el del formulario, y no lo cambiaba al entrar por CALL en un programa contenido. El efecto era el inverso de la arquitectura: un manejador NO podía hacer PERFORM de un párrafo propio, pero SÍ alcanzaba los del formulario — el PERFORM entre programas que 1.55.6 acababa de convertir en error de compilación. Cada programa anidado se ejecuta ahora con sus propios procedimientos instalados. El modal de revisión del prompt no seguía su propio estado. Recibía su tamaño como default_size, que es solo una semilla: egui conserva después su propio rect almacenado, de modo que un rect que alguna vez creció sobrevivía a cualquier corrección y las columnas quedaban dentro de una ventana sobredimensionada. Y el editor calculaba su altura por estimación (filas × fuente × 1.35), que no coincide con las métricas reales de egui: la décima fila abría cortada por la mitad y el sobrante seguía por debajo del pie. Ahora la columna es una caja de altura conocida, Panel::bottom toma primero la pista y los botones, y el editor recibe lo que queda: medido, no predicho. Y el origen de todo esto. La documentación y las instrucciones de los agentes seguían diciendo que un procedimiento común era un párrafo alcanzable con PERFORM. Es el modelo muerto de la prueba de concepto, de cuando no había programas anidados, y por eso un revisor pedante llegó a rechazar como "alucinación técnica" un CALL correcto. Corregido en las dos copias de las skills, en las constantes que se siembran en cada proyecto, y en la Base de Conocimiento. Un proyecto creado antes de la corrección conservaba el texto viejo para siempre: ahora un fichero de skill que aún coincida con un valor por defecto superado se reemplaza al abrir el proyecto, y lo que haya editado el desarrollador no se toca. Aviso. Manejar un control IndexedFile desde un manejador de evento no está soportado hoy: sus párrafos generados pertenecen al programa exterior y un manejador es un programa anidado, así que PERFORM <id>-OPEN no compila desde 1.55.6, y <id>::Open() no existe. Queda documentado, con un test que fija la restricción, hasta decidir cómo exponerlos. 1414 tests en verde. Anthropic Claude Codex Agent |
||||||||
|
|
|
![]() |
| Herramientas | |
|
|
| Archivo - Cobol Foro | Contactar con Nosotros - Cobol Foro | |||||||