]> git.eshelyaron.com Git - emacs.git/commitdiff
Output number of characters added to file (Bug#354)
authorJeff Clough <kb1vqh@gmail.com>
Fri, 27 Feb 2015 13:52:12 +0000 (08:52 -0500)
committerNoam Postavsky <npostavs@gmail.com>
Fri, 7 Apr 2017 02:23:27 +0000 (22:23 -0400)
* 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.

doc/emacs/files.texi
etc/NEWS
lisp/epa-file.el
lisp/gnus/mm-util.el
lisp/jka-compr.el
lisp/net/ange-ftp.el
lisp/net/tramp-gvfs.el
lisp/net/tramp-sh.el
src/fileio.c

index 0b730e27d308110175c7bbc8815843f1e0b428af..ed17f66ca2cee1a0b40eee9a3aaa6163fb3d5b6d 100644 (file)
@@ -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
index 3574d0fb694595ce7b5fe446befa0a5a254f7c49..43de4b9168c28d42623f0c5e1d6f084bbd118654 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -90,6 +90,11 @@ required capabilities are found in terminfo.  See the FAQ node
 \f
 * 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'.
 
index c97acb837aa8854e16e8ed5b589c9e0c6fcdd7fe..72ffb58c3086525a4302e26fd5889689ac85d49e 100644 (file)
@@ -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 ()
index 89f397e3ed0368970be3ab67d05d87e075aa4a1c..f0dc803eddce7844898ecf66d40846075538fe4c 100644 (file)
@@ -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)
index 26a7cf506fd4c72d97d68d500bf2ac74aedc033e..55440a709c77f3d1b2d3783411cfef0d4fda942d 100644 (file)
@@ -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)
index cafdb3ecb064524d6c1fe8618efc583819771daa..aecb9e1ecbee36125cad82ece7d40bddc5ec46ee 100644 (file)
@@ -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))))
 
index 59d8771cf1dfa2ccfbb53115eb8dffa9bbf2d06a..8ab34af85b701e4431aa46f8f6c90b95532e2811 100644 (file)
@@ -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)))
 
 \f
index 997716227bca0dac948c99744b4dd462c3e8e311..f78f54154fde6c51a833eaa0d987a1235478a0fe 100644 (file)
@@ -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
index acbf76e0d8110be304d524dac55a9e6497623d83..0fc52294011d33eb4065e62ed7fae8daff899c70 100644 (file)
@@ -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;
 }
 \f