Expand the last line with '\n' in case of overselection.
Thanks Alexander Rezinsky <alexrez@gmail.com>!
This commit is contained in:
		
							parent
							
								
									634c247fa7
								
							
						
					
					
						commit
						0c2b513d01
					
				
							
								
								
									
										17
									
								
								st.c
								
								
								
								
							
							
						
						
									
										17
									
								
								st.c
								
								
								
								
							|  | @ -900,7 +900,7 @@ bpress(XEvent *e) { | ||||||
| void | void | ||||||
| selcopy(void) { | selcopy(void) { | ||||||
| 	char *str, *ptr; | 	char *str, *ptr; | ||||||
| 	int x, y, bufsize, size; | 	int x, y, bufsize, size, i, ex; | ||||||
| 	Glyph *gp, *last; | 	Glyph *gp, *last; | ||||||
| 
 | 
 | ||||||
| 	if(sel.bx == -1) { | 	if(sel.bx == -1) { | ||||||
|  | @ -938,6 +938,21 @@ selcopy(void) { | ||||||
| 			 */ | 			 */ | ||||||
| 			if(y < sel.e.y && !((gp-1)->mode & ATTR_WRAP)) | 			if(y < sel.e.y && !((gp-1)->mode & ATTR_WRAP)) | ||||||
| 				*ptr++ = '\n'; | 				*ptr++ = '\n'; | ||||||
|  | 
 | ||||||
|  | 			/*
 | ||||||
|  | 			 * If the last selected line expands in the selection | ||||||
|  | 			 * after the visible text '\n' is appended. | ||||||
|  | 			 */ | ||||||
|  | 			if(y == sel.e.y) { | ||||||
|  | 				i = term.col; | ||||||
|  | 				while(--i > 0 && term.line[y][i].c[0] == ' ') | ||||||
|  | 					/* nothing */; | ||||||
|  | 				ex = sel.e.x; | ||||||
|  | 				if(sel.b.y == sel.e.y && sel.e.x < sel.b.x) | ||||||
|  | 					ex = sel.b.x; | ||||||
|  | 				if(i < ex) | ||||||
|  | 					*ptr++ = '\n'; | ||||||
|  | 			} | ||||||
| 		} | 		} | ||||||
| 		*ptr = 0; | 		*ptr = 0; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue