Mercurial > hg > xemacs-beta
comparison tests/automated/regexp-tests.el @ 5648:3f4a234f4672
Support non-ASCII correctly in character classes, test this.
src/ChangeLog addition:
2012-04-21 Aidan Kehoe <kehoea@parhasard.net>
Support non-ASCII correctly in character classes ([:alnum:] and
friends).
* regex.c:
* regex.c (ISBLANK, ISUNIBYTE): New. Make these and friends
independent of the locale, since we want them to be consistent in
XEmacs.
* regex.c (print_partial_compiled_pattern): Print the flags for
charset_mule; don't print non-ASCII as the character values in
ranges, this breaks with locales.
* regex.c (enum):
Define various flags the charset_mule and charset_mule_not opcodes
can now take.
* regex.c (CHAR_CLASS_MAX_LENGTH): Update this.
* regex.c (re_iswctype, re_wctype): New, from GNU.
* regex.c (re_wctype_can_match_non_ascii): New; used when deciding
on whether to use charset_mule or the ASCII-only regex character
set opcode.
* regex.c (regex_compile):
Error correctly on long, non-existent character class names.
Break out the handling of charsets that can match non-ASCII into a
separate clause. Use compile_char_class when compiling character
classes.
* regex.c (compile_char_class): New. Used in regex_compile when
compiling character sets that may match non-ASCII.
* regex.c (re_compile_fastmap):
If there are flags set for charset_mule or charset_mule_not, we
can't use the fastmap (since we need to check syntax table values
that aren't available there).
* regex.c (re_match_2_internal):
Check the new flags passed to the charset_mule{,_not} opcode,
observe them if appropriate.
* regex.h:
* regex.h (enum):
Expose re_wctype_t here, imported from GNU.
tests/ChangeLog addition:
2012-04-21 Aidan Kehoe <kehoea@parhasard.net>
* automated/regexp-tests.el:
* automated/regexp-tests.el (Assert-char-class):
Check that #'string-match errors correctly with an over-long
character class name.
Add tests for character class functionality that supports
non-ASCII characters. These tests expose bugs in GNU Emacs
24.0.94.2, but pass under current XEmacs.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 21 Apr 2012 18:58:28 +0100 |
parents | 1d9f603e9125 |
children | d026b665014f |
comparison
equal
deleted
inserted
replaced
5647:1d9f603e9125 | 5648:3f4a234f4672 |
---|---|
596 (Assert (eql (string-match "[\x7f\x80\x9f]" "\x80") 0)) | 596 (Assert (eql (string-match "[\x7f\x80\x9f]" "\x80") 0)) |
597 (Assert (eql (string-match "[\x7e\x80-\x9f]" "\x80") 0)) | 597 (Assert (eql (string-match "[\x7e\x80-\x9f]" "\x80") 0)) |
598 (Assert (eql (string-match "[\x7f\x81-\x9f]" "\x81") 0)) | 598 (Assert (eql (string-match "[\x7f\x81-\x9f]" "\x81") 0)) |
599 | 599 |
600 ;; Test character classes | 600 ;; Test character classes |
601 | |
602 ;; This used not to error: | |
603 (Check-Error-Message invalid-regexp "Invalid character class name" | |
604 (string-match "[[:alnum12345:]]" "a")) | |
605 ;; This alwayed errored, as long as character classes were turned on | |
606 (Check-Error-Message invalid-regexp "Invalid character class name" | |
607 (string-match "[[:alnum1234:]]" "a")) | |
608 | |
601 (macrolet | 609 (macrolet |
602 ((Assert-char-class (class matching-char non-matching-char) | 610 ((Assert-char-class (class matching-char non-matching-char) |
603 (if (and (not (featurep 'mule)) | 611 (if (and (not (featurep 'mule)) |
604 (or (eq (car-safe matching-char) 'decode-char) | 612 (or (eq (car-safe matching-char) 'decode-char) |
605 (eq (car-safe non-matching-char) 'decode-char))) | 613 (eq (car-safe non-matching-char) 'decode-char))) |
646 (Assert (null (string-match ,(concat "[^" class "]") | 654 (Assert (null (string-match ,(concat "[^" class "]") |
647 ,(string matching-char)))) | 655 ,(string matching-char)))) |
648 (Assert (null (string-match ,(concat "[^" class | 656 (Assert (null (string-match ,(concat "[^" class |
649 (string non-matching-char) "]") | 657 (string non-matching-char) "]") |
650 ,(concat (string matching-char) | 658 ,(concat (string matching-char) |
651 (string non-matching-char)))))))) | 659 (string non-matching-char))))))) |
660 (Assert-never-matching (class &rest characters) | |
661 (cons | |
662 'progn | |
663 (mapcan #'(lambda (character) | |
664 (if (or (not (eq 'decode-char (car-safe character))) | |
665 (featurep 'mule)) | |
666 `((Assert (null (string-match | |
667 ,(concat "[" class "]") | |
668 ,(string (eval character))))) | |
669 (Assert (eql (string-match | |
670 ,(concat "[^" class "]") | |
671 ,(string (eval character))) | |
672 0))))) | |
673 characters)))) | |
652 (Assert-char-class "[:alpha:]" ?a ?0) | 674 (Assert-char-class "[:alpha:]" ?a ?0) |
653 (Assert-char-class "[:alpha:]" ?z ?9) | 675 (Assert-char-class "[:alpha:]" ?z ?9) |
654 (Assert-char-class "[:alpha:]" ?A ?0) | 676 (Assert-char-class "[:alpha:]" ?A ?0) |
655 (Assert-char-class "[:alpha:]" ?Z ?9) | 677 (Assert-char-class "[:alpha:]" ?Z ?9) |
656 (Assert-char-class "[:alpha:]" ?b ?\x00) | 678 (Assert-char-class "[:alpha:]" ?b ?\x00) |
657 (Assert-char-class "[:alpha:]" ?c ?\x09) | 679 (Assert-char-class "[:alpha:]" ?c ?\x09) |
658 (Assert-char-class "[:alpha:]" ?d ?\ ) | 680 (Assert-char-class "[:alpha:]" ?d ?\ ) |
659 (Assert-char-class "[:alpha:]" ?e ?\x7f) | 681 (Assert-char-class "[:alpha:]" ?e ?\x7f) |
682 (Assert-char-class | |
683 "[:alpha:]" | |
684 (decode-char 'ucs #x0430) ;; CYRILLIC SMALL LETTER A | |
685 (decode-char 'ucs #x2116)) ;; NUMERO SIGN | |
686 (Assert-char-class | |
687 "[:alpha:]" | |
688 (decode-char 'ucs #x0410) ;; CYRILLIC CAPITAL LETTER A | |
689 ?\x02) | |
690 (Assert-char-class | |
691 "[:alpha:]" | |
692 (decode-char 'ucs #x03B2) ;; GREEK SMALL LETTER BETA | |
693 (decode-char 'ucs #x0385)) ;; GREEK DIALYTIKA TONOS | |
660 | 694 |
661 (Assert-char-class "[:alnum:]" ?a ?.) | 695 (Assert-char-class "[:alnum:]" ?a ?.) |
662 (Assert-char-class "[:alnum:]" ?z ?') | 696 (Assert-char-class "[:alnum:]" ?z ?') |
663 (Assert-char-class "[:alnum:]" ?A ?/) | 697 (Assert-char-class "[:alnum:]" ?A ?/) |
664 (Assert-char-class "[:alnum:]" ?Z ?!) | 698 (Assert-char-class "[:alnum:]" ?Z ?!) |
665 (Assert-char-class "[:alnum:]" ?0 ?,) | 699 (Assert-char-class "[:alnum:]" ?0 ?,) |
666 (Assert-char-class "[:alnum:]" ?9 ?$) | 700 (Assert-char-class "[:alnum:]" ?9 ?$) |
667 | |
668 (Assert-char-class "[:alnum:]" ?b ?\x00) | 701 (Assert-char-class "[:alnum:]" ?b ?\x00) |
669 (Assert-char-class "[:alnum:]" ?c ?\x09) | 702 (Assert-char-class "[:alnum:]" ?c ?\x09) |
670 (Assert-char-class "[:alnum:]" ?d ?\ ) | 703 (Assert-char-class "[:alnum:]" ?d ?\ ) |
671 (Assert-char-class "[:alnum:]" ?e ?\x7f) | 704 (Assert-char-class "[:alnum:]" ?e ?\x7f) |
705 (Assert-char-class | |
706 "[:alnum:]" | |
707 (decode-char 'ucs #x0430) ;; CYRILLIC SMALL LETTER A | |
708 (decode-char 'ucs #x2116)) ;; NUMERO SIGN | |
709 (Assert-char-class | |
710 "[:alnum:]" | |
711 (decode-char 'ucs #x0410) ;; CYRILLIC CAPITAL LETTER A | |
712 ?\x02) | |
713 (Assert-char-class | |
714 "[:alnum:]" | |
715 (decode-char 'ucs #x03B2) ;; GREEK SMALL LETTER BETA | |
716 (decode-char 'ucs #x0385)) ;; GREEK DIALYTIKA TONOS | |
717 | |
718 ;; Word is equivalent to alnum in this implementation. | |
719 (Assert-char-class "[:word:]" ?a ?.) | |
720 (Assert-char-class "[:word:]" ?z ?') | |
721 (Assert-char-class "[:word:]" ?A ?/) | |
722 (Assert-char-class "[:word:]" ?Z ?!) | |
723 (Assert-char-class "[:word:]" ?0 ?,) | |
724 (Assert-char-class "[:word:]" ?9 ?$) | |
725 (Assert-char-class "[:word:]" ?b ?\x00) | |
726 (Assert-char-class "[:word:]" ?c ?\x09) | |
727 (Assert-char-class "[:word:]" ?d ?\ ) | |
728 (Assert-char-class "[:word:]" ?e ?\x7f) | |
729 (Assert-char-class | |
730 "[:word:]" | |
731 (decode-char 'ucs #x0430) ;; CYRILLIC SMALL LETTER A | |
732 (decode-char 'ucs #x2116)) ;; NUMERO SIGN | |
733 (Assert-char-class | |
734 "[:word:]" | |
735 (decode-char 'ucs #x0410) ;; CYRILLIC CAPITAL LETTER A | |
736 ?\x02) | |
737 (Assert-char-class | |
738 "[:word:]" | |
739 (decode-char 'ucs #x03B2) ;; GREEK SMALL LETTER BETA | |
740 (decode-char 'ucs #x0385)) ;; GREEK DIALYTIKA TONOS | |
672 | 741 |
673 (let ((case-fold-search nil)) | 742 (let ((case-fold-search nil)) |
674 (Assert-char-class "[:upper:]" ?A ?a) | 743 (Assert-char-class "[:upper:]" ?A ?a) |
675 (Assert-char-class "[:upper:]" ?Z ?z) | 744 (Assert-char-class "[:upper:]" ?Z ?z) |
676 (Assert-char-class "[:upper:]" ?B ?0) | 745 (Assert-char-class "[:upper:]" ?B ?0) |
677 (Assert-char-class "[:upper:]" ?C ?9) | 746 (Assert-char-class "[:upper:]" ?C ?9) |
678 (Assert-char-class "[:upper:]" ?D ?\x00) | 747 (Assert-char-class "[:upper:]" ?D ?\x00) |
679 (Assert-char-class "[:upper:]" ?E ?\x09) | 748 (Assert-char-class "[:upper:]" ?E ?\x09) |
680 (Assert-char-class "[:upper:]" ?F ?\ ) | 749 (Assert-char-class "[:upper:]" ?F ?\ ) |
681 (Assert-char-class "[:upper:]" ?G ?\x7f) | 750 (Assert-char-class "[:upper:]" ?G ?\x7f) |
751 (Assert-char-class | |
752 "[:upper:]" | |
753 (decode-char 'ucs #x0410) ;; CYRILLIC CAPITAL LETTER A | |
754 (decode-char 'ucs #x0686)) ;; ARABIC LETTER TCHEH | |
755 (Assert-char-class | |
756 "[:upper:]" | |
757 (decode-char 'ucs #x0392) ;; GREEK CAPITAL LETTER BETA | |
758 (decode-char 'ucs #x5357)) ;; kDefinition south; southern part; southward | |
682 | 759 |
683 (Assert-char-class "[:lower:]" ?a ?A) | 760 (Assert-char-class "[:lower:]" ?a ?A) |
684 (Assert-char-class "[:lower:]" ?z ?Z) | 761 (Assert-char-class "[:lower:]" ?z ?Z) |
685 (Assert-char-class "[:lower:]" ?b ?0) | 762 (Assert-char-class "[:lower:]" ?b ?0) |
686 (Assert-char-class "[:lower:]" ?c ?9) | 763 (Assert-char-class "[:lower:]" ?c ?9) |
687 (Assert-char-class "[:lower:]" ?d ?\x00) | 764 (Assert-char-class "[:lower:]" ?d ?\x00) |
688 (Assert-char-class "[:lower:]" ?e ?\x09) | 765 (Assert-char-class "[:lower:]" ?e ?\x09) |
689 (Assert-char-class "[:lower:]" ?f ? ) | 766 (Assert-char-class "[:lower:]" ?f ? ) |
690 (Assert-char-class "[:lower:]" ?g ?\x7f)) | 767 (Assert-char-class "[:lower:]" ?g ?\x7f) |
768 (Assert-char-class | |
769 "[:lower:]" | |
770 (decode-char 'ucs #x0430) ;; CYRILLIC SMALL LETTER A | |
771 (decode-char 'ucs #x0686)) ;; ARABIC LETTER TCHEH | |
772 (Assert-char-class | |
773 "[:lower:]" | |
774 (decode-char 'ucs #x03B2) ;; GREEK SMALL LETTER BETA | |
775 (decode-char 'ucs #x5357)));; kDefinition south; southern part; southward | |
691 | 776 |
692 (let ((case-fold-search t)) | 777 (let ((case-fold-search t)) |
693 ;; These currently fail, because we don't take into account the buffer's | |
694 ;; case table. | |
695 (Assert-char-class "[:upper:]" ?a ?\x00) | 778 (Assert-char-class "[:upper:]" ?a ?\x00) |
696 (Assert-char-class "[:upper:]" ?z ?\x01) | 779 (Assert-char-class "[:upper:]" ?z ?\x01) |
697 (Assert-char-class "[:upper:]" ?b ?{) | 780 (Assert-char-class "[:upper:]" ?b ?{) |
698 (Assert-char-class "[:upper:]" ?c ?}) | 781 (Assert-char-class "[:upper:]" ?c ?}) |
699 (Assert-char-class "[:upper:]" ?d ?<) | 782 (Assert-char-class "[:upper:]" ?d ?<) |
700 (Assert-char-class "[:upper:]" ?e ?>) | 783 (Assert-char-class "[:upper:]" ?e ?>) |
701 (Assert-char-class "[:upper:]" ?f ?\ ) | 784 (Assert-char-class "[:upper:]" ?f ?\ ) |
702 (Assert-char-class "[:upper:]" ?g ?\x7f) | 785 (Assert-char-class "[:upper:]" ?g ?\x7f) |
703 | 786 (Assert-char-class |
787 "[:upper:]" | |
788 (decode-char 'ucs #x0430) ;; CYRILLIC SMALL LETTER A | |
789 (decode-char 'ucs #x0686)) ;; ARABIC LETTER TCHEH | |
790 (Assert-char-class | |
791 "[:upper:]" | |
792 (decode-char 'ucs #x03B2) ;; GREEK SMALL LETTER BETA | |
793 (decode-char 'ucs #x5357)) ;; kDefinition south; southern part; southward | |
704 (Assert-char-class "[:lower:]" ?A ?\x00) | 794 (Assert-char-class "[:lower:]" ?A ?\x00) |
705 (Assert-char-class "[:lower:]" ?Z ?\x01) | 795 (Assert-char-class "[:lower:]" ?Z ?\x01) |
706 (Assert-char-class "[:lower:]" ?B ?{) | 796 (Assert-char-class "[:lower:]" ?B ?{) |
707 (Assert-char-class "[:lower:]" ?C ?}) | 797 (Assert-char-class "[:lower:]" ?C ?}) |
708 (Assert-char-class "[:lower:]" ?D ?<) | 798 (Assert-char-class "[:lower:]" ?D ?<) |
709 (Assert-char-class "[:lower:]" ?E ?>) | 799 (Assert-char-class "[:lower:]" ?E ?>) |
710 (Assert-char-class "[:lower:]" ?F ?\ ) | 800 (Assert-char-class "[:lower:]" ?F ?\ ) |
711 (Assert-char-class "[:lower:]" ?G ?\x7F)) | 801 (Assert-char-class "[:lower:]" ?G ?\x7F) |
802 (Assert-char-class | |
803 "[:lower:]" | |
804 (decode-char 'ucs #x0410) ;; CYRILLIC CAPITAL LETTER A | |
805 (decode-char 'ucs #x0686)) ;; ARABIC LETTER TCHEH | |
806 (Assert-char-class | |
807 "[:lower:]" | |
808 (decode-char 'ucs #x0392) ;; GREEK CAPITAL LETTER BETA | |
809 (decode-char 'ucs #x5357)));; kDefinition south; southern part; southward | |
712 | 810 |
713 (Assert-char-class "[:digit:]" ?0 ?a) | 811 (Assert-char-class "[:digit:]" ?0 ?a) |
714 (Assert-char-class "[:digit:]" ?9 ?z) | 812 (Assert-char-class "[:digit:]" ?9 ?z) |
715 (Assert-char-class "[:digit:]" ?1 ?A) | 813 (Assert-char-class "[:digit:]" ?1 ?A) |
716 (Assert-char-class "[:digit:]" ?2 ?Z) | 814 (Assert-char-class "[:digit:]" ?2 ?Z) |
717 (Assert-char-class "[:digit:]" ?3 ?\x00) | 815 (Assert-char-class "[:digit:]" ?3 ?\x00) |
718 (Assert-char-class "[:digit:]" ?4 ?\x09) | 816 (Assert-char-class "[:digit:]" ?4 ?\x09) |
719 (Assert-char-class "[:digit:]" ?5 ? ) | 817 (Assert-char-class "[:digit:]" ?5 ? ) |
720 (Assert-char-class "[:digit:]" ?6 ?\x7f) | 818 (Assert-char-class "[:digit:]" ?6 ?\x7f) |
819 (Assert-char-class | |
820 "[:digit:]" ?7 | |
821 (decode-char 'ucs #x0385)) ;; GREEK DIALYTIKA TONOS | |
822 (Assert-char-class | |
823 "[:digit:]" ?8 | |
824 (decode-char 'ucs #x0392)) ;; GREEK CAPITAL LETTER BETA | |
825 (Assert-char-class | |
826 "[:digit:]" ?9 | |
827 (decode-char 'ucs #x03B2)) ;; GREEK SMALL LETTER BETA | |
828 (Assert-char-class | |
829 "[:digit:]" ?0 | |
830 (decode-char 'ucs #x0410)) ;; CYRILLIC CAPITAL LETTER A | |
831 (Assert-char-class | |
832 "[:digit:]" ?1 | |
833 (decode-char 'ucs #x0430)) ;; CYRILLIC SMALL LETTER A | |
834 (Assert-char-class | |
835 "[:digit:]" ?2 | |
836 (decode-char 'ucs #x0686)) ;; ARABIC LETTER TCHEH | |
837 (Assert-char-class | |
838 "[:digit:]" ?3 | |
839 (decode-char 'ucs #x2116)) ;; NUMERO SIGN | |
840 (Assert-char-class | |
841 "[:digit:]" ?4 | |
842 (decode-char 'ucs #x5357)) ;; kDefinition south; southern part; southward | |
721 | 843 |
722 (Assert-char-class "[:xdigit:]" ?0 ?g) | 844 (Assert-char-class "[:xdigit:]" ?0 ?g) |
723 (Assert-char-class "[:xdigit:]" ?9 ?G) | 845 (Assert-char-class "[:xdigit:]" ?9 ?G) |
724 (Assert-char-class "[:xdigit:]" ?A ?{) | 846 (Assert-char-class "[:xdigit:]" ?A ?{) |
725 (Assert-char-class "[:xdigit:]" ?a ?}) | 847 (Assert-char-class "[:xdigit:]" ?a ?}) |
727 (Assert-char-class "[:xdigit:]" ?2 ?Z) | 849 (Assert-char-class "[:xdigit:]" ?2 ?Z) |
728 (Assert-char-class "[:xdigit:]" ?3 ?\x00) | 850 (Assert-char-class "[:xdigit:]" ?3 ?\x00) |
729 (Assert-char-class "[:xdigit:]" ?4 ?\x09) | 851 (Assert-char-class "[:xdigit:]" ?4 ?\x09) |
730 (Assert-char-class "[:xdigit:]" ?5 ?\x7f) | 852 (Assert-char-class "[:xdigit:]" ?5 ?\x7f) |
731 (Assert-char-class "[:xdigit:]" ?6 ?z) | 853 (Assert-char-class "[:xdigit:]" ?6 ?z) |
854 (Assert-char-class | |
855 "[:xdigit:]" ?7 | |
856 (decode-char 'ucs #x0385)) ;; GREEK DIALYTIKA TONOS | |
857 (Assert-char-class | |
858 "[:xdigit:]" ?8 | |
859 (decode-char 'ucs #x0392)) ;; GREEK CAPITAL LETTER BETA | |
860 (Assert-char-class | |
861 "[:xdigit:]" ?9 | |
862 (decode-char 'ucs #x03B2)) ;; GREEK SMALL LETTER BETA | |
863 (Assert-char-class | |
864 "[:xdigit:]" ?a | |
865 (decode-char 'ucs #x0410)) ;; CYRILLIC CAPITAL LETTER A | |
866 (Assert-char-class | |
867 "[:xdigit:]" ?B | |
868 (decode-char 'ucs #x0430)) ;; CYRILLIC SMALL LETTER A | |
869 (Assert-char-class | |
870 "[:xdigit:]" ?c | |
871 (decode-char 'ucs #x0686)) ;; ARABIC LETTER TCHEH | |
872 (Assert-char-class | |
873 "[:xdigit:]" ?D | |
874 (decode-char 'ucs #x2116)) ;; NUMERO SIGN | |
875 (Assert-char-class | |
876 "[:xdigit:]" ?e | |
877 (decode-char 'ucs #x5357)) ;; kDefinition south; southern part; southward | |
732 | 878 |
733 (Assert-char-class "[:space:]" ?\ ?0) | 879 (Assert-char-class "[:space:]" ?\ ?0) |
734 (Assert-char-class "[:space:]" ?\t ?9) | 880 (Assert-char-class "[:space:]" ?\t ?9) |
735 (Assert-char-class "[:space:]" ?\ ?A) | 881 (Assert-char-class "[:space:]" ?\ ?A) |
736 (Assert-char-class "[:space:]" ?\t ?Z) | 882 (Assert-char-class "[:space:]" ?\t ?Z) |
737 (Assert-char-class "[:space:]" ?\ ?\x00) | 883 (Assert-char-class "[:space:]" ?\ ?\x00) |
738 (Assert-char-class "[:space:]" ?\ ?\x7f) | 884 (Assert-char-class "[:space:]" ?\ ?\x7f) |
739 (Assert-char-class "[:space:]" ?\t ?a) | 885 (Assert-char-class "[:space:]" ?\t ?a) |
740 (Assert-char-class "[:space:]" ?\ ?z) | 886 (Assert-char-class "[:space:]" ?\ ?z) |
887 (Assert-char-class | |
888 "[:space:]" ?\ | |
889 (decode-char 'ucs #x0385)) ;; GREEK DIALYTIKA TONOS | |
890 (Assert-char-class | |
891 "[:space:]" ?\t | |
892 (decode-char 'ucs #x0392)) ;; GREEK CAPITAL LETTER BETA | |
893 (Assert-char-class | |
894 "[:space:]" ?\ | |
895 (decode-char 'ucs #x03B2)) ;; GREEK SMALL LETTER BETA | |
896 (Assert-char-class | |
897 "[:space:]" ?\t | |
898 (decode-char 'ucs #x0410)) ;; CYRILLIC CAPITAL LETTER A | |
899 (Assert-char-class | |
900 "[:space:]" ?\ | |
901 (decode-char 'ucs #x0430)) ;; CYRILLIC SMALL LETTER A | |
902 (Assert-char-class | |
903 "[:space:]" ?\t | |
904 (decode-char 'ucs #x0686)) ;; ARABIC LETTER TCHEH | |
905 (Assert-char-class | |
906 "[:space:]" ?\ | |
907 (decode-char 'ucs #x2116)) ;; NUMERO SIGN | |
908 (Assert-char-class | |
909 "[:space:]" ?\t | |
910 (decode-char 'ucs #x5357)) ;; kDefinition south; southern part; southward | |
741 | 911 |
742 (Assert-char-class "[:print:]" ?\ ?\x00) | 912 (Assert-char-class "[:print:]" ?\ ?\x00) |
743 (Assert-char-class "[:print:]" ?0 ?\x09) | 913 (Assert-char-class "[:print:]" ?0 ?\x09) |
744 (Assert-char-class "[:print:]" ?9 ?\x7f) | 914 (Assert-char-class "[:print:]" ?9 ?\x7f) |
745 (Assert-char-class "[:print:]" ?A ?\x01) | 915 (Assert-char-class "[:print:]" ?A ?\x01) |
746 (Assert-char-class "[:print:]" ?Z ?\x02) | 916 (Assert-char-class "[:print:]" ?Z ?\x02) |
747 (Assert-char-class "[:print:]" ?B ?\t) | 917 (Assert-char-class "[:print:]" ?B ?\t) |
748 (Assert-char-class "[:print:]" ?a ?\x03) | 918 (Assert-char-class "[:print:]" ?a ?\x03) |
749 (Assert-char-class "[:print:]" ?z ?\x04) | 919 (Assert-char-class "[:print:]" ?z ?\x04) |
920 (Assert-char-class | |
921 "[:print:]" (decode-char 'ucs #x0385) ;; GREEK DIALYTIKA TONOS | |
922 ?\x05) | |
923 (Assert-char-class | |
924 "[:print:]" (decode-char 'ucs #x0392) ;; GREEK CAPITAL LETTER BETA | |
925 ?\x06) | |
926 (Assert-char-class | |
927 "[:print:]" (decode-char 'ucs #x03B2) ;; GREEK SMALL LETTER BETA | |
928 ?\x07) | |
929 (Assert-char-class | |
930 "[:print:]" (decode-char 'ucs #x0410) ;; CYRILLIC CAPITAL LETTER A | |
931 ?\x08) | |
932 (Assert-char-class | |
933 "[:print:]" (decode-char 'ucs #x0430) ;; CYRILLIC SMALL LETTER A | |
934 ?\x09) | |
935 (Assert-char-class | |
936 "[:print:]" (decode-char 'ucs #x0686) ;; ARABIC LETTER TCHEH | |
937 ?\x0a) | |
938 (Assert-char-class | |
939 "[:print:]" (decode-char 'ucs #x2116) ;; NUMERO SIGN | |
940 ?\x0b) | |
941 (Assert-char-class | |
942 "[:print:]" (decode-char 'ucs #x5357) ;; kDefinition south; southern part; southward | |
943 ?\x0c) | |
944 | |
945 (Assert-char-class "[:graph:]" ?! ?\ ) | |
946 (Assert-char-class "[:graph:]" ?0 ?\x09) | |
947 (Assert-char-class "[:graph:]" ?9 ?\x7f) | |
948 (Assert-char-class "[:graph:]" ?A ?\x01) | |
949 (Assert-char-class "[:graph:]" ?Z ?\x02) | |
950 (Assert-char-class "[:graph:]" ?B ?\t) | |
951 (Assert-char-class "[:graph:]" ?a ?\x03) | |
952 (Assert-char-class "[:graph:]" ?z ?\x04) | |
953 (Assert-char-class | |
954 "[:graph:]" (decode-char 'ucs #x0385) ;; GREEK DIALYTIKA TONOS | |
955 ?\x05) | |
956 (Assert-char-class | |
957 "[:graph:]" (decode-char 'ucs #x0392) ;; GREEK CAPITAL LETTER BETA | |
958 ?\x06) | |
959 (Assert-char-class | |
960 "[:graph:]" (decode-char 'ucs #x03B2) ;; GREEK SMALL LETTER BETA | |
961 ?\x07) | |
962 (Assert-char-class | |
963 "[:graph:]" (decode-char 'ucs #x0410) ;; CYRILLIC CAPITAL LETTER A | |
964 ?\x08) | |
965 (Assert-char-class | |
966 "[:graph:]" (decode-char 'ucs #x0430) ;; CYRILLIC SMALL LETTER A | |
967 ?\x09) | |
968 (Assert-char-class | |
969 "[:graph:]" (decode-char 'ucs #x0686) ;; ARABIC LETTER TCHEH | |
970 ?\x0a) | |
971 (Assert-char-class | |
972 "[:graph:]" (decode-char 'ucs #x2116) ;; NUMERO SIGN | |
973 ?\x0b) | |
974 (Assert-char-class | |
975 "[:graph:]" (decode-char 'ucs #x5357) ;; kDefinition south; southern part; southward | |
976 ?\x0c) | |
750 | 977 |
751 (Assert-char-class "[:punct:]" ?\( ?0) | 978 (Assert-char-class "[:punct:]" ?\( ?0) |
752 (Assert-char-class "[:punct:]" ?. ?9) | 979 (Assert-char-class "[:punct:]" ?. ?9) |
753 (Assert-char-class "[:punct:]" ?{ ?A) | 980 (Assert-char-class "[:punct:]" ?{ ?A) |
754 (Assert-char-class "[:punct:]" ?} ?Z) | 981 (Assert-char-class "[:punct:]" ?} ?Z) |
755 (Assert-char-class "[:punct:]" ?: ?\t) | 982 (Assert-char-class "[:punct:]" ?: ?\t) |
756 (Assert-char-class "[:punct:]" ?\; ?\x00) | 983 (Assert-char-class "[:punct:]" ?\; ?\x00) |
757 (Assert-char-class "[:punct:]" ?< ?\x09) | 984 (Assert-char-class "[:punct:]" ?< ?\x09) |
758 (Assert-char-class "[:punct:]" ?> ?\x7f) | 985 (Assert-char-class "[:punct:]" ?> ?\x7f) |
759 (Assert-char-class "[:punct:]" ?= ?a) | 986 (Assert-char-class "[:punct:]" ?= ?a) |
760 (Assert-char-class "[:punct:]" ?\? ?z)) | 987 (Assert-char-class "[:punct:]" ?\? ?z) |
988 (Assert-char-class | |
989 "[:punct:]" | |
990 (decode-char 'ucs #x0385) ;; GREEK DIALYTIKA TONOS | |
991 ?a) | |
992 (Assert-char-class | |
993 "[:punct:]" | |
994 (decode-char 'ucs #x20af) ;; DRACHMA SIGN | |
995 (decode-char 'ucs #x0392)) ;; GREEK CAPITAL LETTER BETA | |
996 (Assert-char-class | |
997 "[:punct:]" | |
998 (decode-char 'ucs #x00a7) ;; SECTION SIGN | |
999 (decode-char 'ucs #x03B2)) ;; GREEK SMALL LETTER BETA | |
1000 (Assert-char-class | |
1001 "[:punct:]" | |
1002 (decode-char 'ucs #x00a8) ;; DIAERESIS | |
1003 (decode-char 'ucs #x0410)) ;; CYRILLIC CAPITAL LETTER A | |
1004 (Assert-char-class | |
1005 "[:punct:]" | |
1006 (decode-char 'ucs #x0384) ;; GREEK TONOS | |
1007 (decode-char 'ucs #x0430)) ;; CYRILLIC SMALL LETTER A | |
1008 (Assert-char-class | |
1009 "[:punct:]" | |
1010 (decode-char 'ucs #x00b7) ;; MIDDLE DOT | |
1011 (decode-char 'ucs #x0686)) ;; ARABIC LETTER TCHEH | |
1012 (Assert-char-class | |
1013 "[:punct:]" | |
1014 (decode-char 'ucs #x2116) ;; NUMERO SIGN | |
1015 ?x) | |
1016 (Assert-char-class | |
1017 "[:punct:]" | |
1018 ?= | |
1019 (decode-char 'ucs #x5357)) ;; kDefinition south; southern part; southward | |
1020 | |
1021 (Assert-char-class "[:ascii:]" ?a (decode-char 'ucs #x00a7)) ;; SECTION SIGN | |
1022 (Assert-char-class "[:ascii:]" ?b (decode-char 'ucs #x00a8)) ;; DIAERESIS | |
1023 (Assert-char-class "[:ascii:]" ?c (decode-char 'ucs #x00b7)) ;; MIDDLE DOT | |
1024 (Assert-char-class "[:ascii:]" ?d (decode-char 'ucs #x0384)) ;; GREEK TONOS | |
1025 (Assert-char-class | |
1026 "[:ascii:]" ?\x00 (decode-char 'ucs #x0392)) ;; GREEK CAPITAL LETTER BETA | |
1027 (Assert-char-class | |
1028 "[:ascii:]" ?\x01 (decode-char 'ucs #x03B2)) ;; GREEK SMALL LETTER BETA | |
1029 (Assert-char-class | |
1030 "[:ascii:]" ?\t (decode-char 'ucs #x0410)) ;; CYRILLIC CAPITAL LETTER A | |
1031 (Assert-char-class | |
1032 "[:ascii:]" ?A (decode-char 'ucs #x0430)) ;; CYRILLIC SMALL LETTER A | |
1033 (Assert-char-class | |
1034 "[:ascii:]" ?B (decode-char 'ucs #x0686)) ;; ARABIC LETTER TCHEH | |
1035 (Assert-char-class | |
1036 "[:ascii:]" ?C (decode-char 'ucs #x20af)) ;; DRACHMA SIGN | |
1037 (Assert-char-class | |
1038 "[:ascii:]" ?\x7f (decode-char 'ucs #x2116)) ;; NUMERO SIGN | |
1039 | |
1040 (Assert-char-class | |
1041 "[:nonascii:]" (decode-char 'ucs #x00a7) ?a) ;; SECTION SIGN | |
1042 (Assert-char-class | |
1043 "[:nonascii:]" (decode-char 'ucs #x00a8) ?b) ;; DIAERESIS | |
1044 (Assert-char-class | |
1045 "[:nonascii:]" (decode-char 'ucs #x00b7) ?c) ;; MIDDLE DOT | |
1046 (Assert-char-class | |
1047 "[:nonascii:]" (decode-char 'ucs #x0384) ?d) ;; GREEK TONOS | |
1048 (Assert-char-class | |
1049 "[:nonascii:]" (decode-char 'ucs #x0392) ?\x00) ;; GREEK CAPITAL LETTER BETA | |
1050 (Assert-char-class | |
1051 "[:nonascii:]" (decode-char 'ucs #x03B2) ?\x01) ;; GREEK SMALL LETTER BETA | |
1052 (Assert-char-class | |
1053 "[:nonascii:]" (decode-char 'ucs #x0410) ?\t) ;; CYRILLIC CAPITAL LETTER A | |
1054 (Assert-char-class | |
1055 "[:nonascii:]" (decode-char 'ucs #x0430) ?A) ;; CYRILLIC SMALL LETTER A | |
1056 (Assert-char-class | |
1057 "[:nonascii:]" (decode-char 'ucs #x0686) ?B) ;; ARABIC LETTER TCHEH | |
1058 (Assert-char-class | |
1059 "[:nonascii:]" (decode-char 'ucs #x20af) ?C) ;; DRACHMA SIGN | |
1060 (Assert-char-class | |
1061 "[:nonascii:]" (decode-char 'ucs #x2116) ?\x7f) ;; NUMERO SIGN | |
1062 | |
1063 (Assert-char-class | |
1064 "[:multibyte:]" (decode-char 'ucs #x00a7) ?a) ;; SECTION SIGN | |
1065 (Assert-char-class | |
1066 "[:multibyte:]" (decode-char 'ucs #x00a8) ?b) ;; DIAERESIS | |
1067 (Assert-char-class | |
1068 "[:multibyte:]" (decode-char 'ucs #x00b7) ?c) ;; MIDDLE DOT | |
1069 (Assert-char-class | |
1070 "[:multibyte:]" (decode-char 'ucs #x0384) ?d) ;; GREEK TONOS | |
1071 (Assert-char-class | |
1072 "[:multibyte:]" (decode-char 'ucs #x0392) | |
1073 ?\x00) ;; GREEK CAPITAL LETTER BETA | |
1074 | |
1075 (Assert-never-matching | |
1076 "[:unibyte:]" | |
1077 ?\x01 ?\t ?A ?B ?C ?\x7f | |
1078 (decode-char 'ucs #x03B2) ;; GREEK SMALL LETTER BETA | |
1079 (decode-char 'ucs #x0410) ;; CYRILLIC CAPITAL LETTER A | |
1080 (decode-char 'ucs #x0430) ;; CYRILLIC SMALL LETTER A | |
1081 (decode-char 'ucs #x0686) ;; ARABIC LETTER TCHEH | |
1082 (decode-char 'ucs #x20af) ;; DRACHMA SIGN | |
1083 (decode-char 'ucs #x2116) ;; NUMERO SIGN | |
1084 (decode-char 'ucs #x5357))) ;; kDefinition south; southern part; southward | |
1085 |