February 18, 2002
Solving Symbol Conflicts
Error: Using package `INET.UTIL.LOG' results in name conflicts
       for these symbols: WRITE-LOG
  [condition type: PACKAGE-ERROR]

But it can be so hard to figure out exactly where the source of the conflict is. And I sure am lazy. Hence this horrific hack in which I advise intern:

(defun break-on-intern (sym-name)
  (flet ((check-intern (this-sym-name &optional package)
           (declare (ignore package))
           (when (equal sym-name this-sym-name)
             (break))))
    (def-fwrapper intern-wrap (sym-name &optional package)
      (check-intern sym-name)
      (call-next-fwrapper))
    (fwrap 'intern 'intern-breaker 'intern-wrap)))

And then:

CL-USER(5): (break-on-intern "WRITE-LOG")
#<Function INTERN>
CL-USER(6): (load "demo-dev-startup")

Surprisingly, it worked. Though of course in the fresh lisp I started, there was no conflict. Heh.

Posted by jjwiseman at February 18, 2002 02:31 PM
Comments
Post a comment
Name:


Email Address:


URL:




Unless you answer this question, your comment will be classified as spam and will not be posted.
(I'll give you a hint: the answer is “lisp”.)

Comments:


Remember info?