>From 53282a31fd243f172d95fae3e4ff6d10ebfac2c6 Mon Sep 17 00:00:00 2001
From: "Vladimir V. Kisil" <kisilv@maths.leeds.ac.uk>
Date: Mon, 6 Apr 2020 12:59:10 +0100
Subject: [PATCH] Make zeta with two arguments be different function from the
 zeta of one argument.

Previous design lead to mishandling of archiving zeta function.

Signed-off-by: Vladimir V. Kisil <kisilv@maths.leeds.ac.uk>
---
 ginac/inifcns_nstdsums.cpp | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/ginac/inifcns_nstdsums.cpp b/ginac/inifcns_nstdsums.cpp
index c20526ba..88e8236e 100644
--- a/ginac/inifcns_nstdsums.cpp
+++ b/ginac/inifcns_nstdsums.cpp
@@ -4012,8 +4012,7 @@ unsigned zeta1_SERIAL::serial = function::register_new(function_options("zeta",
                                 eval_func(zeta1_eval).
                                 derivative_func(zeta1_deriv).
                                 print_func<print_latex>(zeta1_print_latex).
-                                do_not_evalf_params().
-                                overloaded(2));
+                                do_not_evalf_params());
 
 
 //////////////////////////////////////////////////////////////////////
@@ -4104,6 +4103,16 @@ static ex zeta2_deriv(const ex& m, const ex& s, unsigned deriv_param)
 }
 
 
+static void zeta2_print_dflt(const ex& m, const ex& s, const print_context& c)
+{
+	c.s << "zeta(";
+	m.print(c);
+	c.s << ",";
+	s.print(c);
+	c.s << ")";
+}
+
+
 static void zeta2_print_latex(const ex& m_, const ex& s_, const print_context& c)
 {
 	lst m;
@@ -4144,13 +4153,13 @@ static void zeta2_print_latex(const ex& m_, const ex& s_, const print_context& c
 }
 
 
-unsigned zeta2_SERIAL::serial = function::register_new(function_options("zeta", 2).
+unsigned zeta2_SERIAL::serial = function::register_new(function_options("zeta2", 2).
                                 evalf_func(zeta2_evalf).
                                 eval_func(zeta2_eval).
                                 derivative_func(zeta2_deriv).
                                 print_func<print_latex>(zeta2_print_latex).
-                                do_not_evalf_params().
-                                overloaded(2));
+                                print_func<print_dflt>(zeta2_print_dflt).
+                                do_not_evalf_params());
 
 
 } // namespace GiNaC
-- 
2.25.1

