<pre style='margin:0'>
Aljaž Srebrnič (g5pw) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/20ed9f0257079308d05043ef15ede9099e9a3728">https://github.com/macports/macports-ports/commit/20ed9f0257079308d05043ef15ede9099e9a3728</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 20ed9f0257079308d05043ef15ede9099e9a3728
</span>Author: Albert Gräf <aggraef@gmail.com>
AuthorDate: Sat Feb 25 19:52:05 2017 +0100
<span style='display:block; white-space:pre;color:#404040;'> Update pure and pure-docs to 0.65
</span>---
lang/pure/Portfile | 20 ++-----
lang/pure/files/patch-openbrowser.diff | 49 -----------------
lang/pure/files/pure-0.64-ats-hotfixes.diff | 74 --------------------------
lang/pure/files/pure-0.64-debugger-hotfix.diff | 74 --------------------------
lang/pure/files/pure-0.64-runtime-hotfix.diff | 12 -----
pure/pure-docs/Portfile | 10 ++--
pure/pure-docs/files/patch-openbrowser.diff | 44 ---------------
7 files changed, 7 insertions(+), 276 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/pure/Portfile b/lang/pure/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5370eee..bd7ed19 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/pure/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/pure/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortSystem 1.0
</span> PortGroup bitbucket 1.0
# Keep the versions of pure and pure-docs in sync.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-bitbucket.setup purelang pure-lang 0.64 pure-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bitbucket.setup purelang pure-lang 0.65 pure-
</span> name pure
categories lang
platforms darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,15 +31,15 @@ long_description Pure is a functional programming language based on \
</span> bitbucket.tarball_from downloads
distname ${name}-${version}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 fa5d57b94fad999ada281edaf30db4212a0a28ae \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 efd55229342aec9d79e8fa4732a30f140e1773064f3869abde053e01468f7b07
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 f4acc7a108e42a4cf17009738ed40b57c98c1fbf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 843bd82c21bc21fae03a93a3ba455e322be90271ba7740028438a91578ff22cd
</span>
set llvm_version 3.4
set llvm_prefix ${prefix}/libexec/llvm-${llvm_version}
configure.env PATH=${llvm_prefix}/bin:$env(PATH)
if {${name} eq ${subport}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 0
</span>
depends_lib port:gmp \
port:libiconv \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -63,18 +63,6 @@ if {${name} eq ${subport}} {
</span> # Prevent build failure when old llvm port is installed
configure.cppflags -I${llvm_prefix}/include ${configure.cppflags}
configure.ldflags -L${llvm_prefix}/lib ${configure.ldflags}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Last-minute fixes to the ATS inlining support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patchfiles-append pure-0.64-ats-hotfixes.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Critical bugfix in the debugger (issue #32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patchfiles-append pure-0.64-debugger-hotfix.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Bugfix in the runtime (pure_switch_interp, rev. 9114fc3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patchfiles-append pure-0.64-runtime-hotfix.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- platform macosx {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_run-replace port:w3m port:openbrowser
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patchfiles-append patch-openbrowser.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span>
platform powerpc {
configure.args-append --disable-fastcc
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/pure/files/patch-openbrowser.diff b/lang/pure/files/patch-openbrowser.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 4b68392..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/pure/files/patch-openbrowser.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,49 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- README.orig 2013-09-25 05:43:09.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ README 2014-03-08 00:18:42.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -164,8 +164,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- addon modules and libraries. You can invoke the manpage with 'man pure' after
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- installation, and the online manual by using the 'help' command inside the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- interpreter. The former needs the 'man' program, the latter a html browser,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--w3m by default. See the INSTALL file or the manpage for details. Or just point
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--your browser at the following URL to read the manual on the web:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+your OS X web browser by default. See the INSTALL file or the manpage for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+details. Or just point your browser at the following URL to read the manual
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+on the web:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- http://puredocs.bitbucket.org/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- lexer.cc.orig 2013-09-15 01:13:44.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ lexer.cc 2014-03-08 00:18:42.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9363,7 +9363,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cerr << "help: memory allocation error\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (!browser) browser = "w3m"; // default
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!browser) browser = "openbrowser"; // default
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- string helpcmd = string(browser) + " \"" + docname + "\"";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (system(helpcmd.c_str()) == -1) perror("system");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- pure.1.orig 2013-09-15 00:54:21.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ pure.1 2014-03-08 00:18:42.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -131,9 +131,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .PP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- The full Pure manual can be read inside the interpreter, by typing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .B help
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--on the interpreter's command line. This requires
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--.BR w3m (1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--to work. (You can also set the name of another html browser to use with the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+on the interpreter's command line.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+This opens the documentation into your OS X web browser.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+(You can also set the name of another html browser to use with the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .B PURE_HELP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- or the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .B BROWSER
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -185,7 +185,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .TP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .B PURE_HELP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Browser to use to read online documentation in the interpreter. By default,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--.BR w3m (1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+.BR openbrowser (1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- is used.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .TP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .B PURE_INCLUDE
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/pure/files/pure-0.64-ats-hotfixes.diff b/lang/pure/files/pure-0.64-ats-hotfixes.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index e0278de..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/pure/files/pure-0.64-ats-hotfixes.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,74 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 0606383af4b0 pure/interpreter.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- interpreter.cc Wed Oct 29 00:02:26 2014 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ interpreter.cc Sat Nov 01 18:23:46 2014 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2586,8 +2586,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Fortran.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - "-*- ats -*-" selects ATS (PURE_ATSCC environment variable, patscc by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- default). Contributed by Barry Schwartz <sortsmill@crudfactory.com>, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- http://www.ats-lang.org/.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ default). You can also set the C compiler to be used by patscc with the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PURE_ATSCCOMP environment variable (either clang or gcc by default,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ depending on the value of PURE_ATSCC). Contributed by Barry Schwartz
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ <sortsmill@crudfactory.com>, see http://www.ats-lang.org/.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - "-*- dsp:name -*-" selects Faust (PURE_FAUST environment variable, faust
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- by default), where 'name' denotes the name of the Faust dsp, which is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2685,28 +2687,39 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else if (tag == "ats") {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- env = "PURE_ATSCC";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // The default command is for ATS2-Postiats, which uses gcc as its C
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- // compiler by default. We prefer to use clang instead (set by means of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- // the PATSCCOMP environment variable). If you have a working dragonegg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- // plugin installed, you can still override this by setting the PURE_ATSCC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- // variable to 'patscc -fplugin=dragonegg'. NOTE: In any case you should
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- // set the PATSHOME environment variable as explained in the ATS2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- // installation instructions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // compiler by default. We prefer to use clang instead. If you have a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // working dragonegg plugin installed, you can still override this by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // setting the PURE_ATSCC variable to 'patscc -fplugin=dragonegg'. NOTE:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // In any case you should set the PATSHOME environment variable as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // explained in the ATS2 installation instructions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- drv = "patscc";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- args = " -emit-llvm -c ";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ext = ".dats";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- intermediate_ext = "_dats.c";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- remove_intermediate = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- // We only override patscc's default C compiler if neither PURE_ATSCC nor
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- // PATSCCOMP has been set, so that the user still has full control over
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- // which AST and C compilers will be used.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (!getenv("PURE_ATSCC") && !getenv("PATSCCOMP")) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- static char *patsccomp = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (!patsccomp) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- string ccomp = string("PATSCCOMP=") + clang + " -emit-llvm -std=c99 -D_XOPEN_SOURCE -I${PATSHOME} -I${PATSHOME}/ccomp/runtime";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- patsccomp = strdup(ccomp.c_str());
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- putenv(patsccomp);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- args = " -c ";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Unless dragonegg is being used or PURE_ATSCCOMP has been set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // explicitly, we override patscc's default C compiler so that clang is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // used to generate bitcode. If needed, this gives the user full control
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // over which AST and C compilers will be used, and the options they
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // should be invoked with. The options needed for bitcode compilation are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // always added, however.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ char *atscc = getenv(env);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ char *atsccomp = getenv("PURE_ATSCCOMP");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Figure out the default C compiler to use and set up command line
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // arguments accordingly.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ string cc = clang+ " -emit-llvm";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ args = " -atsccomp \"${PURE_ATSCCOMP}\" -c ";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (atscc && strstr(atscc, "dragonegg")) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Use dragonegg instead.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cc = "gcc";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ args = " -atsccomp \"${PURE_ATSCCOMP}\" -emit-llvm -c ";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!atsccomp) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Set up a reasonable default for the PURE_ATSCCOMP variable.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ string ccomp = string("PURE_ATSCCOMP=") + cc + " -std=c99 -D_XOPEN_SOURCE -I${PATSHOME} -I${PATSHOME}/ccomp/runtime";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ atsccomp = strdup(ccomp.c_str());
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ putenv(atsccomp);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool vflag = (verbose&verbosity::compiler) != 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (vflag) std::cerr << atsccomp << '\n';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else if (tag == "dsp") {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- env = "PURE_FAUST"; drv = "faust -double";
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/pure/files/pure-0.64-debugger-hotfix.diff b/lang/pure/files/pure-0.64-debugger-hotfix.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index d48ec64..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/pure/files/pure-0.64-debugger-hotfix.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,74 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 0163df6e1ff4 pure/interpreter.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- interpreter.cc Fri Nov 07 16:05:11 2014 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ interpreter.cc Sun Nov 09 12:50:19 2014 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17156,12 +17156,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- debug(msg.str().c_str()); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (retv) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (rp) debug_redn(rp, retv);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (f.n+f.m != 0 || !debugging) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // do cleanup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Function *free_fun = module->getFunction("pure_pop_args");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- f.builder.CreateCall3(free_fun, retv, UInt(f.n), UInt(f.m));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (rp) debug_redn(rp, retv);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- f.builder.CreateRet(retv);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else if (tail) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // Tail-recursive type rule. Perform a direct tail call on the rightmost
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 0163df6e1ff4 pure/printer.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- printer.cc Fri Nov 07 16:05:11 2014 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ printer.cc Sun Nov 09 12:50:19 2014 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -917,6 +917,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static inline bool pstr(ostream& os, pure_expr *x)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static bool recursive = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!x) return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (recursive ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // We don't want to force a thunk here. Unfortunately, this means that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // currently you can't define a print representation for a thunk, at
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -928,7 +929,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- map<int32_t,GlobalVar>::iterator it;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (f > 0 && (it = interp.globalvars.find(f)) != interp.globalvars.end() &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- it->second.x && it->second.x->tag >= 0 && it->second.x->data.clos) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- assert(x->refc > 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pure_aframe *ex = interp.push_aframe(interp.sstk_sz);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (setjmp(ex->jmp)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // caught an exception
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -943,21 +943,27 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- recursive = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bool ret = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- recursive = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // The argument expression may well be a temporary if we're being
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // invoked internally, so make sure that it doesn't get collected
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // prematurely.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pure_ref(x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pure_expr *y = pure_app(it->second.x, x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- interp.pop_aframe();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- recursive = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- assert(y);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (y->tag == EXPR::STR) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- char *s = fromutf8(y->data.s);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (y) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (y->tag == EXPR::STR) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ char *s = fromutf8(y->data.s);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (s) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os << s; free(s);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ret = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pure_freenew(y);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (s) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os << s; free(s);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- } else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- } else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pure_unref(x);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return false;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/pure/files/pure-0.64-runtime-hotfix.diff b/lang/pure/files/pure-0.64-runtime-hotfix.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index e94691e..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/pure/files/pure-0.64-runtime-hotfix.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,12 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 9114fc39236f -r 731815d54d8b runtime.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- runtime.cc Sun Dec 14 06:34:13 2014 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ runtime.cc Sun Dec 14 14:55:22 2014 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4007,7 +4007,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void pure_switch_interp(pure_interp *interp)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- char base;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- assert(interp);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (interpreter::g_interp != (interpreter*)interp) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (interpreter::g_interp) interpreter::g_interp->save_context();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- interpreter::g_interp = (interpreter*)interp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/pure/pure-docs/Portfile b/pure/pure-docs/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ceec6fe..ce777f7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/pure/pure-docs/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/pure/pure-docs/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortSystem 1.0
</span> PortGroup pure 1.0
# Keep the versions of pure and pure-docs in sync.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-pure.setup docs 0.64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pure.setup docs 0.65
</span> categories-append lang
platforms darwin
maintainers ryandesign gmail.com:aggraef
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -16,9 +16,5 @@ description documentation for the Pure programming language
</span>
long_description ${name} is an offline copy of the ${description}.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 78fa7d656527538c1053dfc46238e6643554fd85 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 a140456f7d6feff8a15f5505a8fa3f9376afef88f1831ca98b93dc1d1764d110
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform macosx {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patchfiles patch-openbrowser.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 683e244d5a9c75c5a709308ee3956efbb30ba5a6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 2f1dd33ee31861eff04800248b556401495c0ddc177d8cad237a4e5876090b92
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/pure/pure-docs/files/patch-openbrowser.diff b/pure/pure-docs/files/patch-openbrowser.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index b7cb5dd..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/pure/pure-docs/files/patch-openbrowser.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,44 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- _sources/pure.txt.orig 2014-10-22 09:34:26.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ _sources/pure.txt 2014-10-23 03:18:57.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1203,7 +1203,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .. envvar:: PURE_HELP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Command used to browse the Pure manual. This must be a browser capable of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- displaying html files. Default is :program:`w3m`.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ displaying html files. Default is your OS X web browser.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .. envvar:: PURE_INCLUDE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10922,9 +10922,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- manuals of the addon modules available from the Pure website.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- You need to have a html browser installed to make this work. By default, the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--``help`` command uses :program:`w3m`, but you can change this by setting
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--either the :envvar:`PURE_HELP` or the :envvar:`BROWSER` environment variable
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--accordingly.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+``help`` command uses your OS X web browser, but you can change this by
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+setting either the :envvar:`PURE_HELP` or the :envvar:`BROWSER` environment
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+variable accordingly.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- When invoked without arguments, the ``help`` command displays an overview of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- the available documentation, from which you can follow the links to the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- pure.html.orig 2014-10-22 09:34:26.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ pure.html 2014-10-23 03:30:19.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1452,7 +1452,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- <dt id="envvar-PURE_HELP">
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- <tt class="descname">PURE_HELP</tt><a class="headerlink" href="#envvar-PURE_HELP" title="Permalink to this definition">¶</a></dt>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- <dd><p>Command used to browse the Pure manual. This must be a browser capable of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--displaying html files. Default is <strong class="program">w3m</strong>.</p>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+displaying html files. Default is your OS X web browser.</p>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- </dd></dl>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- <dl class="envvar">
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10838,7 +10838,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- format; this includes the present manual, the <a class="reference internal" href="purelib.html"><em>Pure Library Manual</em></a>, as well as all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- manuals of the addon modules available from the Pure website.</p>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- <p>You need to have a html browser installed to make this work. By default, the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--<tt class="docutils literal"><span class="pre">help</span></tt> command uses <strong class="program">w3m</strong>, but you can change this by setting
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+<tt class="docutils literal"><span class="pre">help</span></tt> command uses your OS X web browser, but you can change this by setting
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- either the <span class="target" id="index-35"></span><a class="reference internal" href="#envvar-PURE_HELP"><tt class="xref std std-envvar docutils literal"><span class="pre">PURE_HELP</span></tt></a> or the <span class="target" id="index-36"></span><a class="reference internal" href="#envvar-BROWSER"><tt class="xref std std-envvar docutils literal"><span class="pre">BROWSER</span></tt></a> environment variable
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- accordingly.</p>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- <p>When invoked without arguments, the <tt class="docutils literal"><span class="pre">help</span></tt> command displays an overview of
</span></pre><pre style='margin:0'>
</pre>