emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How long have I got? (For emacs-26 bug fixes.)


From: Alan Mackenzie
Subject: Re: How long have I got? (For emacs-26 bug fixes.)
Date: Tue, 12 Dec 2017 19:24:23 +0000
User-agent: Mutt/1.7.2 (2016-11-26)

Hello, Eli.

On Wed, Dec 06, 2017 at 22:18:34 +0000, Eli Zaretskii wrote:
> On December 6, 2017 8:26:43 PM GMT+00:00, Alan Mackenzie <address@hidden> 
> wrote:
> > Hello, Emacs.

> > I'm currently awaiting confirmatory feedback from a wonderfully
> > prolific
> > bug reporter that three CC Mode bugs actually are fixed.

> > This could arrive tomorrow, but it could take longer.

> > I would very much like these bugs to be corrected for Emacs 26.  Are
> > there any plans (secret or not) for a cut off day for bug fixes?

> It depends on the severity of the bug and the risks inherent in the fix.

> In general, we still plan one more pretest, so there's time.  Whether
> a given fix will be deemed safe enough and worth it to be included in
> Emacs 26 is a case by case decision.

I have heard back from the bug reporter: two of the bugs are fixed, one
is partially fixed.

Here are the three (fixed) bugs:

(i) False fontification of C++ function call as type (partially fixed,
see below).
In the following,

    if ( nullptr == _someVar )
    {
       std::string aStr( isQueued() ? "Send" : "Write" );
       bool someBool = false;
    }

, "isQueued" is being fontified as a type rather than being left
unfontified as the function call it is.


(ii) Misfontified C++ member initialiser list after "throw".
In the following,

 1 #define someNn 1

 3 struct TheClass
 4 {
 5    int theABC, abcMode, theThing, abcConfig;

 7    struct XMLInitFailedException
 8    {
 9       XMLInitFailedException(void) { }
10       ~XMLInitFailedException(void) { }
11    };

13    TheClass( void ) throw( TheClass::XMLInitFailedException )
14    :  theABC( 0 ),
15       abcMode( someNn ),
16       theThing( 0 ),
17       abcConfig( 0 )
18    {
19       // do not do anything!
20    }

22    ~TheClass( void ) { }

24 };

26 int main()
27 {
28    return 0;
29 }

, the initialiser list at L14-17 is being chaotically fontified: L14 has
no face (correct), in L15 "abcMode" has function-face, on L16-17, the
two identifiers have variable-name-face.


(iii) Declaration in a C++ lambda form not fontified.
In the following:

1   struct SomeType { };
2   struct SomeOther { SomeType someMethod(void)const{return SomeType();} };
3   int main()
4   {
5       auto someLambda = [&]( const SomeOther& access )
6                         {
7                             const SomeType& someType = access.someMethod();
8                         };
9   }

, in L7, "SomeType" and "someType" aren't getting fontified at all.

#########################################################################

The problem still remaining in (i) is in:

someStruct x ( ( nullptr != x ) ? 3 : 4 );

, the extra parens around "nullptr != x" are causing "someStruct" to
lose its fontification.  I have a suspicion that this is really a
distinct bug.

Two and a half of these bugs are fixed, and I'm confident their risk
level is low.  I would like to commit the fixes to the release branch.
Is that OK?  (Otherwise I will commit them to master.)

> Thanks.

-- 
Alan Mackenzie (Nuremberg, Germany).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]