From 2824f066011a1c355931e3ec99d4d00f64973481 Mon Sep 17 00:00:00 2001 From: "gitlab@srinivas.gs" Date: Mon, 21 Aug 2017 16:46:11 -0400 Subject: [PATCH 1/6] fixed: spaces in path + "=" breaking builds on macOS --- jl.m | 3 ++- mexjulia.mexmaci64 | Bin 0 -> 10376 bytes 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100755 mexjulia.mexmaci64 diff --git a/jl.m b/jl.m index c5c6b73..a823f5b 100644 --- a/jl.m +++ b/jl.m @@ -229,7 +229,7 @@ function config(exe) % set ldflags ldflags = ['-L"' jl.get('lib_dir') '"']; if ~ispc - ldflags = [ldflags ' -Wl,-rpath="' jl.get('lib_dir') '"']; + ldflags = [ldflags ' -Wl,-rpath "' jl.get('lib_dir') '"']; end jl.set('build_ldflags', ldflags); @@ -283,6 +283,7 @@ function build() else mex_ptrn = 'mex LDFLAGS=''%s $LDFLAGS'' -v -largeArrayDims -outdir "%s" %s %s %s'; end + src = ['"' src '"']; mex_cmd = sprintf(mex_ptrn, ldflags, jl.this_dir, cflags, src, ldlibs); fprintf('The mex command to be executed:\n%s\n', mex_cmd); eval(mex_cmd); diff --git a/mexjulia.mexmaci64 b/mexjulia.mexmaci64 new file mode 100755 index 0000000000000000000000000000000000000000..88c43176d6f0307f0c9953585f64acca1190f49d GIT binary patch literal 10376 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 Date: Wed, 23 Aug 2017 14:50:25 -0400 Subject: [PATCH 2/6] minor cleanup --- .gitignore | 1 + mexjulia.mexmaci64 | Bin 10376 -> 0 bytes 2 files changed, 1 insertion(+) delete mode 100755 mexjulia.mexmaci64 diff --git a/.gitignore b/.gitignore index a220a20..5ee06a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.mexw64 *.mexa64 +*.mexmaci64 *.o *.asv *.pdp diff --git a/mexjulia.mexmaci64 b/mexjulia.mexmaci64 deleted file mode 100755 index 88c43176d6f0307f0c9953585f64acca1190f49d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10376 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 Date: Wed, 30 Aug 2017 11:56:29 -0400 Subject: [PATCH 3/6] fixes #54 --- jl.m | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/jl.m b/jl.m index a823f5b..515b892 100644 --- a/jl.m +++ b/jl.m @@ -13,11 +13,15 @@ function varargout = mexn(nout, fn, varargin) jl.check_initialized; outputs = cell(nout+1, 1); - [outputs{:}] = mexjulia('jl_mex', fn, varargin{:}); - varargout = outputs(2:end); - result = outputs{1}; - if ~islogical(result) - throw(result); + try + [outputs{:}] = mexjulia('jl_mex', fn, varargin{:}); + varargout = outputs(2:end); + result = outputs{1}; + if ~islogical(result) + throw(result); + end + catch + varargout{1} = []; end end @@ -351,6 +355,7 @@ function set(key__, value__) function bf = boot_file() bf = jl.forward_slashify(fullfile(jl.this_dir, 'jl', 'boot.jl')); + disp(bf) end function home = julia_home() From 21a0f6c509e92cc08880e55c24d0b805ddc9c565 Mon Sep 17 00:00:00 2001 From: = Date: Wed, 30 Aug 2017 17:24:06 -0400 Subject: [PATCH 4/6] can view stack trace on Julia error without breaking MATLAB process --- .gitignore | 1 + jl.m | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5ee06a2..4addd9f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ *.mexw64.pdb pathdef.m jldict.mat +*DS_Store \ No newline at end of file diff --git a/jl.m b/jl.m index 515b892..1d8edaf 100644 --- a/jl.m +++ b/jl.m @@ -20,7 +20,13 @@ if ~islogical(result) throw(result); end - catch + catch err + warning('Something went wrong') + disp(err.message) + disp('Stack trace follows:') + for i = 1:length(err.stack) + disp(err.stack(i)) + end varargout{1} = []; end end @@ -355,7 +361,6 @@ function set(key__, value__) function bf = boot_file() bf = jl.forward_slashify(fullfile(jl.this_dir, 'jl', 'boot.jl')); - disp(bf) end function home = julia_home() From e41f6c4fd92b38b6d3efd9513368c77e49f5dd18 Mon Sep 17 00:00:00 2001 From: = Date: Tue, 12 Sep 2017 15:10:16 -0400 Subject: [PATCH 5/6] warnings can be turned off using warning off --- jl.m | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/jl.m b/jl.m index 1d8edaf..6755daa 100644 --- a/jl.m +++ b/jl.m @@ -22,10 +22,13 @@ end catch err warning('Something went wrong') - disp(err.message) - disp('Stack trace follows:') + warning(err.message) + warning('Stack trace follows:') + w = warning('query'); for i = 1:length(err.stack) - disp(err.stack(i)) + if ~strcmp(w.state,'off') + disp(err.stack(i)) + end end varargout{1} = []; end From 865a4c59117b8c94bab6647fac555f5460f79113 Mon Sep 17 00:00:00 2001 From: = Date: Tue, 19 Sep 2017 13:53:35 -0400 Subject: [PATCH 6/6] fixed a bug where warnings broke jl.m --- jl.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jl.m b/jl.m index 6755daa..b4b951d 100644 --- a/jl.m +++ b/jl.m @@ -26,7 +26,7 @@ warning('Stack trace follows:') w = warning('query'); for i = 1:length(err.stack) - if ~strcmp(w.state,'off') + if ~strcmp(w(1).state,'off') disp(err.stack(i)) end end