comparison lisp/cedet/semantic/scope.el @ 105652:51bc239bdc37

* cedet/srecode/srt.el: * cedet/srecode/compile.el: * cedet/semantic/mru-bookmark.el: * cedet/semantic/debug.el: * cedet/semantic/complete.el: * cedet/semantic/analyze.el: Require CL when compiling. * cedet/semantic/scope.el (semantic-analyze-scoped-inherited-tag-map): Wrap calculation of tmpscope so that the regular scope will continue to work. * cedet/semantic/idle.el (semantic-idle-tag-highlight): Use semantic-idle-summary-highlight-face as the highlighting. * emacs-lisp/eieio-base.el (eieio-persistent-save): If buffer contains multibyte characters, choose first applicable coding system automatically. * cedet/ede/project-am.el (project-run-target): New method. (project-run-target): New method. * cedet/ede.el (ede-target): Add run target menu item. (ede-project, ede-minor-keymap): Add ede-run-target binding. (ede-run-target): New function. (ede-target::project-run-target): New method. * cedet/ede/proj.el (project-run-target): New method. * cedet/ede/proj-shared.el (ede-gcc-libtool-shared-compiler) (ede-g++-libtool-shared-compiler): Remove SHELL. Remove COMMANDS. Add :rules. (ede-proj-target-makefile-shared-object): Only libtool compilers now available. Add linkers for libtool. (ede-cc-linker-libtool, ede-g++-linker-libtool): New. (ede-proj-makefile-target-name): Always use .la extension. * cedet/ede/proj-prog.el (project-run-target): New method. * cedet/ede/proj-obj.el (ede-cc-linker): Rename from ede-gcc-linker. (ede-g++-linker): Change Change link lines. * cedet/ede/pmake.el (ede-pmake-insert-variable-shared): When searching for old variables, go to the end of the buffer and search backward from there. (ede-proj-makefile-automake-insert-subdirs) (ede-proj-makefile-automake-insert-extradist): New methods. (ede-proj-makefile-create): Use them. * cedet/ede/pconf.el (ede-proj-configure-test-required-file): Force FILE to expand to the current target. Use file-exists-p to check that it exists. * cedet/ede/linux.el (ede-linux-version): Don't call "head". (ede-linux-load): Wrap dir in file-name-as-directory. Set :version slot. * cedet/ede/files.el (ede-get-locator-object): When enabling locate, do so on "top". * cedet/ede/emacs.el (ede-emacs-file-existing): Wrap "dir" in file-name-as-directory during compare. (ede-emacs-version): Return Emacs/XEmacs differentiator. Get version number from different places. Don't call egrep. (ede-emacs-load): Set :version slot. Call file-name-as-directory to set the directory. * cedet/ede/shell.el: New file. * cedet/inversion.el (inversion-decoders): Allow for stray . in alpha/beta variants.
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 17 Oct 2009 04:18:31 +0000
parents 7f4c7f5c0eba
children 83dde921cc1b
comparison
equal deleted inserted replaced
105651:1bab58491dc5 105652:51bc239bdc37
600 ;; 600 ;;
601 ;; @TODO - Should we cache these mini-scopes around in Emacs 601 ;; @TODO - Should we cache these mini-scopes around in Emacs
602 ;; for recycling later? Should this become a helpful 602 ;; for recycling later? Should this become a helpful
603 ;; extra routine? 603 ;; extra routine?
604 (when (and parents (semantic-tag-with-position-p type)) 604 (when (and parents (semantic-tag-with-position-p type))
605 ;; If TYPE has a position, go there and get the scope. 605 (save-excursion
606 (semantic-go-to-tag type) 606 ;; If TYPE has a position, go there and get the scope.
607 607 (semantic-go-to-tag type)
608 ;; We need to make a mini scope, and only include the misc bits 608
609 ;; that will help in finding the parent. We don't really need 609 ;; We need to make a mini scope, and only include the misc bits
610 ;; to do any of the stuff related to variables and what-not. 610 ;; that will help in finding the parent. We don't really need
611 (setq tmpscope (semantic-scope-cache "mini")) 611 ;; to do any of the stuff related to variables and what-not.
612 (let* (;; Step 1: 612 (setq tmpscope (semantic-scope-cache "mini"))
613 (scopetypes (semantic-analyze-scoped-types (point))) 613 (let* ( ;; Step 1:
614 (parents (semantic-analyze-scope-nested-tags (point) scopetypes)) 614 (scopetypes (semantic-analyze-scoped-types (point)))
615 ;;(parentinherited (semantic-analyze-scope-lineage-tags parents scopetypes)) 615 (parents (semantic-analyze-scope-nested-tags (point) scopetypes))
616 (lscope nil) 616 ;;(parentinherited (semantic-analyze-scope-lineage-tags parents scopetypes))
617 ) 617 (lscope nil)
618 (oset tmpscope scopetypes scopetypes) 618 )
619 (oset tmpscope parents parents) 619 (oset tmpscope scopetypes scopetypes)
620 ;;(oset tmpscope parentinheritance parentinherited) 620 (oset tmpscope parents parents)
621 621 ;;(oset tmpscope parentinheritance parentinherited)
622 (when (or scopetypes parents) 622
623 (setq lscope (semantic-analyze-scoped-tags scopetypes tmpscope)) 623 (when (or scopetypes parents)
624 (oset tmpscope scope lscope)) 624 (setq lscope (semantic-analyze-scoped-tags scopetypes tmpscope))
625 (oset tmpscope fullscope (append scopetypes lscope parents)) 625 (oset tmpscope scope lscope))
626 )) 626 (oset tmpscope fullscope (append scopetypes lscope parents))
627 )))
627 ;; END creating tmpscope 628 ;; END creating tmpscope
628 629
629 ;; Look up each parent one at a time. 630 ;; Look up each parent one at a time.
630 (dolist (p parents) 631 (dolist (p parents)
631 (setq ps (cond ((stringp p) p) 632 (setq ps (cond ((stringp p) p)