Search code examples
common-lispasdf

Automatically resolving a symbol naming conflict using asdf and defpackage


I have defined a common lisp package using asdf which uses both parenscript and clsql.

But these packages have a naming conflict around the function GET-TIME. When the module is loaded I can resolve the conflict manually at the prompt (code may not be exact):

Select a symbol to be made accessible in package MY_PACKAGE:
   1. PS-JS-SYMBOLS:GET-TIME
   2. CLSQL-SYS:GET-TIME

I pick option 1.

What is the best way to modify my project so that this conflict is resolved automatically?

Do I modify the .asd file or the project.lisp file?

I think the answer might have something to do with :shadowing-import-from, but I don't really understand the examples given on that documentation page.


Solution

  • Based on @Rainer Joswigs answer above, the specific answer to my question was to write my defpackage form as follows:

     (defpackage #:my-package 
          (:use :cl :clsql :parenscript)
          (:shadowing-import-from :parenscript "GET-TIME")
          )