summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/character.c17
-rw-r--r--src/character.h2
-rw-r--r--src/regex.c2
3 files changed, 15 insertions, 6 deletions
diff --git a/src/character.c b/src/character.c
index 9f60aa718d..b19e41d660 100644
--- a/src/character.c
+++ b/src/character.c
@@ -983,17 +983,26 @@ alphabeticp (int c)
|| gen_cat == UNICODE_CATEGORY_Nl);
}
-/* Return true if C is a decimal-number character. */
+/* Return true if C is a alphabetic or decimal-number character. */
bool
-decimalnump (int c)
+alphanumericp (int c)
{
Lisp_Object category = CHAR_TABLE_REF (Vunicode_category_table, c);
if (! INTEGERP (category))
return false;
EMACS_INT gen_cat = XINT (category);
- /* See UTS #18. */
- return gen_cat == UNICODE_CATEGORY_Nd;
+ /* See UTS #18. Same comment as for alphabeticp applies. FIXME. */
+ return (gen_cat == UNICODE_CATEGORY_Lu
+ || gen_cat == UNICODE_CATEGORY_Ll
+ || gen_cat == UNICODE_CATEGORY_Lt
+ || gen_cat == UNICODE_CATEGORY_Lm
+ || gen_cat == UNICODE_CATEGORY_Lo
+ || gen_cat == UNICODE_CATEGORY_Mn
+ || gen_cat == UNICODE_CATEGORY_Mc
+ || gen_cat == UNICODE_CATEGORY_Me
+ || gen_cat == UNICODE_CATEGORY_Nl
+ || gen_cat == UNICODE_CATEGORY_Nd);
}
/* Return true if C is a graphic character. */
diff --git a/src/character.h b/src/character.h
index 7f01bc6a31..2cb76b0f2d 100644
--- a/src/character.h
+++ b/src/character.h
@@ -676,7 +676,7 @@ extern Lisp_Object Vchar_unify_table;
extern Lisp_Object string_escape_byte8 (Lisp_Object);
extern bool alphabeticp (int);
-extern bool decimalnump (int);
+extern bool alphanumericp (int);
extern bool graphicp (int);
extern bool printablep (int);
diff --git a/src/regex.c b/src/regex.c
index c808398cda..5f51b43e6c 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -324,7 +324,7 @@ enum syntaxcode { Swhitespace = 0, Sword = 1, Ssymbol = 2 };
? (((c) >= 'a' && (c) <= 'z') \
|| ((c) >= 'A' && (c) <= 'Z') \
|| ((c) >= '0' && (c) <= '9')) \
- : (alphabeticp (c) || decimalnump (c)))
+ : alphanumericp (c))
# define ISALPHA(c) (IS_REAL_ASCII (c) \
? (((c) >= 'a' && (c) <= 'z') \