Now happy with what's appearing in the oblist. Reader is very broken.

This commit is contained in:
Simon Brooke 2026-05-04 19:26:09 +01:00
parent 5ec1c926b0
commit d2efc8ba78
6 changed files with 44 additions and 8 deletions

View file

@ -23,6 +23,7 @@
#include "memory/pso2.h"
#include "memory/tags.h"
#include "ops/string_ops.h"
#include "ops/truth.h"
#include "payloads/cons.h"
@ -174,7 +175,7 @@ char *lisp_string_to_c_string( struct pso_pointer s ) {
/**
* Return a lisp symbol representation of this wide character string. In
* symbols, I am accepting only lower case characters.
* symbols, I am accepting only lower case characters and certain punctuation.
*/
struct pso_pointer c_string_to_lisp_symbol( struct pso_pointer frame_pointer,
char32_t *symbol ) {
@ -183,7 +184,7 @@ struct pso_pointer c_string_to_lisp_symbol( struct pso_pointer frame_pointer,
for ( int i = wcslen( symbol ) - 1; i >= 0; i-- ) {
char32_t c = towlower( symbol[i] );
if ( iswalpha( c ) || c == L'-' || c == L'*' ) {
if ( iswalpha( c ) || wcschr(L"-*|!?", c)) {
result = make_symbol( frame_pointer, c, result );
}
}