Commit cd0a7951 authored by Jeff Clough's avatar Jeff Clough Committed by Noam Postavsky

Output number of characters added to file (Bug#354)

* fileio.c (write_region):
* epa-file.el (epa-file-write-region):
* jka-compr.el (jka-compr-write-region):
* ange-ftp.el (ange-ftp-write-region):
* tramp-gvfs.el (tramp-gvfs-handle-write-region):
* tramp-sh.el (tramp-sh-handle-write-region):
* mm-util.el (mm-append-to-file): Functions now output
characters written in addition to file name.
* files.texi: Added documentation to write-region and
append-to-file describing their output.
parent 4b3db0da
......@@ -1641,9 +1641,11 @@ similar to the @kbd{M-x find-file-literally} command
@kbd{M-x write-region} is the inverse of @kbd{M-x insert-file}; it
copies the contents of the region into the specified file. @kbd{M-x
append-to-file} adds the text of the region to the end of the
specified file. @xref{Accumulating Text}. The variable
@code{write-region-inhibit-fsync} applies to these commands, as well
as saving files; see @ref{Customize Save}.
specified file. @xref{Accumulating Text}. When called interactively,
these commands will print a message in the echo area giving the name
of the file affected as well as the number of characters which were
added. The variable @code{write-region-inhibit-fsync} applies to
these commands, as well as saving files; see @ref{Customize Save}.
@findex set-file-modes
@cindex file modes
......
......@@ -90,6 +90,11 @@ required capabilities are found in terminfo. See the FAQ node
* Changes in Emacs 26.1
+++
** The functions write-region, append-to-file, and the like now output
the number of characters added in addition to the name of the file
affected.
** The variable 'emacs-version' no longer includes the build number.
This is now stored separately in a new variable, 'emacs-build-number'.
......
......@@ -290,7 +290,7 @@ If no one is selected, symmetric encryption will be performed. "
(if (or (eq visit t)
(eq visit nil)
(stringp visit))
(message "Wrote %s" buffer-file-name))))
(message "Wrote %d characters to `%s'" (- end start) buffer-file-name))))
(put 'write-region 'epa-file 'epa-file-write-region)
(defun epa-file-select-keys ()
......
......@@ -736,7 +736,7 @@ If INHIBIT is non-nil, inhibit `mm-inhibit-file-name-handlers'."
inhibit-file-name-handlers)
inhibit-file-name-handlers)))
(write-region start end filename t 'no-message)
(message "Appended to %s" filename)))
(message "Appended %d characters to `%s'" (- end start) filename)))
(defun mm-write-region (start end filename &optional append visit lockname
coding-system inhibit)
......
......@@ -357,7 +357,7 @@ There should be no more than seven characters after the final `/'."
(and (or (eq visit t)
(eq visit nil)
(stringp visit))
(message "Wrote %s" visit-file))
(message "Wrote %d characters to `%s'" (- end start) visit-file))
;; ensure `last-coding-system-used' has an appropriate value
(setq last-coding-system-used coding-system-used)
......
......@@ -3284,7 +3284,7 @@ system TYPE.")
(set-buffer-modified-p nil)))
;; ensure `last-coding-system-used' has an appropriate value
(setq last-coding-system-used coding-system-used)
(ange-ftp-message "Wrote %s" abbr)
(ange-ftp-message "Wrote %d characters to `%s'" (- end start) abbr)
(ange-ftp-add-file-entry filename))
(ange-ftp-real-write-region start end filename append visit))))
......
......@@ -1223,7 +1223,7 @@ file-notify events."
;; The end.
(when (or (eq visit t) (null visit) (stringp visit))
(tramp-message v 0 "Wrote %s" filename))
(tramp-message v 0 "Wrote %d characters to `%s'" (- end start) filename))
(run-hooks 'tramp-handle-write-region-hook)))
......
......@@ -3411,7 +3411,8 @@ the result will be a local, non-Tramp, file name."
(when need-chown
(tramp-set-file-uid-gid filename uid gid))
(when (or (eq visit t) (null visit) (stringp visit))
(tramp-message v 0 "Wrote %s" filename))
(tramp-message v 0 "Wrote %d characters to `%s'"
(- end start) filename))
(run-hooks 'tramp-handle-write-region-hook)))))
(defvar tramp-vc-registered-file-names nil
......
......@@ -5150,13 +5150,16 @@ write_region (Lisp_Object start, Lisp_Object end, Lisp_Object filename,
}
if (!auto_saving && !noninteractive)
message_with_string ((NUMBERP (append)
? "Updated %s"
: ! NILP (append)
? "Added to %s"
: "Wrote %s"),
visit_file, 1);
{
AUTO_STRING (format, NUMBERP (append)
? "Updated %d characters of `%s'"
: ! NILP (append)
? "Added %d characters to `%s'"
: "Wrote %d characters to `%s'");
CALLN (Fmessage, format,
make_number (XINT (end) - XINT (start)),
visit_file);
}
return Qnil;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment