Otherwise, returns false. */
bool
lex_match_id (struct lexer *lexer, const char *s)
+{
+ return lex_match_id_n (lexer, s, 3);
+}
+
+/* If the current token is the identifier S, skips it and returns
+ true. The identifier may be abbreviated to its first N
+ letters.
+ Otherwise, returns false. */
+bool
+lex_match_id_n (struct lexer *lexer, const char *s, size_t n)
{
if (lexer->token == T_ID
- && lex_id_match (ss_cstr (s), ss_cstr (lexer->tokid)))
+ && lex_id_match_n (ss_cstr (s), ss_cstr (lexer->tokid), n))
{
lex_get (lexer);
return true;
{
strip_comments (line);
ds_rtrim (line, ss_cstr (CC_SPACES));
- *line_ends_command = (ds_chomp (line, get_endcmd ())
- || (ds_is_empty (line) && get_nulline ()));
+ *line_ends_command = (ds_chomp (line, settings_get_endcmd ())
+ || (ds_is_empty (line) && settings_get_nulline ()));
*line_starts_command = false;
if (syntax == GETL_BATCH)
{