Download raw body.
Fix for vi editing mode in sftp(1) (PING)
On Tue, Jan 20, 2026 at 12:33:53PM +0000, Stuart Henderson wrote: > I think using the same variable for two different purposes makes > things more confusing. It does. > I do have a small improvement to the previous diff (changed the > comment, no code change). OK by me for this version. > Index: sftp.c > =================================================================== > RCS file: /cvs/src/usr.bin/ssh/sftp.c,v > diff -u -p -r1.247 sftp.c > --- sftp.c 13 Oct 2025 00:54:29 -0000 1.247 > +++ sftp.c 20 Jan 2026 12:33:25 -0000 > @@ -2204,6 +2204,7 @@ interactive_loop(struct sftp_conn *conn, > char *remote_path; > char *dir = NULL, *startdir = NULL; > char cmd[2048]; > + const char *editor; > int err, interactive; > EditLine *el = NULL; > History *hl = NULL; > @@ -2239,6 +2240,10 @@ interactive_loop(struct sftp_conn *conn, > el_set(el, EL_BIND, "\\e\\e[D", "ed-prev-word", NULL); > /* make ^w match ksh behaviour */ > el_set(el, EL_BIND, "^w", "ed-delete-prev-word", NULL); > + > + /* el_source() may have changed EL_EDITOR to vi */ > + if (el_get(el, EL_EDITOR, &editor) == 0 && editor[0] == 'v') > + el_set(el, EL_BIND, "^[", "vi-command-mode", NULL); > } > > if ((remote_path = sftp_realpath(conn, ".")) == NULL)
Fix for vi editing mode in sftp(1) (PING)