diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-01-07 02:34:33 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-01-07 02:34:33 +0000 |
commit | 7aab062ef3772c7e8e50fc872a1647918c76dbba (patch) | |
tree | 3bfaf1207aef12c325d9dd7a21ae9fe9a7788c06 | |
parent | 1491c4189a67a1a2ca0347e243190375dd4e002c (diff) | |
download | ruby-7aab062ef3772c7e8e50fc872a1647918c76dbba.tar.gz |
version.c: no exit in ruby_show_copyright
* include/ruby/backward.h (ruby_show_copyright_to_die): for source
code backward compatibility.
* ruby.c (process_options): return Qtrue to exit the process
successfully.
* version.c (ruby_show_copyright): no longer exit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | include/ruby/backward.h | 20 | ||||
-rw-r--r-- | include/ruby/ruby.h | 4 | ||||
-rw-r--r-- | ruby.c | 1 | ||||
-rw-r--r-- | version.c | 6 |
6 files changed, 41 insertions, 4 deletions
@@ -1,3 +1,13 @@ +Thu Jan 7 11:34:14 2016 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/backward.h (ruby_show_copyright_to_die): for source + code backward compatibility. + + * ruby.c (process_options): return Qtrue to exit the process + successfully. + + * version.c (ruby_show_copyright): no longer exit. + Wed Jan 6 17:22:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org> * lib/optparse.rb (OptionParser#order!): add `into` optional @@ -30,6 +30,10 @@ with all sufficient information, see the ChangeLog file or Redmine === C API updates +* ruby_show_version() will no longer exits the process, if + RUBY_SHOW_COPYRIGHT_TO_DIE is set to 0. This will be the default in + the future. + === Supported platform changes === Implementation improvements diff --git a/include/ruby/backward.h b/include/ruby/backward.h new file mode 100644 index 0000000000..4574cb98da --- /dev/null +++ b/include/ruby/backward.h @@ -0,0 +1,20 @@ +#ifndef RUBY_RUBY_BACKWARD_H +#define RUBY_RUBY_BACKWARD_H 1 + +#ifndef RUBY_SHOW_COPYRIGHT_TO_DIE +# define RUBY_SHOW_COPYRIGHT_TO_DIE 1 +#endif +#if RUBY_SHOW_COPYRIGHT_TO_DIE +/* for source code backward compatibility */ +DEPRECATED(static inline int ruby_show_copyright_to_die(int)); +static inline int +ruby_show_copyright_to_die(int exitcode) +{ + ruby_show_copyright(); + return exitcode; +} +#define ruby_show_copyright() /* defer EXIT_SUCCESS */ \ + (exit(ruby_show_copyright_to_die(EXIT_SUCCESS))) +#endif + +#endif /* RUBY_RUBY_BACKWARD_H */ diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h index 14fe7c3e16..7aabf5bd68 100644 --- a/include/ruby/ruby.h +++ b/include/ruby/ruby.h @@ -2206,6 +2206,10 @@ void ruby_sig_finalize(void); /*! @} */ +#if !defined RUBY_EXPORT && !defined RUBY_NO_OLD_COMPATIBILITY +# include "ruby/backward.h" +#endif + RUBY_SYMBOL_EXPORT_END #if defined(__cplusplus) @@ -1414,6 +1414,7 @@ process_options(int argc, char **argv, struct cmdline_options *opt) } if (opt->dump & DUMP_BIT(copyright)) { ruby_show_copyright(); + return Qtrue; } if (!opt->e_script) { @@ -96,12 +96,10 @@ ruby_show_version(void) fflush(stdout); } -/*! Prints the copyright notice of the CRuby interpreter to stdout and \em exits - * this process successfully. - */ +/*! Prints the copyright notice of the CRuby interpreter to stdout. */ void ruby_show_copyright(void) { PRINT(copyright); - exit(EXIT_SUCCESS); + fflush(stdout); } |