Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						359285928b 
					 
					
						
						
							
							Support "alternate screen" mode (terminfo smcup/rmcup) typically used by full  
						
						 
						
						... 
						
						
						
						screen interactive programs to preserve the screen contents. When activated, it
saves a copy of the visible grid and disables scrolling into and resizing out
of the history; when deactivated the visible data is restored and the history
reenabled. 
						
						
					 
					
						2009-07-13 10:43:52 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						0b788a3d61 
					 
					
						
						
							
							Missed this declaration in key bindings change. Whoops.  
						
						 
						
						
						
						
					 
					
						2009-07-12 23:46:49 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						88555d96d5 
					 
					
						
						
							
							Document the -k flag to new-window.  
						
						 
						
						
						
						
					 
					
						2009-07-12 23:45:03 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						9e49ec6cd3 
					 
					
						
						
							
							Creating a key binding which replaces itself (such as "bind x bind x lsw")  
						
						 
						
						... 
						
						
						
						frees the command list bound to the key while it is still being executed,
leading to a use after free. To prevent this, create a dead keys list and defer
freeing replaced or removed key bindings until the main loop when the key
binding will have finished executing.
Found by Johan Friis when creating a key binding to reload his configuration
file. 
						
						
					 
					
						2009-07-12 17:33:18 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						22d51ec1ea 
					 
					
						
						
							
							Add a "back to indentation" key in copy mode to move the cursor to the first  
						
						 
						
						... 
						
						
						
						non-whitespace character. ^ with vi and M-m with emacs key bindings. Another
from Kalle Olavi Niemitalo, thanks. 
						
						
					 
					
						2009-07-12 16:15:34 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						fa8333eddb 
					 
					
						
						
							
							Merge three copies of identical code to move the cursor x position into a  
						
						 
						
						... 
						
						
						
						single function, from Kalle Olavi Niemitalo. 
						
						
					 
					
						2009-07-12 16:12:34 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						22355ce947 
					 
					
						
						
							
							If it exist, load a system-wide configuration file /etc/tmux.conf before any  
						
						 
						
						... 
						
						
						
						user-specified one. 
						
						
					 
					
						2009-07-12 16:07:56 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						bd098c273b 
					 
					
						
						
							
							Limit the history to hlimit not hlimit - 1. This makes a history-limit setting  
						
						 
						
						... 
						
						
						
						of 0 work as expected. 
						
						
					 
					
						2009-07-11 20:11:18 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						e415ead361 
					 
					
						
						
							
							Add -r to the synopsis of the paste-buffer command, prompted by jmc.  
						
						 
						
						
						
						
					 
					
						2009-07-11 20:04:19 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						2f7198246e 
					 
					
						
						
							
							When pasting, translate \n into \r. This matches xterm and putty's behaviour,  
						
						 
						
						... 
						
						
						
						and makes emacs happy when pasting into some modes. A new -r (raw) flag to
paste-buffer pastes without the translation.
From Kalle Olavi Niemitalo, thanks! 
						
						
					 
					
						2009-07-11 19:14:56 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						289320a9b1 
					 
					
						
						
							
							Copy was using the real line length which after resize can be larger than the  
						
						 
						
						... 
						
						
						
						screen width. When built with -DDEBUG, this made the grid bounds checking code
kill the server. Restrict copying to the actual width.
From Kalle Olavi Niemitalo, thanks. 
						
						
					 
					
						2009-07-11 19:09:24 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						4cbbbddf22 
					 
					
						
						
							
							paste-buffer -d was not documented. From Kalle Olavi Niemitalo.  
						
						 
						
						
						
						
					 
					
						2009-07-10 19:01:40 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						9cd5ba40d3 
					 
					
						
						
							
							Redraw the status line after renaming a session (it may contain the name).  
						
						 
						
						
						
						
					 
					
						2009-07-10 17:34:51 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						4a6d62e401 
					 
					
						
						
							
							Don't send initialisation strings is1/2/3 (barely anything else does) and move  
						
						 
						
						... 
						
						
						
						smcup to the first and rmcup to the last sequences output to the terminal. This
allows tmux to use the alternate screen (smcup/rmcup) when available. 
						
						
					 
					
						2009-07-10 07:11:59 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						daa1faa905 
					 
					
						
						
							
							Add a default-terminal option to set the starting value of $TERM in new  
						
						 
						
						... 
						
						
						
						windows.
This is "screen" by default and must be either that or something closely
related. This does makes it easier to customise it if necessary. 
						
						
					 
					
						2009-07-10 05:50:54 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						25d5734496 
					 
					
						
						
							
							Document display-time option which seems to have been missed.  
						
						 
						
						
						
						
					 
					
						2009-07-10 05:43:01 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						58361eb965 
					 
					
						
						
							
							When the terminal size is reduced horizontally, don't truncate lines to the new  
						
						 
						
						... 
						
						
						
						width, so that if the same lines are later increased in size the content
