Your message dated Mon, 27 Apr 2015 15:03:13 +0200
with message-id <20150427130313.GD14283@yellowpig>
and subject line Re: Bug#777237: Sagemath has special needs
has caused the Debian Bug report #777237,
regarding Sagemath has special needs
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
777237: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=777237
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: pari-gp
Version: 2.7.2-1
Severity: wishlist
While trying to use the debian package in sagemath, it turned out two
things were lacking to make it work:
- they use anal.h ;
- they also have backported patches to add cb_pari_err_handle from
upstream's repository (see end of this mail).
Can we get those in debian too?
Snark on #debian-science
PS: their cb_pari_err_handle.patch looks like:
Add cb_pari_err_handle() callback
Backported from upstream commits
e9e659dc9ecb5ca6a8296c7922528a4ecbb89cb0
26a7ae0f42918407febe9901ded41faf26ef43a6
diff -ru src/src/headers/paricom.h b/src/headers/paricom.h
--- src/src/headers/paricom.h 2014-03-25 09:59:21.000000000 +0100
+++ b/src/headers/paricom.h 2015-01-13 19:41:47.430885048 +0100
@@ -81,6 +81,7 @@
extern int (*cb_pari_whatnow)(PariOUT *out, const char *, int);
extern void (*cb_pari_sigint)(void);
extern int (*cb_pari_handle_exception)(long);
+extern int (*cb_pari_err_handle)(GEN);
extern void (*cb_pari_pre_recover)(long);
extern void (*cb_pari_err_recover)(long);
extern const char *pari_library_path;
diff -ru src/src/language/init.c b/src/language/init.c
--- src/src/language/init.c 2015-01-13 19:40:30.643622993 +0100
+++ b/src/language/init.c 2015-01-13 19:41:47.431884833 +0100
@@ -87,6 +87,7 @@
void (*cb_pari_ask_confirm)(const char *);
int (*cb_pari_handle_exception)(long);
+int (*cb_pari_err_handle)(GEN);
int (*cb_pari_whatnow)(PariOUT *out, const char *, int);
void (*cb_pari_sigint)(void);
void (*cb_pari_pre_recover)(long);
@@ -732,6 +733,8 @@
static void
dflt_err_recover(long errnum) { (void) errnum; pari_exit(); }
+static int pari_err_display(GEN err);
+
/* initialize PARI data. Initialize [new|old]fun to NULL for default
set. */
void
pari_init_opts(size_t parisize, ulong maxprime, ulong init_opts)
@@ -739,6 +742,8 @@
ulong u;
cb_pari_whatnow = NULL;
+ cb_pari_handle_exception = NULL;
+ cb_pari_err_handle = pari_err_display;
cb_pari_pre_recover = NULL;
cb_pari_sigint = dflt_sigint_fun;
if (init_opts&INIT_JMPm) cb_pari_err_recover = dflt_err_recover;
@@ -887,9 +892,6 @@
evalstate_reset();
killallfiles();
pari_init_errcatch();
- out_puts(pariErr, "\n");
- pariErr->flush();
-
cb_pari_err_recover(numerr);
}
@@ -1266,21 +1268,22 @@
return NULL; /*NOT REACHED*/
}
-static void
+static int
pari_err_display(GEN err)
{
long numerr=err_get_num(err);
+ err_init();
if (numerr==e_SYNTAX)
{
const char *msg = GSTR(gel(err,2));
const char *s = (const char *) gmael(err,3,1);
const char *entry = (const char *) gmael(err,3,2);
print_errcontext(pariErr, msg, s, entry);
- return;
}
else
{
char *s = pari_err2str(err);
+ closure_err(0);
err_init_msg(numerr, e_USER);
pariErr->puts(s);
if (numerr==e_NOTFUNC)
@@ -1295,6 +1298,8 @@
}
pari_free(s);
}
+ out_term_color(pariErr, c_NONE);
+ pariErr->flush(); return 0;
}
void
@@ -1315,12 +1320,9 @@
global_err_data = E;
if (*iferr_env) longjmp(*iferr_env, numerr);
mt_err_recover(numerr);
- err_init();
- if (numerr != e_SYNTAX) closure_err(0);
- pari_err_display(E);
- out_term_color(pariErr, c_NONE);
va_end(ap);
- pariErr->flush();
+ if (cb_pari_err_handle &&
+ cb_pari_err_handle(E)) return;
if (cb_pari_handle_exception &&
cb_pari_handle_exception(numerr)) return;
err_recover(numerr);
--- End Message ---
--- Begin Message ---
On Fri, Mar 13, 2015 at 08:23:59PM +0100, Bill Allombert wrote:
> On Fri, Mar 13, 2015 at 07:37:56PM +0100, Julien Puydt wrote:
> > Hi,
> >
> > Unfortunately, the sagemath devs have started packaging a snapshot
> > of pari 2.8 and use more non-2.7 features than just error
> > management, so there is no point anymore in trying to restore
> > compatibility :'-(
>
> Yes I know. They are going with unsupported software. This going to end
> poorly.
Given this, I close this report.
Cheers,
--
Bill. <[email protected]>
Imagine a large red swirl here.
--- End Message ---