Trouble with c-C++-access-key

[email protected] Fri, 11 Mar 2005 10:20:51 +0100
Newsgroups gmane.emacs.xemacs.general
Message-ID <OF88C4BA21.21795BEB-ONC1256FC1.00326B68-C1256FC1.0033A923@pruftechnik.com>
Hello,

I hope you can help me with this, because it is quite annoying.

I'm working with the qt library. Qt extends the usual C++ access keys with 
"signals" and "slots". This is an excerpt from a .h file:

signals:
    /** 
<!---------------------------------------------------------------------->
     * 
     *
 
<!-----------------------------------------------------------------------> 
*/
    void Method1(  );
 
public:          // Methods
    /** 
<!---------------------------------------------------------------------->
     * 
     *
 
<!-----------------------------------------------------------------------> 
*/
    void Method1(  );
 
public slots:
/** 
<!---------------------------------------------------------------------->
 * 
 *
 
<!-----------------------------------------------------------------------> 
*/
void Method1(  );

This allready shows my problem: The code beyond "public slots:" is not 
indented correctly (BTW any acces key that includes a space). On the Qt 
Mailinglist, they have a solution for this, which doesn't seem to work:

(setq c-C++-access-key 
"\\<\\(signals\\|public\\|protected\\|private\\|public slots\\|protected 
slots\\|private slots\\)\\>[ \t]*:")

I use this, but I think it only has the effect that the "public slots:" 
itself is indented correctly, not the following lines.

When I use C-c C-s to find out more, I get this:

After signals or public: 
syntactic analysis: ((comment-intro) (inclass . 1264) (topmost-intro . 
1671))

After public slots:
syntactic analysis: ((comment-intro) (topmost-intro-cont . 1933))

Unfortunately, I don't know how to handle this information...

<any thanks for your help,

Markus Grunwald
Softwareentwicklung

PRÜFTECHNIK Condition Monitoring GmbH
Oskar-Messter-Straße 19-21
85737 Ismaning
www.pruftechnik.com
Tel: +49 (0)89 99616177
Fax: +49 (0)89 99616200