reappears. 
						
						
					 
					
						2009-07-09 22:48:20 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5f2f07ed8a 
					 
					
						
						
							
							Cursor up and down should be limited by the scroll region (cuu should stop at  
						
						 
						
						... 
						
						
						
						the scroll region top if starting from below it and cud stop at the bottom if
starting from above). Fixes another vttest test. 
						
						
					 
					
						2009-07-09 17:57:11 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						81181bfb72 
					 
					
						
						
							
							New command, if-shell (alias if). Executes the tmux command in the second  
						
						 
						
						... 
						
						
						
						argument if the shell command in the first succeeds, for example:
       if "[ -e ~/.tmux.conf.alt ]" "source .tmux.conf.alt"
Written by Tiago Cunha, many thanks. 
						
						
					 
					
						2009-07-09 15:47:49 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						24e1327d0d 
					 
					
						
						
							
							Stop in the right place so all the lines selected are copied. Reported by Kalle  
						
						 
						
						... 
						
						
						
						Olavi Niemitalo, thanks. 
						
						
					 
					
						2009-07-09 15:02:00 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						29f9d5f335 
					 
					
						
						
							
							Don't leak FILE * on malloc failure. From ivoire at users dot sourceforge dot net.  
						
						 
						
						
						
						
					 
					
						2009-07-09 09:54:56 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						86c93c6e34 
					 
					
						
						
							
							Change inserting and deleting lines inside the scroll region to properly clear  
						
						 
						
						... 
						
						
						
						lines that should be inserted/deleted but not moved. Fixes problems with mutt
