branch: externals/pq commit 5566645359963e95bfc9884f8fb2e6afe99baf45 Author: Andreas Seltenreich <seltenre...@gmx.de> Commit: Andreas Seltenreich <seltenre...@gmx.de>
Fix ERROR-DATA not being a list. This fixes the "peculiar error" messages that appeared in some contexts. --- pq.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pq.c b/pq.c index 96db2eb6c2..7b1cefd18d 100644 --- a/pq.c +++ b/pq.c @@ -53,9 +53,10 @@ static bool result_ok(emacs_env *env, PGresult *res) const char *errmsg = PQresultErrorMessage(res); emacs_value errstring = env->make_string(env, errmsg, strlen(errmsg)); emacs_value Qpq_error = env->intern (env, "error"); + emacs_value errdata = env->funcall(env, env->intern(env, "list"), 1, &errstring); PQclear(res); - env->non_local_exit_signal(env, Qpq_error, errstring); + env->non_local_exit_signal(env, Qpq_error, errdata); } return false; } @@ -68,7 +69,8 @@ static bool connection_ok(emacs_env *env, PGconn *conn) const char *errmsg = PQerrorMessage(conn); emacs_value errstring = env->make_string(env, errmsg, strlen(errmsg)); emacs_value Qpq_error = env->intern (env, "error"); - env->non_local_exit_signal(env, Qpq_error, errstring); + emacs_value errdata = env->funcall (env, env->intern(env, "list"), 1, &errstring); + env->non_local_exit_signal(env, Qpq_error, errdata); return false; } return true;