diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-06-05 13:04:36 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-06-05 13:04:36 +0900 |
| commit | b0e49ef79e293000c1377983477b77268b4cf7f5 (patch) | |
| tree | 18cefdd763a716dbd27c23bfdf98ffa2135f7624 | |
| parent | 4e40169ed6d200918e542aa8d8e64634794e1864 (diff) | |
| parent | 81d340e0421daf39a8208a0181d6a54e726db134 (diff) | |
| download | mruby-b0e49ef79e293000c1377983477b77268b4cf7f5.tar.gz mruby-b0e49ef79e293000c1377983477b77268b4cf7f5.zip | |
Merge pull request #5019 from mruby/stable
Merge mruby 2.1.1
| -rw-r--r-- | Doxyfile | 2 | ||||
| -rw-r--r-- | LICENSE | 2 | ||||
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | doc/guides/debugger.md | 2 | ||||
| -rw-r--r-- | doc/limitations.md | 20 | ||||
| -rw-r--r-- | include/mruby.h | 2 | ||||
| -rw-r--r-- | include/mruby/version.h | 8 | ||||
| -rw-r--r-- | mrbgems/mruby-io/test/mruby_io_test.c | 45 |
8 files changed, 64 insertions, 19 deletions
@@ -6,7 +6,7 @@ DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = "mruby" -PROJECT_NUMBER = 2.1.0 +PROJECT_NUMBER = 2.1.1 PROJECT_BRIEF = "mruby is the lightweight implementation of the Ruby language" @@ -1,4 +1,4 @@ -Copyright (c) 2019 mruby developers +Copyright (c) 2020 mruby developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -17,7 +17,7 @@ of the Ministry of Economy, Trade and Industry of Japan. ## How to get mruby -The stable version 2.1.0 of mruby can be downloaded via the following URL: [https://github.com/mruby/mruby/archive/2.1.0.zip](https://github.com/mruby/mruby/archive/2.1.0.zip) +The stable version 2.1.1 of mruby can be downloaded via the following URL: [https://github.com/mruby/mruby/archive/2.1.1.zip](https://github.com/mruby/mruby/archive/2.1.1.zip) The latest development version of mruby can be downloaded via the following URL: [https://github.com/mruby/mruby/zipball/master](https://github.com/mruby/mruby/zipball/master) diff --git a/doc/guides/debugger.md b/doc/guides/debugger.md index a94ef1802..74f9f6115 100644 --- a/doc/guides/debugger.md +++ b/doc/guides/debugger.md @@ -38,7 +38,7 @@ To confirm mrdb was installed properly, run mrdb with the `--version` option: ```bash $ mrdb --version -mruby 2.1.0 (2019-11-19) +mruby 2.1.1 (2020-06-04) ``` ## 2.2 Basic Operation diff --git a/doc/limitations.md b/doc/limitations.md index 9ad2019f7..c3c027cb9 100644 --- a/doc/limitations.md +++ b/doc/limitations.md @@ -38,7 +38,7 @@ puts [1,2,3] 3 ``` -#### mruby [2.1.0 (2019-11-19)] +#### mruby [2.1.1 (2020-06-04)] ``` [1, 2, 3] @@ -61,7 +61,7 @@ end `ZeroDivisionError` is raised. -#### mruby [2.1.0 (2019-11-19)] +#### mruby [2.1.1 (2020-06-04)] No exception is raised. @@ -89,7 +89,7 @@ p Liste.new "foobar" ` [] ` -#### mruby [2.1.0 (2019-11-19)] +#### mruby [2.1.1 (2020-06-04)] `ArgumentError` is raised. @@ -119,7 +119,7 @@ false true ``` -#### mruby [2.1.0 (2019-11-19)] +#### mruby [2.1.1 (2020-06-04)] ``` true @@ -156,7 +156,7 @@ p 'ok' ok ``` -#### mruby [2.1.0 (2019-11-19)] +#### mruby [2.1.1 (2020-06-04)] ``` test.rb:8: undefined method 'test_func' (NoMethodError) @@ -178,7 +178,7 @@ defined?(Foo) nil ``` -#### mruby [2.1.0 (2019-11-19)] +#### mruby [2.1.1 (2020-06-04)] `NameError` is raised. @@ -195,7 +195,7 @@ alias $a $__a__ ` nil ` -#### mruby [2.1.0 (2019-11-19)] +#### mruby [2.1.1 (2020-06-04)] Syntax error @@ -217,7 +217,7 @@ end `ArgumentError` is raised. The re-defined `+` operator does not accept any arguments. -#### mruby [2.1.0 (2019-11-19)] +#### mruby [2.1.1 (2020-06-04)] ` 'ab' ` Behavior of the operator wasn't changed. @@ -233,7 +233,7 @@ $ ruby -e 'puts Proc.new {}.binding' #<Binding:0x00000e9deabb9950> ``` -#### mruby [2.1.0 (2019-11-19)] +#### mruby [2.1.1 (2020-06-04)] ``` $ ./bin/mruby -e 'puts Proc.new {}.binding' @@ -255,7 +255,7 @@ $ ruby -e 'def m(*r,**k) p [r,k] end; m("a"=>1,:b=>2)' [[{"a"=>1}], {:b=>2}] ``` -#### mruby [mruby 2.1.0] +#### mruby [mruby 2.1.1] ``` $ ./bin/mruby -e 'def m(*r,**k) p [r,k] end; m("a"=>1,:b=>2)' diff --git a/include/mruby.h b/include/mruby.h index 2fd075112..fef4a0d47 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -1,7 +1,7 @@ /* ** mruby - An embeddable Ruby implementation ** -** Copyright (c) mruby developers 2010-2019 +** Copyright (c) mruby developers 2010-2020 ** ** Permission is hereby granted, free of charge, to any person obtaining ** a copy of this software and associated documentation files (the diff --git a/include/mruby/version.h b/include/mruby/version.h index f4ef21021..64664b700 100644 --- a/include/mruby/version.h +++ b/include/mruby/version.h @@ -47,7 +47,7 @@ MRB_BEGIN_DECL /* * Tiny release version number. */ -#define MRUBY_RELEASE_TEENY 0 +#define MRUBY_RELEASE_TEENY 1 /* * The mruby version. @@ -62,17 +62,17 @@ MRB_BEGIN_DECL /* * Release year. */ -#define MRUBY_RELEASE_YEAR 2019 +#define MRUBY_RELEASE_YEAR 2020 /* * Release month. */ -#define MRUBY_RELEASE_MONTH 11 +#define MRUBY_RELEASE_MONTH 6 /* * Release day. */ -#define MRUBY_RELEASE_DAY 19 +#define MRUBY_RELEASE_DAY 4 /* * Release date as a string. diff --git a/mrbgems/mruby-io/test/mruby_io_test.c b/mrbgems/mruby-io/test/mruby_io_test.c index 8bc87a0d4..eb3f6108c 100644 --- a/mrbgems/mruby-io/test/mruby_io_test.c +++ b/mrbgems/mruby-io/test/mruby_io_test.c @@ -67,6 +67,36 @@ mkdtemp(char *temp) #include "mruby/variable.h" #include <mruby/ext/io.h> +int wd_save; +int socket_available_p; + +#if !defined(_WIN32) && !defined(_WIN64) +static int mrb_io_socket_available() +{ + int fd, retval = 0; + struct sockaddr_un sun0; + char socketname[] = "tmp.mruby-io-socket-ok.XXXXXXXX"; + if (!(fd = mkstemp(socketname))) { + goto sock_test_out; + } + unlink(socketname); + close(fd); + fd = socket(AF_UNIX, SOCK_STREAM, 0); + if (fd == -1) { + goto sock_test_out; + } + sun0.sun_family = AF_UNIX; + strncpy(sun0.sun_path, socketname, sizeof(sun0.sun_path)); + if (bind(fd, (struct sockaddr *)&sun0, sizeof(sun0)) == 0) { + retval = 1; + } +sock_test_out: + unlink(socketname); + close(fd); + return retval; +} +#endif + static mrb_value mrb_io_test_io_setup(mrb_state *mrb, mrb_value self) { @@ -81,6 +111,14 @@ mrb_io_test_io_setup(mrb_state *mrb, mrb_value self) int i; #if !defined(_WIN32) && !defined(_WIN64) struct sockaddr_un sun0; + + if(!(socket_available_p = mrb_io_socket_available())) { + char *tmpdir; + wd_save = open(".", O_DIRECTORY); + tmpdir = getenv("TMPDIR"); + if (tmpdir) chdir(tmpdir); + else chdir("/tmp"); + } #endif mrb_gv_set(mrb, mrb_intern_cstr(mrb, "$mrbtest_io_msg"), mrb_str_new_cstr(mrb, msg)); @@ -181,6 +219,13 @@ mrb_io_test_io_cleanup(mrb_state *mrb, mrb_value self) mrb_gv_set(mrb, mrb_intern_cstr(mrb, "$mrbtest_io_socketname"), mrb_nil_value()); mrb_gv_set(mrb, mrb_intern_cstr(mrb, "$mrbtest_io_msg"), mrb_nil_value()); +#if !defined(_WIN32) && !defined(_WIN64) + if(!socket_available_p) { + fchdir(wd_save); + close(wd_save); + } +#endif + return mrb_nil_value(); } |