reported by Brian Lewis, thanks. 
						
						
					 
					
						2009-07-09 07:58:14 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						643c219d18 
					 
					
						
						
							
							Tidy by removing unused argument from grid_view_{insert,delete}_line_region  
						
						 
						
						... 
						
						
						
						functions (currently don't fully work, this is to make fix easier). 
						
						
					 
					
						2009-07-09 00:29:32 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						f63761eabc 
					 
					
						
						
							
							Fix two memory leaks when assigning shell variables in configuration  
						
						 
						
						... 
						
						
						
						file/command prompt. From Tiago Cunha. 
						
						
					 
					
						2009-07-08 16:04:56 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						8c497ecac0 
					 
					
						
						
							
							When reinitialising the screen, do not omit to clear the last line.  
						
						 
						
						
						
						
					 
					
						2009-07-08 05:56:11 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						084d07f4eb 
					 
					
						
						
							
							Just appending -l to $SHELL to create a login shell is wrong: -l is not POSIX,  
						
						 
						
						... 
						
						
						
						and some people may use shells which do not support it. Instead, make an empty
default-command option mean a login shell, and fork it with a - in argv[0]
which is the method used by login(1).
Also fix the automatic-rename code to handle this correctly and to strip a
leading - if present. 
						
						
					 
					
						2009-07-08 05:26:45 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						b4efd1ca89 
					 
					
						
						
							
							Don't let ambiguous commands override an exact alias match: eg if commands  
						
						 
						
						... 
						
						
						
						"abc-1", "abc-2", "abc-3" exist and "abc-3" has the alias "abc", "tmux abc"
should execute abc-3, not complain about the command being ambiguous.
Not a problem at the moment but will be soon. 
						
						
					 
					
						2009-07-07 21:23:22 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						923ccfa2e8 
					 
					
						
						
							
							Rename the global options variables to be shorter and to make session options  
						
						 
						
						... 
						
						
						
						clear. No functional change, getting this out of the way to make later options
changes easier. 
						
						
					 
					
						2009-07-07 19:49:19 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						474fdebb7a 
					 
					
						
						
							
							Handle empty or unset TERM correctly; also fix a fatal() message while here.  
						
						 
						
						
						
						
					 
					
						2009-07-07 17:24:32 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						9ced016cbc 
					 
					
						
						
							
							When sending a "protocol mismatch" error message, tell the client to exit  
						
						 
						
						... 
						
						
						
						afterwards, otherwise it hangs. 
						
						
					 
					
						2009-07-07 12:34:47 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						e538d4adae 
					 
					
						
						
							
							The fix for default-path (use target session options instead of global options)  
						
						 
						
						... 
						
						
						
						is required here as well, doh. 
						
						
					 
					
						2009-07-07 07:01:10 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						eb424cf63d 
					 
					
						
						
							
							Minor fix: look for default-path in the options for the specified session first  
						
						 
						
						... 
						
						
						
						rather than just the global options. From Brandon Mercer, thanks. 
						
						
					 
					
						2009-07-07 06:58:49 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						69e150b7e3 
					 
					
						
						
							
							Add a section summarising how options work, make the distinction between window  
						
						 
						
						... 
						
						
						
						and session options clearer, and fix the incorrect synopses and descriptions of
show-options and show-window-options. 
						
						
					 
					
						2009-07-06 19:50:04 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						fe5edad1fc 
					 
					
						
						
							
							Fix two copy/paste bugs: forbid zero-length buffers to prevent a fatal error  
						
						 
						
						... 
						
						
						
						when trying to paste them, found by me, and miscalculation of the start/end
causing random fatal errors when copying in copy-mode, reported by sthen.
ok sthen "put it in" deraadt 
						
						
					 
					
						2009-07-02 16:15:43 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						4c5c125173 
					 
					
						
						
							
							When unlocking the server, don't try to clear the prompt on clients without a  
						
						 
						
						... 
						
						
						
						prompt (such as the one issuing the unlock request).
This caused the server to die if the wrong password was entered when unlocking
from the command line with -U (nasty). 
						
						
					 
					
						2009-06-30 13:40:30 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						68e06fb6b7 
					 
					
						
						
							
							Fix two errors with character/line insertion and deletion: the maximum number  
						
						 
						
						... 
						
						
						
						of characters which may be inserted or deleted is the screen width, not one
less (and similarly for lines and height); and if characters or lines are
deleted by moving the ones that follow, the space at the end needs to be
cleared.
This appears to solve long-standing redraw issues most visible when using the
force-width option then scrolling in view(1) or unwrapping lines in emacs. 
						
						
					 
					
						2009-06-29 21:30:50 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						003e8e65f7 
					 
					
						
						
							
							Don't try to page up with scroll-mode -u or copy-mode -u unless the mode was  
						
						 
						
						... 
						
						
						
						successfully changed - if already in a different mode, it would corrupt the
mode data. 
						
						
					 
					
						2009-06-29 07:11:20 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						710393e388 
					 
					
						
						
							
							Use gmtime_r so the current time isn't overwritten, the minute comparison works  
						
						 
						
						... 
						
						
						
						and the clock is actually updated. It was already used for lock-server but not
here. 
						
						
					 
					
						2009-06-27 14:40:22 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						2660692fb1 
					 
					
						
						
							
							Copy the 256-colour flag into the tty saved cell as well as the actual colour,  
						
						 
						
						... 
						
						
						
						otherwise colour 8 isn't reset properly. 
						
						
					 
					
						2009-06-27 12:57:14 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						916669a244 
					 
					
						
						
							
							Add missing spaces before some alias closing brackets, otherwise they are  
						
						 
						
						... 
						
						
						
						shown in the wrong style. 
						
						
					 
					
						2009-06-26 22:47:06 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						46f80d01ff 
					 
					
						
						
							
							After logging (if enabled) is switched to file, there is no reason to keep  
						
						 
						
						... 
						
						
						
						stdin/stdout/stderr active, so dup them to /dev/null. 
						
						
					 
					
						2009-06-26 22:12:19 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						b11b1dd1c0 
					 
					
						
						
							
							Remove some unused function declarations; no binary change.  
						
						 
						
						
						
						
					 
					
						2009-06-26 19:44:36 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						1ec736a3dc 
					 
					
						
						
							
							Status line fixes: don't truncate status-right now the length calculation is  
						
						 
						
						... 
						
						
						
						done for UTF-8, limit to the maximum length correctly when printing, and always
print a space even if the left string is longer than the width available. 
						
						
					 
					
						2009-06-26 15:13:39 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						c506e7f711 
					 
					
						
						
							
							Also #ifndef nitems here, caught by Thomas Jeunet.  
						
						 
						
						
						
						
					 
					
						2009-06-26 10:55:37 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						eb8ab96980 
					 
					
						
						
							
							Remove some dead assignments, found by sthen with clang.  
						
						 
						
						
						
						
					 
					
						2009-06-25 22:09:20 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						e225ce0fd7 
					 
					
						
						
							
							#ifndef nitems to avoid redefining it if it is already in a header.  
						
						 
						
						
						
						
					 
					
						2009-06-25 22:08:15 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						e8c10f5b34 
					 
					
						
						
							
							Use the pane flags not the window flags. Doh.  
						
						 
						
						
						
						
					 
					
						2009-06-25 08:08:18 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Marc Espie 
							
						 
					 
					
						
						
							
						
						5050171f6b 
					 
					
						
						
							
							diagflags for diags  
						
						 
						
						... 
						
						
						
						okay nicm@ 
						
						
					 
					
						2009-06-25 07:42:41 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						dbbb297d5f 
					 
					
						
						
							
							If getcwd() fails, use the user's home directory, or /, instead of failing with  
						
						 
						
						... 
						
						
						
						an error. 
						
						
					 
					
						2009-06-25 06:54:32 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						be17ac1eb2 
					 
					
						
						
							
							lines variable can be -1 (to be ignored), so should be signed. Found by lint.  
						
						 
						
						
						
						
					 
					
						2009-06-25 06:48:23 +00:00