Subject: Re: bug#75569: 30.0.93; Large /proc/* file are read incompletely

From: Juri Linkov <[email-masked]>
Date: Sat, 18 Jan 2025 19:31:34 +0200

>> > Then how about
>> > 
>> >    if ((regular && st.st_size > 0) || (!regular && seekable) || !NILP (end))
>> 
>> That should work too but I expect we're overthinking it; see bellow.
>
> Juri and Daniel, could you please try the change above?

There are many large files under /proc that you can try
such as /proc/kallsyms.

I tried the change above, and it works.

>> > That would exclude non-regular files that are seekable, which would be
>> > a regression, I think.
>> 
>> I expect it's a bugfix not a regression. For such files, end_offset
>> is TYPE_MAXIUMUM (off_t), which Emacs will try to create an enormous buffer.
>
> Juri and Daniel, could you also try
>
>   if ((regular && st.st_size > 0) || !NILP (end))  
>
> instead?

This works as well.