Newsboat version (copy the output of newsboat -v or the first line of git show): newsboat 2.17.1 (but I also tested with 2e8c2aa58eacc669f50733d681bbf571be1f4ab5, which is the current master)
Config file (copy from ~/.newsboat/config or ~/.config/newsboat/config):
auto-reload yes
show-read-articles no
show-read-feeds no
prepopulate-query-feeds no
feed-sort-order unreadarticlecount
show-keymap-hint yes
swap-title-and-hints no
text-width 72
save-path "~/Documents/archived-articles/rss"
confirm-exit yes
display-article-progress yes
browser firefox
macro a set browser "vidl %u &> /dev/null &"; open-in-browser ; set browser "firefox %u"
macro w set browser "mpv %u &> /dev/null &"; open-in-browser ; set browser "firefox %u"
macro s save-all
Steps to reproduce the issue:
Include a feed that posts content with the Cyrillic characters in the title (like this (RSS feed))
Select one of the items and press s to save, say, this (image). Instead of getting the title in Cyrillic, all non-ASCII characters are ignored and instead you get this (image)
Save the feed. For the aforementioned article, this is the file name I got: ________Android__iOS.txt.
Other info you think is relevant:
From what I gather, this problem is caused by view.cpp#286 because isalnum seems to ignore non ASCII characters.
Reproduced with 2e8c2aa58eacc669f50733d681bbf571be1f4ab5 too. Thanks for the report, @crimsonskylark!
Unfortunately the commit that introduced isalnum, https://github.com/newsboat/newsboat/commit/f41adc224451a93688373ad4203882efb9c1b102, doesn't exactly say what problem it fixed; does macOS filesystem disallow anything other than NUL and slash? I'm inclined to just revert it, but then I'll have to find someone with macOS to verify that this didn't break anything. Alternatively, we can try isalnum_l, but I can't figure out if it's available on BSDs.
I also don't have access to a MacOS machine so I can't check it. Do you think this could be fixed by a macro to only build with this function in a MacOS environment?
That's a viable workaround, but before doing this, I'd like to research what might've caused the bug that isalnum is supposed to fix.
We have macOS workers in CI, so we can also perform experiments there, e.g. by adding a test.