diff --git a/src/cmd/ksh93/edit/edit.c b/src/cmd/ksh93/edit/edit.c index e19a7d2775aa..ec9725b59f97 100644 --- a/src/cmd/ksh93/edit/edit.c +++ b/src/cmd/ksh93/edit/edit.c @@ -621,8 +621,8 @@ void ed_setup(register Edit_t *ep, int fd, int reedit) ep->hoff = 0; #endif /* SHOPT_EDPREDICT */ #if KSHELL - ep->e_stkptr = stakptr(0); ep->e_stkoff = staktell(); + ep->e_stkptr = stakfreeze(0); if(!(last = shp->prompt)) last = ""; shp->prompt = 0; diff --git a/src/cmd/ksh93/edit/emacs.c b/src/cmd/ksh93/edit/emacs.c index f086fe1acb46..a580dd447b99 100644 --- a/src/cmd/ksh93/edit/emacs.c +++ b/src/cmd/ksh93/edit/emacs.c @@ -726,10 +726,8 @@ int ed_emacsread(void *context, int fd,char *buff,int scend, int reedit) draw(ep,FINAL); tty_cooked(ERRIO); if(ed->e_nlist) - { ed->e_nlist = 0; - stakset(ed->e_stkptr,ed->e_stkoff); - } + stakset(ed->e_stkptr,ed->e_stkoff); if(c == '\n') { out[eol++] = '\n'; diff --git a/src/cmd/ksh93/edit/vi.c b/src/cmd/ksh93/edit/vi.c index 3c1a5650b47c..c4c05653341e 100644 --- a/src/cmd/ksh93/edit/vi.c +++ b/src/cmd/ksh93/edit/vi.c @@ -593,10 +593,8 @@ int ed_viread(void *context, int fd, register char *shbuf, int nchar, int reedit /* to cause the shell to process the line */ tty_cooked(ERRIO); if(ed->e_nlist) - { ed->e_nlist = 0; - stakset(ed->e_stkptr,ed->e_stkoff); - } + stakset(ed->e_stkptr,ed->e_stkoff); if( vp->addnl ) { virtual[++last_virt] = '\n';