This superseeds my previous series [1] with much more cleanups. An important new change is the move towards RTypedData, which is way superior to the old RData objects.
Everything should work basically the same though. [1] id: 20210503075457.649056-1-felipe.contre...@gmail.com Felipe Contreras (10): ruby: add missing Data_Get_Notmuch helpers ruby: improve all Data_Get_Notmuch_* helpers ruby: improve general data get helper ruby: simplify data get helper ruby: fetch class name in case of error ruby: add unlikely hint ruby: create Data_Wrap_Notmuch_Object helper ruby: move towards more modern RTypedData ruby: add all data types ruby: new notmuch_rb_object_destroy() helper bindings/ruby/database.c | 22 +++----- bindings/ruby/defs.h | 116 ++++++++++++++++++-------------------- bindings/ruby/directory.c | 11 +--- bindings/ruby/filenames.c | 7 +-- bindings/ruby/init.c | 21 +++++++ bindings/ruby/message.c | 13 ++--- bindings/ruby/messages.c | 11 +--- bindings/ruby/query.c | 11 +--- bindings/ruby/tags.c | 7 +-- bindings/ruby/thread.c | 13 ++--- bindings/ruby/threads.c | 9 +-- 11 files changed, 105 insertions(+), 136 deletions(-) Range-diff against v1: -: -------- > 1: 9c15fc44 ruby: add missing Data_Get_Notmuch helpers 1: 6d121221 = 2: c9d840d3 ruby: improve all Data_Get_Notmuch_* helpers 2: 1f19091c = 3: 299b2be1 ruby: improve general data get helper 3: b5c84295 ! 4: 19fa26de ruby: simplify data get helper @@ bindings/ruby/defs.h: extern ID ID_db_mode; +#define Data_Get_Notmuch_Object(obj, message, ptr) \ do { \ - Data_Get_Struct ((obj), type, (ptr)); \ -+ (ptr) = rb_data_object_get (obj); \ ++ (ptr) = rb_data_object_get ((obj)); \ if (!(ptr)) \ rb_raise (rb_eRuntimeError, (message)); \ } while (0) -: -------- > 5: 1872c4b5 ruby: fetch class name in case of error -: -------- > 6: b46bcac8 ruby: add unlikely hint -: -------- > 7: 1bfa0334 ruby: create Data_Wrap_Notmuch_Object helper -: -------- > 8: a9b7ac45 ruby: move towards more modern RTypedData -: -------- > 9: e2116d5d ruby: add all data types -: -------- > 10: f6660e5b ruby: new notmuch_rb_object_destroy() helper -- 2.31.0 _______________________________________________ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org