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