https://github.com/DavidSpickett commented:
I had a dark thought that maybe mutli-line input would mess up checking for %
commands, but luckily it does not.
```
clang-repl> int a = 1;
clang-repl> int b = 10 \
clang-repl... %undo
In file included from <<< inputs >>>:1:
input_line_2:1:13: error: use of undeclared identifier 'undo'
1 | int b = 10 %undo
| ^~~~
input_line_2:1:17: error: expected ';' after top level declarator
1 | int b = 10 %undo
| ^
| ;
error: Parsing failed.
```
If it was doing as I feared, it would have treated that as a command, but it
does not. I think it's seeing the two input lines as one, with an internal
newline.
% commands have to start with % **after** leading and trailing whitespace has
been removed. This is also why ` %undo` works.
```
clang-repl> %undo
error: Operation failed. No input left to undo
```
https://github.com/llvm/llvm-project/pull/150348
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits