NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lib/52517 (TTY settings modified and not restored on exit.)



Synopsis: TTY settings modified and not restored on exit.

State-Changed-From-To: open->closed
State-Changed-By: maya%NetBSD.org@localhost
State-Changed-When: Mon, 04 Jun 2018 10:58:27 +0000
State-Changed-Why:
COmmitted by christos who referenced the wrong PR. Thanks for the report & patch!

Module Name:    src
Committed By:   christos
Date:           Fri Sep  1 10:19:10 UTC 2017

Modified Files:
        src/lib/libedit: editline.3 hist.h histedit.h history.c readline.c
        src/lib/libedit/readline: readline.h

Log Message:
PR/51517: Jay West: Tty settings not restored on exit
PR/51518: Jay West: prompt is interleaved with client output

Both these issues are caused by rl_restore_handler not DTRT; fix
it so that it kills the internal libedit state completely. This is
inefficient, but it works.

Also fix:
1. add append_history()/H_NSAVE_FP
2. call the rl_startup_hook before printing the first prompt as documented.
   callint it from rl_initialize breaks python, because the callback ends
   up being invoked before the readline module is installed, and we end up
   dereferencing a NULL pointer.
                    
3. add el_resize_terminal.                                                                  
                                                                                            
With those changes, s/lreadline/ledit/g in python works.                                    
                                                                                            
                                                                                            
To generate a diff of this commit:                                                          
cvs rdiff -u -r1.96 -r1.97 src/lib/libedit/editline.3                                       
cvs rdiff -u -r1.22 -r1.23 src/lib/libedit/hist.h                                           
cvs rdiff -u -r1.56 -r1.57 src/lib/libedit/histedit.h                                       
cvs rdiff -u -r1.57 -r1.58 src/lib/libedit/history.c                                        
cvs rdiff -u -r1.141 -r1.142 src/lib/libedit/readline.c                                     
cvs rdiff -u -r1.41 -r1.42 src/lib/libedit/readline/readline.h                              
                                                                    





Home | Main Index | Thread Index | Old Index