From: Juri Linkov <juri@linkov.net>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: Matthias Meulien <matthias.meulien@delair-tech.com>,
25905@debbugs.gnu.org
Subject: bug#25905: 25.1; Can't find regexp and replace in SVG files
Date: Sat, 12 Dec 2020 22:24:42 +0200 [thread overview]
Message-ID: <87czze93hx.fsf@mail.linkov.net> (raw)
In-Reply-To: <87a6ui94s8.fsf@gnus.org> (Lars Ingebrigtsen's message of "Sat, 12 Dec 2020 20:56:55 +0100")
>> Open a dired buffer visiting a directory with SVG images. Mark some SVG
>> files then try to `dired-do-find-regexp-and-replace' in those files.
>>
>> It fails due to `image-file-mode' turning all visited buffers as
>> read-only...
>
> It'll also display the svg files as images (although with the real text
> in the buffer "shadowed" by the image).
>
> I guess this is a problem with all files that Emacs displays in
> ... highly interpreted form, like images and tar files and the like.
> The thing that makes SVG files special here is that you could see
> somebody actually want to do a find-and-replace on them, while you don't
> really see that in a, say, zip file. Often.
>
> But I wonder whether this problem should nevertheless have a general
> solution. That is, should this command have a variation that works on
> literal files instead? Perhaps a prefix of `C-u' to make the query
> replace use find-file-literally?
>
> Any opinions?
A general solution is to customize image-visiting mode as text
by adding to the init file:
(push '("\\.svgz?\\'" . image-mode-as-text) auto-mode-alist)
I don't know whether or where this solution could be mentioned more,
but currently this is documented in image-mode-as-text:
You can use `image-mode-as-text' in `auto-mode-alist' when you want
to display an image file as text initially.
next prev parent reply other threads:[~2020-12-12 20:24 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-01 0:20 bug#25905: 25.1; Can't find regexp and replace in SVG files Matthias Meulien
2020-12-12 19:56 ` Lars Ingebrigtsen
2020-12-12 20:24 ` Juri Linkov [this message]
2020-12-13 12:35 ` Lars Ingebrigtsen
2020-12-12 21:29 ` Dmitry Gutov
2020-12-13 12:42 ` Lars Ingebrigtsen
2020-12-13 18:39 ` Dmitry Gutov
2020-12-13 20:02 ` Juri Linkov
2020-12-14 16:21 ` Lars Ingebrigtsen
2020-12-14 19:55 ` Juri Linkov
2020-12-15 6:34 ` Lars Ingebrigtsen
2020-12-15 20:42 ` Juri Linkov
2020-12-17 22:03 ` Juri Linkov
2020-12-18 8:46 ` Juri Linkov
2020-12-18 10:02 ` Lars Ingebrigtsen
2020-12-19 20:29 ` Juri Linkov
2020-12-23 7:13 ` Lars Ingebrigtsen
2020-12-23 9:30 ` Juri Linkov
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=87czze93hx.fsf@mail.linkov.net \
--to=juri@linkov.net \
--cc=25905@debbugs.gnu.org \
--cc=larsi@gnus.org \
--cc=matthias.meulien@delair-tech.com \
/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).