Permit alternate origin of mpointer; #'clone
Redesign #'defmobject so that a new method #'allocate is defined that calls the standard GSL allocate function for each object. Shrink the initialize-instance :after method to call #'allocate if the mpointer isn't given, and then set the finalizer. This way, an :mpointer made by something other than the allocate function may be supplied to the make-instance, and the object will be made correctly. This is used by #'clone functions in histogram and random number generators. Not compiled or tested, but macroexpansions look right.
Showing with 41 additions and 31 deletions