<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>