Applying the tab expansion patch from koga.
							parent
							
								
									71b09ec4f1
								
							
						
					
					
						commit
						b56a0da283
					
				
							
								
								
									
										22
									
								
								st.c
								
								
								
								
							
							
						
						
									
										22
									
								
								st.c
								
								
								
								
							|  | @ -663,9 +663,9 @@ bpress(XEvent *e) { | |||
| 
 | ||||
| void | ||||
| selcopy(void) { | ||||
| 	char *str, *ptr; | ||||
| 	char *str, *ptr, *p; | ||||
| 	int x, y, bufsize, is_selected = 0, size; | ||||
| 	Glyph *gp; | ||||
| 	Glyph *gp, *last; | ||||
| 
 | ||||
| 	if(sel.bx == -1) { | ||||
| 		str = NULL; | ||||
|  | @ -675,15 +675,19 @@ selcopy(void) { | |||
| 
 | ||||
| 		/* append every set & selected glyph to the selection */ | ||||
| 		for(y = 0; y < term.row; y++) { | ||||
| 			for(x = 0; x < term.col; x++) { | ||||
| 				gp = &term.line[y][x]; | ||||
| 			gp = &term.line[y][0]; | ||||
| 			last = gp + term.col; | ||||
| 
 | ||||
| 				if(!(is_selected = selected(x, y)) | ||||
| 						|| !(gp->state & GLYPH_SET)) { | ||||
| 			while(--last >= gp && !(last->state & GLYPH_SET)) | ||||
| 				/* nothing */; | ||||
| 
 | ||||
| 			for(x = 0; gp <= last; x++, ++gp) { | ||||
| 				if(!(is_selected = selected(x, y))) | ||||
| 					continue; | ||||
| 				} | ||||
| 				size = utf8size(gp->c); | ||||
| 				memcpy(ptr, gp->c, size); | ||||
| 
 | ||||
| 				p = (gp->state & GLYPH_SET) ? gp->c : " "; | ||||
| 				size = utf8size(p); | ||||
| 				memcpy(ptr, p, size); | ||||
| 				ptr += size; | ||||
| 			} | ||||
| 			/* \n at the end of every selected line except for the last one */ | ||||
|  |  | |||
		Reference in New Issue