summaryrefslogtreecommitdiff
path: root/lisp/autoinsert.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/autoinsert.el')
-rw-r--r--lisp/autoinsert.el15
1 files changed, 8 insertions, 7 deletions
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el
index ae6e9863097..5ed3db56796 100644
--- a/lisp/autoinsert.el
+++ b/lisp/autoinsert.el
@@ -103,13 +103,14 @@ If this contains a %s, that will be replaced by the matching rule."
(("\\.\\([Cc]\\|cc\\|cpp\\)\\'" . "C / C++ program")
nil
"#include \""
- ;; nop without latest cc-mode
- (and (fboundp 'c-companion-file)
- ;(file-readable-p (c-companion-file 'name))
- (file-name-nondirectory (c-companion-file 'name))) & ?\"
- | -10)
-
- ("[Mm]akefile\\'" . "makefile.inc")
+ (let ((stem (file-name-sans-extension buffer-file-name)))
+ (cond ((file-exists-p (concat stem ".h"))
+ (file-name-nondirectory (concat stem ".h")))
+ ((file-exists-p (concat stem ".hh"))
+ (file-name-nondirectory (concat stem ".hh")))))
+ & ?\" | -10)
+
+ (("[Mm]akefile\\'" . "Makefile") . "makefile.inc")
(html-mode . (lambda () (sgml-tag "html")))