[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#53333: Fix for crash in ebrowse
From: |
Eli Zaretskii |
Subject: |
bug#53333: Fix for crash in ebrowse |
Date: |
Thu, 20 Jan 2022 13:45:31 +0200 |
> From: Jan Stranik <jan@stranik.org>
> Cc: 53333@debbugs.gnu.org
> Date: Tue, 18 Jan 2022 20:32:55 -0500
>
> >
> > Thanks, but can you explain the need for this part:
> >
> >> ! else {
> >> ! s++;
> >> ! break;
> >> ! }
> >> ! }
> >
> > Why do we need to advance the pointer 's' in the 'else' clause? why
> > not leave it alone?
>
> The identifier is copied from end to the buffer. As we are copying, we
> want to escape quote and backslash characters. Normally if we encounter
> any of these characters we just prepend \ to in front. If there is not
> enough space in the buffer to insert the \, we should increase the s, to
> back-out the character that we wanted to escape.
>
> If we would not do that, the first character might not be escaped. If
> that character were a quote, it would break the lisp expressions written
> later to the BROWSE file.
Thanks, I installed the change on the emacs-28 branch, and I'm marking
this bug done.