Commit f2a0c69c97eb6e8a0bf932f28e0a8fdeee9f66f8

Thomas de Grivel 2024-07-31T14:56:54

fix buf_parse_tag for special operators

diff --git a/libkc3/buf_parse.c b/libkc3/buf_parse.c
index ad2d11a..923e5ce 100644
--- a/libkc3/buf_parse.c
+++ b/libkc3/buf_parse.c
@@ -3660,8 +3660,9 @@ sw buf_parse_tag (s_buf *buf, s_tag *dest)
       goto restore;
     result += r;
   }
-  if ((r = buf_parse_tag_call_op(buf, dest)) != 0 ||
+  if ((r = buf_parse_tag_special_operator(buf, dest)) != 0 ||
       (r = buf_parse_tag_brackets(buf, dest)) != 0 ||
+      (r = buf_parse_tag_call_op(buf, dest)) != 0 ||
       (r = buf_parse_tag_primary(buf, dest)) != 0)
     goto end;
  end:
@@ -4008,7 +4009,6 @@ sw buf_parse_tag_primary_2 (s_buf *buf, s_tag *dest)
       (r = buf_parse_tag_fn(buf, dest)) != 0 ||
       (r = buf_parse_tag_struct(buf, dest)) != 0 ||
       (r = buf_parse_tag_list(buf, dest)) != 0 ||
-      (r = buf_parse_tag_special_operator(buf, dest)) != 0 ||
       (r = buf_parse_tag_ident(buf, dest)) != 0 ||
       (r = buf_parse_tag_sym(buf, dest)) != 0)
     goto end;