0ca746433cc9502366d8af6cd907b835e6daf8cb
diff --git a/lib/widgets/ephy-location-entry.c b/lib/widgets/ephy-location-entry.c
index 3a2b106..0f9f8f2 100644
--- a/lib/widgets/ephy-location-entry.c
+++ b/lib/widgets/ephy-location-entry.c
@@ -1008,8 +1008,16 @@ extracell_data_func (GtkCellLayout *cell_layout,
 	char *cdata;
 	GValue visible = { 0, };
 	GValue text = { 0, };
+
+	PangoAttrList *list;
+	PangoAttribute *att;
+	GMatchInfo *match;
+	int start, end;
+	EphyLocationEntryPrivate *priv;
+
+	priv = EPHY_LOCATION_ENTRY (data)->priv;
 	
-	gtk_tree_model_get (tree_model, iter, GPOINTER_TO_UINT(data), &cdata, -1);
+	gtk_tree_model_get (tree_model, iter, priv->extra_col, &cdata, -1);
 
 	g_value_init (&text, G_TYPE_STRING);
 	g_value_init (&visible, G_TYPE_BOOLEAN);
@@ -1020,6 +1028,32 @@ extracell_data_func (GtkCellLayout *cell_layout,
 	g_object_set_property (G_OBJECT (cell), "text", &text);
 	g_object_set_property (G_OBJECT (cell), "visible", &visible);
 	
+
+	list = pango_attr_list_new ();
+
+    if (cdata) 
+    {
+        g_regex_match (priv->regex, cdata, G_REGEX_MATCH_NOTEMPTY, &match);
+
+        while (g_match_info_matches (match)) {
+            g_match_info_fetch_pos (match, 0, &start, &end);
+
+            att = pango_attr_weight_new(PANGO_WEIGHT_BOLD);
+            att->start_index = start;
+            att->end_index = end;
+
+            pango_attr_list_insert (list, att);
+            g_match_info_next (match, NULL);
+        }
+
+        g_object_set (G_OBJECT (cell), 
+                "attributes", list,
+                NULL);
+
+        pango_attr_list_unref (list);
+        g_match_info_free (match);
+    }
+	
 	g_value_unset (&text);
 	g_value_unset (&visible);
 }
@@ -1146,7 +1180,7 @@ ephy_location_entry_set_completion (EphyLocationEntry *le,
 	
 	gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (completion),
 					le->priv->extracell, extracell_data_func, 
-					GUINT_TO_POINTER (extra_col),
+					le,
 					NULL);
 
 	gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (completion),
diff --git a/src/ephy-location-action.c b/src/ephy-location-action.c
index d5f290d..c54e5d5 100644
--- a/src/ephy-location-action.c
+++ b/src/ephy-location-action.c
@@ -106,6 +106,7 @@ match_func (GtkEntryCompletion *completion,
 	char *item = NULL;
 	char *url = NULL;
 	char *keywords = NULL;
+	char *extra = NULL;
 
 	gboolean ret = FALSE;
 	EphyLocationActionPrivate *priv;
@@ -120,8 +121,9 @@ match_func (GtkEntryCompletion *completion,
 			    EPHY_COMPLETION_TEXT_COL, &item,
 			    EPHY_COMPLETION_URL_COL, &url,
 			    EPHY_COMPLETION_KEYWORDS_COL, &keywords,
+                EPHY_COMPLETION_EXTRA_COL, &extra,
 			    -1);
-	
+
 	if (!key)
 		return FALSE;
 	
@@ -129,12 +131,14 @@ match_func (GtkEntryCompletion *completion,
 	
 	ret = (g_regex_match (regex, item, G_REGEX_MATCH_NOTEMPTY, NULL)
 		|| g_regex_match (regex, url, G_REGEX_MATCH_NOTEMPTY, NULL)
+		|| (extra && g_regex_match (regex, extra, G_REGEX_MATCH_NOTEMPTY, NULL))
 		|| g_regex_match (regex, keywords, G_REGEX_MATCH_NOTEMPTY, NULL)
 		);
 
 	g_free (item);
 	g_free (url);
 	g_free (keywords);
+	g_free (extra);
 
 	return ret;
 }
