]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix insert-file-contents with pipes and /dev/stdin
authorEli Zaretskii <eliz@gnu.org>
Tue, 8 Aug 2023 19:18:46 +0000 (22:18 +0300)
committerEli Zaretskii <eliz@gnu.org>
Tue, 8 Aug 2023 19:18:46 +0000 (22:18 +0300)
* src/fileio.c (Finsert_file_contents): Restore logic of
non-regular but seekable files.  (Bug#65156)

src/fileio.c

index 995e4142f588363449c8406705d2140b2c9ad373..55132f1ec38efc299faca412b2459b2b84bf7f57 100644 (file)
@@ -4581,7 +4581,7 @@ by calling `format-decode', which see.  */)
       goto handled;
     }
 
-  if (seekable || !NILP (end))
+  if ((seekable && regular) || !NILP (end))
     total = end_offset - beg_offset;
   else
     /* For a special file, all we can do is guess.  */
@@ -4678,7 +4678,7 @@ by calling `format-decode', which see.  */)
           For a special file, where TOTAL is just a buffer size,
           so don't bother counting in HOW_MUCH.
           (INSERTED is where we count the number of characters inserted.)  */
-       if (seekable || !NILP (end))
+       if ((seekable && regular) || !NILP (end))
          how_much += this;
        inserted += this;
       }