Fixed.
[riece] / lisp / riece-addon.el
index a46fcb3..ac3dc89 100644 (file)
 (defun riece-insinuate-addon (addon &optional verbose)
   (unless (assq addon riece-addon-dependencies)
     (setq riece-addons (cons addon riece-addons)
-         riece-addon-dependencies (riece-resolve-addons riece-addons)))
+         riece-addon-dependencies (riece-resolve-addons
+                                   (copy-sequence riece-addons))))
   (if (get addon 'riece-addon-insinuated)
       (if verbose
          (message "Add-on %S is already insinuated" addon))
                         #'ignore))
            (setq riece-addon-dependencies
                  (delq entry riece-addon-dependencies))
-           (put addon 'riece-addon-insinuated nil)
+           (remprop addon 'riece-addon-insinuated)
            (setq riece-addons (delq addon riece-addons))))
       (if verbose
          (message "Add-on %S is uninstalled" addon)))))
 
 (defun riece-enable-addon (addon &optional verbose)
+  (unless (get addon 'riece-addon-insinuated)
+    (error "Add-on %S is not insinuated" addon))
   (let ((enabled (intern-soft (concat (symbol-name addon) "-enabled"))))
     (if (null enabled)
        (if verbose
            (message "Add-on %S enabled" addon))))))
 
 (defun riece-disable-addon (addon &optional verbose)
+  (unless (get addon 'riece-addon-insinuated)
+    (error "Add-on %S is not insinuated" addon))
   (let ((enabled (intern-soft (concat (symbol-name addon) "-enabled"))))
     (if (null enabled)
        (if verbose