>> By using `defcommand' in a module (separate package), I couldn't
>> redefine the package because the symbols defining the commands were
>> exported but they were not listed in my new package redefinition.
>
> If you call (stumpwm:defcommand foo ...) from an external package, you
> export foo from your package (ie module:foo), but you never defined
> module:foo for your package, so your encountering an error?  

The error occurs when I try to redefine a package using `defpackage'.
It is not something one has to do, but it can happen during interactive
development.

Suppose I have a module like:

(defpackage #:my-module
  (:use #:cl))

(in-package #:my-module)

(stumpwm:defcommand my-command () ()
  "This is my command."
  (values))

Now I change my mind about the `defpackage' form and I want to compile a
new one to import the symbol `defcommand' from the package `stumpwm'.

(defpackage #:my-module
  (:use #:cl)
  (:import-from #:stumpwm #:defcommand))

SBCL won't let me because `defcommand' exported the symbol `my-command'
and my redefinition does not list it as an exported symbol.

_______________________________________________
Stumpwm-devel mailing list
Stumpwm-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/stumpwm-devel

Reply via email to