diff options
| author | Masatake YAMATO | 2017-10-22 18:22:41 +0900 |
|---|---|---|
| committer | Noam Postavsky | 2017-10-22 11:33:40 -0400 |
| commit | 9c8f8de0f3e00d4f862fa5c17e3b46fcd23e5f7f (patch) | |
| tree | 8bd0875ad133dcb0000ddd6ab8054b33738fe2ee | |
| parent | aa44308429e952388a2403e8dda6c1cbf6c5d802 (diff) | |
| download | emacs-9c8f8de0f3e00d4f862fa5c17e3b46fcd23e5f7f.tar.gz emacs-9c8f8de0f3e00d4f862fa5c17e3b46fcd23e5f7f.zip | |
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.
| -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." | |||
| 568 | (set-window-start nil start) | 568 | (set-window-start nil start) |
| 569 | (goto-char pos))) | 569 | (goto-char pos))) |
| 570 | 570 | ||
| 571 | (defun cpp-locate-user-emacs-file (file) | ||
| 572 | (locate-user-emacs-file | ||
| 573 | ;; Remove initial '.' from file. | ||
| 574 | (if (eq (aref file 0) ?.) | ||
| 575 | (substring file 1) | ||
| 576 | file) | ||
| 577 | file)) | ||
| 578 | |||
| 571 | (defun cpp-edit-load () | 579 | (defun cpp-edit-load () |
| 572 | "Load cpp configuration." | 580 | "Load cpp configuration." |
| 573 | (interactive) | 581 | (interactive) |
| @@ -576,8 +584,8 @@ You can also use the keyboard accelerators indicated like this: [K]ey." | |||
| 576 | nil) | 584 | nil) |
| 577 | ((file-readable-p cpp-config-file) | 585 | ((file-readable-p cpp-config-file) |
| 578 | (load-file cpp-config-file)) | 586 | (load-file cpp-config-file)) |
| 579 | ((file-readable-p (concat "~/" cpp-config-file)) | 587 | ((file-readable-p (cpp-locate-user-emacs-file cpp-config-file)) |
| 580 | (load-file (concat "~/" cpp-config-file)))) | 588 | (load-file (cpp-locate-user-emacs-file cpp-config-file)))) |
| 581 | (if (derived-mode-p 'cpp-edit-mode) | 589 | (if (derived-mode-p 'cpp-edit-mode) |
| 582 | (cpp-edit-reset))) | 590 | (cpp-edit-reset))) |
| 583 | 591 | ||
| @@ -588,7 +596,7 @@ You can also use the keyboard accelerators indicated like this: [K]ey." | |||
| 588 | (with-current-buffer cpp-edit-buffer | 596 | (with-current-buffer cpp-edit-buffer |
| 589 | (let* ((config-file (if (file-writable-p cpp-config-file) | 597 | (let* ((config-file (if (file-writable-p cpp-config-file) |
| 590 | cpp-config-file | 598 | cpp-config-file |
| 591 | (concat "~/" cpp-config-file))) | 599 | (cpp-locate-user-emacs-file cpp-config-file))) |
| 592 | (buffer (find-file-noselect config-file))) | 600 | (buffer (find-file-noselect config-file))) |
| 593 | (set-buffer buffer) | 601 | (set-buffer buffer) |
| 594 | (erase-buffer) | 602 | (erase-buffer) |