Добавил в garbage-pools одну функцию: cancel-object-cleanup, которая позволяет отменить регистрацию ранее зарегистрированного в пуле объетка. Это приём в стиле C++ : вообще-то, удалять ресурс не собираемся, но в случае возникновения исключения он должен быть удалён, поэтому готовим его к удалению, а в после успешного прохождения опасной зоны спасаем и используем по назначению.
Поскольку успел заюзать эту функцию в cl-libxml2, то в связи с её новым релизом, пришлось строчо выпустить garbage-pools версии 0.1.1 (чуть не забыл это сделать).
вторник, 23 декабря 2008 г.
Подписаться на:
Комментарии к сообщению (Atom)
Я новичок в lisp.
ОтветитьУдалитьНе получается проинсталить этот пакет :(.
при (load "????/garbage-pools.asd") emacs slime sbcl ubuntu
пишет: The function #:ITERATE is undefined.
При том что (require 'iterate) -> ("ITERATE")
@Andrey
ОтветитьУдалитьДля загрузки asdf-систем надо использовать саму asdf:
(asdf:operate 'asdf:load-op '#:garbage-pools)
Мануал по asdf доступен здесь: http://common-lisp.net/project/asdf/manual.html
Большое спасибо за ответ archimag.
ОтветитьУдалитьПервое что я сделал это попробовал проинсталить пакет с помощью asdf-install, но когда начался инстал то "Lisp connection closed unexpectedly: connection broken by remote peer"
А на (asdf:operate 'asdf:load-op '#:garbage-pools)
выдает "component garbage-pools not found".
Я новичок, может чето не понимаю или не знаю,
буду благодарен за ответ.
> попробовал проинсталить пакет с
ОтветитьУдалить> помощью asdf-install
Не, мои пакеты через asdf-install не поставить, я такой цели не ставил. Впрочем, сейчас есть возможность для garbage-pools установить его через мой форк clbuild: http://github.com/archimag/clbuild-archimag. Пользоваться им так же, как и оригинальной версией - http://common-lisp.net/project/clbuild/.
Либо устанавливать руками. Это, кстати, полезно и даже нужно, разобраться как работает asdf.