Subject: Re: bug#40576: call-process-region does not accept nil as first argument

From: Philipp Stephani <[email-masked]>
Date: Sun, 12 Apr 2020 18:01:40 +0200

Am So., 12. Apr. 2020 um 17:44 Uhr schrieb Pietro Giorgianni
<[email-masked]>:
>
> Hi,
>
> According to the documentation of call-process-region,
>   If START is nil, that means to use the entire buffer contents; END is
> ignored.
>
> But when I run:
> (call-process-region nil nil "/bin/cat" t (current-buffer))
> I get:
> Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p nil)
>   call-process-region(nil nil "/bin/cat" t #<buffer *scratch*>)
>   eval((call-process-region nil nil "/bin/cat" t (current-buffer)) nil)
>   elisp--eval-last-sexp(t)
>   eval-last-sexp(t)
>   eval-print-last-sexp(nil)
>   funcall-interactively(eval-print-last-sexp nil)
>   call-interactively(eval-print-last-sexp nil nil)
>   command-execute(eval-print-last-sexp)
>
> If, instead, I run:
> (call-process-region (point-min) (point-max) "/bin/cat" t (current-buffer))
>
> It works.
>
> Am I interpreting the documentation wrong?

Nope, looks like a genuine bug (that happens only if DELETE is non-nil).