From d37b9e406530d3526d3fef65341f40f9c81994d7 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sun, 15 May 2016 13:01:07 -0400 Subject: Return to working version mode --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 2a09d3b5..aa6d9e26 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_INIT([urweb], [20160515]) -WORKING_VERSION=0 +WORKING_VERSION=1 AC_USE_SYSTEM_EXTENSIONS # automake 1.12 requires this, but automake 1.11 doesn't recognize it -- cgit v1.2.3 From 02724f709fcafa9f4e854c271df6c2f79fd9cfa6 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Mon, 16 May 2016 10:52:07 -0400 Subject: Increase default timeout to cope with behavior of some Chrome versions --- src/compiler.sml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler.sml b/src/compiler.sml index 76743fad..dccda06d 100644 --- a/src/compiler.sml +++ b/src/compiler.sml @@ -434,7 +434,7 @@ fun parseUrp' accLibs fname = sql = NONE, debug = Settings.getDebug (), profile = false, - timeout = 60, + timeout = 120, ffi = [], link = [], linker = NONE, -- cgit v1.2.3 From 22527df1714c83e968913dabba4ba3ec81adc20c Mon Sep 17 00:00:00 2001 From: Karen Sargsyan Date: Sat, 21 May 2016 18:00:59 +0800 Subject: Some basic math functions: pow, sqrt, sin, cos, log, exp are added to work at client and server sides --- include/urweb/urweb_cpp.h | 7 +++++++ lib/js/urweb.js | 18 ++++++++++++++++++ lib/ur/basis.urs | 7 +++++++ src/c/urweb.c | 24 ++++++++++++++++++++++++ src/settings.sml | 8 ++++++++ tests/math.ur | 14 ++++++++++++++ 6 files changed, 78 insertions(+) create mode 100644 tests/math.ur diff --git a/include/urweb/urweb_cpp.h b/include/urweb/urweb_cpp.h index 5b6c6221..2d834568 100644 --- a/include/urweb/urweb_cpp.h +++ b/include/urweb/urweb_cpp.h @@ -388,6 +388,13 @@ uw_Basis_int uw_Basis_ceil(struct uw_context *, uw_Basis_float); uw_Basis_int uw_Basis_trunc(struct uw_context *, uw_Basis_float); uw_Basis_int uw_Basis_round(struct uw_context *, uw_Basis_float); +uw_Basis_float uw_Basis_pow(struct uw_context *, uw_Basis_float, uw_Basis_float); +uw_Basis_float uw_Basis_sqrt(struct uw_context *, uw_Basis_float); +uw_Basis_float uw_Basis_sin(struct uw_context *, uw_Basis_float); +uw_Basis_float uw_Basis_cos(struct uw_context *, uw_Basis_float); +uw_Basis_float uw_Basis_log(struct uw_context *, uw_Basis_float); +uw_Basis_float uw_Basis_exp(struct uw_context *, uw_Basis_float); + uw_Basis_string uw_Basis_atom(struct uw_context *, uw_Basis_string); uw_Basis_string uw_Basis_css_url(struct uw_context *, uw_Basis_string); uw_Basis_string uw_Basis_property(struct uw_context *, uw_Basis_string); diff --git a/lib/js/urweb.js b/lib/js/urweb.js index 410a0e23..7842775b 100644 --- a/lib/js/urweb.js +++ b/lib/js/urweb.js @@ -116,7 +116,25 @@ function pow(n, m) { return Math.pow(n, m); } +function sqrt(n){ + return Math.sqrt(n); +} + +function sin(n){ + return Math.sin(n); +} + +function cos(n){ + return Math.cos(n); +} + +function log(n){ + return Math.log(n); +} +function exp(n){ + return Math.exp(n); +} // Time, represented as counts of microseconds since the epoch var time_format = "%c"; diff --git a/lib/ur/basis.urs b/lib/ur/basis.urs index 883cc5b1..45a17eb1 100644 --- a/lib/ur/basis.urs +++ b/lib/ur/basis.urs @@ -153,6 +153,13 @@ val ceil : float -> int val trunc : float -> int val round : float -> int +(** * Basic Math *) + +val sqrt : float -> float +val sin : float -> float +val cos : float -> float +val log : float -> float +val exp : float -> float (** * Time *) diff --git a/src/c/urweb.c b/src/c/urweb.c index c23366fb..edf55f21 100644 --- a/src/c/urweb.c +++ b/src/c/urweb.c @@ -4517,6 +4517,30 @@ uw_Basis_int uw_Basis_round(uw_context ctx, uw_Basis_float n) { return round(n); } +uw_Basis_float uw_Basis_pow(uw_context ctx, uw_Basis_float n, uw_Basis_float m) { + return pow(n,m); +} + +uw_Basis_float uw_Basis_sqrt(uw_context ctx, uw_Basis_float n) { + return sqrt(n); +} + +uw_Basis_float uw_Basis_sin(uw_context ctx, uw_Basis_float n) { + return sin(n); +} + +uw_Basis_float uw_Basis_cos(uw_context ctx, uw_Basis_float n) { + return cos(n); +} + +uw_Basis_float uw_Basis_log(uw_context ctx, uw_Basis_float n) { + return log(n); +} + +uw_Basis_float uw_Basis_exp(uw_context ctx, uw_Basis_float n) { + return exp(n); +} + uw_Basis_string uw_Basis_atom(uw_context ctx, uw_Basis_string s) { char *p; diff --git a/src/settings.sml b/src/settings.sml index 85cab207..c0b5e0e6 100644 --- a/src/settings.sml +++ b/src/settings.sml @@ -336,6 +336,14 @@ val jsFuncsBase = basisM [("alert", "alert"), ("trunc", "trunc"), ("round", "round"), + ("pow", "pow"), + ("sqrt", "sqrt"), + ("sin", "sin"), + ("cos", "cos"), + ("log", "log"), + ("exp", "exp"), + + ("now", "now"), ("timeToString", "showTime"), ("htmlifyTime", "showTimeHtml"), diff --git a/tests/math.ur b/tests/math.ur new file mode 100644 index 00000000..8892fffe --- /dev/null +++ b/tests/math.ur @@ -0,0 +1,14 @@ +fun main () = return + + diff --git a/tests/timeout.urp b/tests/timeout.urp new file mode 100644 index 00000000..6d3ca878 --- /dev/null +++ b/tests/timeout.urp @@ -0,0 +1,7 @@ +timeout 2 +rewrite url Timeout/* +database dbname=test +sql timeout.sql +safeGet main + +timeout diff --git a/tests/timeout.urs b/tests/timeout.urs new file mode 100644 index 00000000..6ac44e0b --- /dev/null +++ b/tests/timeout.urs @@ -0,0 +1 @@ +val main : unit -> transaction page -- cgit v1.2.3 From 5ac04f029f2876284e8af10275bdd63e75fc90e7 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Fri, 17 Jun 2016 16:39:51 -0400 Subject: Prepare Postgres code for NULL error fields --- include/urweb/urweb_cpp.h | 2 ++ src/c/urweb.c | 7 +++++++ src/postgres.sml | 12 ++++++------ 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/include/urweb/urweb_cpp.h b/include/urweb/urweb_cpp.h index 48cfa784..0d5f5e0e 100644 --- a/include/urweb/urweb_cpp.h +++ b/include/urweb/urweb_cpp.h @@ -430,4 +430,6 @@ uw_Sqlcache_Value *uw_Sqlcache_check(struct uw_context *, uw_Sqlcache_Cache *, c void *uw_Sqlcache_store(struct uw_context *, uw_Sqlcache_Cache *, char **, uw_Sqlcache_Value *); void *uw_Sqlcache_flush(struct uw_context *, uw_Sqlcache_Cache *, char **); +int strcmp_nullsafe(const char *, const char *); + #endif diff --git a/src/c/urweb.c b/src/c/urweb.c index 286ec7be..afe8457b 100644 --- a/src/c/urweb.c +++ b/src/c/urweb.c @@ -4968,3 +4968,10 @@ void uw_Sqlcache_flush(uw_context ctx, uw_Sqlcache_Cache *cache, char **keys) { } pthread_rwlock_unlock(&cache->lockIn); } + +int strcmp_nullsafe(const char *str1, const char *str2) { + if (str1) + return strcmp(str1, str2); + else + return 1; +} diff --git a/src/postgres.sml b/src/postgres.sml index ddfe0ad6..404384d2 100644 --- a/src/postgres.sml +++ b/src/postgres.sml @@ -443,7 +443,7 @@ fun init {dbstring, prepared = ss, tables, views, sequences} = newline, newline, string "if (PQresultStatus(res) != PGRES_COMMAND_OK) {", - box [string "if (!strcmp(PQresultErrorField(res, PG_DIAG_SQLSTATE), \"40001\")) {", + box [string "if (!strcmp_nullsafe(PQresultErrorField(res, PG_DIAG_SQLSTATE), \"40001\")) {", box [newline, string "PQclear(res);", newline, @@ -451,7 +451,7 @@ fun init {dbstring, prepared = ss, tables, views, sequences} = newline], string "}", newline, - string "if (!strcmp(PQresultErrorField(res, PG_DIAG_SQLSTATE), \"40P01\")) {", + string "if (!strcmp_nullsafe(PQresultErrorField(res, PG_DIAG_SQLSTATE), \"40P01\")) {", box [newline, string "PQclear(res);", newline, @@ -629,7 +629,7 @@ fun queryCommon {loc, query, cols, doCols} = string "if (PQresultStatus(res) != PGRES_TUPLES_OK) {", newline, - box [string "if (!strcmp(PQresultErrorField(res, PG_DIAG_SQLSTATE), \"40001\")) {", + box [string "if (!strcmp_nullsafe(PQresultErrorField(res, PG_DIAG_SQLSTATE), \"40001\")) {", box [newline, string "PQclear(res);", newline, @@ -637,7 +637,7 @@ fun queryCommon {loc, query, cols, doCols} = newline], string "}", newline, - string "if (!strcmp(PQresultErrorField(res, PG_DIAG_SQLSTATE), \"40P01\")) {", + string "if (!strcmp_nullsafe(PQresultErrorField(res, PG_DIAG_SQLSTATE), \"40P01\")) {", box [newline, string "PQclear(res);", newline, @@ -800,7 +800,7 @@ fun dmlCommon {loc, dml, mode} = string "if (PQresultStatus(res) != PGRES_COMMAND_OK) {", newline, - box [string "if (!strcmp(PQresultErrorField(res, PG_DIAG_SQLSTATE), \"40001\")) {", + box [string "if (!strcmp_nullsafe(PQresultErrorField(res, PG_DIAG_SQLSTATE), \"40001\")) {", box [newline, string "PQclear(res);", newline, @@ -808,7 +808,7 @@ fun dmlCommon {loc, dml, mode} = newline], string "}", newline, - string "if (!strcmp(PQresultErrorField(res, PG_DIAG_SQLSTATE), \"40P01\")) {", + string "if (!strcmp_nullsafe(PQresultErrorField(res, PG_DIAG_SQLSTATE), \"40P01\")) {", box [newline, string "PQclear(res);", newline, -- cgit v1.2.3 From d91390e79969bc2eb4c36ea22919cb7b7a205e78 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Tue, 21 Jun 2016 10:38:51 -0400 Subject: New release --- CHANGELOG | 9 +++++++++ configure.ac | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index bec77354..e3c39d23 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,12 @@ +======== +20160621 +======== + +- Client-side: detect session timeout and ask the user to reload +- New Basis math functions: abs, acos, asin, atan, atan2, cos, exp, floor, log, pow, sqrt, sin +- Compatibility fixes for newer C and SML compilers +- Bug fixes + ======== 20160515 ======== diff --git a/configure.ac b/configure.ac index aa6d9e26..e8df036c 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -AC_INIT([urweb], [20160515]) -WORKING_VERSION=1 +AC_INIT([urweb], [20160621]) +WORKING_VERSION=0 AC_USE_SYSTEM_EXTENSIONS # automake 1.12 requires this, but automake 1.11 doesn't recognize it -- cgit v1.2.3 From 0be44023bd10e455af60a4e89ada6731e3426874 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Tue, 21 Jun 2016 10:58:41 -0400 Subject: Return to working version mode --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index e8df036c..5ddc8409 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_INIT([urweb], [20160621]) -WORKING_VERSION=0 +WORKING_VERSION=1 AC_USE_SYSTEM_EXTENSIONS # automake 1.12 requires this, but automake 1.11 doesn't recognize it -- cgit v1.2.3 From 10f0c953a1de12f375d694a0ee0816f7dffa4483 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Fri, 1 Jul 2016 11:10:35 -0400 Subject: Switch to expected order for [queryL] --- lib/ur/top.ur | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/ur/top.ur b/lib/ur/top.ur index e831b4f7..6c6c896c 100644 --- a/lib/ur/top.ur +++ b/lib/ur/top.ur @@ -225,15 +225,23 @@ fun query1' [t ::: Name] [fs ::: {Type}] [state ::: Type] (q : sql_query [] [] [ (f : $fs -> state -> state) (i : state) = query q (fn r s => return (f r.t s)) i +val rev = fn [a] => + let + fun rev' acc (ls : list a) = + case ls of + [] => acc + | x :: ls => rev' (x :: acc) ls + in + rev' [] + end + fun queryL [tables] [exps] [tables ~ exps] (q : sql_query [] [] tables exps) = - query q - (fn r ls => return (r :: ls)) - [] + ls <- query q (fn r ls => return (r :: ls)) []; + return (rev ls) fun queryL1 [t ::: Name] [fs ::: {Type}] (q : sql_query [] [] [t = fs] []) = - query q - (fn r ls => return (r.t :: ls)) - [] + ls <- query q (fn r ls => return (r.t :: ls)) []; + return (rev ls) fun queryI [tables ::: {{Type}}] [exps ::: {Type}] [tables ~ exps] (q : sql_query [] [] tables exps) -- cgit v1.2.3 From 021c8f7e0a1776566ec5d3d059136ba03f9ac3db Mon Sep 17 00:00:00 2001 From: Tuncer Ayaz Date: Fri, 15 Jul 2016 14:02:05 +0200 Subject: urweb-mode: do not configure require-final-newline Ur/Web source files do not require a final newline. Thus, require-final-newline is a personal setting and should not be configured in the major mode. Setting it here will also negatively impact helpers like ethan-wspace. --- src/elisp/urweb-mode.el | 1 - 1 file changed, 1 deletion(-) diff --git a/src/elisp/urweb-mode.el b/src/elisp/urweb-mode.el index bc71a052..d1eec2a1 100644 --- a/src/elisp/urweb-mode.el +++ b/src/elisp/urweb-mode.el @@ -395,7 +395,6 @@ This mode runs `urweb-mode-hook' just before exiting. ;; Treat paragraph-separators in comments as paragraph-separators. (set (make-local-variable 'paragraph-separate) (concat "\\([ \t]*\\*)?\\)?\\(" paragraph-separate "\\)")) - (set (make-local-variable 'require-final-newline) t) ;; forward-sexp-function is an experimental variable in my hacked Emacs. (set (make-local-variable 'forward-sexp-function) 'urweb-user-forward-sexp) ;; For XEmacs -- cgit v1.2.3 From fb5324f8180b089c75f12d165869909db941878f Mon Sep 17 00:00:00 2001 From: Saulo Araujo Date: Sat, 16 Jul 2016 14:06:00 -0300 Subject: Fix for "normalizeTable" nesting thead and tfoot in tbody --- lib/js/urweb.js | 10 ++++++---- tests/normalizeTable.ur | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ tests/normalizeTable.urp | 1 + tests/normalizeTable.urs | 1 + 4 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 tests/normalizeTable.ur create mode 100644 tests/normalizeTable.urp create mode 100644 tests/normalizeTable.urs diff --git a/lib/js/urweb.js b/lib/js/urweb.js index 1f44a97b..68e7979d 100644 --- a/lib/js/urweb.js +++ b/lib/js/urweb.js @@ -879,10 +879,12 @@ function normalizeTable(table) { for (script = table.firstChild; script && script != tbody; script = next) { next = script.nextSibling; - if (firstChild) - tbody.insertBefore(script, firstChild); - else - tbody.appendChild(script); + if (script.tagName === "SCRIPT") { + if (firstChild) + tbody.insertBefore(script, firstChild); + else + tbody.appendChild(script); + } } return; diff --git a/tests/normalizeTable.ur b/tests/normalizeTable.ur new file mode 100644 index 00000000..be16d935 --- /dev/null +++ b/tests/normalizeTable.ur @@ -0,0 +1,50 @@ +fun main () = +visible <- source True; +return + + +
+

