From: Karl Fogel <kfogel@red-bean.com>
To: Drew Adams <drew.adams@oracle.com>
Cc: Lars Ingebrigtsen <larsi@gnus.org>, Chong Yidong <cyd@gnu.org>,
12507@debbugs.gnu.org
Subject: bug#12507: [debbugs-tracker] Processed: severity 12507 wishlist
Date: Wed, 23 Sep 2020 01:41:52 -0500 [thread overview]
Message-ID: <87v9g52dvz.fsf@red-bean.com> (raw)
In-Reply-To: <dfdc3c0b-1f71-4dbb-918a-5fc78c5b52d7@default> (Drew Adams's message of "Sat, 19 Sep 2020 10:29:58 -0700 (PDT)")
I've just been deep-diving into this again. I'd like feedback on this general plan for a solution:
1) In files.el: define a new function `back-up-file' [a] that takes a
file name as argument and does most of what `backup-buffer' currently
does -- basically, everything from the second `when' on down to the
end of the function.
2) Change `backup-buffer' to use the new function `back-up-file'.
In other words, we abstract out most of the Emacs file backup
functionality to this new function `back-up-file' so we can call it
in (3) below, passing a file name argument.
3) In bookmark.el, in `bookmark-write-file', call `back-up-file' right
before the `write-region' call. (Note that the ambient value of
`version-control' will already be correct at this point.)
Before I make the patch, I wanted to propose the general idea here and see if it seems okay to others.
This way we would still use `write-region' and avoid visiting the file. Even though we don't know exactly why Richard made the original motivating change (commit cfde584f6d, see [b] below), there was some problem with `write-file' -- so we shouldn't just go back to that, because a regression would be likely.
Thoughts on this plan?
Best regards,
-Karl
[a] Yes, I know I've inserted a hyphen into "back-up" in that function
name. That's because in English "back up" is a compound verb,
whereas "backup" as one word is a noun. The existing function name
"backup-buffer" is thus grammatically suspect, but I'm not proposing
to fix that here; I'm just trying to avoid repeating the confusion.
If folks would prefer "backup-file" for consistency, I could do
that, or maybe just find another name. The details of the function
names are not the point here -- I'm just looking for feedback on the
general plan.
[b] Commit cfde584f6d:
===============================================
commit cfde584f6d25db8c0ba229ebb85fba60e99eb1af
Author: Richard M. Stallman <rms@gnu.org>
AuthorDate: Sun May 29 08:36:26 2005 +0000
Commit: Richard M. Stallman <rms@gnu.org>
CommitDate: Sun May 29 08:36:26 2005 +0000
(save-place-alist-to-file): Write the file using write-region.
M lisp/saveplace.el
===============================================
--- lisp/saveplace.el
+++ lisp/saveplace.el
@@ -222,7 +222,8 @@ save-place-alist-to-file
(t
t))))
(condition-case nil
- (write-file file)
+ ;; Don't use write-file; we don't want this buffer to visit it.
+ (write-region (point-min) (point-max) file)
(file-error (message "Can't write %s" file)))
(kill-buffer (current-buffer))
(message "Saving places to %s...done" file)))))
===============================================
next prev parent reply other threads:[~2020-09-23 6:41 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87bogubqjy.fsf@gnu.org>
[not found] ` <handler.s.C.13485522721217.transcript@debbugs.gnu.org>
2012-09-25 13:53 ` bug#12507: [debbugs-tracker] Processed: severity 12507 wishlist Drew Adams
2012-09-26 2:53 ` Chong Yidong
2012-09-26 3:18 ` Drew Adams
2012-09-26 4:04 ` Stefan Monnier
2012-09-26 14:19 ` Drew Adams
2012-09-26 19:46 ` Stefan Monnier
2012-09-26 20:31 ` Drew Adams
2012-09-26 21:46 ` Karl Fogel
2012-09-26 22:26 ` Drew Adams
2012-09-26 23:36 ` Drew Adams
2012-09-27 15:48 ` Karl Fogel
2012-09-27 16:00 ` Drew Adams
2012-09-27 17:57 ` Karl Fogel
2012-09-27 18:32 ` Drew Adams
2012-09-27 3:24 ` Stefan Monnier
2012-09-24 18:41 ` bug#12507: 24.2.50; `bookmark-write-file': use `write-file', not `write-region', to get backups Drew Adams
2012-09-27 5:38 ` bug#12507: [debbugs-tracker] Processed: severity 12507 wishlist Thierry Volpiatto
2012-09-27 18:37 ` Drew Adams
2012-09-27 21:16 ` Thierry Volpiatto
2012-09-28 9:04 ` Thierry Volpiatto
2012-09-28 20:00 ` Drew Adams
2012-09-29 7:42 ` Thierry Volpiatto
2012-09-29 14:36 ` Drew Adams
2012-09-29 15:12 ` Thierry Volpiatto
2012-09-29 15:51 ` Drew Adams
2012-09-29 16:20 ` Thierry Volpiatto
2012-09-29 16:50 ` Drew Adams
2012-09-29 16:57 ` Thierry Volpiatto
2012-10-01 3:38 ` bug#12507: Option `(bookmark-)version-control': Use :tag so doc string matches menu Karl Fogel
2012-10-01 4:06 ` bug#12507: Option `(bookmark-)version-control': Use :tag so docstring " Drew Adams
2012-10-01 4:13 ` bug#12507: Have I mentioned how much I hate Debbugs? Karl Fogel
2012-10-01 4:50 ` Drew Adams
2012-10-01 21:23 ` Karl Fogel
2012-10-01 22:00 ` Drew Adams
2012-10-02 5:31 ` Thierry Volpiatto
2020-11-29 1:07 ` bug#12507: [debbugs-tracker] Processed: severity 12507 wishlist Karl Fogel
2012-09-27 8:36 ` bug#12507: `bookmark-write-file': use `write-file', not `write-region', to get backups Juri Linkov
2012-09-27 15:02 ` Drew Adams
2020-09-18 15:02 ` bug#12507: [debbugs-tracker] Processed: severity 12507 wishlist Lars Ingebrigtsen
2020-09-18 16:23 ` Drew Adams
2020-09-19 14:18 ` Lars Ingebrigtsen
2020-09-19 17:29 ` Drew Adams
2020-09-23 6:41 ` Karl Fogel [this message]
2020-09-23 13:34 ` Lars Ingebrigtsen
2020-09-23 16:23 ` Eli Zaretskii
2020-09-24 13:58 ` Lars Ingebrigtsen
2020-09-29 5:27 ` Karl Fogel
2020-09-29 14:29 ` Lars Ingebrigtsen
2020-09-23 14:27 ` Eli Zaretskii
2020-09-23 18:13 ` Drew Adams
2020-09-23 18:14 ` Drew Adams
2020-09-29 5:25 ` Karl Fogel
2020-09-29 15:45 ` Drew Adams
2020-11-29 0:28 ` Karl Fogel
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=87v9g52dvz.fsf@red-bean.com \
--to=kfogel@red-bean.com \
--cc=12507@debbugs.gnu.org \
--cc=cyd@gnu.org \
--cc=drew.adams@oracle.com \
--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).