diff options
author | Masatake YAMATO <yamato@redhat.com> | 2017-10-22 18:22:41 +0900 |
---|---|---|
committer | Noam Postavsky <npostavs@gmail.com> | 2017-10-22 11:33:40 -0400 |
commit | 9c8f8de0f3e00d4f862fa5c17e3b46fcd23e5f7f (patch) | |
tree | 8bd0875ad133dcb0000ddd6ab8054b33738fe2ee /lisp/progmodes/cpp.el | |
parent | aa44308429e952388a2403e8dda6c1cbf6c5d802 (diff) | |
download | emacs-9c8f8de0f3e00d4f862fa5c17e3b46fcd23e5f7f.tar.gz |
Put cpp config file to ~/.emacs.d/cpp.el if possible (Bug#28685)
If `cpp-config-file` starts with '.', remove the '.'
when putting the file to ~/.emacs.d.
Suggested by Noam Postavsky <npostavs@users.sourceforge.net>
* lisp/progmodes/cpp.el (cpp-locate-user-emacs-file): New
function wrapping `locate-user-emacs-file`.
(cpp-edit-load, cpp-edit-save): Use it.
Diffstat (limited to 'lisp/progmodes/cpp.el')
-rw-r--r-- | lisp/progmodes/cpp.el | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el index 186312f333b..f49c8e934a5 100644 --- a/lisp/progmodes/cpp.el +++ b/lisp/progmodes/cpp.el @@ -568,6 +568,14 @@ You can also use the keyboard accelerators indicated like this: [K]ey." (set-window-start nil start) (goto-char pos))) +(defun cpp-locate-user-emacs-file (file) + (locate-user-emacs-file + ;; Remove initial '.' from file. + (if (eq (aref file 0) ?.) + (substring file 1) + file) + file)) + (defun cpp-edit-load () "Load cpp configuration." (interactive) @@ -576,8 +584,8 @@ You can also use the keyboard accelerators indicated like this: [K]ey." nil) ((file-readable-p cpp-config-file) (load-file cpp-config-file)) - ((file-readable-p (concat "~/" cpp-config-file)) - (load-file (concat "~/" cpp-config-file)))) + ((file-readable-p (cpp-locate-user-emacs-file cpp-config-file)) + (load-file (cpp-locate-user-emacs-file cpp-config-file)))) (if (derived-mode-p 'cpp-edit-mode) (cpp-edit-reset))) @@ -588,7 +596,7 @@ You can also use the keyboard accelerators indicated like this: [K]ey." (with-current-buffer cpp-edit-buffer (let* ((config-file (if (file-writable-p cpp-config-file) cpp-config-file - (concat "~/" cpp-config-file))) + (cpp-locate-user-emacs-file cpp-config-file))) (buffer (find-file-noselect config-file))) (set-buffer buffer) (erase-buffer) |