X-Git-Url: https://git.distorted.org.uk/~mdw/skel/blobdiff_plain/7fb0878b62328fd3bf80e2142a5d68b314105eb1..456350198683033c92b673deb6a99bd31862371a:/skelrc.h diff --git a/skelrc.h b/skelrc.h index f0309db..b46eb71 100644 --- a/skelrc.h +++ b/skelrc.h @@ -2,10 +2,19 @@ (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 - (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 @@ -21,6 +30,6 @@ (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))