[PATCH] ruby: fix ruby 3.1 warnings

classic Classic list List threaded Threaded
6 messages Options
Felipe Contreras Felipe Contreras
Reply | Threaded
Open this post in threaded view
|

[PATCH] ruby: fix ruby 3.1 warnings

  init.c:214:5: warning: ‘rb_cData’ is deprecated: by: rb_cObject.  Will be removed in 3.1. [-Wdeprecated-declarations]

Signed-off-by: Felipe Contreras <[hidden email]>
---
 bindings/ruby/init.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/bindings/ruby/init.c b/bindings/ruby/init.c
index 5556b43e..819fd1e3 100644
--- a/bindings/ruby/init.c
+++ b/bindings/ruby/init.c
@@ -211,7 +211,7 @@ Init_notmuch (void)
      *
      * Notmuch database interaction
      */
-    notmuch_rb_cDatabase = rb_define_class_under (mod, "Database", rb_cData);
+    notmuch_rb_cDatabase = rb_define_class_under (mod, "Database", rb_cObject);
     rb_define_alloc_func (notmuch_rb_cDatabase, notmuch_rb_database_alloc);
     rb_define_singleton_method (notmuch_rb_cDatabase, "open", notmuch_rb_database_open, -1); /* in database.c */
     rb_define_method (notmuch_rb_cDatabase, "initialize", notmuch_rb_database_initialize, -1); /* in database.c */
@@ -237,7 +237,7 @@ Init_notmuch (void)
      *
      * Notmuch directory
      */
-    notmuch_rb_cDirectory = rb_define_class_under (mod, "Directory", rb_cData);
+    notmuch_rb_cDirectory = rb_define_class_under (mod, "Directory", rb_cObject);
     rb_undef_method (notmuch_rb_cDirectory, "initialize");
     rb_define_method (notmuch_rb_cDirectory, "destroy!", notmuch_rb_directory_destroy, 0); /* in directory.c */
     rb_define_method (notmuch_rb_cDirectory, "mtime", notmuch_rb_directory_get_mtime, 0); /* in directory.c */
@@ -250,7 +250,7 @@ Init_notmuch (void)
      *
      * Notmuch file names
      */
-    notmuch_rb_cFileNames = rb_define_class_under (mod, "FileNames", rb_cData);
+    notmuch_rb_cFileNames = rb_define_class_under (mod, "FileNames", rb_cObject);
     rb_undef_method (notmuch_rb_cFileNames, "initialize");
     rb_define_method (notmuch_rb_cFileNames, "destroy!", notmuch_rb_filenames_destroy, 0); /* in filenames.c */
     rb_define_method (notmuch_rb_cFileNames, "each", notmuch_rb_filenames_each, 0); /* in filenames.c */
@@ -261,7 +261,7 @@ Init_notmuch (void)
      *
      * Notmuch query
      */
-    notmuch_rb_cQuery = rb_define_class_under (mod, "Query", rb_cData);
+    notmuch_rb_cQuery = rb_define_class_under (mod, "Query", rb_cObject);
     rb_undef_method (notmuch_rb_cQuery, "initialize");
     rb_define_method (notmuch_rb_cQuery, "destroy!", notmuch_rb_query_destroy, 0); /* in query.c */
     rb_define_method (notmuch_rb_cQuery, "sort", notmuch_rb_query_get_sort, 0); /* in query.c */
@@ -279,7 +279,7 @@ Init_notmuch (void)
      *
      * Notmuch threads
      */
-    notmuch_rb_cThreads = rb_define_class_under (mod, "Threads", rb_cData);
+    notmuch_rb_cThreads = rb_define_class_under (mod, "Threads", rb_cObject);
     rb_undef_method (notmuch_rb_cThreads, "initialize");
     rb_define_method (notmuch_rb_cThreads, "destroy!", notmuch_rb_threads_destroy, 0); /* in threads.c */
     rb_define_method (notmuch_rb_cThreads, "each", notmuch_rb_threads_each, 0); /* in threads.c */
@@ -290,7 +290,7 @@ Init_notmuch (void)
      *
      * Notmuch messages
      */
-    notmuch_rb_cMessages = rb_define_class_under (mod, "Messages", rb_cData);
+    notmuch_rb_cMessages = rb_define_class_under (mod, "Messages", rb_cObject);
     rb_undef_method (notmuch_rb_cMessages, "initialize");
     rb_define_method (notmuch_rb_cMessages, "destroy!", notmuch_rb_messages_destroy, 0); /* in messages.c */
     rb_define_method (notmuch_rb_cMessages, "each", notmuch_rb_messages_each, 0); /* in messages.c */
@@ -302,7 +302,7 @@ Init_notmuch (void)
      *
      * Notmuch thread
      */
-    notmuch_rb_cThread = rb_define_class_under (mod, "Thread", rb_cData);
+    notmuch_rb_cThread = rb_define_class_under (mod, "Thread", rb_cObject);
     rb_undef_method (notmuch_rb_cThread, "initialize");
     rb_define_method (notmuch_rb_cThread, "destroy!", notmuch_rb_thread_destroy, 0); /* in thread.c */
     rb_define_method (notmuch_rb_cThread, "thread_id", notmuch_rb_thread_get_thread_id, 0); /* in thread.c */
@@ -321,7 +321,7 @@ Init_notmuch (void)
      *
      * Notmuch message
      */
