aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasatake YAMATO2017-10-22 18:22:41 +0900
committerNoam Postavsky2017-10-22 11:33:40 -0400
commit9c8f8de0f3e00d4f862fa5c17e3b46fcd23e5f7f (patch)
tree8bd0875ad133dcb0000ddd6ab8054b33738fe2ee
parentaa44308429e952388a2403e8dda6c1cbf6c5d802 (diff)
downloademacs-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.el14
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)