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==--