-    notmuch_rb_cMessage = rb_define_class_under (mod, "Message", rb_cData);
+    notmuch_rb_cMessage = rb_define_class_under (mod, "Message", rb_cObject);
     rb_undef_method (notmuch_rb_cMessage, "initialize");
     rb_define_method (notmuch_rb_cMessage, "destroy!", notmuch_rb_message_destroy, 0); /* in message.c */
     rb_define_method (notmuch_rb_cMessage, "message_id", notmuch_rb_message_get_message_id, 0); /* in message.c */
@@ -349,7 +349,7 @@ Init_notmuch (void)
      *
      * Notmuch tags
      */
-    notmuch_rb_cTags = rb_define_class_under (mod, "Tags", rb_cData);
+    notmuch_rb_cTags = rb_define_class_under (mod, "Tags", rb_cObject);
     rb_undef_method (notmuch_rb_cTags, "initialize");
     rb_define_method (notmuch_rb_cTags, "destroy!", notmuch_rb_tags_destroy, 0); /* in tags.c */
     rb_define_method (notmuch_rb_cTags, "each", notmuch_rb_tags_each, 0); /* in tags.c */
--
2.30.0
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]
David Bremner-2 David Bremner-2
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] ruby: fix ruby 3.1 warnings

Felipe Contreras <[hidden email]> writes:

>   init.c:214:5: warning: ‘rb_cData’ is deprecated: by: rb_cObject.  Will be removed in 3.1. [-Wdeprecated-declarations]
>
> Signed-off-by: Felipe Contreras <[hidden email]>

Hi Felipe;

Thanks for the patch. I have a couple of questions / comments

- It doesn't apply against current master (5248f55d5f1). Can you rebase
  it?

- What version of ruby is generating those warnings? I don't see it with
  ruby 2.7. I guess that's not necessarily a blocker, as long as the
  patched version still builds and runs with older ruby.

d

_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]

signature.asc (873 bytes) Download Attachment
Felipe Contreras Felipe Contreras
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] ruby: fix ruby 3.1 warnings

Hello.

On Sat, Apr 17, 2021 at 7:20 AM David Bremner <[hidden email]> wrote:

> Thanks for the patch. I have a couple of questions / comments
>
> - It doesn't apply against current master (5248f55d5f1). Can you rebase
>   it?

Huh? That's precisely the commit I used as a base. It applies cleanly.

> - What version of ruby is generating those warnings? I don't see it with
>   ruby 2.7. I guess that's not necessarily a blocker, as long as the
>   patched version still builds and runs with older ruby.

Yeah, not a blocker. I'm using Ruby 3.0.

--
Felipe Contreras
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]
David Bremner-2 David Bremner-2
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] ruby: fix ruby 3.1 warnings

Felipe Contreras <[hidden email]> writes:

> Hello.
>
> On Sat, Apr 17, 2021 at 7:20 AM David Bremner <[hidden email]> wrote:
>
>> Thanks for the patch. I have a couple of questions / comments
>>
>> - It doesn't apply against current master (5248f55d5f1). Can you rebase
>>   it?
>
> Huh? That's precisely the commit I used as a base. It applies cleanly.
>

Ah right, you hit an annoying mailman bug related to encodings and line
endings. I have unmangled the patch and applied it to master.
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]
Tomi Ollila-2 Tomi Ollila-2
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] ruby: fix ruby 3.1 warnings

On Mon, Apr 19 2021, David Bremner wrote:

> Felipe Contreras <[hidden email]> writes:
>
>> Hello.
>>
>> On Sat, Apr 17, 2021 at 7:20 AM David Bremner <[hidden email]> wrote:
>>
>>> Thanks for the patch. I have a couple of questions / comments
>>>
>>> - It doesn't apply against current master (5248f55d5f1). Can you rebase
>>>   it?
>>
>> Huh? That's precisely the commit I used as a base. It applies cleanly.
>>
>
> Ah right, you hit an annoying mailman bug related to encodings and line
> endings. I have unmangled the patch and applied it to master.

...which is not actually a bug, just features of git and mailman
that does not work together...

IIRC what happens there:

- smtp server receives message encoded as 8bit, possibly only LF
  (line-feed 0x10) as line endings (I saw this when sent to myself
   message routed back to me via smtp.iki.fi)

- if only LF as line ending, something in pipeline changes that to CRLF
  (carriage-return line-feed 0x13 0x10) (allowed according to specs)

- now (if not before) mailman gets the message, notices it has 8bit
  encoding, converts that message to have base64 encoding

- mailman sends the email now base64-encoded to recipients

- user saves message and runs git-am to the message

- since content now has CRLF line endings and the content it is comparing
  to has only NL, the content just does not match. git-am cannot know that
  (w/o some magical heuristics) that the CRs are actually extra characters
  should not be there (having CRLF may be as relevant as only LF)

In another machine I still have David's email to mailman in one firefox
tab; I recall trying to write something there to explain why mailman
is buggy there, but eventually could not be convincing enough ;/)

git-am could have an option to strip CR's from messages just to overcome
the possibility shown above

(otoh?) latest git-send-email has this option: --8bit-encoding
-- and if not given (and not in git config), according to namual page,
will prompt for an encoding (IIRC I've seen this w/ git 2.30)

HTH :D

Tomi
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]
Felipe Contreras Felipe Contreras
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] ruby: fix ruby 3.1 warnings

On Mon, Apr 19, 2021 at 1:50 PM Tomi Ollila <[hidden email]> wrote:

> (otoh?) latest git-send-email has this option: --8bit-encoding
> -- and if not given (and not in git config), according to namual page,
> will prompt for an encoding (IIRC I've seen this w/ git 2.30)

I have this configured:

  sendemail.assume8bitEncoding = utf-8

I don't know if this is the right thing to do, but in git world
everything is utf-8.

--
Felipe Contreras
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]