From 1ddd72ffe78f11aa8c51e5780ab91e1d84b01604 Mon Sep 17 00:00:00 2001 From: Badlop Date: Fri, 12 Sep 2025 11:02:33 +0200 Subject: [PATCH] Enable feature maybe_expr in the compiler for Erlang/OTP 26 Documentation: https://www.erlang.org/doc/system/expressions.html#maybe https://www.erlang.org/eeps/eep-0049 https://www.erlang.org/eeps/eep-0060 --- mix.exs | 1 + rebar.config | 1 + src/ext_mod.erl | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mix.exs b/mix.exs index c5600b228..e4b3e639e 100644 --- a/mix.exs +++ b/mix.exs @@ -99,6 +99,7 @@ defmodule Ejabberd.MixProject do if_version_below(~c"25", [{:d, :OTP_BELOW_25}]) ++ if_version_below(~c"26", [{:d, :OTP_BELOW_26}]) ++ if_version_below(~c"27", [{:d, :OTP_BELOW_27}]) ++ + if_version_below(~c"27", [{:feature, :maybe_expr, :enable}]) ++ if_version_below(~c"28", [{:d, :OTP_BELOW_28}]) defines = for {:d, value} <- result, do: {:d, value} result ++ [{:d, :ALL_DEFS, defines}] diff --git a/rebar.config b/rebar.config index e3d42edce..65b5ea522 100644 --- a/rebar.config +++ b/rebar.config @@ -140,6 +140,7 @@ {if_version_below, "25", {d, 'OTP_BELOW_25'}}, {if_version_below, "26", {d, 'OTP_BELOW_26'}}, {if_version_below, "27", {d, 'OTP_BELOW_27'}}, + {if_version_below, "27", {feature, maybe_expr, enable}}, {if_version_below, "28", {d, 'OTP_BELOW_28'}}, {if_var_false, debug, no_debug_info}, {if_var_true, debug, debug_info}, diff --git a/src/ext_mod.erl b/src/ext_mod.erl index 9d9b438c6..7abc5eb5c 100644 --- a/src/ext_mod.erl +++ b/src/ext_mod.erl @@ -678,7 +678,8 @@ maybe_define_lager_macro() -> end. compile_options() -> - [verbose, report_errors, report_warnings, debug_info, ?ALL_DEFS] + [verbose, report_errors, report_warnings, debug_info, ?ALL_DEFS, + {feature, maybe_expr, enable}] ++ maybe_define_lager_macro() ++ [{i, filename:join(app_dir(App), "include")} || App <- [fast_xml, xmpp, p1_utils, ejabberd]]