fix edit macro after merge (5c7fd5f) 69/20869/7
Antoine ELIAS [Thu, 21 Feb 2019 08:05:50 +0000 (09:05 +0100)]
CR20654 + CR20035

Troubles come from modification on both side and move on 6.0.
git lose link between files.

Change-Id: I5ee86b0ea350c4b1e69ea89b13fa806a4165b17a

scilab/modules/scinotes/macros/edit.sci

index 8c30775..7c71604 100644 (file)
 
 function edit(macroname, linenumber)
     // macroname : character string giving a macroname
-    // linenumber : line number
+    // linenumber : line number (as decimal number or literal one)
 
     [lhs,rhs] = argn(0);
     if (rhs > 2) then
-        error(sprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"), "edit", 1));
+        msg = _("%s: Wrong number of input argument(s): At least %d expected.\n")
+        error(msprintf(msg, "edit", 1));
     end
 
     if (rhs >= 1 & type(macroname) ~= 10) then
-        error(sprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"),"edit",1));
+        msg = _("%s: Wrong type for input argument #%d: String expected.\n")
+        error(msprintf(msg, "edit", 1));
     end
 
-    if (rhs == 2 & type(linenumber) ~= 1) then
-        error(msprintf(gettext("%s: Wrong type for input argument #%d: Double expected.\n"),"edit",2));
+    if rhs == 2 then
+        if and(type(linenumber)~=[1 10]) | (type(linenumber)==10 & isnan(strtod(linenumber(1)))) then
+            msg = _("%s: Wrong type for input argument #%d: Number expected.\n")
+            error(msprintf(msg, "edit", 2));
+        end
+        linenumber = strtod(linenumber(1))
     end
 
     found = %f;