From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id qHEPBFY7oGAT5AAAgWs5BA (envelope-from ) for ; Sat, 15 May 2021 23:21:26 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id ELhlO1U7oGClDAAA1q6Kng (envelope-from ) for ; Sat, 15 May 2021 21:21:25 +0000 Received: from mail.notmuchmail.org (nmbug.tethera.net [144.217.243.247]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 3F575B6F0 for ; Sat, 15 May 2021 23:21:25 +0200 (CEST) Received: from nmbug.tethera.net (localhost [127.0.0.1]) by mail.notmuchmail.org (Postfix) with ESMTP id BFF5327FE5; Sat, 15 May 2021 17:21:14 -0400 (EDT) Received: from mail-ot1-x335.google.com (mail-ot1-x335.google.com [IPv6:2607:f8b0:4864:20::335]) by mail.notmuchmail.org (Postfix) with ESMTPS id 9EE5E27E2B for ; Sat, 15 May 2021 17:21:12 -0400 (EDT) Received: by mail-ot1-x335.google.com with SMTP id q7-20020a9d57870000b02902a5c2bd8c17so2356326oth.5 for ; Sat, 15 May 2021 14:21:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UwIKazILpInW0hgZB0IlBiWbzy2nAdN+QYZsSBBgtTU=; b=OeuA6DPVTVr96LK/1LPJ80YbEe74l+9iAxfbw6evLBiSqefMSyJYXgWta9AiCgX9lM 0HYCS76XhZYZMokXDu5QiRhJ733YkJ5FrcQiOv5y0Be9R4tSqFURSIzZyVLhs+dnP6Mw WJEqA0n9ZIKEWXAS6+gElOTpbsMJLYG/TFOGC+O3Y8sLAe7VWwXVgBmSUKUCgI3KcgLf UQ0teA8EzP/rmzVPY5XCyepGNKuELLOC6Qhjap8gDbFyiv2d7IM2Va8WttDzPZ5SPW0Z mLZR0pGlwTTKcUx7WAE6z0dWOpe7JigQ3SmtoPpuAF/+d9zRKvqRRq6/ZBoBKb3HWXPc HJ5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UwIKazILpInW0hgZB0IlBiWbzy2nAdN+QYZsSBBgtTU=; b=t4JMtr8cijMTB9scRs7KemMYu8v+/OG4a6k7eoMnVi0g0YPAZfCbZuSyHtSWw/L2Oe bAIM9IDJpkZ94gQloQ0alyaoWX0s85pLAJ+GK6sG6XhQCJ0CC2rkz2lpR84YyQkB53t4 J0y8YUL93/opmJNemyQDKs/29E/vWHJYFK+LQA375g77zQyDQ9fM1eTExgKdF1ro2UOS Rq3tirOiZ5EnlfZIfIHrIU0An/8JAsgueWk2/cnzHoS6kZ/0bu+c5c/v2vPnDvOqnCj2 tcIXRelLQAXpCxWVcasaUHnVM7w/RPM+G2eZRd/J1Acm8XAFA9sHROp04z2qnh7tvtgh 8zsA== X-Gm-Message-State: AOAM53308JmrTEBrjWwop3sy/uKk74HF3543Hgp1ZcD3WjTVrdBBgbvj iyhRDR7nr6GZVUCJqPaxAokZfa/A6f3HBQ== X-Google-Smtp-Source: ABdhPJz3kGvQ59jW2lv3KI35tlFaJlBd9HlQXC3M4CM8Lzit2yD4Z9ygQDxzF2yWnsdNBRnn/2+o3Q== X-Received: by 2002:a9d:6106:: with SMTP id i6mr39680758otj.354.1621113668029; Sat, 15 May 2021 14:21:08 -0700 (PDT) Received: from localhost (fixed-187-189-165-231.totalplay.net. [187.189.165.231]) by smtp.gmail.com with ESMTPSA id g6sm2201674ooe.1.2021.05.15.14.21.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 May 2021 14:21:07 -0700 (PDT) From: Felipe Contreras To: notmuch@notmuchmail.org Subject: [PATCH v3 2/7] ruby: fetch class name in case of error Date: Sat, 15 May 2021 16:20:58 -0500 Message-Id: <20210515212103.1001295-3-felipe.contreras@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210515212103.1001295-1-felipe.contreras@gmail.com> References: <20210515212103.1001295-1-felipe.contreras@gmail.com> MIME-Version: 1.0 Message-ID-Hash: 32KFXOBXKC63ZKXZZ3KMQD4DTWYQNBIN X-Message-ID-Hash: 32KFXOBXKC63ZKXZZ3KMQD4DTWYQNBIN X-MailFrom: felipe.contreras@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-notmuch.notmuchmail.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Ali Polatel , Austin Clements , Tomi Ollila , Ludovic LANGE , Daniel Kahn Gillmor X-Mailman-Version: 3.2.1 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1621113685; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=YrKKqD28bamlEcfRtqER20eKxAAPhSFMnMzGjo2UXHg=; b=FojkIEVRyrj6Be/Dsj/DfGdgsttRJFO87MT1cr4ysVBaQ3nfAQcK9ASjkqdQ66SfEMZzaZ WRnNa+49G+LXTshhpoXJ7odwu0n17wZb0PkPjp8BN2fsvPN5A/mPwUzW7d+LgHck3rcXse nmAdc47Qnppw6+uPjO8GUQTWeIYp8T2tJBmQKcGi2bCpC072OszQtbKiIHtqra340pYLFz Y3qagf5sMpLubP8Zo8NAU/LE5M02TmBEIsCX8b3ztJfHCF8zwEWYNbrabw04SNPKQQ637T n9J0g+OA3DuBUoJmmrBV+vMmrLjkVhZ5U3MfH0MgyXo0P3QA5vr+XkQUOdrCYA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1621113685; a=rsa-sha256; cv=none; b=sJxHVc1ibfazGc91e47q604rEtxn2faJrZVmLhYytWR5IDhgyDD0FqIy2Ndgo9WrTyr7GD 48NADBJBTWwNuhfMieWiXGMHkQsVnKsFf5/npCj+W/HTSKxARI+Fc5npiGi5ja4HaiN2h5 zz2us62rwLTmXy+F0CQHW5sUspR8Hius3Ciw+JwfgaftKz6hA7ejDQevPh+UzQAgi/Srke YJEidbKWLGGfQLQ3uTXlkroTf7efRg3jWB3DYw76kAsswad8eqPN7d56eSKErqApY/2+6u XUiItHfGra40yfX57vGzEeS1G/63onR3QfDHGdhlMlhpsBZeHE7neBF4hY8+fw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20161025 header.b=OeuA6DPV; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 144.217.243.247 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Spam-Score: -0.97 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20161025 header.b=OeuA6DPV; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 144.217.243.247 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Queue-Id: 3F575B6F0 X-Spam-Score: -0.97 X-Migadu-Scanner: scn0.migadu.com X-TUID: K1mNC3RKKqSb There is not much point in complicating the code for error messages that can be easily constructed. Before: database closed (RuntimeError) After: Notmuch::Database object destroyed (RuntimeError) Signed-off-by: Felipe Contreras --- bindings/ruby/defs.h | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/bindings/ruby/defs.h b/bindings/ruby/defs.h index 8fb47b4c..ae3ea101 100644 --- a/bindings/ruby/defs.h +++ b/bindings/ruby/defs.h @@ -55,39 +55,41 @@ extern ID ID_db_mode; # define RSTRING_PTR(v) (RSTRING((v))->ptr) #endif /* !defined (RSTRING_PTR) */ -#define Data_Get_Notmuch_Object(obj, message, ptr) \ - do { \ - (ptr) = rb_data_object_get ((obj)); \ - if (!(ptr)) \ - rb_raise (rb_eRuntimeError, (message)); \ +#define Data_Get_Notmuch_Object(obj, ptr) \ + do { \ + (ptr) = rb_data_object_get ((obj)); \ + if (!(ptr)) { \ + VALUE cname = rb_class_name (CLASS_OF ((obj))); \ + rb_raise (rb_eRuntimeError, "%"PRIsVALUE" object destroyed", cname); \ + } \ } while (0) #define Data_Get_Notmuch_Database(obj, ptr) \ - Data_Get_Notmuch_Object ((obj), "database closed", (ptr)) + Data_Get_Notmuch_Object ((obj), (ptr)) #define Data_Get_Notmuch_Directory(obj, ptr) \ - Data_Get_Notmuch_Object ((obj), "directory destroyed", (ptr)) + Data_Get_Notmuch_Object ((obj), (ptr)) #define Data_Get_Notmuch_FileNames(obj, ptr) \ - Data_Get_Notmuch_Object ((obj), "filenames destroyed", (ptr)) + Data_Get_Notmuch_Object ((obj), (ptr)) #define Data_Get_Notmuch_Query(obj, ptr) \ - Data_Get_Notmuch_Object ((obj), "query destroyed", (ptr)) + Data_Get_Notmuch_Object ((obj), (ptr)) #define Data_Get_Notmuch_Threads(obj, ptr) \ - Data_Get_Notmuch_Object ((obj), "threads destroyed", (ptr)) + Data_Get_Notmuch_Object ((obj), (ptr)) #define Data_Get_Notmuch_Messages(obj, ptr) \ - Data_Get_Notmuch_Object ((obj), "messages destroyed", (ptr)) + Data_Get_Notmuch_Object ((obj), (ptr)) #define Data_Get_Notmuch_Thread(obj, ptr) \ - Data_Get_Notmuch_Object ((obj), "thread destroyed", (ptr)) + Data_Get_Notmuch_Object ((obj), (ptr)) #define Data_Get_Notmuch_Message(obj, ptr) \ - Data_Get_Notmuch_Object ((obj), "message destroyed", (ptr)) + Data_Get_Notmuch_Object ((obj), (ptr)) #define Data_Get_Notmuch_Tags(obj, ptr) \ - Data_Get_Notmuch_Object ((obj), "tags destroyed", (ptr)) + Data_Get_Notmuch_Object ((obj), (ptr)) /* status.c */ void -- 2.31.1