From bd1aed43ecc0ca2d085baf03b03c9191d46e8844 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 15 Feb 2024 13:44:20 +0530 Subject: [PATCH] Check for leftovers when tokenizing --- kitty/search_query_parser.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kitty/search_query_parser.py b/kitty/search_query_parser.py index 9bf271431..b08399b54 100644 --- a/kitty/search_query_parser.py +++ b/kitty/search_query_parser.py @@ -182,7 +182,9 @@ class Parser: # lex scanner doesn't get confused. We put them back later. for k, v in replacements(): expr = expr.replace(k, v) - tokens = lex_scanner()(expr)[0] + tokens, leftover = lex_scanner()(expr) + if leftover: + raise ParseException(_('Extra characters at end of search')) def unescape(x: str) -> str: for k, v in replacements():