GNU bug report logs - #59444
ADVICE-ON-FAILURE sed syntax error

Previous Next

Package: emacs;

Reported by: Mattias Engdegård <mattias.engdegard <at> gmail.com>

Date: Mon, 21 Nov 2022 11:52:02 UTC

Severity: normal

Done: Gregory Heytings <gregory <at> heytings.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Gregory Heytings <gregory <at> heytings.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#59444: closed (ADVICE-ON-FAILURE sed syntax error)
Date: Mon, 21 Nov 2022 12:50:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 21 Nov 2022 12:49:50 +0000
with message-id <c25df841bae513e5dc39 <at> heytings.org>
and subject line Re: bug#59444: ADVICE-ON-FAILURE sed syntax error
has caused the debbugs.gnu.org bug report #59444,
regarding ADVICE-ON-FAILURE sed syntax error
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
59444: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59444
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
To: Emacs Bug Report <bug-gnu-emacs <at> gnu.org>
Cc: Gregory Heytings <gregory <at> heytings.org>
Subject: ADVICE-ON-FAILURE sed syntax error
Date: Mon, 21 Nov 2022 12:51:05 +0100
Right now on Emacs master (d9d8a2eba9), any build error results in

***
*** "make all" failed with exit status 2.
***
sed: 1: "/^# ADVICE-ON-FAILURE-B ...": extra characters at the end of q command
make[1]: *** [advice-on-failure] Error 1
make: *** [all] Error 2

which is less than helpful. (This is with macOS 11.7, system tools.)

The bug is here somewhere (Makefile.in:413):

  sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,$${p;/^# ADVICE-ON-FAILURE-END:${make-target}/q};'

Any reason why this isn't just written

  sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,/^# ADVICE-ON-FAILURE-END:${make-target}/p'

? The latter would work with any standard `sed`.



[Message part 3 (message/rfc822, inline)]
From: Gregory Heytings <gregory <at> heytings.org>
To: Mattias Engdegård <mattias.engdegard <at> gmail.com>
Cc: 59444-done <at> debbugs.gnu.org
Subject: Re: bug#59444: ADVICE-ON-FAILURE sed syntax error
Date: Mon, 21 Nov 2022 12:49:50 +0000
Thanks for your bug report.

>
> Right now on Emacs master (d9d8a2eba9), any build error results in
>

Is this new?  That part of the Makefile hasn't changed in the last two 
months, after it was introduced.

>
> The bug is here somewhere (Makefile.in:413):
>
> sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,$${p;/^# ADVICE-ON-FAILURE-END:${make-target}/q};'
>
> Any reason why this isn't just written
>
> sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,/^# ADVICE-ON-FAILURE-END:${make-target}/p'
>
> ? The latter would work with any standard `sed`.
>

Again I tested this with (GNU) sed with --posix, and it gave the expected 
result.  The reason I chose the former expression instead of the latter is 
because it's how I usually write such patterns.  After reading the POSIX 
standard, it turns out that a semicolon is required after the 'q'.  Fixed 
(a3b654e069) and closing.


This bug report was last modified 2 years and 245 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.