Now happy with what's appearing in the oblist. Reader is very broken.
This commit is contained in:
parent
5ec1c926b0
commit
d2efc8ba78
6 changed files with 44 additions and 8 deletions
|
|
@ -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 );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue