octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #52111] meta.class.* does not work after after


From: Piotr Held
Subject: [Octave-bug-tracker] [bug #52111] meta.class.* does not work after after 'clear classes'
Date: Wed, 27 Sep 2017 21:06:00 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36

Follow-up Comment #1, bug #52111 (project octave):

I found out a new bug and solved it with this patch (which I don't think there
is a need to submit a separate bug, it's all quite intertwined). Octave will
close when calling:


meta.event
# or
meta.dynamicproperty


which the latter isn't even Matlab compatible.

The patch introduces two methods:
# cdef_manager::install_meta_classes_in_symtab which is a way of avoiding code
duplication.
# cdef_manager::reinit which takes the classes and packages created in
cdef_manager::initialize() and reloads them. I could call
cdef_manager::initialize again but that increases memory leak from Bug #52123
<https://savannah.gnu.org/bugs/?52123>.

I removed tmp_meta* cdef objects from cdef_manager::intialize since they did
not really serve any purpose and only cluttered the code. I also removed
references to events and dynproperties as they are not implemented and only
cause confusion/octave termination.

I also added some documentation to cdef_manager (in ov-classdef.h)



(file #41907)
    _______________________________________________________

Additional Item Attachment:

File name: meta_class_clear_all_patch.diff Size:21 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?52111>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]