summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/mruby.h3
-rwxr-xr-xminirake17
-rwxr-xr-xmrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c2
-rw-r--r--mrbgems/mruby-bin-mirb/tools/mirb/mirb.c3
-rw-r--r--mrbgems/mruby-bin-mruby/tools/mruby/mruby.c3
-rw-r--r--src/error.c2
-rw-r--r--tools/mrbc/mrbc.c10
7 files changed, 14 insertions, 26 deletions
diff --git a/include/mruby.h b/include/mruby.h
index 68b0c5b79..c07bca462 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -439,6 +439,9 @@ MRB_API void* mrb_alloca(mrb_state *mrb, size_t);
MRB_API void mrb_state_atexit(mrb_state *mrb, mrb_atexit_func func);
+MRB_API void mrb_show_version(mrb_state *mrb);
+MRB_API void mrb_show_copyright(mrb_state *mrb);
+
#ifdef MRB_DEBUG
#include <assert.h>
#define mrb_assert(p) assert(p)
diff --git a/minirake b/minirake
index bdaef0b87..eb219b934 100755
--- a/minirake
+++ b/minirake
@@ -237,7 +237,8 @@ module MiniRake
# Time stamp for file task.
def timestamp
- File::stat(name.to_s).mtime
+ stat = File::stat(name.to_s)
+ stat.directory? ? Time.at(0) : stat.mtime
end
end
@@ -254,12 +255,14 @@ module MiniRake
# Declare a set of files tasks to create the given directories on
# demand.
- def directory(dir)
- path = []
- Sys.split_all(dir).each do |p|
- path << p
- FileTask.define_task(File.join(path)) do |t|
- Sys.makedirs(t.name)
+ def directory(args, &block)
+ MiniRake::FileTask.define_task(args) do |t|
+ block.call(t) unless block.nil?
+ dir = args.is_a?(Hash) ? args.keys.first : args
+ (dir.split(File::SEPARATOR) + ['']).inject do |acc, part|
+ (acc + File::SEPARATOR).tap do |d|
+ Dir.mkdir(d) unless File.exists? d
+ end + part
end
end
end
diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c b/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c
index 5a500a7d4..ff4d11d3a 100755
--- a/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c
+++ b/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c
@@ -19,8 +19,6 @@
#include "apibreak.h"
#include "apilist.h"
-void mrb_show_version(mrb_state *);
-void mrb_show_copyright(mrb_state *);
void mrdb_state_free(mrb_state *);
static mrb_debug_context *_debug_context = NULL;
diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c
index 6fafa340a..59f7fd5e6 100644
--- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c
+++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c
@@ -193,9 +193,6 @@ is_code_block_open(struct mrb_parser_state *parser)
return code_block_open;
}
-void mrb_show_version(mrb_state *);
-void mrb_show_copyright(mrb_state *);
-
struct _args {
mrb_bool verbose : 1;
int argc;
diff --git a/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c b/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c
index 247323b4e..442133f92 100644
--- a/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c
+++ b/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c
@@ -24,9 +24,6 @@ p(mrb_state *mrb, mrb_value obj)
#define p(mrb,obj) mrb_p(mrb,obj)
#endif
-void mrb_show_version(mrb_state *);
-void mrb_show_copyright(mrb_state *);
-
struct _args {
FILE *rfp;
char* cmdline;
diff --git a/src/error.c b/src/error.c
index 0a1a97a0b..29f59ba55 100644
--- a/src/error.c
+++ b/src/error.c
@@ -454,7 +454,7 @@ mrb_init_exception(mrb_state *mrb)
mrb->eStandardError_class = mrb_define_class(mrb, "StandardError", mrb->eException_class); /* 15.2.23 */
runtime_error = mrb_define_class(mrb, "RuntimeError", mrb->eStandardError_class); /* 15.2.28 */
- mrb->nomem_err = mrb_obj_ptr(mrb_exc_new_str(mrb, runtime_error, mrb_str_new_lit(mrb, "Out of memory")));
+ mrb->nomem_err = mrb_obj_ptr(mrb_exc_new_str_lit(mrb, runtime_error, "Out of memory"));
script_error = mrb_define_class(mrb, "ScriptError", mrb->eException_class); /* 15.2.37 */
mrb_define_class(mrb, "SyntaxError", script_error); /* 15.2.38 */
mrb_define_class(mrb, "SystemStackError", exception);
diff --git a/tools/mrbc/mrbc.c b/tools/mrbc/mrbc.c
index 52e762a50..b51cc4da7 100644
--- a/tools/mrbc/mrbc.c
+++ b/tools/mrbc/mrbc.c
@@ -9,16 +9,6 @@
#define RITEBIN_EXT ".mrb"
#define C_EXT ".c"
-#if defined(__cplusplus)
-extern "C" {
-void mrb_show_version(mrb_state *);
-void mrb_show_copyright(mrb_state *);
-}
-#else
-void mrb_show_version(mrb_state *);
-void mrb_show_copyright(mrb_state *);
-#endif
-
struct mrbc_args {
int argc;
char **argv;