File tree 3 files changed +11
-5
lines changed
3 files changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -2239,6 +2239,16 @@ def test_string(self):
2239
2239
FSTRING_START \' f"\' (1, 0) (1, 2)
2240
2240
FSTRING_MIDDLE 'abc\\ \\ \\ ndef' (1, 2) (2, 3)
2241
2241
FSTRING_END '"' (2, 3) (2, 4)
2242
+ """ )
2243
+
2244
+ self .check_tokenize ('''\
2245
+ f"{
2246
+ a}"''' , """\
2247
+ FSTRING_START 'f"' (1, 0) (1, 2)
2248
+ LBRACE '{' (1, 2) (1, 3)
2249
+ NAME 'a' (2, 0) (2, 1)
2250
+ RBRACE '}' (2, 1) (2, 2)
2251
+ FSTRING_END '"' (2, 2) (2, 3)
2242
2252
""" )
2243
2253
2244
2254
self .check_tokenize (r'Rf"abc\
Original file line number Diff line number Diff line change @@ -1106,11 +1106,7 @@ tok_readline_string(struct tok_state* tok) {
1106
1106
tok -> inp += buflen ;
1107
1107
* tok -> inp = '\0' ;
1108
1108
1109
- if (tok -> start == NULL ) {
1110
- tok -> buf = tok -> cur ;
1111
- }
1112
1109
tok -> line_start = tok -> cur ;
1113
-
1114
1110
Py_DECREF (line );
1115
1111
return 1 ;
1116
1112
error :
Original file line number Diff line number Diff line change @@ -68,7 +68,7 @@ typedef struct _tokenizer_mode {
68
68
struct tok_state {
69
69
/* Input state; buf <= cur <= inp <= end */
70
70
/* NB an entire line is held in the buffer */
71
- char * buf ; /* Input buffer, or NULL; malloc'ed if fp != NULL */
71
+ char * buf ; /* Input buffer, or NULL; malloc'ed if fp != NULL or readline != NULL */
72
72
char * cur ; /* Next character in buffer */
73
73
char * inp ; /* End of data in buffer */
74
74
int fp_interactive ; /* If the file descriptor is interactive */
You can’t perform that action at this time.
0 commit comments