Re: [PATCH] ruby: fix ruby 3.1 warnings
Đoàn Trần Công Danh 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 ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [PATCH] ruby: fix ruby 3.1 warnings
On 2021-04-19 21:50:52+0300, Tomi Ollila wrote: > On Mon, Apr 19 2021, David Bremner wrote: > > > Felipe Contreras writes: > > > >> Hello. > >> > >> On Sat, Apr 17, 2021 at 7:20 AM David Bremner 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 ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [PATCH] ruby: fix ruby 3.1 warnings
On Mon, Apr 19, 2021 at 1:50 PM Tomi Ollila 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 -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [PATCH] ruby: fix ruby 3.1 warnings
On Mon, Apr 19 2021, David Bremner wrote: > Felipe Contreras writes: > >> Hello. >> >> On Sat, Apr 17, 2021 at 7:20 AM David Bremner 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 -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [PATCH] ruby: fix ruby 3.1 warnings
Felipe Contreras writes: > Hello. > > On Sat, Apr 17, 2021 at 7:20 AM David Bremner 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 -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [PATCH] ruby: fix ruby 3.1 warnings
Hello. On Sat, Apr 17, 2021 at 7:20 AM David Bremner 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 -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [PATCH] ruby: fix ruby 3.1 warnings
Felipe Contreras 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 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 signature.asc Description: PGP signature ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
[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 --- 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_ea