* grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
[not found] <87fsef9pms.fsf.ref@yahoo.com>
@ 2022-11-19 10:59 ` Po Lu
2022-11-19 11:24 ` Gregory Heytings
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Po Lu @ 2022-11-19 10:59 UTC (permalink / raw)
To: emacs-devel
This is what happens when building Emacs on Suns:
grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
I don't want to argue over that dis-message anymore, so would someone
else please fix this.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
2022-11-19 10:59 ` grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid Po Lu
@ 2022-11-19 11:24 ` Gregory Heytings
2022-11-19 11:35 ` Mattias Engdegård
2022-11-19 11:57 ` Po Lu
2022-11-19 11:45 ` Eli Zaretskii
2022-11-19 14:06 ` Gregory Heytings
2 siblings, 2 replies; 13+ messages in thread
From: Gregory Heytings @ 2022-11-19 11:24 UTC (permalink / raw)
To: Po Lu; +Cc: emacs-devel
>
> This is what happens when building Emacs on Suns:
>
> grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand
> invalid
>
That seems like a problem with Sun grep, isn't it? What does it expect?
Can you try
echo '*** foo' | grep -v '^\*\*\* foo'
and tell us if it works (i.e. if it does not show any output)?
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
2022-11-19 11:24 ` Gregory Heytings
@ 2022-11-19 11:35 ` Mattias Engdegård
2022-11-19 11:49 ` Gregory Heytings
2022-11-19 11:57 ` Po Lu
1 sibling, 1 reply; 13+ messages in thread
From: Mattias Engdegård @ 2022-11-19 11:35 UTC (permalink / raw)
To: Gregory Heytings; +Cc: Po Lu, emacs-devel
19 nov. 2022 kl. 12.24 skrev Gregory Heytings <gregory@heytings.org>:
> That seems like a problem with Sun grep, isn't it?
No, it's a problem with the regexp, but your remedy is accurate.
I pushed a fix, blindly (no Sun here I'm afraid) -- did it help?
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
2022-11-19 10:59 ` grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid Po Lu
2022-11-19 11:24 ` Gregory Heytings
@ 2022-11-19 11:45 ` Eli Zaretskii
2022-11-19 14:06 ` Gregory Heytings
2 siblings, 0 replies; 13+ messages in thread
From: Eli Zaretskii @ 2022-11-19 11:45 UTC (permalink / raw)
To: Po Lu; +Cc: emacs-devel
> From: Po Lu <luangruo@yahoo.com>
> Date: Sat, 19 Nov 2022 18:59:07 +0800
>
> This is what happens when building Emacs on Suns:
>
> grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
>
> I don't want to argue over that dis-message anymore, so would someone
> else please fix this.
I don't have access to a system with such a Grep, but does escaping
the asterisks with a backslash, as in
^\*\*\* ADVICE-ON-FAILURE-
help with that Grep?
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
2022-11-19 11:35 ` Mattias Engdegård
@ 2022-11-19 11:49 ` Gregory Heytings
2022-11-19 12:05 ` Eli Zaretskii
0 siblings, 1 reply; 13+ messages in thread
From: Gregory Heytings @ 2022-11-19 11:49 UTC (permalink / raw)
To: Mattias Engdegård; +Cc: Po Lu, emacs-devel
>> That seems like a problem with Sun grep, isn't it?
>
> No, it's a problem with the regexp
>
I'm not sure, how comes that GNU grep does not complain and does the right
thing, even with POSIXLY_CORRECT?
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
2022-11-19 11:24 ` Gregory Heytings
2022-11-19 11:35 ` Mattias Engdegård
@ 2022-11-19 11:57 ` Po Lu
2022-11-19 12:00 ` Po Lu
1 sibling, 1 reply; 13+ messages in thread
From: Po Lu @ 2022-11-19 11:57 UTC (permalink / raw)
To: Gregory Heytings; +Cc: emacs-devel
Gregory Heytings <gregory@heytings.org> writes:
>>
>> This is what happens when building Emacs on Suns:
>>
>> grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator
>> operand invalid
>>
>
> That seems like a problem with Sun grep, isn't it? What does it
> expect? Can you try
>
> echo '*** foo' | grep -v '^\*\*\* foo'
>
> and tell us if it works (i.e. if it does not show any output)?
Yes, that works.
Thanks.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
2022-11-19 11:57 ` Po Lu
@ 2022-11-19 12:00 ` Po Lu
2022-11-19 12:14 ` Mattias Engdegård
0 siblings, 1 reply; 13+ messages in thread
From: Po Lu @ 2022-11-19 12:00 UTC (permalink / raw)
To: Gregory Heytings; +Cc: emacs-devel
Po Lu <luangruo@yahoo.com> writes:
> Yes, that works.
BTW, Sun says their grep complies with POSIX.1 as well:
STANDARDS
The grep utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”)
specification with the exception of -s option being the same as -q in
current implementation for historic reasons. The flags [-AbBChHrRw] are
extensions to that specification.
So I'm not sure whether or not the bug lies in grep or posixly-correct
GNU grep.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
2022-11-19 11:49 ` Gregory Heytings
@ 2022-11-19 12:05 ` Eli Zaretskii
0 siblings, 0 replies; 13+ messages in thread
From: Eli Zaretskii @ 2022-11-19 12:05 UTC (permalink / raw)
To: Gregory Heytings; +Cc: mattiase, luangruo, emacs-devel
> Date: Sat, 19 Nov 2022 11:49:26 +0000
> From: Gregory Heytings <gregory@heytings.org>
> cc: Po Lu <luangruo@yahoo.com>, emacs-devel@gnu.org
>
>
> >> That seems like a problem with Sun grep, isn't it?
> >
> > No, it's a problem with the regexp
> >
>
> I'm not sure, how comes that GNU grep does not complain and does the right
> thing, even with POSIXLY_CORRECT?
That's a feature in GNU Grep: it has extensions over the basic REs.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
2022-11-19 12:00 ` Po Lu
@ 2022-11-19 12:14 ` Mattias Engdegård
2022-11-19 12:26 ` Gregory Heytings
0 siblings, 1 reply; 13+ messages in thread
From: Mattias Engdegård @ 2022-11-19 12:14 UTC (permalink / raw)
To: Po Lu; +Cc: Gregory Heytings, emacs-devel
19 nov. 2022 kl. 13.00 skrev Po Lu <luangruo@yahoo.com>:
> So I'm not sure whether or not the bug lies in grep or posixly-correct
> GNU grep.
The standard (BSD) grep in macOS signals a similar error as the Sun one did.
Whether allowed by POSIX or not, it's obviously helpful as it helped us discover this incorrect regexp.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
2022-11-19 12:14 ` Mattias Engdegård
@ 2022-11-19 12:26 ` Gregory Heytings
2022-11-19 12:42 ` Mattias Engdegård
0 siblings, 1 reply; 13+ messages in thread
From: Gregory Heytings @ 2022-11-19 12:26 UTC (permalink / raw)
To: Mattias Engdegård; +Cc: Po Lu, emacs-devel
>
> Whether allowed by POSIX or not, it's obviously helpful as it helped us
> discover this incorrect regexp.
>
I just checked, it was not incorrect. POSIX says that in BREs the '*' is
special, except wen used:
- in a bracket expression
- as the first character of an entire BRE (after an initial '^', if any)
- as the first character of a subexpression (after an initial '^', if any)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
2022-11-19 12:26 ` Gregory Heytings
@ 2022-11-19 12:42 ` Mattias Engdegård
2022-11-19 12:49 ` Gregory Heytings
0 siblings, 1 reply; 13+ messages in thread
From: Mattias Engdegård @ 2022-11-19 12:42 UTC (permalink / raw)
To: Gregory Heytings; +Cc: Po Lu, emacs-devel
19 nov. 2022 kl. 13.26 skrev Gregory Heytings <gregory@heytings.org>:
> I just checked, it was not incorrect. POSIX says that in BREs the '*' is special, except wen used:
>
> - in a bracket expression
> - as the first character of an entire BRE (after an initial '^', if any)
> - as the first character of a subexpression (after an initial '^', if any)
That just means that the first of the three asterisks is literal. The other two are special and indicate repetition of the literal asterisk.
In other words: "^***" means "^\**", matching zero or more asterisks at the beginning of a line.
(And even if the three asterisks were interpreted literally, it would be bad style.)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
2022-11-19 12:42 ` Mattias Engdegård
@ 2022-11-19 12:49 ` Gregory Heytings
0 siblings, 0 replies; 13+ messages in thread
From: Gregory Heytings @ 2022-11-19 12:49 UTC (permalink / raw)
To: Mattias Engdegård; +Cc: Po Lu, emacs-devel
>> I just checked, it was not incorrect. POSIX says that in BREs the '*'
>> is special, except wen used:
>>
>> - in a bracket expression
>> - as the first character of an entire BRE (after an initial '^', if any)
>> - as the first character of a subexpression (after an initial '^', if any)
>
> That just means that the first of the three asterisks is literal. The
> other two are special and indicate repetition of the literal asterisk.
>
Hmmm, you're correct. '^**' would be correct (matching zero or more
asterisks), but '^***' is not, because POSIX also says that "multiple
adjacent duplication symbols produces undefined results".
>
> (And even if the three asterisks were interpreted literally, it would be
> bad style.)
>
It's better if the expression is correctly matched by more grep's, indeed.
Anyway, bug closed.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid
2022-11-19 10:59 ` grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid Po Lu
2022-11-19 11:24 ` Gregory Heytings
2022-11-19 11:45 ` Eli Zaretskii
@ 2022-11-19 14:06 ` Gregory Heytings
2 siblings, 0 replies; 13+ messages in thread
From: Gregory Heytings @ 2022-11-19 14:06 UTC (permalink / raw)
To: Po Lu; +Cc: emacs-devel
>
> I don't want to argue over that dis-message anymore
>
You asked nicely, so I just added an option do disable these useful
messages. Just "touch .no-advice-on-failure" in your repo, and you won't
see them anymore.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2022-11-19 14:06 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <87fsef9pms.fsf.ref@yahoo.com>
2022-11-19 10:59 ` grep: RE error in ^*** ADVICE-ON-FAILURE-: repetition-operator operand invalid Po Lu
2022-11-19 11:24 ` Gregory Heytings
2022-11-19 11:35 ` Mattias Engdegård
2022-11-19 11:49 ` Gregory Heytings
2022-11-19 12:05 ` Eli Zaretskii
2022-11-19 11:57 ` Po Lu
2022-11-19 12:00 ` Po Lu
2022-11-19 12:14 ` Mattias Engdegård
2022-11-19 12:26 ` Gregory Heytings
2022-11-19 12:42 ` Mattias Engdegård
2022-11-19 12:49 ` Gregory Heytings
2022-11-19 11:45 ` Eli Zaretskii
2022-11-19 14:06 ` Gregory Heytings
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.