diff options
| author | Richard M. Stallman | 2003-02-23 15:00:30 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2003-02-23 15:00:30 +0000 |
| commit | a1a052dfa5df1a4f93003caf44d98d64b1cd251e (patch) | |
| tree | 2042f163b71487d9a2660084107bf68534cf53a3 | |
| parent | 6019d360beb4b48d72aca8ab0f344ff106005304 (diff) | |
| download | emacs-a1a052dfa5df1a4f93003caf44d98d64b1cd251e.tar.gz emacs-a1a052dfa5df1a4f93003caf44d98d64b1cd251e.zip | |
(print_partial_compiled_pattern): Output to stderr.
| -rw-r--r-- | src/regex.c | 97 |
1 files changed, 48 insertions, 49 deletions
diff --git a/src/regex.c b/src/regex.c index 5b1b391dab7..f55cc5aeb61 100644 --- a/src/regex.c +++ b/src/regex.c | |||
| @@ -921,50 +921,49 @@ print_partial_compiled_pattern (start, end) | |||
| 921 | 921 | ||
| 922 | if (start == NULL) | 922 | if (start == NULL) |
| 923 | { | 923 | { |
| 924 | printf ("(null)\n"); | 924 | fprintf (stderr, "(null)\n"); |
| 925 | return; | 925 | return; |
| 926 | } | 926 | } |
| 927 | 927 | ||
| 928 | /* Loop over pattern commands. */ | 928 | /* Loop over pattern commands. */ |
| 929 | while (p < pend) | 929 | while (p < pend) |
| 930 | { | 930 | { |
| 931 | printf ("%d:\t", p - start); | 931 | fprintf (stderr, "%d:\t", p - start); |
| 932 | 932 | ||
| 933 | switch ((re_opcode_t) *p++) | 933 | switch ((re_opcode_t) *p++) |
| 934 | { | 934 | { |
| 935 | case no_op: | 935 | case no_op: |
| 936 | printf ("/no_op"); | 936 | fprintf (stderr, "/no_op"); |
| 937 | break; | 937 | break; |
| 938 | 938 | ||
| 939 | case succeed: | 939 | case succeed: |
| 940 | printf ("/succeed"); | 940 | fprintf (stderr, "/succeed"); |
| 941 | break; | 941 | break; |
| 942 | 942 | ||
| 943 | case exactn: | 943 | case exactn: |
| 944 | mcnt = *p++; | 944 | mcnt = *p++; |
| 945 | printf ("/exactn/%d", mcnt); | 945 | fprintf (stderr, "/exactn/%d", mcnt); |
| 946 | do | 946 | do |
| 947 | { | 947 | { |
| 948 | putchar ('/'); | 948 | fprintf (stderr, "/%c", *p++); |
| 949 | putchar (*p++); | ||
| 950 | } | 949 | } |
| 951 | while (--mcnt); | 950 | while (--mcnt); |
| 952 | break; | 951 | break; |
| 953 | 952 | ||
| 954 | case start_memory: | 953 | case start_memory: |
| 955 | printf ("/start_memory/%d", *p++); | 954 | fprintf (stderr, "/start_memory/%d", *p++); |
| 956 | break; | 955 | break; |
| 957 | 956 | ||
| 958 | case stop_memory: | 957 | case stop_memory: |
| 959 | printf ("/stop_memory/%d", *p++); | 958 | fprintf (stderr, "/stop_memory/%d", *p++); |
| 960 | break; | 959 | break; |
| 961 | 960 | ||
| 962 | case duplicate: | 961 | case duplicate: |
| 963 | printf ("/duplicate/%d", *p++); | 962 | fprintf (stderr, "/duplicate/%d", *p++); |
| 964 | break; | 963 | break; |
| 965 | 964 | ||
| 966 | case anychar: | 965 | case anychar: |
| 967 | printf ("/anychar"); | 966 | fprintf (stderr, "/anychar"); |
| 968 | break; | 967 | break; |
| 969 | 968 | ||
| 970 | case charset: | 969 | case charset: |
| @@ -975,7 +974,7 @@ print_partial_compiled_pattern (start, end) | |||
| 975 | int length = CHARSET_BITMAP_SIZE (p - 1); | 974 | int length = CHARSET_BITMAP_SIZE (p - 1); |
| 976 | int has_range_table = CHARSET_RANGE_TABLE_EXISTS_P (p - 1); | 975 | int has_range_table = CHARSET_RANGE_TABLE_EXISTS_P (p - 1); |
| 977 | 976 | ||
| 978 | printf ("/charset [%s", | 977 | fprintf (stderr, "/charset [%s", |
| 979 | (re_opcode_t) *(p - 1) == charset_not ? "^" : ""); | 978 | (re_opcode_t) *(p - 1) == charset_not ? "^" : ""); |
| 980 | 979 | ||
| 981 | assert (p + *p < pend); | 980 | assert (p + *p < pend); |
| @@ -987,33 +986,33 @@ print_partial_compiled_pattern (start, end) | |||
| 987 | /* Are we starting a range? */ | 986 | /* Are we starting a range? */ |
| 988 | if (last + 1 == c && ! in_range) | 987 | if (last + 1 == c && ! in_range) |
| 989 | { | 988 | { |
| 990 | putchar ('-'); | 989 | fprintf (stderr, "-"); |
| 991 | in_range = 1; | 990 | in_range = 1; |
| 992 | } | 991 | } |
| 993 | /* Have we broken a range? */ | 992 | /* Have we broken a range? */ |
| 994 | else if (last + 1 != c && in_range) | 993 | else if (last + 1 != c && in_range) |
| 995 | { | 994 | { |
| 996 | putchar (last); | 995 | fprintf (stderr, "%c", last); |
| 997 | in_range = 0; | 996 | in_range = 0; |
| 998 | } | 997 | } |
| 999 | 998 | ||
| 1000 | if (! in_range) | 999 | if (! in_range) |
| 1001 | putchar (c); | 1000 | fprintf (stderr, "%c", c); |
| 1002 | 1001 | ||
| 1003 | last = c; | 1002 | last = c; |
| 1004 | } | 1003 | } |
| 1005 | 1004 | ||
| 1006 | if (in_range) | 1005 | if (in_range) |
| 1007 | putchar (last); | 1006 | fprintf (stderr, "%c", last); |
| 1008 | 1007 | ||
| 1009 | putchar (']'); | 1008 | fprintf (stderr, "]"); |
| 1010 | 1009 | ||
| 1011 | p += 1 + length; | 1010 | p += 1 + length; |
| 1012 | 1011 | ||
| 1013 | if (has_range_table) | 1012 | if (has_range_table) |
| 1014 | { | 1013 | { |
| 1015 | int count; | 1014 | int count; |
| 1016 | printf ("has-range-table"); | 1015 | fprintf (stderr, "has-range-table"); |
| 1017 | 1016 | ||
| 1018 | /* ??? Should print the range table; for now, just skip it. */ | 1017 | /* ??? Should print the range table; for now, just skip it. */ |
| 1019 | p += 2; /* skip range table bits */ | 1018 | p += 2; /* skip range table bits */ |
| @@ -1024,130 +1023,130 @@ print_partial_compiled_pattern (start, end) | |||
| 1024 | break; | 1023 | break; |
| 1025 | 1024 | ||
| 1026 | case begline: | 1025 | case begline: |
| 1027 | printf ("/begline"); | 1026 | fprintf (stderr, "/begline"); |
| 1028 | break; | 1027 | break; |
| 1029 | 1028 | ||
| 1030 | case endline: | 1029 | case endline: |
| 1031 | printf ("/endline"); | 1030 | fprintf (stderr, "/endline"); |
| 1032 | break; | 1031 | break; |
| 1033 | 1032 | ||
| 1034 | case on_failure_jump: | 1033 | case on_failure_jump: |
| 1035 | extract_number_and_incr (&mcnt, &p); | 1034 | extract_number_and_incr (&mcnt, &p); |
| 1036 | printf ("/on_failure_jump to %d", p + mcnt - start); | 1035 | fprintf (stderr, "/on_failure_jump to %d", p + mcnt - start); |
| 1037 | break; | 1036 | break; |
| 1038 | 1037 | ||
| 1039 | case on_failure_keep_string_jump: | 1038 | case on_failure_keep_string_jump: |
| 1040 | extract_number_and_incr (&mcnt, &p); | 1039 | extract_number_and_incr (&mcnt, &p); |
| 1041 | printf ("/on_failure_keep_string_jump to %d", p + mcnt - start); | 1040 | fprintf (stderr, "/on_failure_keep_string_jump to %d", p + mcnt - start); |
| 1042 | break; | 1041 | break; |
| 1043 | 1042 | ||
| 1044 | case on_failure_jump_nastyloop: | 1043 | case on_failure_jump_nastyloop: |
| 1045 | extract_number_and_incr (&mcnt, &p); | 1044 | extract_number_and_incr (&mcnt, &p); |
| 1046 | printf ("/on_failure_jump_nastyloop to %d", p + mcnt - start); | 1045 | fprintf (stderr, "/on_failure_jump_nastyloop to %d", p + mcnt - start); |
| 1047 | break; | 1046 | break; |
| 1048 | 1047 | ||
| 1049 | case on_failure_jump_loop: | 1048 | case on_failure_jump_loop: |
| 1050 | extract_number_and_incr (&mcnt, &p); | 1049 | extract_number_and_incr (&mcnt, &p); |
| 1051 | printf ("/on_failure_jump_loop to %d", p + mcnt - start); | 1050 | fprintf (stderr, "/on_failure_jump_loop to %d", p + mcnt - start); |
| 1052 | break; | 1051 | break; |
| 1053 | 1052 | ||
| 1054 | case on_failure_jump_smart: | 1053 | case on_failure_jump_smart: |
| 1055 | extract_number_and_incr (&mcnt, &p); | 1054 | extract_number_and_incr (&mcnt, &p); |
| 1056 | printf ("/on_failure_jump_smart to %d", p + mcnt - start); | 1055 | fprintf (stderr, "/on_failure_jump_smart to %d", p + mcnt - start); |
| 1057 | break; | 1056 | break; |
| 1058 | 1057 | ||
| 1059 | case jump: | 1058 | case jump: |
| 1060 | extract_number_and_incr (&mcnt, &p); | 1059 | extract_number_and_incr (&mcnt, &p); |
| 1061 | printf ("/jump to %d", p + mcnt - start); | 1060 | fprintf (stderr, "/jump to %d", p + mcnt - start); |
| 1062 | break; | 1061 | break; |
| 1063 | 1062 | ||
| 1064 | case succeed_n: | 1063 | case succeed_n: |
| 1065 | extract_number_and_incr (&mcnt, &p); | 1064 | extract_number_and_incr (&mcnt, &p); |
| 1066 | extract_number_and_incr (&mcnt2, &p); | 1065 | extract_number_and_incr (&mcnt2, &p); |
| 1067 | printf ("/succeed_n to %d, %d times", p - 2 + mcnt - start, mcnt2); | 1066 | fprintf (stderr, "/succeed_n to %d, %d times", p - 2 + mcnt - start, mcnt2); |
| 1068 | break; | 1067 | break; |
| 1069 | 1068 | ||
| 1070 | case jump_n: | 1069 | case jump_n: |
| 1071 | extract_number_and_incr (&mcnt, &p); | 1070 | extract_number_and_incr (&mcnt, &p); |
| 1072 | extract_number_and_incr (&mcnt2, &p); | 1071 | extract_number_and_incr (&mcnt2, &p); |
| 1073 | printf ("/jump_n to %d, %d times", p - 2 + mcnt - start, mcnt2); | 1072 | fprintf (stderr, "/jump_n to %d, %d times", p - 2 + mcnt - start, mcnt2); |
| 1074 | break; | 1073 | break; |
| 1075 | 1074 | ||
| 1076 | case set_number_at: | 1075 | case set_number_at: |
| 1077 | extract_number_and_incr (&mcnt, &p); | 1076 | extract_number_and_incr (&mcnt, &p); |
| 1078 | extract_number_and_incr (&mcnt2, &p); | 1077 | extract_number_and_incr (&mcnt2, &p); |
| 1079 | printf ("/set_number_at location %d to %d", p - 2 + mcnt - start, mcnt2); | 1078 | fprintf (stderr, "/set_number_at location %d to %d", p - 2 + mcnt - start, mcnt2); |
| 1080 | break; | 1079 | break; |
| 1081 | 1080 | ||
| 1082 | case wordbound: | 1081 | case wordbound: |
| 1083 | printf ("/wordbound"); | 1082 | fprintf (stderr, "/wordbound"); |
| 1084 | break; | 1083 | break; |
| 1085 | 1084 | ||
| 1086 | case notwordbound: | 1085 | case notwordbound: |
| 1087 | printf ("/notwordbound"); | 1086 | fprintf (stderr, "/notwordbound"); |
| 1088 | break; | 1087 | break; |
| 1089 | 1088 | ||
| 1090 | case wordbeg: | 1089 | case wordbeg: |
| 1091 | printf ("/wordbeg"); | 1090 | fprintf (stderr, "/wordbeg"); |
| 1092 | break; | 1091 | break; |
| 1093 | 1092 | ||
| 1094 | case wordend: | 1093 | case wordend: |
| 1095 | printf ("/wordend"); | 1094 | fprintf (stderr, "/wordend"); |
| 1096 | 1095 | ||
| 1097 | case syntaxspec: | 1096 | case syntaxspec: |
| 1098 | printf ("/syntaxspec"); | 1097 | fprintf (stderr, "/syntaxspec"); |
| 1099 | mcnt = *p++; | 1098 | mcnt = *p++; |
| 1100 | printf ("/%d", mcnt); | 1099 | fprintf (stderr, "/%d", mcnt); |
| 1101 | break; | 1100 | break; |
| 1102 | 1101 | ||
| 1103 | case notsyntaxspec: | 1102 | case notsyntaxspec: |
| 1104 | printf ("/notsyntaxspec"); | 1103 | fprintf (stderr, "/notsyntaxspec"); |
| 1105 | mcnt = *p++; | 1104 | mcnt = *p++; |
| 1106 | printf ("/%d", mcnt); | 1105 | fprintf (stderr, "/%d", mcnt); |
| 1107 | break; | 1106 | break; |
| 1108 | 1107 | ||
| 1109 | # ifdef emacs | 1108 | # ifdef emacs |
| 1110 | case before_dot: | 1109 | case before_dot: |
| 1111 | printf ("/before_dot"); | 1110 | fprintf (stderr, "/before_dot"); |
| 1112 | break; | 1111 | break; |
| 1113 | 1112 | ||
| 1114 | case at_dot: | 1113 | case at_dot: |
| 1115 | printf ("/at_dot"); | 1114 | fprintf (stderr, "/at_dot"); |
| 1116 | break; | 1115 | break; |
| 1117 | 1116 | ||
| 1118 | case after_dot: | 1117 | case after_dot: |
| 1119 | printf ("/after_dot"); | 1118 | fprintf (stderr, "/after_dot"); |
| 1120 | break; | 1119 | break; |
| 1121 | 1120 | ||
| 1122 | case categoryspec: | 1121 | case categoryspec: |
| 1123 | printf ("/categoryspec"); | 1122 | fprintf (stderr, "/categoryspec"); |
| 1124 | mcnt = *p++; | 1123 | mcnt = *p++; |
| 1125 | printf ("/%d", mcnt); | 1124 | fprintf (stderr, "/%d", mcnt); |
| 1126 | break; | 1125 | break; |
| 1127 | 1126 | ||
| 1128 | case notcategoryspec: | 1127 | case notcategoryspec: |
| 1129 | printf ("/notcategoryspec"); | 1128 | fprintf (stderr, "/notcategoryspec"); |
| 1130 | mcnt = *p++; | 1129 | mcnt = *p++; |
| 1131 | printf ("/%d", mcnt); | 1130 | fprintf (stderr, "/%d", mcnt); |
| 1132 | break; | 1131 | break; |
| 1133 | # endif /* emacs */ | 1132 | # endif /* emacs */ |
| 1134 | 1133 | ||
| 1135 | case begbuf: | 1134 | case begbuf: |
| 1136 | printf ("/begbuf"); | 1135 | fprintf (stderr, "/begbuf"); |
| 1137 | break; | 1136 | break; |
| 1138 | 1137 | ||
| 1139 | case endbuf: | 1138 | case endbuf: |
| 1140 | printf ("/endbuf"); | 1139 | fprintf (stderr, "/endbuf"); |
| 1141 | break; | 1140 | break; |
| 1142 | 1141 | ||
| 1143 | default: | 1142 | default: |
| 1144 | printf ("?%d", *(p-1)); | 1143 | fprintf (stderr, "?%d", *(p-1)); |
| 1145 | } | 1144 | } |
| 1146 | 1145 | ||
| 1147 | putchar ('\n'); | 1146 | fprintf (stderr, "\n"); |
| 1148 | } | 1147 | } |
| 1149 | 1148 | ||
| 1150 | printf ("%d:\tend of pattern.\n", p - start); | 1149 | fprintf (stderr, "%d:\tend of pattern.\n", p - start); |
| 1151 | } | 1150 | } |
| 1152 | 1151 | ||
| 1153 | 1152 | ||