On 1/9/22 04:03, Eli Zaretskii wrote: > Paul, could you please take a look? The problem (as Po deduced) seems to be that Haiku errno values are negative by default. However, I see some problems with the recently installed fix. 1. It uses BE_USE_POSITIVE_POSIX_ERRORS but Haiku spells it B_USE_POSITIVE_POSIX_ERRORS. 2. There's no need to replace "if (err < 0)" with "if (err == -1 || err == -2)", as this replacement is not needed given the "#if !defined HAIKU ..." stuff. 3. More importantly, I'm sure there are other places where Emacs assumes that errno values are positive. I doubt whether it's reasonable to expect Emacs developers to remember and work around this Haiku incompatibility, every time they call a function that sets errno or returns an errno value. Instead, we should arrange for Haiku builds to use positive errno values, they way errno behaves on GNU and other POSIX-compatible hosts. This should be a much more maintainable solution. Proposed patch attached.