swish/commit

Copied from upstream

authorJan Wielemaker
Wed Mar 16 11:02:46 2016 +0100
committerJan Wielemaker
Wed Mar 16 11:02:46 2016 +0100
commite07167a3607ad90ecadcbc9ccaadddbf43840495
treec0f326670a1f7d06ab665394656daa2c279b8a98
parentddc591acfa57f6c5ad58d53de9e5af887e02309e
Diff style: patch stat
diff --git a/lib/swish/search.pl b/lib/swish/search.pl
index 5e2236a..0bb0f8b 100644
--- a/lib/swish/search.pl
+++ b/lib/swish/search.pl
@@ -181,29 +181,13 @@ sow(Text, Offset) :-
 	Pre is Offset-1,
 	sub_atom(Text, Pre, 1, _, Before),
 	sub_atom(Text, Offset, 1, _, Start),
-	char_class(Start, Class),
-	\+ char_class(Before, Class).
-
-char_class(C, Class) :-
-	var(Class), !,
-	(   target_class(Class),
-	    char_type(C, Class)
-	->  true
-	;   Class = other
-	).
-char_class(C, Class) :-
-	(   target_class(Class)
-	->  char_type(C, Class)
-	;   \+ ( target_class(T),
-	         char_type(C, T)
-	       )
-	).
-
-target_class(lower).
-target_class(upper).
-target_class(digit).
-target_class(space).
-target_class(punct).
+	(   \+ char_type(Before, csym),
+	    char_type(Start, csym)
+	;   Before == '_',
+	    char_type(Start, csym)
+	;   char_type(Start, upper),
+	    char_type(Before, lower)
+	), !.
 
 %%	search(+Request)
 %