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

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 12 Apr 2020 17:08:02 +0000

Your bug report

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

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
40576: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=40576
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#40576: call-process-region does not accept nil as first argument
From: Philipp Stephani <[email-masked]>
To: Pietro Giorgianni <[email-masked]>
Cc: [email-masked]
Date: Sun, 12 Apr 2020 19:07:03 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Am So., 12. Apr. 2020 um 18:01 Uhr schrieb Philipp Stephani
<[email-masked]>:
>
> 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).

I've now fixed this on master (commit 42306747d8).

Subject: call-process-region does not accept nil as first argument
From: Pietro Giorgianni <[email-masked]>
To: [email-masked]
Date: Sun, 12 Apr 2020 16:25:33 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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?

Emacs version:
GNU Emacs 26.3 (build 1, x86_64-apple-darwin18.2.0, NS appkit-1671.20
Version 10.14.3 (Build 18D109)) of 2019-09-02

Thank you