r2034 + fixed tag name regexp once more
authorDenis Ovsienko <infrastation@yandex.ru>
Sun, 6 Jul 2008 10:46:47 +0000 (10:46 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Sun, 6 Jul 2008 10:46:47 +0000 (10:46 +0000)
+ show the invalid character in the lex error message

inc/code.php
inc/config.php

index c841c91d297ec8ca9a480b49db3cf5011319cd3f..867bc66eb23f4dcb8f5a30bfd0631dfa839682bb 100644 (file)
@@ -20,8 +20,8 @@
 // Complain about martian char.
 function lexError1 ($state, $text, $pos)
 {
-       $message = "invalid char with code " . ord (mb_substr ($text, $pos, 1));
-       $message .= " at position ${pos} (FSM state is '${state}')";
+       $message = "invalid char with code " . ord (mb_substr ($text, $pos, 1)) . ' (';
+       $message .= mb_substr ($text, $pos, 1) . ") at position ${pos} (FSM state is '${state}')";
        return array ('result' => 'NAK', 'load' => $message);
 }
 
@@ -154,7 +154,7 @@ function getLexemsFromRackCode ($text)
                                                $ret[] = array ('type' => 'LEX_TAG', 'load' => $buffer);
                                                $newstate = 'ESOTSM';
                                                break;
-                                       case (mb_ereg ('[[:alnum:]\. _-~]', $char) > 0):
+                                       case (mb_ereg ('[[:alnum:]\. _~-]', $char) > 0):
                                                $buffer .= $char;
                                                break;
                                        default:
@@ -185,7 +185,7 @@ function getLexemsFromRackCode ($text)
                                                $ret[] = array ('type' => 'LEX_PREDICATE', 'load' => $buffer);
                                                $newstate = 'ESOTSM';
                                                break;
-                                       case (mb_ereg ('[[:alnum:]\. _-~]', $char) > 0):
+                                       case (mb_ereg ('[[:alnum:]\. _~-]', $char) > 0):
                                                $buffer .= $char;
                                                break;
                                        default:
index 99e287e458713eb2ca06f53a472455a2f6364022..e7087826e9766ef772497312e269199d656697b9 100644 (file)
@@ -17,8 +17,8 @@ define ('CODE_VERSION', '0.16.0');
 // in the database. I think, we are happy with this one forever.
 define ('PASSWORD_HASH', 'sha1');
 
-define ('TAGNAME_REGEXP', '^[[:alnum:]]([\. _-~]?[[:alnum:]])*$');
-define ('AUTOTAGNAME_REGEXP', '^\$[[:alnum:]]([\. _-~]?[[:alnum:]])*$');
+define ('TAGNAME_REGEXP', '^[[:alnum:]]([\. _~-]?[[:alnum:]])*$');
+define ('AUTOTAGNAME_REGEXP', '^\$[[:alnum:]]([\. _~-]?[[:alnum:]])*$');
 
 function getConfigVar ($varname = '')
 {