* [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 related [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@notmuchmail.org
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@notmuchmail.org
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@notmuchmail.org
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@notmuchmail.org
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@notmuchmail.org
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@notmuchmail.org
Đ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
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).