[PATCH v2 00/10] ruby: object cleanups

Subject: [PATCH v2 00/10] ruby: object cleanups

Date: Tue, 4 May 2021 03:17:39 -0500

To: notmuch@notmuchmail.org

Cc: Ali Polatel, Austin Clements, Tomi Ollila, Ludovic LANGE, Daniel Kahn Gillmor

From: Felipe Contreras


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.contreras@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-leave@notmuchmail.org

Thread: