]> git.eshelyaron.com Git - emacs.git/commitdiff
(cc-create-define-alist): Check that file
authorNick Roberts <nickrob@snap.net.nz>
Fri, 29 Apr 2005 23:47:30 +0000 (23:47 +0000)
committerNick Roberts <nickrob@snap.net.nz>
Fri, 29 Apr 2005 23:47:30 +0000 (23:47 +0000)
exists. Initialise cc-define-alist.
(c-mode): Add cc-create-define-alist locally to after-save-hook.

lisp/progmodes/cc-mode.el

index 920b253d4b73e91252c425ea396e9142e16a07fc..fd31ac54183d73191f3a2fba6fd283bafa0e9e4b 100644 (file)
@@ -649,9 +649,10 @@ Note that the style variables are always made local to the buffer."
          (with-output-to-string
            (with-current-buffer standard-output
              (call-process cc-mode-cpp-program
-                           file t nil "-dM"))))
+                           (if (file-exists-p file) file nil) t nil "-dM"))))
        (define-list (split-string output "\n" t))
        (name))
+    (setq cc-define-alist nil)
     (dolist (define define-list)
       (setq name (nth 1 (split-string define "[( ]")))
       (push (cons name define) cc-define-alist))))
@@ -686,6 +687,7 @@ Key bindings:
   (easy-menu-add c-c-menu)
   (cc-imenu-init cc-imenu-c-generic-expression)
   (cc-create-define-alist)
+  (add-hook 'after-save-hook 'cc-create-define-alist nil t)
   (run-mode-hooks 'c-mode-common-hook 'c-mode-hook)
   (c-update-modeline))