Query user to insinuate dependent add-ons.
authorDaiki Ueno <ueno@unixuser.org>
Sat, 27 Aug 2005 13:29:25 +0000 (13:29 +0000)
committerDaiki Ueno <ueno@unixuser.org>
Sat, 27 Aug 2005 13:29:25 +0000 (13:29 +0000)
lisp/riece-addon.el

index 4c474c7..90d78de 100644 (file)
          riece-addon-dependencies
          (riece-resolve-addons
           (cons addon (mapcar #'car riece-addon-dependencies)))))
          riece-addon-dependencies
          (riece-resolve-addons
           (cons addon (mapcar #'car riece-addon-dependencies)))))
-  (let ((pointer riece-addon-dependencies))
+  (let ((pointer riece-addon-dependencies)
+       addons)
     (while pointer
       (unless (get (car (car pointer)) 'riece-addon-insinuated)
     (while pointer
       (unless (get (car (car pointer)) 'riece-addon-insinuated)
-       (riece-insinuate-addon-1 (car (car pointer)) verbose))
+       (setq addons (cons (car (car pointer)) addons)))
       (if (eq (car (car pointer)) addon)
          (setq pointer nil)
       (if (eq (car (car pointer)) addon)
          (setq pointer nil)
-       (setq pointer (cdr pointer))))))
+       (setq pointer (cdr pointer))))
+    (if (y-or-n-p (format "%s will be insinuated.  Continue?"
+                         (mapconcat #'symbol-name addons ", ")))
+       (while addons
+         (riece-insinuate-addon-1 (car addons))
+         (setq addons (cdr addons))))))
 
 (defun riece-uninstall-addon (addon &optional verbose)
   (if (not (get addon 'riece-addon-insinuated))
 
 (defun riece-uninstall-addon (addon &optional verbose)
   (if (not (get addon 'riece-addon-insinuated))