WMarkDown

Bugs y errores

Esta sección va orientada a exponer los posibles errores que se puedan encontrar dentro del proyecto y el estado al cual se atañen.

Párrafos incompletos

Se aprecia que los párrafos creados con saltos de línea los fracciona en Python.

Srx00
El problema estaba en que cuando se llamaba de forma recursiva al método "analyse" éste no llevaba si era un subelemento o no pues omití sin querer en el desarrollo ese factor y sólo enviaba en su lugar el lenguaje con el que tenía que trabajar. Afectaba a todo el lenguaje. Esto vislumbró otro fallo con el orden de los patrones que también fue corregido.

Modulo Cursivas en bucle

Cuando hay un único asterisco suelto, el patrón de este módulo entra en bucle infinito con un consumo de procesador elevado.

Srx00
Con la ayuda de ChatGPT se llegó a una conclusión pues dicho error sólo sucede con el caso de los asteriscos simples en Python, mientras que en JavaScript y otros no pasa. El problema radica en el motor de interpretación del patrón regular, siendo diferente, siguiendo el ejemplo, la librería "re" de Python y el motor de interpretación V8. El cambio fue con respecto a como formular el patrón regular. No encontré más información que ésta.
Srx00
Aún así, no funciona en todos los casos, dando errores cuando existen 2 asterisco y luego otro sin que éste contenga final. Insisto que sólo pasa con los asteriscos pues con el uso del resto de marcas no sucede pese a ser la misma casuística.

Negrillas y Cursivas

Cuando se juntan ambos elementos en un único elemento, éste reacciona de forma inoportuna, por ejemplo, en el siguiente caso:

  • typemd
  • characters137
  • lines3

Esto es un ejemplo del error, donde el ***elemento1*** y el ***elemento2*** tendrían que estar en negrilla y cursiva simultáneamente.

El problema radica, en el ejemplo aquí expuesto, en que la cursiva sólo afectaría por posición de los atributos de WMarkDown por defecto, al fragmento de texto " y el ", dejando el resto en negrilla y con dos asteriscos sin procesar. Para arreglar dicho error hay que crear un subelemento que monte negrilla y cursiva de golpe, aunque lo ideal es que lo procese directamente tal como está. Es un poco chapuzas el arreglo pero inicialmente, y en base a la filosofía de funcionamiento, esta es la solución más plausible.