summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-06-05 13:04:36 +0900
committerGitHub <[email protected]>2020-06-05 13:04:36 +0900
commitb0e49ef79e293000c1377983477b77268b4cf7f5 (patch)
tree18cefdd763a716dbd27c23bfdf98ffa2135f7624
parent4e40169ed6d200918e542aa8d8e64634794e1864 (diff)
parent81d340e0421daf39a8208a0181d6a54e726db134 (diff)
downloadmruby-b0e49ef79e293000c1377983477b77268b4cf7f5.tar.gz
mruby-b0e49ef79e293000c1377983477b77268b4cf7f5.zip
Merge pull request #5019 from mruby/stable
Merge mruby 2.1.1
-rw-r--r--Doxyfile2
-rw-r--r--LICENSE2
-rw-r--r--README.md2
-rw-r--r--doc/guides/debugger.md2
-rw-r--r--doc/limitations.md20
-rw-r--r--include/mruby.h2
-rw-r--r--include/mruby/version.h8
-rw-r--r--mrbgems/mruby-io/test/mruby_io_test.c45
8 files changed, 64 insertions, 19 deletions
diff --git a/Doxyfile b/Doxyfile
index 8e465afad..86a657bc7 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -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"
diff --git a/LICENSE b/LICENSE
index ab5432331..363428a1e 100644
--- a/LICENSE
+++ b/LICENSE
@@ -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"),
diff --git a/README.md b/README.md
index a7139fc21..cba00fe06 100644
--- a/README.md
+++ b/README.md
@@ -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();
}