]> git.eshelyaron.com Git - emacs.git/commitdiff
Put cpp config file to ~/.emacs.d/cpp.el if possible (Bug#28685)
authorMasatake YAMATO <yamato@redhat.com>
Sun, 22 Oct 2017 09:22:41 +0000 (18:22 +0900)
committerNoam Postavsky <npostavs@gmail.com>
Sun, 22 Oct 2017 15:33:40 +0000 (11:33 -0400)
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.

lisp/progmodes/cpp.el

index 186312f333bc9fb44a073044a887a5938c9f4778..f49c8e934a5e6de4c6917e1dab0e742feb7475df 100644 (file)
@@ -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)