mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Notify when a paste buffer is deleted, GitHub issue 3302 from George
Nachman.
This commit is contained in:
		
							
								
								
									
										11
									
								
								paste.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								paste.c
									
									
									
									
									
								
							@@ -151,6 +151,8 @@ paste_get_name(const char *name)
 | 
			
		||||
void
 | 
			
		||||
paste_free(struct paste_buffer *pb)
 | 
			
		||||
{
 | 
			
		||||
	notify_paste_buffer(pb->name);
 | 
			
		||||
 | 
			
		||||
	RB_REMOVE(paste_name_tree, &paste_by_name, pb);
 | 
			
		||||
	RB_REMOVE(paste_time_tree, &paste_by_time, pb);
 | 
			
		||||
	if (pb->automatic)
 | 
			
		||||
@@ -207,6 +209,8 @@ paste_add(const char *prefix, char *data, size_t size)
 | 
			
		||||
	pb->order = paste_next_order++;
 | 
			
		||||
	RB_INSERT(paste_name_tree, &paste_by_name, pb);
 | 
			
		||||
	RB_INSERT(paste_time_tree, &paste_by_time, pb);
 | 
			
		||||
 | 
			
		||||
	notify_paste_buffer(pb->name);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Rename a paste buffer. */
 | 
			
		||||
@@ -254,6 +258,9 @@ paste_rename(const char *oldname, const char *newname, char **cause)
 | 
			
		||||
 | 
			
		||||
	RB_INSERT(paste_name_tree, &paste_by_name, pb);
 | 
			
		||||
 | 
			
		||||
	notify_paste_buffer(oldname);
 | 
			
		||||
	notify_paste_buffer(newname);
 | 
			
		||||
 | 
			
		||||
	return (0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -302,6 +309,8 @@ paste_set(char *data, size_t size, const char *name, char **cause)
 | 
			
		||||
	RB_INSERT(paste_name_tree, &paste_by_name, pb);
 | 
			
		||||
	RB_INSERT(paste_time_tree, &paste_by_time, pb);
 | 
			
		||||
 | 
			
		||||
	notify_paste_buffer(name);
 | 
			
		||||
 | 
			
		||||
	return (0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -312,6 +321,8 @@ paste_replace(struct paste_buffer *pb, char *data, size_t size)
 | 
			
		||||
	free(pb->data);
 | 
			
		||||
	pb->data = data;
 | 
			
		||||
	pb->size = size;
 | 
			
		||||
 | 
			
		||||
	notify_paste_buffer(pb->name);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Convert start of buffer into a nice string. */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user