From ea3f3ce459932a4e05cf51fe353acf7e90f36bae Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 27 Sep 2015 22:59:05 -0700 Subject: linenoise: backspace also causes parenthesis jump. * linenoise/linenoise.c (edit): Do paren_jump after backspace * txr.1: Documented. --- linenoise/linenoise.c | 1 + txr.1 | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/linenoise/linenoise.c b/linenoise/linenoise.c index 57797178..cafa7e0a 100644 --- a/linenoise/linenoise.c +++ b/linenoise/linenoise.c @@ -1848,6 +1848,7 @@ static int edit(lino_t *l, const char *prompt) case BACKSPACE: /* backspace */ case CTL('H'): edit_backspace(l); + paren_jump(l); break; case CTL('D'): /* remove char at right of cursor, or if the line is empty, act as end-of-file. */ diff --git a/txr.1 b/txr.1 index 696a1b10..95437fd0 100644 --- a/txr.1 +++ b/txr.1 @@ -34168,6 +34168,10 @@ character and then returns to the original position a brief moment later. If a new character is typed during the brief time delay, the delay is immediately canceled, so as not to hinder rapid typing. +This back-and-forth jump behavior also occurs when a character is erased using +Backspace, and the the cursor ends up immediately to the right of a +parenthesis. + Note that the matching is unsophisticated; it doesn't observe the lexical conventions and syntax of the \*(TL programming language. For instance, a closing parenthesis outside a string literal may match -- cgit v1.2.3