Static table

+ + + + + + + + + + + + + +
Column 0Column 1
AB
+
+ +
+

Dynamic table

+ + + + + + + + + + + + + + + else + ) + }/> + +
Column 0Column 1
AB
+
+ +
diff --git a/tests/normalizeTable.urp b/tests/normalizeTable.urp new file mode 100644 index 00000000..e22cda3b --- /dev/null +++ b/tests/normalizeTable.urp @@ -0,0 +1 @@ +normalizeTable diff --git a/tests/normalizeTable.urs b/tests/normalizeTable.urs new file mode 100644 index 00000000..9e80cf40 --- /dev/null +++ b/tests/normalizeTable.urs @@ -0,0 +1 @@ +val main: unit -> transaction page -- cgit v1.2.3 From dda350d180aa0a551f28116302fcc0f046ba4988 Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Wed, 20 Jul 2016 12:29:50 -0400 Subject: Add .mailmap to correct bbaren’s address MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Somehow, one of my commits got entered under instead of . Add a .mailmap file so 'git shortlog', 'git log --use-mailmap', etc. do the right thing. --- .mailmap | 1 + 1 file changed, 1 insertion(+) create mode 100644 .mailmap diff --git a/.mailmap b/.mailmap new file mode 100644 index 00000000..abfaa565 --- /dev/null +++ b/.mailmap @@ -0,0 +1 @@ + -- cgit v1.2.3 From e753293303a8dcd002ad16ec3d2a42fcc6402485 Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Wed, 20 Jul 2016 12:43:28 -0400 Subject: uw_memmem: correct indentation Closes https://github.com/urweb/urweb/issues/36. --- src/c/memmem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/c/memmem.c b/src/c/memmem.c index da3b4990..f31f4e31 100644 --- a/src/c/memmem.c +++ b/src/c/memmem.c @@ -80,7 +80,7 @@ urweb_memmem(const void *b1, size_t len1, const void *b2, size_t len2) if (memcmp(sp, pp, len2) == 0) return sp; - sp++; + sp++; } return NULL; -- cgit v1.2.3 From b14760f0724926327a35dcb5e8592266632101cf Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Wed, 20 Jul 2016 17:47:49 -0400 Subject: Support OpenSSL 1.1 Closes https://github.com/urweb/urweb/issues/35. --- src/c/openssl.c | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/src/c/openssl.c b/src/c/openssl.c index 15c4de5e..5982b831 100644 --- a/src/c/openssl.c +++ b/src/c/openssl.c @@ -1,6 +1,5 @@ #include "config.h" -#include #include #include #include @@ -8,17 +7,13 @@ #include #include #include -#include -#include +#include #include #include #define PASSSIZE 4 -// OpenSSL locks array. See threads(3SSL). -static pthread_mutex_t *openssl_locks; - int uw_hash_blocksize = 32; static int password[PASSSIZE]; @@ -33,6 +28,17 @@ static void random_password() { } } +#if OPENSSL_VERSION_NUMBER < 0x10100000L +// We're using OpenSSL <1.1, so we need to specify threading callbacks. See +// threads(3SSL). + +#include +#include + +#include + +static pthread_mutex_t *openssl_locks; + // OpenSSL callbacks #ifdef PTHREAD_T_IS_POINTER static void thread_id(CRYPTO_THREADID *const result) { @@ -60,7 +66,7 @@ static void lock_or_unlock(const int mode, const int type, const char *file, } } -void uw_init_crypto() { +static void init_openssl() { int i; // Set up OpenSSL. assert(openssl_locks == NULL); @@ -74,6 +80,18 @@ void uw_init_crypto() { } CRYPTO_THREADID_set_callback(thread_id); CRYPTO_set_locking_callback(lock_or_unlock); +} + +#else +// We're using OpenSSL >=1.1, which is thread-safe by default. We don't need to +// do anything here. + +static void init_openssl() {} + +#endif // OPENSSL_VERSION_NUMBER < 0x10100000L + +void uw_init_crypto() { + init_openssl(); // Prepare signatures. if (uw_sig_file) { int fd; -- cgit v1.2.3 From 49e3fbd9ee3945f205a9d045d303dcdb6d44adee Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Tue, 2 Aug 2016 15:45:40 -0400 Subject: Update Travis tests to (1) use MLton from main package repo and (2) apply an OS X libtool workaround --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0b2b8b90..2e202470 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,7 +20,8 @@ before_install: - if command -v apt-get &>/dev/null; then sudo apt-get update -qq; fi - if command -v apt-get &>/dev/null; then sudo apt-get install -y mlton; fi - if command -v brew &>/dev/null; then brew update; fi - - if command -v brew &>/dev/null; then brew tap MLton/mlton; fi + - if command -v brew &>/dev/null; brew uninstall libtool; fi + - if command -v brew &>/dev/null; brew install libtool; fi - if command -v brew &>/dev/null; then brew install openssl mlton; fi - if command -v brew &>/dev/null; then export CONFIGURE_ARGS="--with-openssl=/usr/local/opt/openssl"; fi -- cgit v1.2.3 From a5e83eee8ce38425edecaf444b1e99238835ab11 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Tue, 2 Aug 2016 15:48:29 -0400 Subject: Fix Travis syntax error --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2e202470..df4e4abc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,8 +20,8 @@ before_install: - if command -v apt-get &>/dev/null; then sudo apt-get update -qq; fi - if command -v apt-get &>/dev/null; then sudo apt-get install -y mlton; fi - if command -v brew &>/dev/null; then brew update; fi - - if command -v brew &>/dev/null; brew uninstall libtool; fi - - if command -v brew &>/dev/null; brew install libtool; fi + - if command -v brew &>/dev/null; then brew uninstall libtool; fi + - if command -v brew &>/dev/null; then brew install libtool; fi - if command -v brew &>/dev/null; then brew install openssl mlton; fi - if command -v brew &>/dev/null; then export CONFIGURE_ARGS="--with-openssl=/usr/local/opt/openssl"; fi -- cgit v1.2.3 From 35ec01ca26cddee7f3acc5db528800bbf327b170 Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Wed, 3 Aug 2016 10:42:29 -0400 Subject: Spelling --- src/mysql.sml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mysql.sml b/src/mysql.sml index 539428f6..52e4921e 100644 --- a/src/mysql.sml +++ b/src/mysql.sml @@ -867,7 +867,7 @@ fun queryCommon {loc, query, cols, doCols} = newline, string "uw_error(ctx, FATAL, \"", string (ErrorMsg.spanToString loc), - string ": Error reseting statement: %s\\n%s\", ", + string ": Error resetting statement: %s\\n%s\", ", query, string ", mysql_error(conn->conn));", newline], @@ -931,7 +931,7 @@ fun queryCommon {loc, query, cols, doCols} = string "if (mysql_stmt_reset(stmt)) uw_error(ctx, FATAL, \"", string (ErrorMsg.spanToString loc), - string ": Error reseting statement: %s\\n%s\", ", + string ": Error resetting statement: %s\\n%s\", ", query, string ", mysql_error(conn->conn));", newline, -- cgit v1.2.3 From bd6f549a527856db3878f1586c6666646a45d8ee Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Fri, 5 Aug 2016 16:09:33 -0400 Subject: New release --- CHANGELOG | 9 +++++++++ configure.ac | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index e3c39d23..f5c92708 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,12 @@ +======== +20160805 +======== + +- Compatibility fixes for C compilers and OpenSSL +- Starting to change SQL functions to return results in most natural order + - Step 1: queryL +- Bug fixes + ======== 20160621 ======== diff --git a/configure.ac b/configure.ac index 5ddc8409..196d597c 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -AC_INIT([urweb], [20160621]) -WORKING_VERSION=1 +AC_INIT([urweb], [20160805]) +WORKING_VERSION=0 AC_USE_SYSTEM_EXTENSIONS # automake 1.12 requires this, but automake 1.11 doesn't recognize it -- cgit v1.2.3