Possible new issue introduced with 20140316 release
Mackram Raydan <[email protected]> Tue, 08 Apr 2014 16:08:03 +0300
| Newsgroups | gmane.lisp.clsql.general |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--===============0250186893==
Content-Type: multipart/alternative;
boundary="------------000405080507070801080105"
This is a multi-part message in MIME format.
--------------000405080507070801080105
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Hey Everyone,
I would like to point out that during the release of 20140316 which was
pushed to quicklisp as the most recent clsql implementation, a new
behavior is taking place for the treatment of symbols . This could
introduce some bugs in the running code of people if not pointed out,
let me illustrate.
In the new version file oodml.lisp line number 624 will read a string
from the db and translate into a symbol using the following function:
*(intern (symbol-name-default-case val))*
Previous version of clsql used to translate a symbol using the following
function. Please note this is taken from oodml.lisp line number 690
version 20131211
*(read-from-string val)*
These two behaviours are quite different from each other specifically
consider a function hello-world defined in package alpha if I were to
save the symbol 'alpha::hello-world during the previous versions then I
would be able to call that function as the returned symbol would be
/alpha::hello-world/ however in the new version it would be the symbol
/common-lisp-user:|alpha::hello-world|/ which is not callable as a
function since it is not defined.
Can someone please help by shedding some light on why the change was done?
Thank you.
--------------000405080507070801080105
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hey Everyone,<br>
<br>
I would like to point out that during the release of 20140316 which
was pushed to quicklisp as the most recent clsql implementation, a
new behavior is taking place for the treatment of symbols . This
could introduce some bugs in the running code of people if not
pointed out, let me illustrate.<br>
<br>
In the new version file oodml.lisp line number 624 will read a
string from the db and translate into a symbol using the following
function:<br>
<blockquote><b>(intern (symbol-name-default-case val))</b><br>
<br>
</blockquote>
Previous version of clsql used to translate a symbol using the
following function. Please note this is taken from oodml.lisp line
number 690 version 20131211<br>
<blockquote><b>(read-from-string val)</b><br>
<br>
</blockquote>
These two behaviours are quite different from each other
specifically consider a function hello-world defined in package
alpha if I were to save the symbol 'alpha::hello-world during the
previous versions then I would be able to call that function as the
returned symbol would be <i>alpha::hello-world</i> however in the
new version it would be the symbol <i>common-lisp-user:|alpha::hello-world|</i>
which is not callable as a function since it is not defined.<br>
<br>
Can someone please help by shedding some light on why the change was
done?<br>
<br>
Thank you.<br>
<br>
</body>
</html>
--------------000405080507070801080105--
--===============0250186893==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
CLSQL mailing list
[email protected]
http://lists.b9.com/cgi-bin/mailman/listinfo/clsql
--===============0250186893==--