unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: "Óscar Fuentes" <ofv@wanadoo.es>
To: Christoph Groth <christoph@grothesque.org>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Emacs opens only first 16384 bytes of file?!
Date: Sun, 12 Feb 2023 05:55:41 +0100	[thread overview]
Message-ID: <87mt5jscs2.fsf@telefonica.net> (raw)
In-Reply-To: <87h6vrucl7.fsf@drac> (Christoph Groth's message of "Sat, 11 Feb 2023 22:16:52 +0100")

Christoph Groth <christoph@grothesque.org> writes:

> Hello,
>
> I just noticed something that made me doubt my own sanity:  With Emacs
> 27.1 (from Debian stable running Debian’s Linux kernel
> 6.0.0-0.deb11.6-amd64) the command
>
>   emacs -q -nw /proc/cpuinfo
>
> reproducibly opens cpuinfo only up to a portion of line 272, while the
> entire file is 560 lines long on that machine.  I checked on a different
> machine (with same Emacs), and I see the same behavior.
>
> C-u C-x = tells that the file is read up to position 16384 (= 2^14).
>
> Running M-x revert-buffer loads the whole file...
>
> Is/was this a known issue?  I could not find anything on the web.
>
> ----------------------------------------------------------------
>
> I’m willing to investigate this further, but it would seem very strange
> if Emacs indeed had a bug that prevented it from loading some files
> entirely.  Perhaps someone here knows the answer.

As of today (Emacs 30, current development branch) the same is true.

/proc/cpuinfo is not a regular file, in the sense that its content is
not stored in a device. AFAIK it is generated on-the-fly when it is
read.

You can do some simple observations:

$ ls -l /proc/cpuinfo 
-r--r--r-- 1 root root 0 feb  7 03:34 /proc/cpuinfo
$ du /proc/cpuinfo 
0       /proc/cpuinfo

Here those tools are saying that the file's size is 0.

I guess that Emacs detects that the file is special and reads its
contents following some heuristics. What surprises me is that M-x
revert-file actually reads all the content.

Of course, looking at the sources would be enlightening, but why do the
effort of actually clearing the matter when it is so cheap to throw
speculation? ;-)

(I looked at insert-file-contents, but bailed out after the fifth
screenful of code. A 1000+ lines function, no kidding.)



  parent reply	other threads:[~2023-02-12  4:55 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-11 21:16 Emacs opens only first 16384 bytes of file?! Christoph Groth
2023-02-12  3:55 ` Ruijie Yu via Users list for the GNU Emacs text editor
2023-02-12  4:55 ` Óscar Fuentes [this message]
2023-02-12  5:56   ` Ruijie Yu via Users list for the GNU Emacs text editor
2023-02-12  9:58     ` Christoph Groth
2023-02-12 11:45       ` Eli Zaretskii
2023-02-12  6:02 ` Eli Zaretskii
2023-02-12  7:11   ` tomas
2023-02-12  7:33     ` Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2023-02-13  7:59 Christoph Groth
2023-02-13 13:06 ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mt5jscs2.fsf@telefonica.net \
    --to=ofv@wanadoo.es \
    --cc=christoph@grothesque.org \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).