summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorTingPing <TingPing@users.noreply.github.com>2013-08-15 21:36:35 -0700
committerTingPing <TingPing@users.noreply.github.com>2013-08-15 21:36:35 -0700
commita3ab5edc5980d77ce269c7252db3864b1cf3c5ce (patch)
tree85a37761a76d30bdc1bb6519e0e5ce359716ecd3
parent8fbcddd2cd6e2d362245ca6a6a58c2bbffd3dc8a (diff)
parent73d63ca3da0067bfdef7e6c5458029ceaf5dfa98 (diff)
Merge pull request #718 from Farow/pull
Channel url improvements
-rw-r--r--src/common/url.c4
-rw-r--r--src/fe-gtk/maingui.c2
-rw-r--r--src/fe-gtk/xtext.c2
3 files changed, 6 insertions, 2 deletions
diff --git a/src/common/url.c b/src/common/url.c
index 1cdfdce7..57d8d88b 100644
--- a/src/common/url.c
+++ b/src/common/url.c
@@ -627,7 +627,7 @@ re_email (void)
 /* Rationale is that do_an_re() above will anyway look up what */
 /* we find, and that WORD_NICK is the last item in the array */
 /* that do_an_re() runs through. */
-#define NICK0 "[" NICKPRE "]?[" NICKLET NICKDIG NICKSPE "]"
+#define NICK0 "^[" NICKPRE "]?[" NICKLET NICKDIG NICKSPE "]"
 #endif
 #define NICK1 "[" NICKHYP NICKLET NICKDIG NICKSPE "]*"
 #define NICK	NICK0 NICK1
@@ -650,7 +650,7 @@ re_nick (void)
 }
 
 /*	CHANNEL description --- */
-#define CHANNEL "[" CHANPRE "][^ \t\a,:]+"
+#define CHANNEL "[" CHANPRE "][^ \t\a,]+(?:,[" CHANPRE "][^ \t\a,]+)*"
 
 static const GRegex *
 re_channel (void)
diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c
index 84df4b96..17dc4e75 100644
--- a/src/fe-gtk/maingui.c
+++ b/src/fe-gtk/maingui.c
@@ -2306,6 +2306,8 @@ mg_word_clicked (GtkWidget *xtext, char *word, GdkEventButton *even)
 		menu_nickmenu (sess, even, word, FALSE);
 		break;
 	case WORD_CHANNEL:
+		word[end] = 0;
+		word += start;
 		menu_chanmenu (sess, even, word);
 		break;
 	case WORD_EMAIL:
diff --git a/src/fe-gtk/xtext.c b/src/fe-gtk/xtext.c
index 7582f82c..8a9b596a 100644
--- a/src/fe-gtk/xtext.c
+++ b/src/fe-gtk/xtext.c
@@ -2139,6 +2139,7 @@ gtk_xtext_motion_notify (GtkWidget * widget, GdkEventMotion * event)
 			{
 				gdk_window_set_cursor (GTK_WIDGET (xtext)->window,
 										  		xtext->resize_cursor);
+				xtext->cursor_hand = FALSE;
 				xtext->cursor_resize = TRUE;
 			}
 			return FALSE;
@@ -2161,6 +2162,7 @@ gtk_xtext_motion_notify (GtkWidget * widget, GdkEventMotion * event)
 				gdk_window_set_cursor (GTK_WIDGET (xtext)->window,
 										  		xtext->hand_cursor);
 				xtext->cursor_hand = TRUE;
+				xtext->cursor_resize = FALSE;
 			}
 
 			/* un-render the old hilight */