unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@linkov.net>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: 52569@debbugs.gnu.org
Subject: bug#52569: 29.0.50; Wishlist: There should be a way for packages to handle files without reading them in first
Date: Sun, 19 Dec 2021 19:16:42 +0200	[thread overview]
Message-ID: <861r28io75.fsf@mail.linkov.net> (raw)
In-Reply-To: <87tuf7zksh.fsf@gnus.org> (Lars Ingebrigtsen's message of "Fri, 17 Dec 2021 09:40:30 +0100")

> This would be useful for large files like .sqlite and images.

I'm not sure about images since some image formats are editable,
like .svg, .xpm, .ps...  Only .pdf with in doc-view-mode could have
this optimization of not loading the whole file.  Also archive files
could benefit from this optimization.

> This function would be called with the file name and would be
> responsible for returning a buffer that "displays" the file in some
> sense.

Or when it returns t, this could mean that the function displayed
the buffer in some other way, for example, by calling an external command.

Then find-file-alist could be used to implement a smarter
dired-guess-shell-alist like for https://debbugs.gnu.org/18132#92
So not only files visited by dired will be redirected
to an external command, but also files visited by C-x C-f.

> There's some details that aren't clear.  Should this new buffer be
> visiting the file?  That sounds dangerous, because saving the buffer
> contents to the file would destroy the file.  But that could be handled
> by...  write-file-functions?

Also functions that ask about saving a modified file buffer should
probably skip such buffers.

> Should there be another general mode these things should inherit from,
> like special-mode, but taking care of things like write-file-functions
> (i.e., disallow saving if the mode hasn't implemented a function for
> that)?  If so, what should it be called?  `really-special-mode' is
> probably too special.  Uhm...  Something that expresses "the displayed
> contents of this mode doesn't match up the saved contents much"...
> `unloaded-file-mode'?  Hm...  any ideas?

non-persistent-file-mode, or transient-file-mode, or ephemeral-mode...





  parent reply	other threads:[~2021-12-19 17:16 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-17  8:40 bug#52569: 29.0.50; Wishlist: There should be a way for packages to handle files without reading them in first Lars Ingebrigtsen
2021-12-17  9:04 ` Adam Edge
2021-12-19 17:16 ` Juri Linkov [this message]
2021-12-19 20:00   ` Stefan Kangas
2021-12-20  9:55     ` Lars Ingebrigtsen
2021-12-20  9:53   ` Lars Ingebrigtsen
2021-12-22  6:03     ` Stefan Kangas
2021-12-23  3:43       ` Richard Stallman

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=861r28io75.fsf@mail.linkov.net \
    --to=juri@linkov.net \
    --cc=52569@debbugs.gnu.org \
    --cc=larsi@gnus.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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).