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
 | 
			
		||||
selcopy(void) {
 | 
			
		||||
	char *str, *ptr;
 | 
			
		||||
	int x, y, bufsize, size;
 | 
			
		||||
	int x, y, bufsize, size, i, ex;
 | 
			
		||||
	Glyph *gp, *last;
 | 
			
		||||
 | 
			
		||||
	if(sel.bx == -1) {
 | 
			
		||||
| 
						 | 
				
			
			@ -938,6 +938,21 @@ selcopy(void) {
 | 
			
		|||
			 */
 | 
			
		||||
			if(y < sel.e.y && !((gp-1)->mode & ATTR_WRAP))
 | 
			
		||||
				*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;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue