shithub: Nail

Download patch

ref: 3febe6162a4cad56122ed33975237973f9a42a6d
parent: 79eea36a98a8b69cef0c3c78ea2366237b3849f8
author: Ori Bernstein <ori@eigenstate.org>
date: Sat Nov 7 01:22:27 EST 2020

plumbing: return events to the right window

composition windows were returning events to
the main window, causing some quite odd effects.

--- a/comp.c
+++ b/comp.c
@@ -119,7 +119,7 @@
 			else if(matchmesg(&mbox, ev.text))
 				mesgopen(ev.text, nil);
 			else if(!(ev.flags & 0x2))
-				winreturn(&mbox, &ev);
+				winreturn(c, &ev);
 			free(a);
 			break;
 		case 'x':
@@ -132,7 +132,7 @@
 					break;
 				}
 			if(p->name == nil && !(ev.flags & 0x2))
-				winreturn(&mbox, &ev);
+				winreturn(c, &ev);
 			break;
 		break;
 		}
--- a/mail.h
+++ b/mail.h
@@ -133,6 +133,7 @@
 	Channel	*see;
 	Channel	*show;
 	Channel	*event;
+	Channel	*send;
 
 	int	view;
 	int	nopen;
--- a/mbox.c
+++ b/mbox.c
@@ -710,7 +710,6 @@
 	switch(ev->type){
 	case 'l':
 	case 'L':
-		print("event: %s\n", ev->text);
 		if((a = matchaddr(&mbox, ev)) != nil)
 			compose(a, nil, 0, 0);
 		else if(matchmesg(&mbox, ev->text))