better state change back

This commit is contained in:
Richard Thier 2024-09-28 23:31:00 +02:00
parent c74ed39ef1
commit ac3d9f41c6

View File

@ -378,7 +378,7 @@ static inline slc_state slc_word_statechange(
return current_state; return current_state;
} }
#define SLC_SET_START_STATE \ #define SET_SLC_START \
comment_i = 0; \ comment_i = 0; \
multiline_i = 0; \ multiline_i = 0; \
prefix_i = 0; \ prefix_i = 0; \
@ -455,7 +455,7 @@ static inline void slc(
int wordname_i; int wordname_i;
char wordname[SL_MAX_WORD_NAME + 1]; char wordname[SL_MAX_WORD_NAME + 1];
SLC_SET_START_STATE SET_SLC_START
char prevc = 0; char prevc = 0;
char c = 0; char c = 0;
@ -517,7 +517,7 @@ static inline void slc(
break; break;
case SLC_COMMENT: case SLC_COMMENT:
if(endsline(c)) state = SLC_START; if(endsline(c)) { SET_SLC_START }
break; break;
case SLC_MULTILINE_COMMENT: case SLC_MULTILINE_COMMENT:
state = slc_multiline_comment_statechange_out( state = slc_multiline_comment_statechange_out(
@ -525,6 +525,7 @@ static inline void slc(
c, c,
multiline_comment_closer, multiline_comment_closer,
&multiline_i); &multiline_i);
if(state == SLC_START) { SET_SLC_START }
break; break;
case SLC_DEF_NAME: case SLC_DEF_NAME:
// TODO // TODO
@ -539,7 +540,7 @@ static inline void slc(
break; break;
case SLC_SYN_ERROR: case SLC_SYN_ERROR:
/* Recover from slc syntax errors at endlines for now */ /* Recover from slc syntax errors at endlines for now */
if(endsline(c)) state = SLC_START; if(endsline(c)) { SET_SLC_START }
break; break;
} }