[Openmcl-devel] CCL Win32 confuses equally named functions
Wimpie Nortje
wimpie at selectiveshare.com
Mon Jun 8 04:03:05 PDT 2015
Hi everyone,
I am porting my application from linux 64b to windows 32b. On windows
CCL calls the wrong function while it works fine in linux.
In principle the code looks like this
(in-package :b)
(defun fn (par1 par2 &optional (out *standard-output*)) [3]
(do-stuff))
(in-package :a)
(defun fn (par1 par2) [2]
(b:fn par1 par2 *some-global*)) [1]
(in-package :main)
(a:fn Val1 Val2)
When I run this I get the following error:
Too many arguments in call to #<Compiled-function B:FN #xE0A390E>:
3 arguments provided, at most 2 accepted.
[Condition of type CCL::TOO-MANY-ARGUMENTS]
It seems that the function call at [1] is calling the definition at [2]
instead of the one at [3]. Also, when I do M-. (slime-edit-definition)
at [1] it jumps to [2].
If I rename b:fn to something else without any other code changes, it
works.
This code works unmodified on linux 64b. I have not yet tried on windows
64b
Is this a bug or am I doing something wrong?
I am running CCL Version 1.10-r16196 (WindowsX8632) on Windows XP SP3.
--
Wimpie Nortje
Strongroom - Host-proof notepad
Selective Share - Encryption-as-a-Service
https://www.selectiveshare.com
More information about the Openmcl-devel
mailing list