You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							64 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							64 lines
						
					
					
						
							1.5 KiB
						
					
					
				| 			     BASH PATCH REPORT | |
| 			     ================= | |
| 
 | |
| Bash-Release:	5.0 | |
| Patch-ID:	bash50-012 | |
| 
 | |
| Bug-Reported-by:	lessbug@qq.com | |
| Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com> | |
| Bug-Reference-URL: | |
| 
 | |
| Bug-Description: | |
| 
 | |
| When using previous-history to go back beyond the beginning of the history list, | |
| it's possible to move to an incorrect partial line. | |
| 
 | |
| Patch (apply with `patch -p0'): | |
| 
 | |
| *** ../bash-5.0-patched/lib/readline/misc.c	2017-07-07 17:30:12.000000000 -0400 | |
| --- lib/readline/misc.c	2019-05-16 11:43:46.000000000 -0400 | |
| *************** | |
| *** 577,580 **** | |
| --- 590,594 ---- | |
|   { | |
|     HIST_ENTRY *old_temp, *temp; | |
| +   int had_saved_line; | |
|    | |
|     if (count < 0) | |
| *************** | |
| *** 589,592 **** | |
| --- 603,607 ---- | |
|    | |
|     /* If we don't have a line saved, then save this one. */ | |
| +   had_saved_line = _rl_saved_line_for_history != 0; | |
|     rl_maybe_save_line (); | |
|    | |
| *************** | |
| *** 612,616 **** | |
|     if (temp == 0) | |
|       { | |
| !       rl_maybe_unsave_line (); | |
|         rl_ding (); | |
|       } | |
| --- 627,632 ---- | |
|     if (temp == 0) | |
|       { | |
| !       if (had_saved_line == 0) | |
| !         _rl_free_saved_history_line (); | |
|         rl_ding (); | |
|       } | |
| *** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400 | |
| --- patchlevel.h	2016-10-01 11:01:28.000000000 -0400 | |
| *************** | |
| *** 26,30 **** | |
|      looks for to find the patch level (for the sccs version string). */ | |
|    | |
| ! #define PATCHLEVEL 11 | |
|    | |
|   #endif /* _PATCHLEVEL_H_ */ | |
| --- 26,30 ---- | |
|      looks for to find the patch level (for the sccs version string). */ | |
|    | |
| ! #define PATCHLEVEL 12 | |
|    | |
|   #endif /* _PATCHLEVEL_H_ */
 | |
| 
 |