Expand the last line with '\n' in case of overselection.
Thanks Alexander Rezinsky <alexrez@gmail.com>!
This commit is contained in:
		
							
								
								
									
										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;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user