diff options
Diffstat (limited to 'options')
-rw-r--r-- | options/m_config.c | 14 | ||||
-rw-r--r-- | options/m_option.h | 7 | ||||
-rw-r--r-- | options/options.c | 4 |
3 files changed, 17 insertions, 8 deletions
diff --git a/options/m_config.c b/options/m_config.c index 14aa56da51..16a0b38eb1 100644 --- a/options/m_config.c +++ b/options/m_config.c @@ -624,12 +624,16 @@ struct m_config_option *m_config_get_co(const struct m_config *config, const char *prefix = config->is_toplevel ? "--" : ""; if (co->opt->type == &m_option_type_alias) { const char *alias = (const char *)co->opt->priv; - // deprecation_message is not used, but decides whether it's a - // proper or deprecated alias. if (co->opt->deprecation_message && !co->warning_was_printed) { - MP_WARN(config, "Warning: option %s%s was replaced with " - "%s%s and might be removed in the future.\n", - prefix, co->name, prefix, alias); + if (co->opt->deprecation_message[0]) { + MP_WARN(config, "Warning: option %s%s was replaced with " + "%s%s: %s\n", prefix, co->name, prefix, alias, + co->opt->deprecation_message); + } else { + MP_WARN(config, "Warning: option %s%s was replaced with " + "%s%s and might be removed in the future.\n", + prefix, co->name, prefix, alias); + } co->warning_was_printed = true; } return m_config_get_co(config, bstr0(alias)); diff --git a/options/m_option.h b/options/m_option.h index f3a4e7bc1e..064b7f83b1 100644 --- a/options/m_option.h +++ b/options/m_option.h @@ -715,9 +715,12 @@ extern const char m_option_path_separator; // If "--optname" was removed, but "--newname" has the same semantics. // It will be redirected, and a warning will be printed on first use. -#define OPT_REPLACED(optname, newname) \ +#define OPT_REPLACED_MSG(optname, newname, msg) \ {.name = optname, .type = &m_option_type_alias, .priv = newname, \ - .deprecation_message = "", .offset = -1} + .deprecation_message = (msg), .offset = -1} + +// Same, with a generic deprecation message. +#define OPT_REPLACED(optname, newname) OPT_REPLACED_MSG(optname, newname, "") // "--optname" doesn't exist, but inform the user about a replacement with msg. #define OPT_REMOVED(optname, msg) \ diff --git a/options/options.c b/options/options.c index 5333cf406c..c595964121 100644 --- a/options/options.c +++ b/options/options.c @@ -607,7 +607,7 @@ const m_option_t mp_opts[] = { OPT_FLAG("stop-playback-on-init-failure", stop_playback_on_init_failure, 0), - OPT_CHOICE_OR_INT("loop", loop_times, 0, 1, 10000, + OPT_CHOICE_OR_INT("loop-playlist", loop_times, 0, 1, 10000, ({"no", 1}, {"inf", -1}, {"yes", -1}, {"force", -2})), @@ -832,6 +832,8 @@ const m_option_t mp_opts[] = { OPT_REPLACED("ass-style-override", "sub-ass-style-override"), OPT_REPLACED("ass-scale-with-window", "sub-ass-scale-with-window"), OPT_REMOVED("fs-black-out-screens", NULL), + OPT_REPLACED_MSG("loop", "loop-playlist", "--loop will be changed to map to" + " --loop-file in future releases."), {0} }; |