I was able to reproduce the problem.
When I examined what was going on, I discovered this when I ran srecode-get-maps:
-- SRecode Global map --
which means that templates recently removed from cpp.srt and moved to c.srt is getting ignored due to the version of cpp.srt that comes with Emacs, giving you this unexpected duality.
My load path for srecode looks like this:
I updated this load script and checked it in so if you get a new version from bzr, this should be fixed.
On 03/26/2013 08:21 AM, Bukuli Norbert wrote:
What is the concept, shall this style of header guards work both with C
and C++ mode?
If I visit a new file, my_header.hpp (in this case c++-mode is active in
the buffer), and insert file:empty with SRecorder, then I get the following:
/** my_header.hpp ---
#define my_header_hpp 1
#endif // my_header_hpp
However if I open a new file my_header.h (c-mode), and do the same
thing, I get this:
/** my_header.hpp ---
#define MY_HEADER_H 1
#endif // MY_HEADER_H
Is this the desired behaviour? I use cedet from bzr, with emacs 24.2.1
2013/1/18 Eric M. Ludlam <email@example.comMaster HTML5, CSS3, ASP.NET <http://ASP.NET>, MVC, AJAX,
On 01/15/2013 01:41 PM, Lluís wrote:
Eric M Ludlam writes:
I agree with the typical use being all uppercase for for C
code macros, such as:
#define MYHEADER_H 1
I wonder if it is instead better to tweak the template to
upcase on a
per-usecase basis (see patch), or always for that symbol.
I'm curious what other C / C++ developers think. Is a
same-case symbol of the
I've never got to need it, but you never know; so I'd go for
your patch (note
that my patch also contains a fix on the symbol generation).
Ok, I'll check in a mix of the two then after running the unit tests.
BTW, I don't really use srecode very much, but I'm curious how
implement the following header guard pattern (which I use very
* take the file path relative to the project root
* eliminate uninformative prefix directories (e.g., "src/" or
I'd go into srecode/cpp.el and add a new dictionary entry for the :c
argument, perhaps PROJECT_FILENAME_SYMBOL, and calculate it. EDE
can tell you the file name with file-relative-name against
(ede-toplevel-project default-directory) and the current file.
* replace the directory separator with "__"
* replace symbols by "_"
Your new code snippet would do some of that.
Probably in the use of the new dictionary entry.
So, for example, "foo/bar.h" would be "FOO__BAR_H".
This concept seems useful. The attached patch adds a new argument
called :project that could be used to add a variable similar to what
you asked for.
I tried it out, and it seems to work ok.
Knockout.js, Web API and
much more. Get web development skills now with LearnDevNow -
350+ hours of step-by-step video tutorials by Microsoft MVPs and
SALE $99.99 this month only -- learn more at:
Cedet-devel mailing list