From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Pogonyshev Newsgroups: gmane.emacs.devel Subject: [PATCH] support a few of the new features of C++11 in syntax highlighting Date: Sat, 25 Jan 2014 15:51:01 +0300 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=20cf301d42d83e91d604f0caed3f X-Trace: ger.gmane.org 1390654726 29422 80.91.229.3 (25 Jan 2014 12:58:46 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 25 Jan 2014 12:58:46 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jan 25 13:58:54 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1W72p4-00079R-0n for ged-emacs-devel@m.gmane.org; Sat, 25 Jan 2014 13:58:54 +0100 Original-Received: from localhost ([::1]:50946 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W72p3-00043Q-OD for ged-emacs-devel@m.gmane.org; Sat, 25 Jan 2014 07:58:53 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42102) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W72hU-0002ux-5I for emacs-devel@gnu.org; Sat, 25 Jan 2014 07:51:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W72hT-000351-9M for emacs-devel@gnu.org; Sat, 25 Jan 2014 07:51:04 -0500 Original-Received: from mail-ie0-x244.google.com ([2607:f8b0:4001:c03::244]:58744) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W72hT-00034t-2R for emacs-devel@gnu.org; Sat, 25 Jan 2014 07:51:03 -0500 Original-Received: by mail-ie0-f196.google.com with SMTP id e14so1648627iej.3 for ; Sat, 25 Jan 2014 04:51:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=4puR8j4QpSJ6OYbuqd4142Xvh0oIvXO9pyckYZ5wTPA=; b=wEe4VKKs9lmfCf+03RaEAgXBTW1gSr1TRKx+7GCmeA8rX04Eek6utKO++kLSzUN4JB m8SH2KDUE0bTPZAqnznY94ZL63L96/3afkOr4kT14dFQn37YC9z/Upx75c3y+Qk4RnWj 5r9WbHdr0mp15ZADDCobtjHLgf8rO47EvmlCm4QzhdPYbBq2Rhr5Lc1kulR6V2cFt8nL /OqAakcRuPJANuv8Gb3zj6Gqh3teZgOhajZW6syDwV5DFgcHkNlxll2mjcdk8d1qy+Gm DCzVU2X0K/3mWyPP4FDwm6VQfQbTamhRgYyLWyRBF8gCgWml3ZZFczoBsai6Rym0wzMv cuuQ== X-Received: by 10.42.18.68 with SMTP id w4mr14459395ica.22.1390654261193; Sat, 25 Jan 2014 04:51:01 -0800 (PST) Original-Received: by 10.42.94.129 with HTTP; Sat, 25 Jan 2014 04:51:01 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4001:c03::244 X-Mailman-Approved-At: Sat, 25 Jan 2014 07:58:52 -0500 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:169055 Archived-At: --20cf301d42d83e91d604f0caed3f Content-Type: multipart/alternative; boundary=20cf301d42d83e91c604f0caed3d --20cf301d42d83e91c604f0caed3d Content-Type: text/plain; charset=UTF-8 This patch adds support for a few of new C++11 features. I added only the ones easy to implement (basically, just adding keywords to lists), since I'm not familiar with the way cc-mode works. Hope this patch is not controversial. I submitted required legal papers years ago, you can find a few my patches in ChangeLog. Paul 2014-01-25 Paul Pogonyshev * progmodes/cc-langs.el: Support some of the new keywords in C++11. (c-operators): Handle `alignof' and `decltype'. (c-primitive-type-kwds): Add `char16_t' and `char32_t' primitive types. (c-type-modifier-kwds): Add `constexpr' and `thread_local'. (c-constant-kwds): Add `nullptr'. --20cf301d42d83e91c604f0caed3d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
This patch adds support for a few of new C++11 featur= es. I added only the ones easy to implement (basically, just adding keyword= s to lists), since I'm not familiar with the way cc-mode works. Hope th= is patch is not controversial. I submitted required legal papers years ago,= you can find a few my patches in ChangeLog.

Paul


2014-01-25=C2=A0 Paul Pogonyshev=C2=A0 <pogonyshev@gmail.com>

=C2= =A0=C2=A0=C2=A0 * progmodes/cc-langs.el: Support some of the new keywords i= n
=C2=A0=C2=A0=C2=A0 C++11.
=C2=A0=C2=A0=C2=A0 (c-operators): Handle = `alignof' and `decltype'.
=C2=A0=C2=A0=C2=A0 (c-primitive-type-kwds): Add `char16_t' and `char32_= t' primitive
=C2=A0=C2=A0=C2=A0 types.
=C2=A0=C2=A0=C2=A0 (c-type= -modifier-kwds): Add `constexpr' and `thread_local'.
=C2=A0=C2= =A0=C2=A0 (c-constant-kwds): Add `nullptr'.

--20cf301d42d83e91c604f0caed3d-- --20cf301d42d83e91d604f0caed3f Content-Type: text/plain; charset=US-ASCII; name="c++11.diff" Content-Disposition: attachment; filename="c++11.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hquvdsen0 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL2NjLWxhbmdzLmVsIGIvbGlzcC9wcm9nbW9kZXMv Y2MtbGFuZ3MuZWwKaW5kZXggMjlkZmY0YS4uY2FkYmUyZiAxMDA2NDQKLS0tIGEvbGlzcC9wcm9n bW9kZXMvY2MtbGFuZ3MuZWwKKysrIGIvbGlzcC9wcm9nbW9kZXMvY2MtbGFuZ3MuZWwKQEAgLTk3 Myw3ICs5NzMsNyBAQCBzaW5jZSBDQyBNb2RlIHRyZWF0cyBldmVyeSBpZGVudGlmaWVyIGFzIGFu IGV4cHJlc3Npb24uIgogCiAgICAgICA7OyBVbmFyeS4KICAgICAgIChwcmVmaXggIisrIiAiLS0i ICIrIiAiLSIgIiEiICJ+IgotCSAgICAgICxAKHdoZW4gKGMtbWFqb3ItbW9kZS1pcyAnYysrLW1v ZGUpICcoIm5vdCIgImNvbXBsIikpCisJICAgICAgLEAod2hlbiAoYy1tYWpvci1tb2RlLWlzICdj KystbW9kZSkgJygibm90IiAiY29tcGwiICJhbGlnbm9mIiAiZGVjbHR5cGUiKSkKIAkgICAgICAs QCh3aGVuIChjLW1ham9yLW1vZGUtaXMgJyhjLW1vZGUgYysrLW1vZGUpKQogCQkgICcoIioiICIm IiAic2l6ZW9mIiAiPz8tIikpCiAJICAgICAgLEAod2hlbiAoYy1tYWpvci1tb2RlLWlzICdvYmpj LW1vZGUpCkBAIC0xNjA2LDcgKzE2MDYsNyBAQCB0aGUgYXBwcm9wcmlhdGUgcGxhY2UgZm9yIHRo YXQuIgogCScoIl9Cb29sIiAiX0NvbXBsZXgiICJfSW1hZ2luYXJ5IikgOyBDb25kaXRpb25hbGx5 IGRlZmluZWQgaW4gQzk5LgogCShjLWxhbmctY29uc3QgYy1wcmltaXRpdmUtdHlwZS1rd2RzKSkK ICAgYysrICAoYXBwZW5kCi0JJygiYm9vbCIgIndjaGFyX3QiKQorCScoImJvb2wiICJ3Y2hhcl90 IiAiY2hhcjE2X3QiICJjaGFyMzJfdCIpCiAJKGMtbGFuZy1jb25zdCBjLXByaW1pdGl2ZS10eXBl LWt3ZHMpKQogICA7OyBPYmplY3RpdmUtQyBleHRlbmRzIEMsIGJ1dCBwcm9iYWJseSBub3QgdGhl IG5ldyBzdHVmZiBpbiBDOTkuCiAgIG9iamMgKGFwcGVuZApAQCAtMTY3Niw3ICsxNjc2LDcgQEAg YnV0IHRoZXkgZG9uJ3QgYnVpbGQgYSB0eXBlIG9mIHRoZW1zZWx2ZXMuICBVbmxpa2UgdGhlIGtl eXdvcmRzIG9uCiBub3QgdGhlIHR5cGUgZmFjZS4iCiAgIHQgICAgbmlsCiAgIGMgICAgJygiY29u c3QiICJyZXN0cmljdCIgInZvbGF0aWxlIikKLSAgYysrICAnKCJjb25zdCIgInZvbGF0aWxlIiAi dGhyb3ciKQorICBjKysgICcoImNvbnN0IiAiY29uc3RleHByIiAidm9sYXRpbGUiICJ0aHJvdyIg InRocmVhZF9sb2NhbCIpCiAgIG9iamMgJygiY29uc3QiICJ2b2xhdGlsZSIpKQogCiAoYy1sYW5n LWRlZmNvbnN0IGMtb3B0LXR5cGUtbW9kaWZpZXIta2V5CkBAIC0yMzA4LDggKzIzMDgsMTIgQEAg VGhpcyBjb25zdHJ1Y3QgaXMgXCI8a2V5d29yZD4gPGV4cHJlc3Npb24+IDpcIi4iCiAoYy1sYW5n LWRlZmNvbnN0IGMtY29uc3RhbnQta3dkcwogICAiS2V5d29yZHMgZm9yIGNvbnN0YW50cy4iCiAg IHQgICAgICAgbmlsCi0gIChjIGMrKykgJygiTlVMTCIgOzsgTm90IGEga2V5d29yZCwgYnV0IHBy YWN0aWNhbGx5IHdvcmtzIGFzIG9uZS4KKyAgYyAgICAgICAnKCJOVUxMIiA7OyBOb3QgYSBrZXl3 b3JkLCBidXQgcHJhY3RpY2FsbHkgd29ya3MgYXMgb25lLgogCSAgICAiZmFsc2UiICJ0cnVlIikJ CTsgRGVmaW5lZCBpbiBDOTkuCisgIGMrKyAgICAgJygiTlVMTCIgOzsgTm90IGEga2V5d29yZCwg YnV0IHByYWN0aWNhbGx5IHdvcmtzIGFzIG9uZS4gS2VwdCBmb3IKKyAgICAgICAgICAgICAgICAg ICA7OyBvbGRlciBjb2RlIHRoYXQgZG9lc24ndCB1c2UgQysrMTEncyBudWxscHRyLgorCSAgICAi ZmFsc2UiICJ0cnVlIgorICAgICAgICAgICAgIm51bGxwdHIiKQogICBvYmpjICAgICcoIm5pbCIg Ik5pbCIgIllFUyIgIk5PIiAiTlNfRFVSSU5HIiAiTlNfSEFORExFUiIgIk5TX0VOREhBTkRMRVIi KQogICBpZGwgICAgICcoIlRSVUUiICJGQUxTRSIpCiAgIGphdmEgICAgJygidHJ1ZSIgImZhbHNl IiAibnVsbCIpIDsgdGVjaG5pY2FsbHkgImxpdGVyYWxzIiwgbm90IGtleXdvcmRzCg== --20cf301d42d83e91d604f0caed3f Content-Type: application/octet-stream; name=changelog-entry Content-Disposition: attachment; filename=changelog-entry Content-Transfer-Encoding: base64 X-Attachment-Id: f_hquvmrpp1 MjAxNC0wMS0yNSAgUGF1bCBQb2dvbnlzaGV2ICA8cG9nb255c2hldkBnbWFpbC5jb20+CgoJKiBw cm9nbW9kZXMvY2MtbGFuZ3MuZWw6IFN1cHBvcnQgc29tZSBvZiB0aGUgbmV3IGtleXdvcmRzIGlu CglDKysxMS4KCShjLW9wZXJhdG9ycyk6IEhhbmRsZSBgYWxpZ25vZicgYW5kIGBkZWNsdHlwZScu CgkoYy1wcmltaXRpdmUtdHlwZS1rd2RzKTogQWRkIGBjaGFyMTZfdCcgYW5kIGBjaGFyMzJfdCcg cHJpbWl0aXZlCgl0eXBlcy4KCShjLXR5cGUtbW9kaWZpZXIta3dkcyk6IEFkZCBgY29uc3RleHBy JyBhbmQgYHRocmVhZF9sb2NhbCcuCgkoYy1jb25zdGFudC1rd2RzKTogQWRkIGBudWxscHRyJy4K --20cf301d42d83e91d604f0caed3f--