diff options
| author | Rüdiger Sonderfeld | 2014-12-04 07:08:18 +0100 |
|---|---|---|
| committer | Rüdiger Sonderfeld | 2014-12-04 07:10:28 +0100 |
| commit | a0363ffa9931cf751a92577ab1b0a7acbae4c4e7 (patch) | |
| tree | efec217c240966d95f63a8ff6c1b41ba61e292f7 | |
| parent | de909179393f2052eeb5dd0738bcdc582e654b14 (diff) | |
| download | emacs-a0363ffa9931cf751a92577ab1b0a7acbae4c4e7.tar.gz emacs-a0363ffa9931cf751a92577ab1b0a7acbae4c4e7.zip | |
lisp/autoinsert.el: Change default of auto-insert-alist.
* lisp/autoinsert.el (auto-insert-alist): Update C/C++ header and
program support to match more extensions. Replace non-alnum
characters when generating include guards (headers) and check for more
extensions when generating includes (programs)
(bug#19254).
| -rw-r--r-- | lisp/ChangeLog | 9 | ||||
| -rw-r--r-- | lisp/autoinsert.el | 24 |
2 files changed, 22 insertions, 11 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2ff0a2d8d16..819e0d0a1b2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2014-12-04 Rupert Swarbrick <ruperts@broadcom.com> (tiny change) | ||
| 2 | Rüdiger Sonderfeld <ruediger@c-plusplus.net> | ||
| 3 | |||
| 4 | * autoinsert.el (auto-insert-alist): Update C/C++ header and | ||
| 5 | program support to match more extensions. Replace non-alnum | ||
| 6 | characters when generating include guards (headers) and check for | ||
| 7 | more extensions when generating includes (programs) | ||
| 8 | (bug#19254). | ||
| 9 | |||
| 1 | 2014-12-03 Eric S. Raymond <esr@snark.thyrsus.com> | 10 | 2014-12-03 Eric S. Raymond <esr@snark.thyrsus.com> |
| 2 | 11 | ||
| 3 | * files.el (file-tree-walk): Fix docstring. | 12 | * files.el (file-tree-walk): Fix docstring. |
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el index 5eb51707883..a6104cc597a 100644 --- a/lisp/autoinsert.el +++ b/lisp/autoinsert.el | |||
| @@ -91,23 +91,24 @@ If this contains a %s, that will be replaced by the matching rule." | |||
| 91 | 91 | ||
| 92 | 92 | ||
| 93 | (defcustom auto-insert-alist | 93 | (defcustom auto-insert-alist |
| 94 | '((("\\.\\([Hh]\\|hh\\|hpp\\)\\'" . "C / C++ header") | 94 | '((("\\.\\([Hh]\\|hh\\|hpp\\|hxx\\|h\\+\\+\\)\\'" . "C / C++ header") |
| 95 | (upcase (concat (file-name-nondirectory | 95 | (replace-regexp-in-string |
| 96 | (file-name-sans-extension buffer-file-name)) | 96 | "[^A-Z0-9]" "_" |
| 97 | "_" | 97 | (replace-regexp-in-string |
| 98 | (file-name-extension buffer-file-name))) | 98 | "\\+" "P" |
| 99 | (upcase (file-name-nondirectory buffer-file-name)))) | ||
| 99 | "#ifndef " str \n | 100 | "#ifndef " str \n |
| 100 | "#define " str "\n\n" | 101 | "#define " str "\n\n" |
| 101 | _ "\n\n#endif") | 102 | _ "\n\n#endif") |
| 102 | 103 | ||
| 103 | (("\\.\\([Cc]\\|cc\\|cpp\\)\\'" . "C / C++ program") | 104 | (("\\.\\([Cc]\\|cc\\|cpp\\|cxx\\|c\\+\\+\\)\\'" . "C / C++ program") |
| 104 | nil | 105 | nil |
| 105 | "#include \"" | 106 | "#include \"" |
| 106 | (let ((stem (file-name-sans-extension buffer-file-name))) | 107 | (let ((stem (file-name-sans-extension buffer-file-name)) |
| 107 | (cond ((file-exists-p (concat stem ".h")) | 108 | ret) |
| 108 | (file-name-nondirectory (concat stem ".h"))) | 109 | (dolist (ext '("H" "h" "hh" "hpp" "hxx" "h++") ret) |
| 109 | ((file-exists-p (concat stem ".hh")) | 110 | (when (file-exists-p (concat stem "." ext)) |
| 110 | (file-name-nondirectory (concat stem ".hh"))))) | 111 | (setq ret (file-name-nondirectory (concat stem "." ext)))))) |
| 111 | & ?\" | -10) | 112 | & ?\" | -10) |
| 112 | 113 | ||
| 113 | (("[Mm]akefile\\'" . "Makefile") . "makefile.inc") | 114 | (("[Mm]akefile\\'" . "Makefile") . "makefile.inc") |
| @@ -305,6 +306,7 @@ file-name or one relative to `auto-insert-directory' or a function to call. | |||
| 305 | ACTION may also be a vector containing several successive single actions as | 306 | ACTION may also be a vector containing several successive single actions as |
| 306 | described above, e.g. [\"header.insert\" date-and-author-update]." | 307 | described above, e.g. [\"header.insert\" date-and-author-update]." |
| 307 | :type 'sexp | 308 | :type 'sexp |
| 309 | :version "25.1" | ||
| 308 | :group 'auto-insert) | 310 | :group 'auto-insert) |
| 309 | 311 | ||
| 310 | 312 | ||