From 81689045a6b52cc21a1a404ce127f34e16d6873b Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 19 Feb 2026 12:17:15 +0900 Subject: [PATCH] presym.h: remove MRB_NO_PRESYM dispatch and delete disable.h Co-authored-by: Claude --- include/mruby/presym.h | 11 ++---- include/mruby/presym/disable.h | 72 ---------------------------------- 2 files changed, 4 insertions(+), 79 deletions(-) delete mode 100644 include/mruby/presym/disable.h diff --git a/include/mruby/presym.h b/include/mruby/presym.h index cb6922218..f67944407 100644 --- a/include/mruby/presym.h +++ b/include/mruby/presym.h @@ -7,9 +7,7 @@ #ifndef MRUBY_PRESYM_H #define MRUBY_PRESYM_H -#if defined(MRB_NO_PRESYM) -# include -#elif !defined(MRB_PRESYM_SCANNING) +#if !defined(MRB_PRESYM_SCANNING) # include #endif @@ -32,10 +30,9 @@ * can be specified for it). Other than that, describe only word characters * excluding leading and ending punctuation. * - * These macros are expanded to `mrb_intern_lit` if presym is disabled, - * therefore the mruby state variable is required. The above macros can be - * used when the variable name is `mrb`. If you want to use other variable - * names, you need to use macros with `_2` suffix, such as `MRB_SYM_2`. + * These macros are expanded to compile-time integer constants. + * The `_2` suffix variants (e.g., `MRB_SYM_2`) accept an explicit + * mruby state parameter but currently ignore it. */ #endif /* MRUBY_PRESYM_H */ diff --git a/include/mruby/presym/disable.h b/include/mruby/presym/disable.h deleted file mode 100644 index 670885853..000000000 --- a/include/mruby/presym/disable.h +++ /dev/null @@ -1,72 +0,0 @@ -/** -** @file mruby/presym/disable.h - Disable Preallocated Symbols -** -** See Copyright Notice in mruby.h -*/ - -#ifndef MRUBY_PRESYM_DISABLE_H -#define MRUBY_PRESYM_DISABLE_H - -#include - -#define MRB_PRESYM_MAX 0 - -#define MRB_OPSYM(name) MRB_OPSYM__##name(mrb) -#define MRB_GVSYM(name) mrb_intern_lit(mrb, "$" #name) -#define MRB_CVSYM(name) mrb_intern_lit(mrb, "@@" #name) -#define MRB_IVSYM(name) mrb_intern_lit(mrb, "@" #name) -#define MRB_SYM_B(name) mrb_intern_lit(mrb, #name "!") -#define MRB_SYM_Q(name) mrb_intern_lit(mrb, #name "?") -#define MRB_SYM_E(name) mrb_intern_lit(mrb, #name "=") -#define MRB_SYM(name) mrb_intern_lit(mrb, #name) - -#define MRB_OPSYM_2(mrb, name) MRB_OPSYM__##name(mrb) -#define MRB_GVSYM_2(mrb, name) mrb_intern_lit(mrb, "$" #name) -#define MRB_CVSYM_2(mrb, name) mrb_intern_lit(mrb, "@@" #name) -#define MRB_IVSYM_2(mrb, name) mrb_intern_lit(mrb, "@" #name) -#define MRB_SYM_B_2(mrb, name) mrb_intern_lit(mrb, #name "!") -#define MRB_SYM_Q_2(mrb, name) mrb_intern_lit(mrb, #name "?") -#define MRB_SYM_E_2(mrb, name) mrb_intern_lit(mrb, #name "=") -#define MRB_SYM_2(mrb, name) mrb_intern_lit(mrb, #name) - -#define MRB_OPSYM__not(mrb) mrb_intern_lit(mrb, "!") -#define MRB_OPSYM__mod(mrb) mrb_intern_lit(mrb, "%") -#define MRB_OPSYM__and(mrb) mrb_intern_lit(mrb, "&") -#define MRB_OPSYM__mul(mrb) mrb_intern_lit(mrb, "*") -#define MRB_OPSYM__add(mrb) mrb_intern_lit(mrb, "+") -#define MRB_OPSYM__sub(mrb) mrb_intern_lit(mrb, "-") -#define MRB_OPSYM__div(mrb) mrb_intern_lit(mrb, "/") -#define MRB_OPSYM__lt(mrb) mrb_intern_lit(mrb, "<") -#define MRB_OPSYM__gt(mrb) mrb_intern_lit(mrb, ">") -#define MRB_OPSYM__xor(mrb) mrb_intern_lit(mrb, "^") -#define MRB_OPSYM__tick(mrb) mrb_intern_lit(mrb, "`") -#define MRB_OPSYM__or(mrb) mrb_intern_lit(mrb, "|") -#define MRB_OPSYM__neg(mrb) mrb_intern_lit(mrb, "~") -#define MRB_OPSYM__neq(mrb) mrb_intern_lit(mrb, "!=") -#define MRB_OPSYM__nmatch(mrb) mrb_intern_lit(mrb, "!~") -#define MRB_OPSYM__andand(mrb) mrb_intern_lit(mrb, "&&") -#define MRB_OPSYM__pow(mrb) mrb_intern_lit(mrb, "**") -#define MRB_OPSYM__plus(mrb) mrb_intern_lit(mrb, "+@") -#define MRB_OPSYM__minus(mrb) mrb_intern_lit(mrb, "-@") -#define MRB_OPSYM__lshift(mrb) mrb_intern_lit(mrb, "<<") -#define MRB_OPSYM__le(mrb) mrb_intern_lit(mrb, "<=") -#define MRB_OPSYM__eq(mrb) mrb_intern_lit(mrb, "==") -#define MRB_OPSYM__match(mrb) mrb_intern_lit(mrb, "=~") -#define MRB_OPSYM__ge(mrb) mrb_intern_lit(mrb, ">=") -#define MRB_OPSYM__rshift(mrb) mrb_intern_lit(mrb, ">>") -#define MRB_OPSYM__aref(mrb) mrb_intern_lit(mrb, "[]") -#define MRB_OPSYM__oror(mrb) mrb_intern_lit(mrb, "||") -#define MRB_OPSYM__cmp(mrb) mrb_intern_lit(mrb, "<=>") -#define MRB_OPSYM__eqq(mrb) mrb_intern_lit(mrb, "===") -#define MRB_OPSYM__aset(mrb) mrb_intern_lit(mrb, "[]=") - -#define MRB_PRESYM_DEFINE_VAR_AND_INITER(name, size, ...) \ - static mrb_sym name[size]; \ - static void presym_init_##name(mrb_state *mrb) { \ - mrb_sym name__[] = {__VA_ARGS__}; \ - memcpy(name, name__, sizeof(name)); \ - } - -#define MRB_PRESYM_INIT_SYMBOLS(mrb, name) presym_init_##name(mrb) - -#endif /* MRUBY_PRESYM_DISABLE_H */