Eric Schulte <schulte.e...@gmail.com> writes:

> Use the `org-src-lang-modes' variable to associate a src code block name
> with a major mode.  This list already contains ("cpp" . c++) for C++
> code blocks, but perhaps ("C++" . c++) should be added as well.

Thanks for the pointers!

Do you find the attached patch acceptable?

–Rasmus

-- 
This space left intentionally blank
>From de9ffd3f5b3d36f149beafed7882ab78b86c5dd2 Mon Sep 17 00:00:00 2001
From: rasmus <ras...@gmx.us>
Date: Sat, 13 Jul 2013 16:30:04 +0200
Subject: [PATCH] Better C++ recognition

* ob-C.el: Added =C++= to =`org-babel-load-languages'=
automatically after loading =C=.
* org-src.el (org-src-lang-modes): Added association between
language =C++= and =`c++-mode'=.

=C++= is added to org-babel-load-languages to make
`org-babel-demarcate-block' recognize =C++= as a proper language.
---
 lisp/ob-C.el    | 2 ++
 lisp/org-src.el | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/lisp/ob-C.el b/lisp/ob-C.el
index e9eec93..b0eaf6f 100644
--- a/lisp/ob-C.el
+++ b/lisp/ob-C.el
@@ -39,6 +39,8 @@
 
 (defvar org-babel-tangle-lang-exts)
 (add-to-list 'org-babel-tangle-lang-exts '("C++" . "cpp"))
+(let ((x (member '(C . t) org-babel-load-languages)))
+  (setcdr x  (cons '(C++ . t) (subseq x 1))))
 
 (defvar org-babel-default-header-args:C '())
 
diff --git a/lisp/org-src.el b/lisp/org-src.el
index 81b8e40..0f88174 100644
--- a/lisp/org-src.el
+++ b/lisp/org-src.el
@@ -179,7 +179,7 @@ but which mess up the display of a snippet in Org exported files.")
 (defcustom org-src-lang-modes
   '(("ocaml" . tuareg) ("elisp" . emacs-lisp) ("ditaa" . artist)
     ("asymptote" . asy) ("dot" . fundamental) ("sqlite" . sql)
-    ("calc" . fundamental) ("C" . c) ("cpp" . c++)
+    ("calc" . fundamental) ("C" . c) ("cpp" . c++) ("C++" . c++)
     ("screen" . shell-script))
   "Alist mapping languages to their major mode.
 The key is the language name, the value is the string that should
-- 
1.8.3.2

Reply via email to