mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Preserve trailing spaces with capture-pane -J, from George Nachman.
This commit is contained in:
		@@ -111,7 +111,7 @@ cmd_capture_pane_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
		gc = NULL;
 | 
			
		||||
		for (i = top; i <= bottom; i++) {
 | 
			
		||||
			line = grid_string_cells(gd, 0, i, sx, &gc, with_codes,
 | 
			
		||||
			    escape_c0);
 | 
			
		||||
			    escape_c0, !join_lines);
 | 
			
		||||
			linelen = strlen(line);
 | 
			
		||||
 | 
			
		||||
			buf = xrealloc(buf, 1, len + linelen + 1);
 | 
			
		||||
 
 | 
			
		||||
@@ -234,5 +234,5 @@ grid_view_string_cells(struct grid *gd, u_int px, u_int py, u_int nx)
 | 
			
		||||
	px = grid_view_x(gd, px);
 | 
			
		||||
	py = grid_view_y(gd, py);
 | 
			
		||||
 | 
			
		||||
	return (grid_string_cells(gd, px, py, nx, NULL, 0, 0));
 | 
			
		||||
	return (grid_string_cells(gd, px, py, nx, NULL, 0, 0, 0));
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								grid.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								grid.c
									
									
									
									
									
								
							@@ -583,7 +583,7 @@ grid_string_cells_code(const struct grid_cell *lastgc,
 | 
			
		||||
/* Convert cells into a string. */
 | 
			
		||||
char *
 | 
			
		||||
grid_string_cells(struct grid *gd, u_int px, u_int py, u_int nx,
 | 
			
		||||
    struct grid_cell **lastgc, int with_codes, int escape_c0)
 | 
			
		||||
    struct grid_cell **lastgc, int with_codes, int escape_c0, int trim)
 | 
			
		||||
{
 | 
			
		||||
	const struct grid_cell	*gc;
 | 
			
		||||
	static struct grid_cell	 lastgc1;
 | 
			
		||||
@@ -638,8 +638,10 @@ grid_string_cells(struct grid *gd, u_int px, u_int py, u_int nx,
 | 
			
		||||
		off += size;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	while (off > 0 && buf[off - 1] == ' ')
 | 
			
		||||
		off--;
 | 
			
		||||
        if (trim) {
 | 
			
		||||
		while (off > 0 && buf[off - 1] == ' ')
 | 
			
		||||
			off--;
 | 
			
		||||
        }
 | 
			
		||||
	buf[off] = '\0';
 | 
			
		||||
 | 
			
		||||
	return (buf);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								tmux.1
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								tmux.1
									
									
									
									
									
								
							@@ -1092,7 +1092,7 @@ attributes.
 | 
			
		||||
.Fl C
 | 
			
		||||
also escapes non-printable characters as octal \\xxx.
 | 
			
		||||
.Fl J
 | 
			
		||||
joins wrapped lines.
 | 
			
		||||
joins wrapped lines and preserves trailing spaces at each line's end.
 | 
			
		||||
.Pp
 | 
			
		||||
.Fl S
 | 
			
		||||
and
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								tmux.h
									
									
									
									
									
								
							@@ -2002,7 +2002,7 @@ void	 grid_clear_lines(struct grid *, u_int, u_int);
 | 
			
		||||
void	 grid_move_lines(struct grid *, u_int, u_int, u_int);
 | 
			
		||||
void	 grid_move_cells(struct grid *, u_int, u_int, u_int, u_int);
 | 
			
		||||
char	*grid_string_cells(struct grid *, u_int, u_int, u_int,
 | 
			
		||||
	     struct grid_cell **, int, int);
 | 
			
		||||
	     struct grid_cell **, int, int, int);
 | 
			
		||||
void	 grid_duplicate_lines(
 | 
			
		||||
	     struct grid *, u_int, struct grid *, u_int, u_int);
 | 
			
		||||
u_int	 grid_reflow(struct grid *, struct grid *, u_int);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user