emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/progmodes/cc-mode.el


From: Nick Roberts
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/cc-mode.el
Date: Wed, 27 Apr 2005 17:59:44 -0400

Index: emacs/lisp/progmodes/cc-mode.el
diff -c emacs/lisp/progmodes/cc-mode.el:1.33 
emacs/lisp/progmodes/cc-mode.el:1.34
*** emacs/lisp/progmodes/cc-mode.el:1.33        Fri Dec 31 14:51:05 2004
--- emacs/lisp/progmodes/cc-mode.el     Wed Apr 27 21:59:43 2005
***************
*** 639,644 ****
--- 639,659 ----
  ;;;###autoload (add-to-list 'auto-mode-alist '("\\.y\\(acc\\)?\\'" . c-mode))
  ;;;###autoload (add-to-list 'auto-mode-alist '("\\.lex\\'" . c-mode))
  
+ (defvar cc-define-alist nil "Alist of #define directives for GUD tooltips.")
+ 
+ (defun cc-create-define-alist ()
+   (let* ((file (buffer-file-name))
+        (output
+         (with-output-to-string
+           (with-current-buffer standard-output
+             (call-process "/lib/cpp"
+                           file t nil "-dM"))))
+       (define-list (split-string output "\n" t))
+       (name))
+     (dolist (define define-list)
+       (setq name (nth 1 (split-string define "[( ]")))
+       (push (cons name define) cc-define-alist))))
+ 
  ;;;###autoload
  (defun c-mode ()
    "Major mode for editing K&R and ANSI C code.
***************
*** 662,672 ****
--- 677,689 ----
        mode-name "C"
        local-abbrev-table c-mode-abbrev-table
        abbrev-mode t)
+   (make-local-variable 'cc-define-alist)
    (use-local-map c-mode-map)
    (c-init-language-vars-for 'c-mode)
    (c-common-init 'c-mode)
    (easy-menu-add c-c-menu)
    (cc-imenu-init cc-imenu-c-generic-expression)
+   (cc-create-define-alist)
    (run-mode-hooks 'c-mode-common-hook 'c-mode-hook)
    (c-update-modeline))
  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]