<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.emacs.cc-mode.general">
    <title>gmane.emacs.cc-mode.general</title>
    <link>http://blog.gmane.org/gmane.emacs.cc-mode.general</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/6094"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/6093"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/6090"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/6074"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/6069"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/6068"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/6067"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/6045"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/6037"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/6036"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/6029"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/6000"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/5989"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/5978"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/5973"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/5940"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/5939"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/5938"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/5937"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.cc-mode.general/5929"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/6094">
    <title>Indentation problem when using preprocessor if/else/endif in functiondeclaration</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/6094</link>
    <description>&lt;pre&gt;cc-mode indents wrongly when I use #if #else #endif to define different
function definitions, to reproduce it just write the snippet code bellow:

#if DEF
void test(void)
#else
  void test2(void)
#endif
{ }

As can be seen, the line void test2(void) will be indented wrongly 2 spaces.

I've tested it with emacs 24.3 from gentoo and the vanilla one, same thing
with cc-mode, the built-in one (5.32.4) and with the one from c++11 branch
(5.33). All have this same behavior.

thanks!
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may&lt;/pre&gt;</description>
    <dc:creator>Sezaru</dc:creator>
    <dc:date>2013-05-12T06:49:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/6093">
    <title>Cleanup patch for cc-mode</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/6093</link>
    <description>&lt;pre&gt;Any objection against the patch below?

Any while I'm here: I'd like to make cc-mode use syntax-propertize, but
can't understand how cc-mode currently uses the syntax-table property:
you use different values for different cases (makes sense so far) but
most importantly you set them from different places and different times
(from what I understand) and you seem to never just clear the
syntax-table property, but instead only remove it selectively, only at
those places that have a particular value.

Is it "documented" in some comment somewhere, or else could you add one,
that lists all the cases where it's used, where it's set, when it's
removed? And ideally, with some rationale/explanation why it's done this
way, why each such case is done differently, ...


        Stefan


=== modified file 'lisp/progmodes/cc-mode.el'
--- lisp/progmodes/cc-mode.el2013-05-02 11:18:18 +0000
+++ lisp/progmodes/cc-mode.el2013-05-10 15:33:00 +0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -218,12 +218,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
      (t (error "CC Mode is incompatible with this version of Emacs")))
     map))
 
-(defun c-define-abbrev-table (name defs)
+(defun c-define-abbrev-table (name defs &amp;amp;optional doc)
   ;; Compatibility wrapper for `define-abbrev' which passes a non-nil
   ;; sixth argument for SYSTEM-FLAG in emacsen that support it
   ;; (currently only Emacs &amp;gt;= 21.2).
   (let ((table (or (symbol-value name)
-   (progn (define-abbrev-table name nil)
+   (progn (condition-case nil
+                              (define-abbrev-table name nil doc)
+                            (wrong-number-of-arguments ;Emacs&amp;lt;23.
+                             (eval `(defvar ,name nil))
+                             (define-abbrev-table name nil)))
   (symbol-value name)))))
     (while defs
       (condition-case nil
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1235,27 +1239,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 ;; Support for C
 
-;;;###autoload
-(defvar c-mode-syntax-table nil
+(defvar c-mode-syntax-table
+  (funcall (c-lang-const c-make-mode-syntax-table c))
   "Syntax table used in c-mode buffers.")
-(or c-mode-syntax-table
-    (setq c-mode-syntax-table
-  (funcall (c-lang-const c-make-mode-syntax-table c))))
 
-(defvar c-mode-abbrev-table nil
-  "Abbreviation table used in c-mode buffers.")
 (c-define-abbrev-table 'c-mode-abbrev-table
   '(("else" "else" c-electric-continued-statement 0)
-    ("while" "while" c-electric-continued-statement 0)))
+    ("while" "while" c-electric-continued-statement 0))
+  "Abbreviation table used in c-mode buffers.")
 
