|
From: | Sébastien Kalbusch |
Subject: | [Octave-bug-tracker] [bug #59103] inputname() is incorrect for string-like numeric inputs such as Inf, NaN, i |
Date: | Tue, 15 Sep 2020 14:15:55 -0400 (EDT) |
User-agent: | Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:80.0) Gecko/20100101 Firefox/80.0 |
Follow-up Comment #1, bug #59103 (project octave): Hello, I have had a look at the implementation of inputname and I think the usage of "isvarname" is incorrect. I was expecting isvarname("Inf") to be 0 but I get: octave:1> isvarname("Inf") ans = 1 I believe that the "exist" function would achieve the intended result. "inputname" could return an empty string if "exist(NAME)" gives a result different than 1 (meaning that NAME is a variable). octave:2> exist("Inf") ans = 5 For this to work, "exist" must be evaluated in the base context though. So it would look like this valid = evalin ("base", sprintf ("exist (\"%s\")", name)); if (valid != 1) name = ""; endif instead of if (! isvarname (name)) name = ""; endif I am new here so I am not sure if this is correct. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?59103> _______________________________________________ Message posté via Savannah https://savannah.gnu.org/
[Prev in Thread] | Current Thread | [Next in Thread] |