~mdw
/
skel
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Handle strange characters in filenames properly.
[skel]
/
skelrc.h
diff --git
a/skelrc.h
b/skelrc.h
index
f0309db
..
b46eb71
100644
(file)
--- a/
skelrc.h
+++ b/
skelrc.h
@@
-2,10
+2,19
@@
(skel-include "skelrc.c")
(skel-include "skelrc.c")
+(defun skelrc-c-sanitize-guard (s)
+ (setq s (copy-sequence s))
+ (let ((i 0) (l (length s)))
+ (while (< i l)
+ (let ((c (aref s i)))
+ (aset s i (if (eq (char-syntax c) ?w) (upcase c) ?_)))
+ (setq i (1+ i))))
+ s)
+
(defun skelrc-c-guard-name ()
(if buffer-file-name
(defun skelrc-c-guard-name ()
(if buffer-file-name
- (
upcase (file-name-sans-extension (file-name-nondirectory
-
buffer-file-name)))
+ (
skelrc-c-sanitize-guard
+
(file-name-sans-extension (file-name-nondirectory
buffer-file-name)))
(skel-lookup 'include-guard-name)))
(setq skel-alist
(skel-lookup 'include-guard-name)))
(setq skel-alist
@@
-21,6
+30,6
@@
(struct-banner . (skelrc-banner "Data structures"))
(functions . "[[func-banner]]\n\n")
(func-banner . (skelrc-banner "Functions provided"))
(struct-banner . (skelrc-banner "Data structures"))
(functions . "[[func-banner]]\n\n")
(func-banner . (skelrc-banner "Functions provided"))
- (postamble . "\n
\n[[c++-unguard]]#endif
")
+ (postamble . "\n
[[c++-unguard]]#endif\n
")
(c++-unguard . "#ifdef __cplusplus\n }\n#endif\n\n"))
skel-alist))
(c++-unguard . "#ifdef __cplusplus\n }\n#endif\n\n"))
skel-alist))