-(defvar c-mode-map ()
+(defvar c-mode-map
+  (let ((map (c-make-inherited-keymap)))
+    ;; Add bindings which are only useful for C.
+    (define-key map "\C-c\C-e"  'c-macro-expand)
+    map)
   "Keymap used in c-mode buffers.")
-(if c-mode-map
-    nil
-  (setq c-mode-map (c-make-inherited-keymap))
-  ;; add bindings which are only useful for C
-  (define-key c-mode-map "\C-c\C-e"  'c-macro-expand)
-  )
+
 
 (easy-menu-define c-c-menu c-mode-map "C Mode Commands"
   (cons "C" (c-lang-const c-mode-menu c)))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1320,30 +1319,25 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 ;; Support for C++
 
-;;;###autoload
-(defvar c++-mode-syntax-table nil
+(defvar c++-mode-syntax-table
+  (funcall (c-lang-const c-make-mode-syntax-table c++))
   "Syntax table used in c++-mode buffers.")
-(or c++-mode-syntax-table
-    (setq c++-mode-syntax-table
-  (funcall (c-lang-const c-make-mode-syntax-table c++))))
 
-(defvar c++-mode-abbrev-table nil
-  "Abbreviation table used in c++-mode buffers.")
 (c-define-abbrev-table 'c++-mode-abbrev-table
   '(("else" "else" c-electric-continued-statement 0)
     ("while" "while" c-electric-continued-statement 0)
-    ("catch" "catch" c-electric-continued-statement 0)))
+    ("catch" "catch" c-electric-continued-statement 0))
+  "Abbreviation table used in c++-mode buffers.")
 
-(defvar c++-mode-map ()
+(defvar c++-mode-map
+  (let ((map (c-make-inherited-keymap)))
+    ;; Add bindings which are only useful for C++.
+    (define-key map "\C-c\C-e" 'c-macro-expand)
+    (define-key map "\C-c:"    'c-scope-operator)
+    (define-key map "&amp;lt;"        'c-electric-lt-gt)
+    (define-key map "&amp;gt;"        'c-electric-lt-gt)
+    map)
   "Keymap used in c++-mode buffers.")
-(if c++-mode-map
-    nil
-  (setq c++-mode-map (c-make-inherited-keymap))
-  ;; add bindings which are only useful for C++
-  (define-key c++-mode-map "\C-c\C-e" 'c-macro-expand)
-  (define-key c++-mode-map "\C-c:"    'c-scope-operator)
-  (define-key c++-mode-map "&amp;lt;"        'c-electric-lt-gt)
-  (define-key c++-mode-map "&amp;gt;"        'c-electric-lt-gt))
 
 (easy-menu-define c-c++-menu c++-mode-map "C++ Mode Commands"
   (cons "C++" (c-lang-const c-mode-menu c++)))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1380,26 +1374,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 ;; Support for Objective-C
 
-;;;###autoload
-(defvar objc-mode-syntax-table nil
+(defvar objc-mode-syntax-table
+  (funcall (c-lang-const c-make-mode-syntax-table objc))
   "Syntax table used in objc-mode buffers.")
-(or objc-mode-syntax-table
-    (setq objc-mode-syntax-table
-  (funcall (c-lang-const c-make-mode-syntax-table objc))))
 
-(defvar objc-mode-abbrev-table nil
-  "Abbreviation table used in objc-mode buffers.")
 (c-define-abbrev-table 'objc-mode-abbrev-table
   '(("else" "else" c-electric-continued-statement 0)
-    ("while" "while" c-electric-continued-statement 0)))
+    ("while" "while" c-electric-continued-statement 0))
+  "Abbreviation table used in objc-mode buffers.")
 
-(defvar objc-mode-map ()
+(defvar objc-mode-map
+  (let ((map (c-make-inherited-keymap)))
+    ;; Add bindings which are only useful for Objective-C.
+    (define-key map "\C-c\C-e" 'c-macro-expand)
+    map)
   "Keymap used in objc-mode buffers.")
-(if objc-mode-map
-    nil
-  (setq objc-mode-map (c-make-inherited-keymap))
-  ;; add bindings which are only useful for Objective-C
-  (define-key objc-mode-map "\C-c\C-e" 'c-macro-expand))
 
 (easy-menu-define c-objc-menu objc-mode-map "ObjC Mode Commands"
   (cons "ObjC" (c-lang-const c-mode-menu objc)))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1438,28 +1427,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 ;; Support for Java
 
-;;;###autoload
-(defvar java-mode-syntax-table nil
+(defvar java-mode-syntax-table
+  (funcall (c-lang-const c-make-mode-syntax-table java))
   "Syntax table used in java-mode buffers.")
-(or java-mode-syntax-table
-    (setq java-mode-syntax-table
-  (funcall (c-lang-const c-make-mode-syntax-table java))))
 
-(defvar java-mode-abbrev-table nil
-  "Abbreviation table used in java-mode buffers.")
 (c-define-abbrev-table 'java-mode-abbrev-table
   '(("else" "else" c-electric-continued-statement 0)
     ("while" "while" c-electric-continued-statement 0)
     ("catch" "catch" c-electric-continued-statement 0)
-    ("finally" "finally" c-electric-continued-statement 0)))
+    ("finally" "finally" c-electric-continued-statement 0))
+  "Abbreviation table used in java-mode buffers.")
 
-(defvar java-mode-map ()
+(defvar java-mode-map
+  (let ((map (c-make-inherited-keymap)))
+    ;; Add bindings which are only useful for Java.
+    map)
   "Keymap used in java-mode buffers.")
-(if java-mode-map
-    nil
-  (setq java-mode-map (c-make-inherited-keymap))
-  ;; add bindings which are only useful for Java
-  )
 
 ;; Regexp trying to describe the beginning of a Java top-level
 ;; definition.  This is not used by CC Mode, nor is it maintained
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1504,24 +1487,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 ;; Support for CORBA's IDL language
 
-;;;###autoload
-(defvar idl-mode-syntax-table nil
+(defvar idl-mode-syntax-table
+  (funcall (c-lang-const c-make-mode-syntax-table idl))
   "Syntax table used in idl-mode buffers.")
-(or idl-mode-syntax-table
-    (setq idl-mode-syntax-table
-  (funcall (c-lang-const c-make-mode-syntax-table idl))))
 
-(defvar idl-mode-abbrev-table nil
+(c-define-abbrev-table 'idl-mode-abbrev-table nil
   "Abbreviation table used in idl-mode buffers.")
-(c-define-abbrev-table 'idl-mode-abbrev-table nil)
 
-(defvar idl-mode-map ()
+(defvar idl-mode-map
+  (let ((map (c-make-inherited-keymap)))
+    ;; Add bindings which are only useful for IDL.
+    map)
   "Keymap used in idl-mode buffers.")
-(if idl-mode-map
-    nil
-  (setq idl-mode-map (c-make-inherited-keymap))
-  ;; add bindings which are only useful for IDL
-  )
 
 (easy-menu-define c-idl-menu idl-mode-map "IDL Mode Commands"
   (cons "IDL" (c-lang-const c-mode-menu idl)))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1558,26 +1535,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 ;; Support for Pike
 
-;;;###autoload
-(defvar pike-mode-syntax-table nil
+(defvar pike-mode-syntax-table
+  (funcall (c-lang-const c-make-mode-syntax-table pike))
   "Syntax table used in pike-mode buffers.")
-(or pike-mode-syntax-table
-    (setq pike-mode-syntax-table
-  (funcall (c-lang-const c-make-mode-syntax-table pike))))
 
-(defvar pike-mode-abbrev-table nil
-  "Abbreviation table used in pike-mode buffers.")
 (c-define-abbrev-table 'pike-mode-abbrev-table
   '(("else" "else" c-electric-continued-statement 0)
-    ("while" "while" c-electric-continued-statement 0)))
+    ("while" "while" c-electric-continued-statement 0))
+  "Abbreviation table used in pike-mode buffers.")
 
-(defvar pike-mode-map ()
+(defvar pike-mode-map
+  (let ((map (c-make-inherited-keymap)))
+    ;; Additional bindings.
+    (define-key map "\C-c\C-e" 'c-macro-expand)
+    map)
   "Keymap used in pike-mode buffers.")
-(if pike-mode-map
-    nil
-  (setq pike-mode-map (c-make-inherited-keymap))
-  ;; additional bindings
-  (define-key pike-mode-map "\C-c\C-e" 'c-macro-expand))
 
 (easy-menu-define c-pike-menu pike-mode-map "Pike Mode Commands"
   (cons "Pike" (c-lang-const c-mode-menu pike)))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1626,28 +1598,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ;;; autoload form instead.
 ;;;###autoload (autoload 'awk-mode "cc-mode" "Major mode for editing AWK code." t)
 
-(defvar awk-mode-abbrev-table nil
-  "Abbreviation table used in awk-mode buffers.")
 (c-define-abbrev-table 'awk-mode-abbrev-table
   '(("else" "else" c-electric-continued-statement 0)
-    ("while" "while" c-electric-continued-statement 0)))
+    ("while" "while" c-electric-continued-statement 0))
+  "Abbreviation table used in awk-mode buffers.")
 
-(defvar awk-mode-map ()
+(defvar awk-mode-map
+  (let ((map (c-make-inherited-keymap)))
+    ;; Add bindings which are only useful for awk.
+    (define-key map "#" 'self-insert-command)
+    (define-key map "/" 'self-insert-command)
+    (define-key map "*" 'self-insert-command)
+    (define-key map "\C-c\C-n" 'undefined) ; #if doesn't exist in awk.
+    (define-key map "\C-c\C-p" 'undefined)
+    (define-key map "\C-c\C-u" 'undefined)
+    (define-key map "\M-a" 'c-beginning-of-statement) ; 2003/10/7
+    (define-key map "\M-e" 'c-end-of-statement)       ; 2003/10/7
+    (define-key map "\C-\M-a" 'c-awk-beginning-of-defun)
+    (define-key map "\C-\M-e" 'c-awk-end-of-defun)
+    map)
   "Keymap used in awk-mode buffers.")
-(if awk-mode-map
-    nil
-  (setq awk-mode-map (c-make-inherited-keymap))
-  ;; add bindings which are only useful for awk.
-  (define-key awk-mode-map "#" 'self-insert-command)
-  (define-key awk-mode-map "/" 'self-insert-command)
-  (define-key awk-mode-map "*" 'self-insert-command)
-  (define-key awk-mode-map "\C-c\C-n" 'undefined) ; #if doesn't exist in awk.
-  (define-key awk-mode-map "\C-c\C-p" 'undefined)
-  (define-key awk-mode-map "\C-c\C-u" 'undefined)
-  (define-key awk-mode-map "\M-a" 'c-beginning-of-statement) ; 2003/10/7
-  (define-key awk-mode-map "\M-e" 'c-end-of-statement) ; 2003/10/7
-  (define-key awk-mode-map "\C-\M-a" 'c-awk-beginning-of-defun)
-  (define-key awk-mode-map "\C-\M-e" 'c-awk-end-of-defun))
 
 (easy-menu-define c-awk-menu awk-mode-map "AWK Mode Commands"
   (cons "AWK" (c-lang-const c-mode-menu awk)))


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may

&lt;/pre&gt;</description>
    <dc:creator>Stefan Monnier</dc:creator>
    <dc:date>2013-05-10T15:41:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/6090">
    <title>Release of CC Mode 5.32.5</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/6090</link>
    <description>&lt;pre&gt;Hi, CC Mode users.

CC Mode 5.32.5 has been released and is available from
&amp;lt;http://cc-mode.sourceforge.net/release.php&amp;gt;.  This is a bug-fix release;
for full details, please see the ChangeLog file.

(CC Mode 5.32.4 was the version number used in Emacs 24.3.)

&lt;/pre&gt;</description>
    <dc:creator>Alan Mackenzie</dc:creator>
    <dc:date>2013-05-05T12:31:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/6074">
    <title>c++-mode, incorrect transition from member-init-cont totopmost-intro-cont</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/6074</link>
    <description>&lt;pre&gt;Hi,

I'm running Gnu Emacs 24.2.1 on windows (i386-mingw-nt6.1.7601). The code looks like this, indented as Emacs sees fit:

Screen_DONINFO::Screen_DONINFO()                                // line 45
   : current_proc_data(guiglobs::proc_status.get_data()),
     hct_set(FALSE),
     tbv_set(FALSE),
[...]
     platelet_precount_value_btnface_last_keypad(0),   // line 58
tbv(0),                                                                                                 // line 59

Note the non-indent of the tbv initializer on line 60.  On line 59, C-c C-s shows((member-init-cont 1205) (that's the 'c' in the second line, ' : current...')
but on line 60, C-c C-s shows ((topmost-intro-cont 1166)), where 1166 is the beginning of the first line.

This is very annoying.  The code base has huge initialization lists, and Emacs mis-indents most of them like this.

(This problem existed in the CC-mode that came with the distribution, but persists with 5.32.3 which I just installed.)

Any help would be appreciated.  Thanks.


Dave Steffen
Sr. Software Developer
Terumo BCT
10811 W Collins Avenue Lakewood, CO  80215-4440 USA
303-542-5030
TERUMOBCT.COM&amp;lt;http://www.caridianbct.com/&amp;gt;

** Statement from Terumo BCT Inc. **

Confidential and/or privileged information may be contained in this message and any attachments. If you are not the intended recipient you should not copy or forward this message and should destroy it immediately. Any Disclosure, copying, distribution and/or any other use of this communication by anyone other than the intended recipient is strictly prohibited and may be unlawful. The opinions, conclusions and other information in this message do not necessarily represent the views and/or opinions of the employer.

** End of statement **
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis &amp;amp; visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter&lt;/pre&gt;</description>
    <dc:creator>Steffen, David</dc:creator>
    <dc:date>2013-04-19T15:53:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/6069">
    <title>Clean-ups customizations</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/6069</link>
    <description>&lt;pre&gt;Hi,

After many years using only the basic features of CC-Mode, I decided to try to
understand the more advanced options like `c-cleanup-list' and the like which
look quite promising.

But I would like to be able to customize the behavior of such cleanup functions.
For example, I would like to use `one-liner-defun' on inline functions in C++ or
to be able to use it properly even with `(inline-open before after)' such as
this simple function :

bool oneliner ()
{
  return true;
}


becomes automatically when I insert the final `}' :

bool oneliner () { return true; }


and not :

bool oneliner ()
{return true;}


(notice the added spaces between `{' and `}')


For the later, I guess I am better off writing a custom c-try-one-liner
function, but for making it work also on inline functions, I see no other way
than directly hacking `c-electric-brace'.

Is there a better way to do such customizations?

Thanks !

&lt;/pre&gt;</description>
    <dc:creator>Renaud Casenave-Péré</dc:creator>
    <dc:date>2013-04-10T12:16:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/6068">
    <title>CC Mode 5.32.3 (C++/l); False coloring of keywords</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/6068</link>
    <description>&lt;pre&gt;Emacs  : GNU Emacs 24.2.50.1 (i386-mingw-nt6.1.7601)
  of 2012-08-24 on YAMALOK
Package: CC Mode 5.32.3 (C++/l)
Buffer Style: gnu
c-emacs-features: (pps-extended-state col-0-paren posix-char-classes 
gen-string-delim gen-comment-delim syntax-properties 1-bit)

The keywords of "ProcessMapData" after the draw function are not as they 
should be. (void = green, FuncName=White, instead of blue and yellow)
Problem with the following code:

#ifndef INCLUDED_MAP
#define INCLUDED_MAP

#include &amp;lt;SFML/graphics.hpp&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;fstream&amp;gt;
#include "tileset.hpp"

class Map : public sf::Drawable
{
public:
   explicit Map(const std::string &amp;amp;mapDataFile);
   ~Map();

   sf::Vector2u GetSizeInTiles() const { return _mapSizeInTiles;}
   sf::Vector2u GetSizeInPixels() const {
     return sf::Vector2u(32 * _mapSizeInTiles.x, 32 *_mapSizeInTiles.y);
   }

   virtual void draw(sf::RenderTarget &amp;amp;target
             , sf::RenderStates states = sf::RenderStates::Default) const;

private:

   void ProcessMapData(const std::string &amp;amp;mapDataFile);
   void InitMapParameters(std::ifstream &amp;amp;mapFile);


   sf::Vector2u _mapSizeInTiles;
   TileSet *_tileSet;
   std::vector&amp;lt;int&amp;gt; _mapData;
};

#endif    // INCLUDED_MAP

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis &amp;amp; visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter&lt;/pre&gt;</description>
    <dc:creator>Peter Wildemann</dc:creator>
    <dc:date>2013-04-06T00:16:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/6067">
    <title>CC Mode 5.32.3 (C++/la);Wrong indentation: function body has semantic context topmost-introinstead of defun-block-intro</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/6067</link>
    <description>&lt;pre&gt;

Emacs  : GNU Emacs 24.2.1 (x86_64-pc-linux-gnu, GTK+ Version 3.4.2)
 of 2013-01-20 on trouble, modified by Debian
Package: CC Mode 5.32.3 (C++/la)
Buffer Style: bsd
c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)

current state:
==============

After working a while in some C++ buffers, I get a wrong context for the
body function, which in turn results in wrong indentation
(obviously). This is very, very, very frustrating.

A solution is to close Emacs and open it again, but I'd rather not.

gets switched to topmost-intro, while it should be defun-block-intro.

I am not able to give the exact steps to reproduce this, except to note
that sometimes it happens when editing the function signature in a wrong
way (e.g. missing template parameters right brace), going into the
function body, indenting, going back to the signature, etc.

Regards,
Matteo

/* pi-translate - convert from source code to its π-calculus translation
 * Copyright (C) 2013  Matteo Settenvini &amp;lt;matteo&amp;lt; at &amp;gt;member.fsf.org&amp;gt;
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.
 */

static const char *disclaimer = R"(
  pi-translate - convert from source code to its π-calculus translation
  Copyright (C) 2013  Matteo Settenvini &amp;lt;matteo&amp;lt; at &amp;gt;member.fsf.org&amp;gt;
  
  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.
  
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.

)";

#include "options.hh"

#include &amp;lt;boost/program_options/options_description.hpp&amp;gt;
#include &amp;lt;boost/program_options/parsers.hpp&amp;gt;

#include &amp;lt;iostream&amp;gt;

namespace opts = boost::program_options;

std::unique_ptr&amp;lt;opts::variables_map&amp;gt;
parse_options (int argc, char **argv)
{
using namespace opts;
using std::unique_ptr;

unique_ptr&amp;lt;variables_map&amp;gt; vm (new variables_map ());
    options_description all ("Allowed options");
    options_description general ("General options");
    
    general.add_options ()
        ("help", "produce this help message");

    all.add (general);
    store (parse_command_line (argc, argv, all), *vm.get ());

    if (vm-&amp;gt;count ("help"))
    {
        std::cout &amp;lt;&amp;lt; disclaimer &amp;lt;&amp;lt; all &amp;lt;&amp;lt; std::endl;
    }

    return vm;
}




------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis &amp;amp; visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter&lt;/pre&gt;</description>
    <dc:creator>Matteo Settenvini</dc:creator>
    <dc:date>2013-04-09T11:55:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/6045">
    <title>Handling macro-ized braces</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/6045</link>
    <description>&lt;pre&gt;Hi all (does anyone have any pointers to an archive of this mailing list
that does NOT use SF's obscene mailing list archive site?)


I'm working on a codebase which uses macros to hide some loop details,
including providing the open and close braces, like this:

  #define FOR_OPEN(T,a)   { for (T...) { T *a = ...;
  #define FOR_CLOSE       }}

then in the code we have things like:

  FOR_OPEN(SomeType, var)
      statement1(var);
      statement2(var);
  FOR_CLOSE

I know this is somewhat gross, but it's widespread.

Obviously, cc-mode doesn't format this the way I want since it can't see
the braces.

Is there any capability in cc-mode to assign attributes to given
keywords, such that I could tell cc-mode that FOR_OPEN() had an
"open-brace" attribute, and FOR_CLOSE had a "close-brace" attribute?

Or something like that?

Cheers!


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar

&lt;/pre&gt;</description>
    <dc:creator>Paul Smith</dc:creator>
    <dc:date>2013-03-18T20:05:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/6037">
    <title>CC Mode 5.32.3 (C/l);C/l mode auto-indent fails after preprocessor macro</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/6037</link>
    <description>&lt;pre&gt;
To: bug-cc-mode&amp;lt; at &amp;gt;gnu.org
Subject: CC Mode 5.32.3 (C/l); C/l mode auto-indent fails after
preprocessor macro
X-Reporter-Void-Vars-Found: auto-fill-mode (setq
 c-basic-offset 2
 c-comment-only-line-offset '(0 . 0)
 c-indent-comment-alist '((anchored-comment column . 0) (end-block space .
1)
  (cpp-end-block space . 2))
 c-indent-comments-syntactically-p nil
 c-block-comment-prefix ""
 c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (awk-mode . "#+")
(other . "//+\\|\\**"))
 c-doc-comment-style '((java-mode . javadoc) (pike-mode . autodoc)
(c-mode . gtkdoc))
 c-cleanup-list '(scope-operator)
 c-hanging-braces-alist '((substatement-open before after)
(arglist-cont-nonempty))
 c-hanging-colons-alist nil
 c-hanging-semi&amp;amp;comma-criteria '(c-semi&amp;amp;comma-inside-parenlist)
 c-backslash-column 48
 c-backslash-max-column 72
 c-special-indent-hook '(c-gnu-impose-minimum)
 c-label-minimum-indentation 1
 c-offsets-alist '((inexpr-class . +)
   (inexpr-statement . +)
   (lambda-intro-cont . +)
   (inlambda . c-lineup-inexpr-block)
   (template-args-cont c-lineup-template-args +)
   (incomposition . +)
   (inmodule . +)
   (innamespace . +)
   (inextern-lang . +)
   (composition-close . 0)
   (module-close . 0)
   (namespace-close . 0)
   (extern-lang-close . 0)
   (composition-open . 0)
   (module-open . 0)
   (namespace-open . 0)
   (extern-lang-open . 0)
   (objc-method-call-cont
    c-lineup-ObjC-method-call-colons
    c-lineup-ObjC-method-call
    +
    )
   (objc-method-args-cont . c-lineup-ObjC-method-args)
   (objc-method-intro . [0])
   (friend . 0)
   (cpp-define-intro c-lineup-cpp-define +)
   (cpp-macro-cont . +)
   (cpp-macro . [0])
   (inclass . +)
   (stream-op . c-lineup-streamop)
   (arglist-cont-nonempty c-lineup-gcc-asm-reg
c-lineup-arglist)
   (arglist-cont c-lineup-gcc-asm-reg 0)
   (comment-intro c-lineup-knr-region-comment c-lineup-comment)
   (catch-clause . 0)
   (else-clause . 0)
   (do-while-closure . 0)
   (access-label . -)
   (case-label . 0)
   (substatement . +)
   (statement-case-intro . +)
   (statement . 0)
   (brace-entry-open . 0)
   (brace-list-entry . 0)
   (brace-list-intro . +)
   (brace-list-close . 0)
   (block-close . 0)
   (block-open . 0)
   (inher-cont . c-lineup-multi-inher)
   (inher-intro . +)
   (member-init-cont . c-lineup-multi-inher)
   (member-init-intro . +)
   (annotation-var-cont . +)
   (annotation-top-cont . 0)
   (topmost-intro . 0)
   (knr-argdecl . 0)
   (func-decl-cont . +)
   (inline-close . 0)
   (class-close . 0)
   (class-open . 0)
   (defun-block-intro . +)
   (defun-close . 0)
   (defun-open . 0)
   (c . c-lineup-C-comments)
   (string . c-lineup-dont-change)
   (topmost-intro-cont
    first
    c-lineup-topmost-intro-cont
    c-lineup-gnu-DEFUN-intro-cont
    )
   (brace-list-open . +)
   (inline-open . 0)
   (arglist-close . c-lineup-arglist)
   (arglist-intro . c-lineup-arglist-intro-after-paren)
   (statement-cont . +)
   (statement-case-open . +)
   (label . 0)
   (substatement-label . 0)
   (substatement-open . 0)
   (knr-argdecl-intro . 5)
   (statement-block-intro . +)
   )
 c-buffer-is-cc-mode 'c-mode
 c-tab-always-indent t
 c-syntactic-indentation t
 c-syntactic-indentation-in-macros t
 c-ignore-auto-fill '(string cpp code)
 c-auto-align-backslashes t
 c-backspace-function 'backward-delete-char-untabify
 c-delete-function 'delete-char
 c-electric-pound-behavior nil
 c-default-style '((java-mode . "java") (awk-mode . "awk") (other . "gnu"))
 c-enable-xemacs-performance-kludge-p nil
 c-old-style-variable-behavior nil
 defun-prompt-regexp nil
 tab-width 8
 comment-column 32
 parse-sexp-ignore-comments t
 parse-sexp-lookup-properties t
 auto-fill-function nil
 comment-multi-line t
 comment-start-skip "\\(//+\\|/\\*+\\)\\s *"
 fill-prefix nil
 fill-column 70
 paragraph-start "[ ]*\\(//+\\|\\**\\)[ ]*$\\|^\f"
 adaptive-fill-mode t
 adaptive-fill-regexp "[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*\\([-–!|#%;&amp;gt;*·•‣⁃◦]+
[ ]*\\)*\\)"
 )

Date: Wed, 27 Feb 2013 14:08:45 +0800
Message-ID:
&amp;lt;8738wiwaoi.fsf&amp;lt; at &amp;gt;ZANELAPTOP.i-did-not-set--mail-host-address--so-tickle-me&amp;gt;
--text follows this line--
case TYPE_LONG:
 {                           &amp;lt;------- 65383
   traceCodePath(20);
   tempLongVal = iterator_long(it);
   tempLongVal = 10;
   if (isBigEndian())
   {
     swap_endian64(&amp;amp;tempLongValCon, &amp;amp;tempLongVal);
     traceCodePath(25);      &amp;lt;------- 65601
     if (i &amp;gt; 0)
       {     &amp;lt;------ get wired from here /* ((substatement-open 65601)) */
 }           &amp;lt;------ this line aligns with the { below "case"  /*
((block-close 65383)) */
 }           &amp;lt;------ the code afterward all align with { below "case" /*
((block-close 65383)) */
c-mode indentation worked well since the beginning， until I added some
Preprocessor macro， #ifdef, #else, #end, after that, from some point in
code, all afterward indentations get messy. Every line's syntatic symbol is
right, but the anchor positions are all wrong, seems they can not recognize
the { at their same level, but anchor to some { before them at a upper
level.

What's more wired, even I remove those preprocessor macro's again,
indentation won't recover again.
What's more more wired, sometimes later, it recovered for no reason. I
don't know what operations triggered this, but most possible I think is
"save" "revert-buffer" etc.

Emacs  : GNU Emacs 24.2.1 (i386-mingw-nt6.1.7601)
 of 2012-08-29 on MARVIN
Package: CC Mode 5.32.3 (C/l)
Buffer Style: gnu
c-emacs-features: (pps-extended-state col-0-paren posix-char-classes
gen-string-delim gen-comment-delim syntax-properties 1-bit)

current state:
==============



Best Regards,
Zane Zhou(周瓒)

---------
InfoSphere Federation Server
IBM China Software Development Laboratory (CSDL)
T/L:   90-51624
Phone: (86-10)82451624
Email: zhouzan&amp;lt; at &amp;gt;cn.ibm.com------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb&lt;/pre&gt;</description>
    <dc:creator>Zan Zhou</dc:creator>
    <dc:date>2013-02-27T07:25:25</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/6036">
    <title>CC Mode 5.32.4 (Emacs-Lisp); importance of syntactic context at bol</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/6036</link>
    <description>&lt;pre&gt;
I've been successively modifying a style to match the convention used in
a project I'm working on.  Here's an example of a change I just made in
a cc-mode style:

https://github.com/ryppl/Boost2Git/commit/68691751d3de6096e0a6a30d99f2936d3397e713

I made it because I was editing the final line below, inserting the 

  ", 1" 

you see there, and because it invoked c-electric-semi, it reindented the
line differently.  That was a big surprise to me.

--8&amp;lt;---------------cut here---------------start-------------&amp;gt;8---
Repository::Repository(const Ruleset::Repository &amp;amp;rule)
    : name(QString::fromStdString(rule.name))
    , prefix(/*rule.forwardTo*/)
    , fastImport(name)
    , commitCount(0)
    , outstandingTransactions(0)
    , last_commit_mark(0)
    , next_file_mark(maxMark)
    , processHasStarted(false)
  {
  BOOST_FOREACH(std::string const&amp;amp; branch_name, rule.branches)
    {
    branches.insert(Branch("refs/heads/" + branch_name, 1));
--8&amp;lt;---------------cut here---------------end---------------&amp;gt;8---

It seems to me that either c-lineup-whitesmith-in-block really ought to
include that beginning-of-line call in it, or there needs to be some way
in cc-mode styles to express "what matters here is the syntactic context
at BOL."


Emacs  : GNU Emacs 24.2.93.1 (x86_64-apple-darwin11.4.2, Carbon Version 1.6.0 AppKit 1138.51)
 of 2013-02-09 on Takanami.local
Package: CC Mode 5.32.4 (Emacs-Lisp)
Buffer Style: nil
c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)

current state:
==============
&lt;/pre&gt;</description>
    <dc:creator>Dave Abrahams</dc:creator>
    <dc:date>2013-02-22T17:56:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/6029">
    <title>Need help for correct indentation of of slightly custom C style</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/6029</link>
    <description>&lt;pre&gt;Hi,

I often use a C indentation style that looks like this:

my_function( first_argument
            , second_argument that
              spans multiple lines
            , third argument
            );

If I use for example the BSD style, I get the following:

my_function( first_argument
              , second_argument that
                spans multiple lines
                , third argument
                  );

What could I do to modify the BSD style to support my use case?

Thanks in advance for any help.

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb

&lt;/pre&gt;</description>
    <dc:creator>Mathias Gaunard</dc:creator>
    <dc:date>2013-02-13T16:28:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/6000">
    <title>bug#13574: 24.2.92; java-mode builds wrong imenu index</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/6000</link>
    <description>&lt;pre&gt;1. Open this file:
http://code.google.com/p/guava-libraries/source/browse/guava/src/com/google/common/annotations/GwtCompatible.java

2. M-x imenu

which shows newArrayList that is not defined. In addition, the doc
comment is not properly fontified.

Leo



------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d

&lt;/pre&gt;</description>
    <dc:creator>Leo Liu</dc:creator>
    <dc:date>2013-01-28T06:20:07</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/5989">
    <title>CC Mode 5.33 (Java/lah); java-mode: `M-x imenu' hangs</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/5989</link>
    <description>&lt;pre&gt;


Emacs  : GNU Emacs 24.2.1 (i686-pc-cygwin, GTK+ Version 2.24.11)
 of 2012-08-27 on fiona
Package: CC Mode 5.33 (Java/lah)
Buffer Style: java
c-emacs-features: (pps-extended-state add-hook-local col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties category-properties 1-bit)

current state:
==============

`M-x imenu' takes a long time when being run on the following file:

public class A {
    public static void main(String[] args) {
        //a a a (abcdef abcdef abcdef abcdef abcdef abcdef abcdef abcdef abcdef abcdef
    }
}

Adding some more 'abcdef's at the end increases that time even more.

I tracked it down to the following extra space in regexp (why do we need
a space in a type spec?):

diff -r 0d641a4d3e7c cc-menus.el
--- a/cc-menus.elWed Jan 23 18:17:40 2013 +0000
+++ b/cc-menus.elFri Jan 25 19:07:23 2013 +0400
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -165,7 +165,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 (defvar cc-imenu-java-generic-expression
   `((nil
      ,(concat
-       "[" c-alpha "_][\]\[." c-alnum "_&amp;lt;&amp;gt; ]+[ \t\n\r]+" ; type spec
+       "[" c-alpha "_][\]\[." c-alnum "_&amp;lt;&amp;gt;]+[ \t\n\r]+" ; type spec
        "\\([" c-alpha "_][" c-alnum "_]*\\)" ; method name
        "[ \t\n\r]*"
        ;; An argument list that is either empty or contains any number


Appears in development version (patch was made on it) as well as in the
version included in Emacs 24.2.1 (tried with -Q).

&lt;/pre&gt;</description>
    <dc:creator>Filipp Gunbin</dc:creator>
    <dc:date>2013-01-25T15:28:44</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/5978">
    <title>bug#13541: 24.2.92; awk-mode: wrong font locking regexp literals</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/5978</link>
    <description>&lt;pre&gt;In an awk buffer having the following text:

#--BEGIN--
NF { /xyz/ }

NF {
    /xyz/
}
#--END--

I have the second regexp properly font-locked but not the first one.

(tested in GNU Emacs 24.2.92.1 of 2013-01-13)


Leo
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d&lt;/pre&gt;</description>
    <dc:creator>Leo Liu</dc:creator>
    <dc:date>2013-01-24T11:43:06</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/5973">
    <title>Problems with today's snapshot</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/5973</link>
    <description>&lt;pre&gt;I was still having problems with cc-mode taking a long time (minutes?) 
to recalculate offsets in java code.  So I got today's snapshot and 
started to use.  I almost immediately got into this problem:

c-inside-bracelist-p: Wrong type argument: number-or-marker-p, (1304 . 
1493) [3 times]

Here is a stack trace with compiled code.

   c-looking-at-inexpr-block((1304 . 1493) (1304 . 1493))
   c-inside-bracelist-p(1888 ((1697 . 1825) 1560 (1304 . 1493) (1304 . 
1493) 518))
   c-guess-basic-syntax()
   c-indent-line()
   indent-according-to-mode()
   newline-and-indent()
   call-interactively(newline-and-indent nil nil)

I am attaching the stacktrace with cc-engine uncompiled and also the 
state as reported by c-submit bug.  I have also attached the source file 
(Value.java) I was editing.  The bug takes place with newline-and-indent 
at line 79, but goes away (for a while) with revert buffer.

I think I will revert to 5.33.3 (if that is actually the current download.)

There is a also a different problem I see that I am sure is not fixed in 
today's repository.  The opening { typed at the end of a line sometimes 
inserts a new line and moves itself to the right place on that line.  
But after a revert-buffer, this behavior goes away...


  &amp;gt;(1559 (1304 . 1493))
  (progn (c-backward-syntactic-ws) (&amp;gt; (point) closest-lim))
  (and (eq res (quote maybe)) (progn (c-backward-syntactic-ws) (&amp;gt; ... closest-lim)) (not (bobp)) (progn (backward-char) (looking-at "[]).]\\|\\w\\|\\s_")) (c-safe (forward-char) (goto-char ...)))
  (while (and (eq res ...) (progn ... ...) (not ...) (progn ... ...) (c-safe ... ...)) (setq res (if ... ... ...)))
  (let ((res ...) passed-paren (closest-lim ...) (block-follows ...)) (while (and ... ... ... ... ...) (setq res ...)) (if (eq res ...) (when ... ... ...) res))
  (save-excursion (let (... passed-paren ... ...) (while ... ...) (if ... ... res)))
  c-looking-at-inexpr-block((1304 . 1493) (1304 . 1493))
  (if (c-looking-at-inexpr-block next-containing next-containing) (setq containing-sexp nil) (setq braceassignp (quote dontknow)) (c-backward-token-2 1 t lim) (when (and c-opt-inexpr-brace-list-key ...) (while ... ...)) (while (eq braceassignp ...) (cond ... ... ...) (if ... ...)) (if (not braceassignp) (if ... ... ...) (c-beginning-of-statement-1 ...) (setq bufpos ...)))
  (while (and (not bufpos) containing-sexp) (when paren-state (if ... ... ...) (when paren-state ...)) (goto-char containing-sexp) (if (c-looking-at-inexpr-block next-containing next-containing) (setq containing-sexp nil) (setq braceassignp ...) (c-backward-token-2 1 t lim) (when ... ...) (while ... ... ...) (if ... ... ... ...)))
  (let ((class-key ...) bufpos braceassignp lim next-containing) (while (and ... containing-sexp) (when paren-state ... ...) (goto-char containing-sexp) (if ... ... ... ... ... ... ...)) bufpos)
  (save-excursion (let (... bufpos braceassignp lim next-containing) (while ... ... ... ...) bufpos))
  (or (c-safe (save-excursion ... ... ...)) (save-excursion (let ... ... bufpos)))
  c-inside-bracelist-p(1888 ((1697 . 1825) 1560 (1304 . 1493) (1304 . 1493) 518))
  (or (and c-special-brace-lists (save-excursion ... ...)) (c-inside-bracelist-p containing-sexp paren-state))
  (setq special-brace-list (or (and c-special-brace-lists ...) (c-inside-bracelist-p containing-sexp paren-state)))
  (and (not (c-major-mode-is ...)) (setq special-brace-list (or ... ...)))
  (cond ((eq literal ...) (c-add-syntax ... ...)) ((and ... ...) (c-add-syntax literal ...)) ((and ... ... ...) (c-add-syntax tmpsymbol macro-start) (setq macro-start nil)) ((looking-at "else\\&amp;gt;[^_]") (c-beginning-of-statement-1 containing-sexp) (c-add-stmt-syntax ... nil t containing-sexp paren-state)) ((and ... ...) (goto-char placeholder) (c-add-stmt-syntax ... nil t containing-sexp paren-state)) ((save-excursion ...) (goto-char placeholder) (c-add-stmt-syntax ... nil t containing-sexp paren-state)) ((save-excursion ...) (if ... ... ...)) ((looking-at c-label-kwds-regexp) (if containing-sexp ... ...)) ((save-excursion ... ...) (cond ... ... ...)) ((setq placeholder ...) (setq tmpsymbol ...) (if tmpsymbol ... ...) (goto-char ...) (back-to-indentation) (c-add-stmt-syntax tmpsymbol nil t ... paren-state) (unless ... ...)) ((or containing-decl-open ...) (cond ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...)) ((not ...) (cond ... ... ... ... ... ... ...)) ((and ... ...) (goto-char indent-point) (skip-chars-forward "     ") (cond ... ... ...)) ((and ... ...) (cond ... ... ...)) ((and ... ... ... ... ...) (c-guess-continued-construct indent-point char-after-ip placeholder containing-sexp paren-state)) ((eq char-after-ip 125) (setq lim ...) (goto-char containing-sexp) (cond ... ... ... ... ... ...)) ((and c-recognize-&amp;lt;&amp;gt;-arglists ... ...) (setq placeholder ...) (goto-char containing-sexp) (if ... ... ...) (c-add-stmt-syntax ... ... t ... paren-state)) (t (goto-char indent-point) (while ...) (cond ... ... ... ... ... ... ... ...)))
  (progn (when (and ... ... ...) (setq containing-decl-open containing-sexp containing-decl-start ... containing-sexp nil) (goto-char placeholder) (setq containing-decl-kwd ...)) (if c-state-cache (progn ... ...) (setq lim ...)) (when (and containing-sexp ...) (setq c-stmt-delim-chars c-stmt-delim-chars-with-comma)) (goto-char indent-point) (c-backward-syntactic-ws lim) (setq before-ws-ip (point) char-before-ip (char-before)) (goto-char indent-point) (skip-chars-forward "     ") (setq char-after-ip (char-after)) (setq literal (c-in-literal lim)) (cond (... ...) (... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ...) (... ...) (... ...) (... ... ... ... ... ... ...) (... ...) (... ...) (... ... ... ...) (... ...) (... ...) (... ... ... ...) (... ... ... ... ...) (t ... ... ...)) (goto-char indent-point) (skip-chars-forward "     ") (when (and ... ...) (c-append-syntax ...)) (when (and c-opt-friend-key ...) (c-append-syntax ...)) (let (...) (while ... ...)) (if (and macro-start ... ...) (c-append-syntax ...) (when ... ...)) c-syntactic-context)
  (unwind-protect (progn (when ... ... ... ...) (if c-state-cache ... ...) (when ... ...) (goto-char indent-point) (c-backward-syntactic-ws lim) (setq before-ws-ip ... char-before-ip ...) (goto-char indent-point) (skip-chars-forward "     ") (setq char-after-ip ...) (setq literal ...) (cond ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (goto-char indent-point) (skip-chars-forward "     ") (when ... ...) (when ... ...) (let ... ...) (if ... ... ...) c-syntactic-context) (and (not modified) (buffer-modified-p) (set-buffer-modified-p nil)))
  (let* ((modified ...) (buffer-undo-list t) (inhibit-read-only t) (inhibit-point-motion-hooks t) before-change-functions after-change-functions deactivate-mark buffer-file-name buffer-file-truename (indent-point ...) (case-fold-search nil) literal char-before-ip before-ws-ip char-after-ip macro-start in-macro-expr c-syntactic-context placeholder c-in-literal-cache step-type tmpsymbol keyword injava-inher special-brace-list tmp-pos containing-&amp;lt; containing-decl-open containing-decl-start containing-decl-kwd containing-sexp lim (paren-state ...) syntactic-relpos (c-stmt-delim-chars c-stmt-delim-chars)) (unwind-protect (progn ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... c-syntactic-context) (and ... ... ...)))
  (c-save-buffer-state ((indent-point ...) (case-fold-search nil) literal char-before-ip before-ws-ip char-after-ip macro-start in-macro-expr c-syntactic-context placeholder c-in-literal-cache step-type tmpsymbol keyword injava-inher special-brace-list tmp-pos containing-&amp;lt; containing-decl-open containing-decl-start containing-decl-kwd containing-sexp lim (paren-state ...) syntactic-relpos (c-stmt-delim-chars c-stmt-delim-chars)) (when (and ... ... ...) (setq containing-decl-open containing-sexp containing-decl-start ... containing-sexp nil) (goto-char placeholder) (setq containing-decl-kwd ...)) (if c-state-cache (progn ... ...) (setq lim ...)) (when (and containing-sexp ...) (setq c-stmt-delim-chars c-stmt-delim-chars-with-comma)) (goto-char indent-point) (c-backward-syntactic-ws lim) (setq before-ws-ip (point) char-before-ip (char-before)) (goto-char indent-point) (skip-chars-forward "     ") (setq char-after-ip (char-after)) (setq literal (c-in-literal lim)) (cond (... ...) (... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ...) (... ...) (... ...) (... ... ... ... ... ... ...) (... ...) (... ...) (... ... ... ...) (... ...) (... ...) (... ... ... ...) (... ... ... ... ...) (t ... ... ...)) (goto-char indent-point) (skip-chars-forward "     ") (when (and ... ...) (c-append-syntax ...)) (when (and c-opt-friend-key ...) (c-append-syntax ...)) (let (...) (while ... ...)) (if (and macro-start ... ...) (c-append-syntax ...) (when ... ...)) c-syntactic-context)
  (save-excursion (beginning-of-line) (c-save-buffer-state (... ... literal char-before-ip before-ws-ip char-after-ip macro-start in-macro-expr c-syntactic-context placeholder c-in-literal-cache step-type tmpsymbol keyword injava-inher special-brace-list tmp-pos containing-&amp;lt; containing-decl-open containing-decl-start containing-decl-kwd containing-sexp lim ... syntactic-relpos ...) (when ... ... ... ...) (if c-state-cache ... ...) (when ... ...) (goto-char indent-point) (c-backward-syntactic-ws lim) (setq before-ws-ip ... char-before-ip ...) (goto-char indent-point) (skip-chars-forward "     ") (setq char-after-ip ...) (setq literal ...) (cond ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (goto-char indent-point) (skip-chars-forward "     ") (when ... ...) (when ... ...) (let ... ...) (if ... ... ...) c-syntactic-context))
  c-guess-basic-syntax()
  c-indent-line()
  indent-according-to-mode()
  newline-and-indent()
  call-interactively(newline-and-indent nil nil)
X-Reporter-Void-Vars-Found: auto-fill-mode (setq
 c-basic-offset 'set-from-style
 c-comment-only-line-offset 'set-from-style
 c-indent-comment-alist 'set-from-style
 c-indent-comments-syntactically-p 'set-from-style
 c-block-comment-prefix 'set-from-style
 c-comment-prefix-regexp 'set-from-style
 c-doc-comment-style 'set-from-style
 c-cleanup-list 'set-from-style
 c-hanging-braces-alist 'set-from-style
 c-hanging-colons-alist 'set-from-style
 c-hanging-semi&amp;amp;comma-criteria 'set-from-style
 c-backslash-column 'set-from-style
 c-backslash-max-column 'set-from-style
 c-special-indent-hook nil
 c-label-minimum-indentation 'set-from-style
 c-offsets-alist nil
 c-buffer-is-cc-mode nil
 c-tab-always-indent t
 c-syntactic-indentation t
 c-syntactic-indentation-in-macros t
 c-ignore-auto-fill '(string cpp code)
 c-auto-align-backslashes t
 c-backspace-function 'backward-delete-char-untabify
 c-delete-function 'delete-char
 c-electric-pound-behavior nil
 c-default-style "rutt-4"
 c-enable-xemacs-performance-kludge-p nil
 c-old-style-variable-behavior nil
 defun-prompt-regexp nil
 tab-width 8
 comment-column 32
 parse-sexp-ignore-comments nil
 parse-sexp-lookup-properties nil
 auto-fill-function nil
 filladapt-mode t
 comment-multi-line nil
 comment-start-skip nil
 fill-prefix nil
 fill-column 78
 paragraph-start "\f\\|[ ]*$"
 adaptive-fill-mode t
 adaptive-fill-regexp "[ ]*\\([-!|#%;&amp;gt;*·•‣⁃◦]+[ ]*\\)*"
 )
// ACS/SIMD rights
/***---**--*
 *
 *  Copyright (C) 2012 Reservoir Labs. All rights reserved.
 *
 *--**---***/

package com.reservoir.rt;

import com.reservoir.wb.instruction.WBOpcode;
import com.reservoir.wb.instruction.WBModel.*;

import java.math.BigInteger;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;

/** Represents an input and/or output from a Statement.  Some Values can be
 * implicit (e.g., inter-tile mesh latches.)
 */ 
public abstract class Value {
    public boolean isSymbolicScalar() {
        return false;
    }

    public boolean isRegArrayDirectReference() {
        return false;
    }

    public boolean isRegArrayIndirectReference() {
        return false;
    }

    public boolean isImmediate() {
        return false;
    }

    public boolean isOmmittedOutputValue() {
        return false;
    }

    public boolean isZero() {
        return false;
    }
    
    private abstract class NamedVaue extends Value {
        public NamedValue(final String name) {
            this.name = name;
            stringValueMap.put(name, this);
        }

        &amp;lt; at &amp;gt;Override public String toString() {
            return name;
        }

        final String name;
    }

    public class SymbolicScalarValue extends NamedValue {
        public SymbolicScalarValue() {
            super("Value" + valueCount++);
        }

        &amp;lt; at &amp;gt;Override public boolean isSymbolicScalar() {
            return true;
        }
    }

    public class RegArrayDirectReferenceValue extends NamedValue {
        public RegArrayDirectReferenceValue(final RegArray array,
                                            final int index)
        {
            super(array.name() + "[" + index + "]");
            this.array = array;
            this.index = index;
        }

        &amp;lt; at &amp;gt;Override public boolean isRegArrayDirectReference() {
            



        

        private final RegArray array;
        private int index;
    }

    public class RegArrayIndirectReferenceValue extends NamedValue {
        public RegArrayIndirectReferenceValue(
            final RegArray array
            final int baseIndex,
            final IndexExpression indexExpression)
        {
            super(array.name()
                  + "["
                  + baseIndex + " + "
                  + indexExpression.indexValue().name()
                  + "]");

            this.array = array;
            this.baseIndex = baseIndex;
            this.indexExpression = indexExpresson;
        }

        private final RegArray array;
        private final int baseIndex;
        private final indexExpresson indexExpression;
    }
        

    private class ImmediateValue extends NamedValue {
        public ImmediateValue(BigInteger immediateValue) {
            super(String.format("(0x%x)", immediateValue));
            this.immediateValue = immediateValue
        }

        public BigInteger immedateValue() {
            return immediateValue;
        }

        final BigInteger immediateValue;
    }

    private class ZeroValue extends Value {
        &amp;lt; at &amp;gt;Override public String toString() {
            return "(0)";
        }
    }

    private class OmittedOutputValue extends Value {
        &amp;lt; at &amp;gt;Override public String toString() {
            return "_";
        }
    }

    /** Constructor for symbolic values */
    public Value() {
        this.name = "Value" + valueCount++;
        stringValueMap.put(name, this);
    }
    
    /** Are we going to make it "liveout" ? */
    private boolean liveOut = false;

    public void setLiveOut(boolean liveOut) {
        this.liveOut = liveOut;
    }

    public boolean isLiveOut() {
        return liveOut;
    }


    /** Are we going to make it "livein"? */
    private boolean liveIn = false;

    public boolean isLiveIn() {
        return false;
    }

    public void setLiveIn(boolean liveIn) {
        this.liveIn = liveIn;
    }


    /** "The" omittedOutput Value.  Represents a wildcard output */
    final private static Value ommittedOutput = new Value();

    public static Value omittedOutput(){
        return ommittedOutput;
    }


    /** "The" zero Value */
    final private static Value zero = new Value();

 

    /** The actual value of an immediate Value */
    private BigInteger immediateValue = null;

    /** Constructor for immedate values */
    public Value(final BigInteger immediateValue) {
        this.name = null;
        this.immediateValue = immediateValue;
    }

    public boolean isImmediate() {
        return immediateValue != null || this == zero;
    }

    public BigInteger immediateValue() {
        return immediateValue;
    }

    /** Parallel lists of uses and their input indices */
    private final List&amp;lt;WBOpcode&amp;gt; useOpcodes = new ArrayList&amp;lt;WBOpcode&amp;gt;();
    private final List&amp;lt;Integer&amp;gt; useInputIndices = new ArrayList&amp;lt;Integer&amp;gt;();

    /** How many uses? */
    public int useCount() {
        return useOpcodes.size();
    }

    /** Opcode of i'th use */
    public WBOpcode useOpcode(final int i) {
        return useOpcodes.get(i);
    }

    /** Input index of i'th use */ 
    public int useInputIndex(final int i) {
        return useInputIndices.get(i);
    }

    /** Add a new use */
    public void addUse(final WBOpcode opcode, final int inputIndex) {
        useOpcodes.add(opcode);
        useInputIndices.add(inputIndex);
    }

    /**
     * Every non-immediate Value has a defining opcode.  For livein Values,
     * this definition won't be output, but it is used to filter out potential
     * uses that are not consistent with the value's location.  For example,
     * the accumulator can only be read by the multiplies and nmsel
     * instructions.  So we have a defOpcode that actually outputs to the
     * accumulator, so we can ask wheter a particular using opcode is
     * compatible
     */ 
    private WBOpcode defOpcode = null;
    private int defOutputIndex = -1;
    private WBOpcode origDefOpcode = null;
    private int origDefOutputIndex = -1;
    

    public void setDef(final WBOpcode opcode, final int index) {
        defOpcode = opcode;
        defOutputIndex = index;
    }

    public WBOpcode defOpcode() {
        return defOpcode;
    }

    public int defOutputIndex() {
        return defOutputIndex;
    }

    /** Is it linear (one read per write?) */
    public boolean isLinear() {
        final IO defIO = defOpcode.output(defOutputIndex);
        return defIO.isLinear();
    }

    &amp;lt; at &amp;gt;Override public String toString() {
        if (this == zero) {
            return "0";
        }
        else if (this == ommittedOutput) {
            return "_";
        }
        else if (immediateValue != null) {
            return String.format("0x%x", immediateValue);
        }
        else {
            return name;
        }
    }

    public static Value getValue(final String name) {
        return stringValueMap.get(name);
    }

    private final String name;
    private static int valueCount = 0;
}
------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 &lt;/pre&gt;</description>
    <dc:creator>John Ruttenberg</dc:creator>
    <dc:date>2013-01-16T19:15:41</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/5940">
    <title>c-beginning-of-defun buggy for objective-c function</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/5940</link>
    <description>&lt;pre&gt;c-beginning-of-defun(C-M-a) doesn't go to the beginning of function.

- (void) _clicked_something:(id)sender
{
  some code;
}
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct&lt;/pre&gt;</description>
    <dc:creator>eugene kim</dc:creator>
    <dc:date>2012-10-29T05:53:26</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/5939">
    <title>CC Mode 5.32.3 (C++/l); backtrace</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/5939</link>
    <description>&lt;pre&gt;
When the backtrace below was generated, point was on character 2504 of
the enclosed file.

--8&amp;lt;---------------cut here---------------start-------------&amp;gt;8---
Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p (2505 . 2522))
  c-looking-at-inexpr-block((2505 . 2522) (2505 . 2522))
  c-inside-bracelist-p(2505 ((1448 . 2324) (2505 . 2522) 2616 (1448 . 2324) (2505 . 2522) 2616 (1448 . 2324) (2505 . 2522) 2616 (1448 . 2324) (2505 . 2522)))
  c-guess-basic-syntax()
  c-indent-line()
  indent-according-to-mode()
  newline-and-indent()
  call-interactively(newline-and-indent nil nil)
--8&amp;lt;---------------cut here---------------end---------------&amp;gt;8---

// Copyright Dave Abrahams 2012. Distributed under the Boost
// Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifndef MANUAL_ERASURE_DWA2012111_HPP
# define MANUAL_ERASURE_DWA2012111_HPP

# include &amp;lt;boost/move/move.hpp&amp;gt;
# include &amp;lt;boost/container/flat_map.hpp&amp;gt;
# include &amp;lt;boost/container/vector.hpp&amp;gt;
# include &amp;lt;boost/container/string.hpp&amp;gt;
# include &amp;lt;boost/cstdint.hpp&amp;gt;
# include &amp;lt;boost/type_traits/is_floating_point.hpp&amp;gt;
# include &amp;lt;boost/type_traits/is_integral.hpp&amp;gt;
# include &amp;lt;boost/utility/enable_if.hpp&amp;gt;
# include &amp;lt;boost/foreach.hpp&amp;gt;
# include &amp;lt;vector&amp;gt;
# include &amp;lt;ostream&amp;gt;

# ifndef NDEBUG
#  include &amp;lt;iostream&amp;gt;
#  define LOG(x) std::cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; std::endl
# else
#  define LOG(x)
# endif

struct json_base
{
    virtual ~json_base() {}
    virtual json_base* clone() const = 0;
    virtual void print(std::ostream&amp;amp;) const = 0;
};

template &amp;lt;class T&amp;gt;
struct json_store : json_base
{
    json_store(T x)
       : value(boost::move(x))
    {}

    virtual json_base* clone() const
    { return new json_store(value); }
    
    virtual void print(std::ostream&amp;amp; os) const
    {
        os &amp;lt;&amp;lt; value &amp;lt;&amp;lt; std::endl;
    }
    
    T value;
};

typedef long double json_float;

# ifndef BOOST_NO_INT64_T
typedef boost::int64_t json_integer;
# else
typedef boost::int32_t json_integer;
# endif 

struct json_value;
# ifndef NDEBUG
struct json_string : boost::container::string
{
    json_string(char const* p) : boost::container::string(p) {}
    
    json_string(json_string const&amp;amp; rhs)
        : boost::container::string(rhs)
    {
        LOG("json_string copy");
    }

    json_string&amp;amp; operator=(BOOST_COPY_ASSIGN_REF(json_string) rhs) // Copy assignment
    {
        LOG("json_string copy assign");
        boost::container::string::operator=(rhs);
        return *this;
    }

    // Move constructor
    json_string(BOOST_RV_REF(json_string) rhs)            //Move constructor
        : boost::container::string(boost::move(rhs))
    {
        LOG("json_string move");
    }

    json_string&amp;amp; operator=(BOOST_RV_REF(json_string) rhs) //Move assignment
    {
        LOG("json_string move assign");
        boost::container::string::operator=(boost::move(rhs));
        return *this;
    }
 private:
    BOOST_COPYABLE_AND_MOVABLE(json_string)
};

# else 
typedef boost::container::string json_string;
# endif 
typedef boost::container::vector&amp;lt;json_value&amp;gt; json_array;

std::ostream&amp;amp; operator&amp;lt;&amp;lt;(std::ostream&amp;amp; s, json_array&amp;amp; a)
{

    return s;
}

typedef boost::container::flat_map&amp;lt;json_string, json_value&amp;gt; json_object;

struct json_value
{
    json_value() : stored_value(0) {}
    
    ~json_value() { delete stored_value; }

    template &amp;lt;class T&amp;gt;
    json_value(T x)
        : stored_value(
            make_storage(x, boost::is_integral&amp;lt;T&amp;gt;(), boost::is_floating_point&amp;lt;T&amp;gt;())
        )
    {
    }

    friend std::ostream&amp;amp; operator&amp;lt;&amp;lt;(std::ostream&amp;amp; os, json_value const&amp;amp;v)
    {
        v.stored_value-&amp;gt;print(os);
        return os;
    }
    
    json_value(json_value const&amp;amp; rhs)
      : stored_value(rhs.stored_value ? rhs.stored_value-&amp;gt;clone() : 0)
    {
        LOG("json_value copy");
    }

    json_value&amp;amp; operator=(BOOST_COPY_ASSIGN_REF(json_value) rhs) // Copy assignment
    {
        LOG("json_value copy assign");
        if (this != &amp;amp;rhs)
        {
            delete stored_value;
            stored_value = rhs.stored_value ? rhs.stored_value-&amp;gt;clone() : 0;
        }
        return *this;
    }

    // Move constructor
    json_value(BOOST_RV_REF(json_value) rhs)            //Move constructor
        : stored_value(rhs.stored_value)
    {
        LOG("json_value move");
        rhs.stored_value = 0;
    }

    json_value&amp;amp; operator=(BOOST_RV_REF(json_value) rhs) //Move assignment
    {
        LOG("json_value move assign");
        if (this != &amp;amp;rhs) {
            delete stored_value;
            stored_value = rhs.stored_value;
            rhs.stored_value = 0;
        }
        return *this;
    }
    
 private:
    template &amp;lt;class T&amp;gt;
    json_store&amp;lt;json_integer&amp;gt;* make_storage(T x, boost::true_type, boost::false_type)
    {
        return new json_store&amp;lt;json_integer&amp;gt;(x);
    }
    
    template &amp;lt;class T&amp;gt;
    json_store&amp;lt;json_float&amp;gt;* make_storage(T x, boost::false_type, boost::true_type)
    {
        return new json_store&amp;lt;json_float&amp;gt;(x);
    }
    
    template &amp;lt;class T&amp;gt;
    json_store&amp;lt;T&amp;gt;* make_storage(T&amp;amp; x, boost::false_type, boost::false_type)
    {
        return new json_store&amp;lt;T&amp;gt;(boost::move(x));
    }
    
    BOOST_COPYABLE_AND_MOVABLE(json_value)
    json_base* stored_value;
};

#endif // MANUAL_ERASURE_DWA2012111_HPP


Emacs  : GNU Emacs 24.2.1 (x86_64-apple-darwin11.4.2, Carbon Version 1.6.0 AppKit 1138.51)
 of 2012-10-26 on pluto.luannocracy.com
Package: CC Mode 5.32.3 (C++/l)
Buffer Style: bsd
c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)

current state:
==============
&lt;/pre&gt;</description>
    <dc:creator>Dave Abrahams</dc:creator>
    <dc:date>2012-11-01T16:54:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/5938">
    <title>CC Mode 5.32.3 (Java/l);Generics screw up syntax highlighting in java-mode</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/5938</link>
    <description>&lt;pre&gt;Java syntax highlighting works fine until i use generics. All methods of a
class with a generic type has it's methods highlighted as variables. Also
defining a variable whose class seems to have syntax highlighting disabled
entirely in the definition statement.

&lt;/pre&gt;</description>
    <dc:creator>dark saga</dc:creator>
    <dc:date>2012-10-31T08:20:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/5937">
    <title>cc-mode doesn't understand member init with {}</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/5937</link>
    <description>&lt;pre&gt;In a member init list, the syntax   : member(),   leaves cc-mode
expecting more member inits, which is good; but   :member{},  makes
cc-mode believe the member inits are over.

I would submit to a bug database here but I can't seem to find a
reference to one. I'm happy to help fix this if I were pointed to
where the problem is.

------------------------------------------------------------------------------
WINDOWS 8 is here. 
Millions of people.  Your app in 30 days.
Visit The Windows 8 Center at Sourceforge for all your go to resources.
http://windows8center.sourceforge.net/
join-generation-app-and-make-money-coding-fast/

&lt;/pre&gt;</description>
    <dc:creator>Chip Salzenberg</dc:creator>
    <dc:date>2012-10-27T23:46:14</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/5929">
    <title>Trouble with cc-mode indentation</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/5929</link>
    <description>&lt;pre&gt;Hey,

I've been using cc-mode for editing c++ files for a while now.  More and
more frequently, I've been encountering issues where cc-mode will
"suddenly" start to indent lines as though they were top-level even when
they're nested inside a function, or if statements.

I'm not sure whether it's really a bug, but any suggestions as to how I
should go about discovering what I'm typing that's causing this would be
greatly appreciated.

I'm using emacs 24 from the ubuntu repositories on Linux Mint Maya.

thank you,
&lt;/pre&gt;</description>
    <dc:creator>Geoff Shannon</dc:creator>
    <dc:date>2012-10-13T07:52:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.cc-mode.general/5914">
    <title>cc-mode question regarding inline functions</title>
    <link>http://comments.gmane.org/gmane.emacs.cc-mode.general/5914</link>
    <description>&lt;pre&gt;Hi

First off. Thanks a lot for all the great work you guys have done with
cc-mode. It's a great mode. I just had a question. I recently upgraded
my emacs to 24.1 which also came with a newer cc-mode. I was kinda
excited that it seemed to have learned about inline functions but
quickly came to the conclusion that I wanted separate functions for
what used to be c-(beginning|end)-of-defun and c-mark-function.
Essentially I'd like to be able to either jump to the beginning of the
class or the beginning of the function even if I am inside an inline
member function. Similarly I want to be able to mark the whole class
regardless of current position within the class. I was able to hack
something together for the latter case but it didn't feel right at all
and I have to assume that this kind of thing could break at any minor
release.

E.g.

(defun mark-non-inline-function-or-class()
  (interactive)
  (let ((cur (car (c-point-syntax)))
        (old (point))
        (classpos nil))
    (if (eq (car cur) 'inclass)
        (setq classpos (car (cdr cur)))
      (progn
        (goto-char (- (car (cdr cur)) 1))
        (setq cur (car (c-point-syntax)))
        (if (eq (car cur) 'inclass)
            (setq classpos (car (cdr cur))))))
    (if classpos
        (progn
          (goto-char (+ classpos 1))
          (mark-defun))
      (progn
        (goto-char old)
        (mark-defun))
      )
    )
  )

Is there a supported way to do this? If not, any chance there will be
one in the future?

regards

Anders

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/

&lt;/pre&gt;</description>
    <dc:creator>Anders Bakken</dc:creator>
    <dc:date>2012-09-04T07:35:01</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.emacs.cc-mode.general">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.emacs.cc-mode.general</link>
  </textinput>
</rdf:RDF>
