Version 3.0a - 6th December 2019
This commit is contained in:
parent
6a7fe00f74
commit
d3636bb559
|
@ -1,5 +1,5 @@
|
||||||
/* uLisp ARM 3.0 - www.ulisp.com
|
/* uLisp ARM 3.0a - www.ulisp.com
|
||||||
David Johnson-Davies - www.technoblogy.com - 28th November 2019
|
David Johnson-Davies - www.technoblogy.com - 6th December 2019
|
||||||
|
|
||||||
Licensed under the MIT license: https://opensource.org/licenses/MIT
|
Licensed under the MIT license: https://opensource.org/licenses/MIT
|
||||||
*/
|
*/
|
||||||
|
@ -214,7 +214,7 @@ char LastChar = 0;
|
||||||
char LastPrint = 0;
|
char LastPrint = 0;
|
||||||
|
|
||||||
// Flags
|
// Flags
|
||||||
enum flag { PRINTREADABLY, RETURNFLAG, ESCAPE, EXITEDITOR, LIBRARYLOADED };
|
enum flag { PRINTREADABLY, RETURNFLAG, ESCAPE, EXITEDITOR, LIBRARYLOADED, NOESC };
|
||||||
volatile char Flags = 0b00001; // PRINTREADABLY set by default
|
volatile char Flags = 0b00001; // PRINTREADABLY set by default
|
||||||
|
|
||||||
// Forward references
|
// Forward references
|
||||||
|
@ -3824,7 +3824,7 @@ object *eval (object *form, object *env) {
|
||||||
// Escape
|
// Escape
|
||||||
if (tstflag(ESCAPE)) { clrflag(ESCAPE); error2(0, PSTR("Escape!"));}
|
if (tstflag(ESCAPE)) { clrflag(ESCAPE); error2(0, PSTR("Escape!"));}
|
||||||
#if defined (serialmonitor)
|
#if defined (serialmonitor)
|
||||||
testescape();
|
if (!tstflag(NOESC)) testescape();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (form == NULL) return nil;
|
if (form == NULL) return nil;
|
||||||
|
@ -4198,8 +4198,12 @@ object *nextitem (gfun_t gfun) {
|
||||||
else if (ch2 == 'O') base = 8;
|
else if (ch2 == 'O') base = 8;
|
||||||
else if (ch2 == 'X') base = 16;
|
else if (ch2 == 'X') base = 16;
|
||||||
else if (ch == '\'') return nextitem(gfun);
|
else if (ch == '\'') return nextitem(gfun);
|
||||||
else if (ch == '.') return eval(read(gfun), NULL);
|
else if (ch == '.') {
|
||||||
else error2(0, PSTR("illegal character after #"));
|
setflag(NOESC);
|
||||||
|
object *result = eval(read(gfun), NULL);
|
||||||
|
clrflag(NOESC);
|
||||||
|
return result;
|
||||||
|
} else error2(0, PSTR("illegal character after #"));
|
||||||
ch = gfun();
|
ch = gfun();
|
||||||
}
|
}
|
||||||
int valid; // 0=undecided, -1=invalid, +1=valid
|
int valid; // 0=undecided, -1=invalid, +1=valid
|
||||||
|
|
Loading…
Reference in New Issue