Index | Thread | Search

From:
Johannes Thyssen Tishman <jtt@openbsd.org>
Subject:
Re: ksh: allow editing empty line with 'v' in vi-mode
To:
Andy Bradford <amb-sendok-1788043342.dmajgkajidabahhdfdfo@bradfords.org>
Cc:
tech@openbsd.org
Date:
Fri, 31 Jul 2026 09:26:12 +0000

Download raw body.

Thread
  • Andy Bradford:

    ksh: allow editing empty line with 'v' in vi-mode

  • Johannes Thyssen Tishman:

    ksh: allow editing empty line with 'v' in vi-mode

  • 2026-07-30T16:42:22-0600 Andy Bradford <amb-sendok-1788043342.dmajgkajidabahhdfdfo@bradfords.org>:
    > Thus said Johannes Thyssen Tishman on Thu, 30 Jul 2026 18:21:29 -0000:
    > 
    > > -			if (es->linelen == 0 && argcnt == 0)
    > > -				return -1;
    > 
    > These lines were last changed to correct a bug:
    > 
    > http://cvsweb.openbsd.org/log/src/bin/ksh/vi.c,v?sort=File#rev1.19
    > 
    > I'm not  sure what that bug  was, but I'm  not sure removing this  is an
    > improvement.
    
    The bug was that the history command number (n) in ^[nv was ignored
    because empty lines were not allowed. The bug would've also been fixed
    by removing the conditional (allowing then empty lines as well of
    course).
    
    > Also, you don't have to type nonsense to get into vi-mode, you just type
    > a space and press esc-v. Doing so enters vi-mode with an empty buffer.
    
    This is only possible if HISTCONTROL doesn't include 'ignorespace' (see
    my reply to Uwe). While I could simply remove that option and do as you
    suggest, I think that allowing ^[v in empty lines *and* ignoring
    white-space only commands is a valid use case.
    
    
  • Andy Bradford:

    ksh: allow editing empty line with 'v' in vi-mode

  • Johannes Thyssen Tishman:

    ksh: allow editing empty line with 'v' in vi-mode