Subject: bug#13715: 24.2; Invalid function when calling sql-connect

From: Glenn Morris <[email-masked]>
Date: Fri, 15 Feb 2013 12:09:57 -0500

Please keep debbugs cc'd. Resending your comments so they are more visible.

Date: Fri, 15 Feb 2013 10:11:04 +0100
From: Roman Scherer <[email-masked]>

thanks for your help. If I remember correctly it used to work
with symbols. I also tried this with strings like this:

(require 'sql)

(setq sql-connection-alist
      '(("db1"
         (sql-product 'mysql)
         (sql-server "localhost")
         (sql-user "tiger")
         (sql-password "scotch")
         (sql-database "db1")
         (sql-port 3306))
        ("db2"
         (sql-product 'mysql)
         (sql-server "localhost")
         (sql-user "tiger")
         (sql-password "scotch")
         (sql-database "db2"))))

This seems to work. However only after the second time I call
sql-connect. The first time I get the error "eval: Attempt to set

a constant symbol: nil". Calling it the second time works.

I think it breaks in sql-connect near this line:

;; Start the SQLi session with revised list of login parameters

(eval `(let ((,param-var ',rem-params))
         (sql-product-interactive sql-product new-name))))

Roman