unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH] ruby: fix ruby 3.1 warnings
@ 2021-04-16 20:27 Felipe Contreras
  2021-04-17 12:20 ` David Bremner
  0 siblings, 1 reply; 8+ messages in thread
From: Felipe Contreras @ 2021-04-16 20:27 UTC (permalink / raw)
  To: notmuch; +Cc: Felipe Contreras

  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 <felipe.contreras@gmail.com>
---
 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\r

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ruby: fix ruby 3.1 warnings
  2021-04-16 20:27 [PATCH] ruby: fix ruby 3.1 warnings Felipe Contreras
@ 2021-04-17 12:20 ` David Bremner
  2021-04-18 22:54   ` Felipe Contreras
  0 siblings, 1 reply; 8+ messages in thread
From: David Bremner @ 2021-04-17 12:20 UTC (permalink / raw)
  To: Felipe Contreras, notmuch; +Cc: Felipe Contreras


[-- Attachment #1.1: Type: text/plain, Size: 621 bytes --]

Felipe Contreras <felipe.contreras@gmail.com> 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 <felipe.contreras@gmail.com>

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

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 857 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ruby: fix ruby 3.1 warnings
  2021-04-17 12:20 ` David Bremner
@ 2021-04-18 22:54   ` Felipe Contreras
  2021-04-19 10:14     ` David Bremner
  0 siblings, 1 reply; 8+ messages in thread
From: Felipe Contreras @ 2021-04-18 22:54 UTC (permalink / raw)
  To: David Bremner; +Cc: notmuch

Hello.

On Sat, Apr 17, 2021 at 7:20 AM David Bremner <david@tethera.net> 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ruby: fix ruby 3.1 warnings
  2021-04-18 22:54   ` Felipe Contreras
@ 2021-04-19 10:14     ` David Bremner
  2021-04-19 18:50       ` Tomi Ollila
  0 siblings, 1 reply; 8+ messages in thread
From: David Bremner @ 2021-04-19 10:14 UTC (permalink / raw)
  To: Felipe Contreras; +Cc: notmuch

Felipe Contreras <felipe.contreras@gmail.com> writes:

> Hello.
>
> On Sat, Apr 17, 2021 at 7:20 AM David Bremner <david@tethera.net> 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.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ruby: fix ruby 3.1 warnings
  2021-04-19 10:14     ` David Bremner
@ 2021-04-19 18:50       ` Tomi Ollila
  2021-04-19 20:35         ` Felipe Contreras
  2021-05-17 11:54         ` Đoàn Trần Công Danh
  0 siblings, 2 replies; 8+ messages in thread
From: Tomi Ollila @ 2021-04-19 18:50 UTC (permalink / raw)
  To: David Bremner, Felipe Contreras; +Cc: notmuch

On Mon, Apr 19 2021, David Bremner wrote:

> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> Hello.
>>
>> On Sat, Apr 17, 2021 at 7:20 AM David Bremner <david@tethera.net> 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ruby: fix ruby 3.1 warnings
  2021-04-19 18:50       ` Tomi Ollila
@ 2021-04-19 20:35         ` Felipe Contreras
  2021-05-17 11:54         ` Đoàn Trần Công Danh
  1 sibling, 0 replies; 8+ messages in thread
From: Felipe Contreras @ 2021-04-19 20:35 UTC (permalink / raw)
  To: Tomi Ollila; +Cc: notmuch

On Mon, Apr 19, 2021 at 1:50 PM Tomi Ollila <tomi.ollila@iki.fi> 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ruby: fix ruby 3.1 warnings
  2021-04-19 18:50       ` Tomi Ollila
  2021-04-19 20:35         ` Felipe Contreras
@ 2021-05-17 11:54         ` Đoàn Trần Công Danh
  2021-05-17 19:14           ` David Bremner
  1 sibling, 1 reply; 8+ messages in thread
From: Đoàn Trần Công Danh @ 2021-05-17 11:54 UTC (permalink / raw)
  To: Tomi Ollila; +Cc: notmuch

On 2021-04-19 21:50:52+0300, Tomi Ollila <tomi.ollila@iki.fi> wrote:
> On Mon, Apr 19 2021, David Bremner wrote:
> 
> > Felipe Contreras <felipe.contreras@gmail.com> writes:
> >
> >> Hello.
> >>
> >> On Sat, Apr 17, 2021 at 7:20 AM David Bremner <david@tethera.net> 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 

FWIW, I've sent a couple of patches to Git project.
git-am and git-mailinfo 2.32-rc0+ [1] now understands --quoted-cr to strip
those annoying CR.

[1]: https://lore.kernel.org/git/xmqqh7j13kmc.fsf@gitster.g/T/#u

-- 
Danh

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ruby: fix ruby 3.1 warnings
  2021-05-17 11:54         ` Đoàn Trần Công Danh
@ 2021-05-17 19:14           ` David Bremner
  0 siblings, 0 replies; 8+ messages in thread
From: David Bremner @ 2021-05-17 19:14 UTC (permalink / raw)
  To: Đoàn Trần Công Danh; +Cc: notmuch

Đoàn Trần Công Danh <congdanhqx@gmail.com> writes:

>
> FWIW, I've sent a couple of patches to Git project.
> git-am and git-mailinfo 2.32-rc0+ [1] now understands --quoted-cr to strip
> those annoying CR.
>
> [1]: https://lore.kernel.org/git/xmqqh7j13kmc.fsf@gitster.g/T/#u

Thank you! That has been a longstanding irritatant.

d

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-05-17 19:14 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-16 20:27 [PATCH] ruby: fix ruby 3.1 warnings Felipe Contreras
2021-04-17 12:20 ` David Bremner
2021-04-18 22:54   ` Felipe Contreras
2021-04-19 10:14     ` David Bremner
2021-04-19 18:50       ` Tomi Ollila
2021-04-19 20:35         ` Felipe Contreras
2021-05-17 11:54         ` Đoàn Trần Công Danh
2021-05-17 19:14           ` David Bremner

unofficial mirror of notmuch@notmuchmail.org

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/notmuch/0 notmuch/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 notmuch notmuch/ https://yhetil.org/notmuch \
		notmuch@notmuchmail.org
	public-inbox-index notmuch

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.mail.notmuch.general
	nntp://news.gmane.io/gmane.mail.notmuch.general


code repositories for project(s) associated with this inbox:

	notmuch.git.git (no URL configured)

AGPL code for this site: git clone http://ou63pmih66umazou.onion/public-inbox.git