From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chong Yidong Newsgroups: gmane.emacs.devel Subject: Re: CEDET merge Date: Tue, 02 Oct 2012 01:48:53 +0800 Message-ID: <87r4piytfe.fsf@gnu.org> References: <87fw6izq6z.fsf@gnu.org> <87obl6c7dj.fsf@engster.org> <87bogsedna.fsf_-_@engster.org> <87626vd380.fsf@engster.org> <87mx06svos.fsf@gnu.org> <87wqzab4s6.fsf@engster.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1349113918 16434 80.91.229.3 (1 Oct 2012 17:51:58 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 1 Oct 2012 17:51:58 +0000 (UTC) Cc: "Eric M. Ludlam" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Oct 01 19:52:01 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TIk7D-00067B-QB for ged-emacs-devel@m.gmane.org; Mon, 01 Oct 2012 19:49:12 +0200 Original-Received: from localhost ([::1]:47147 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TIk78-0004Sb-DI for ged-emacs-devel@m.gmane.org; Mon, 01 Oct 2012 13:49:06 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:42712) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TIk74-0004SV-O5 for emacs-devel@gnu.org; Mon, 01 Oct 2012 13:49:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TIk72-0007Iz-4J for emacs-devel@gnu.org; Mon, 01 Oct 2012 13:49:02 -0400 Original-Received: from mail-pb0-f41.google.com ([209.85.160.41]:40023) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TIk71-0007IU-Pv for emacs-devel@gnu.org; Mon, 01 Oct 2012 13:49:00 -0400 Original-Received: by pbbrq2 with SMTP id rq2so8606623pbb.0 for ; Mon, 01 Oct 2012 10:48:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=HDPbHaDm0CyS7MphB2TKnaIY4Zj9HXlNK4UCmvixU78=; b=KHo4dPNLA/PwGBjiJeLckqrVG7mNa2Dxpb3LBeq0lpJO1PAqBXO1ESwl6+gobQiB6D F0VheO4dtc2JLi5pfBn4mut6FCC2mD+BlQXOVtusGC8/oUh/LsZF9bkqJfmQBxXWVWx/ OdWNzQy+g9sdBy3nW5+w3ZyEhPZ3VwvcBxssMGEaOzx9z+engFeYoefZ2ityMWRHFRnG F8ifXs0rpFKtiGTjU++TZf2uXEFahT1TN2kg7ggc0rrTxJJmReqkcTzWo3PePconwZev l6LxlidsGZ39NMIIe6n3qdD1TnbSYZSRRoxJtL2KnErV9u0kncpb57OH1nGiqFk8CXE9 lvig== Original-Received: by 10.66.78.104 with SMTP id a8mr38237359pax.38.1349113738779; Mon, 01 Oct 2012 10:48:58 -0700 (PDT) Original-Received: from ulysses ([155.69.184.76]) by mx.google.com with ESMTPS id ty1sm10587412pbc.76.2012.10.01.10.48.55 (version=SSLv3 cipher=OTHER); Mon, 01 Oct 2012 10:48:57 -0700 (PDT) In-Reply-To: <87wqzab4s6.fsf@engster.org> (David Engster's message of "Mon, 01 Oct 2012 17:17:29 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.160.41 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:153862 Archived-At: --=-=-= Content-Type: text/plain David Engster writes: > Unfortunately, I see now that I forgot to remove some defadvices. After > applying the patch, please remove the two defadvices for hideif from > semantic/bovine/c.el. We have to see if we somehow can implement this > feature using hooks, or maybe we have to remove the semantical > hideif-feature altogether. > > Also, I merged lots of stuff from senator.el (including some defadvices) > which shouldn't land in Emacs. So for now, I would suggest to simply > revert senator.el after the patch is applied. I think Eric wanted to > remove senator.el at some point in time, but I guess we don't have a > good replacement yet...? I've done the merge, omitting senator and the defadvices as you suggested. To replace the defadvice, it is acceptable to just change the code of hif-defined and hif-lookup directly to refer to semantic-c-takeover-hideif (if it is bound); no need to use a hook. Feel free to submit a patch, or I'll get around to it when I have the time. Attached is a patch of leftovers, consisting of a few whitespace cleanups and file header fixes. Please apply to the to-emacs branch or wherever is appropriate. Thanks. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=cedet-back.patch === modified file 'lisp/cedet/cedet.el' *** lisp/cedet/cedet.el 2012-09-25 20:18:22 +0000 --- lisp/cedet/cedet.el 2012-10-01 17:26:33 +0000 *************** *** 44,51 **** (cedet ,cedet-version "common" "common" ) (eieio "1.4" nil "eieio" ) (semantic "2.1" nil "semantic/doc") ! (srecode "1.1" nil "srecode" ) ! (ede "1.1" nil "ede" ) (speedbar "1.0.4" nil "speedbar" ) (cogre "1.1" nil "cogre" ) (cedet-contrib "1.1" "contrib" nil ) --- 44,51 ---- (cedet ,cedet-version "common" "common" ) (eieio "1.4" nil "eieio" ) (semantic "2.1" nil "semantic/doc") ! (srecode "1.1" nil "srecode" ) ! (ede "1.1" nil "ede" ) (speedbar "1.0.4" nil "speedbar" ) (cogre "1.1" nil "cogre" ) (cedet-contrib "1.1" "contrib" nil ) === modified file 'lisp/cedet/ede.el' *** lisp/cedet/ede.el 2012-09-25 20:18:22 +0000 --- lisp/cedet/ede.el 2012-10-01 17:26:44 +0000 *************** *** 382,390 **** (oset (ede-current-project) configuration-default newconfig) (message "%s will now build in %s mode." (object-name (ede-current-project)) ! newconfig) ! ) ! (defun ede-customize-forms-menu (menu-def) "Create a menu of the project, and targets that can be customized. --- 382,388 ---- (oset (ede-current-project) configuration-default newconfig) (message "%s will now build in %s mode." (object-name (ede-current-project)) ! newconfig)) (defun ede-customize-forms-menu (menu-def) "Create a menu of the project, and targets that can be customized. *************** *** 879,885 **** (project-add-file target (buffer-file-name)) (setq ede-object nil) ! ;; Setup buffer local variables. (ede-initialize-state-current-buffer) --- 877,883 ---- (project-add-file target (buffer-file-name)) (setq ede-object nil) ! ;; Setup buffer local variables. (ede-initialize-state-current-buffer) *************** *** 1424,1430 **** ;; This is a heavy hammer, but will apply variables properly ;; based on stacking between the toplevel and child projects. (ede-map-buffers 'ede-apply-project-local-variables) ! value)) (defun ede-apply-project-local-variables (&optional buffer) --- 1422,1428 ---- ;; This is a heavy hammer, but will apply variables properly ;; based on stacking between the toplevel and child projects. (ede-map-buffers 'ede-apply-project-local-variables) ! value)) (defun ede-apply-project-local-variables (&optional buffer) === modified file 'lisp/cedet/ede/auto.el' *** lisp/cedet/ede/auto.el 2012-09-25 20:18:22 +0000 --- lisp/cedet/ede/auto.el 2012-10-01 17:26:36 +0000 *************** *** 35,41 **** (declare-function ede-add-project-to-global-list "ede") (defclass ede-project-autoload-dirmatch () ! ((fromconfig :initarg :fromconfig :initform nil :documentation "A config file within which the match pattern lives.") --- 35,41 ---- (declare-function ede-add-project-to-global-list "ede") (defclass ede-project-autoload-dirmatch () ! ((fromconfig :initarg :fromconfig :initform nil :documentation "A config file within which the match pattern lives.") *************** *** 70,76 **** ;; Error for wierd stuff (t (error "Unknown dirmatch type."))))) ! (defmethod ede-do-dirmatch ((dirmatch ede-project-autoload-dirmatch) file) "Does DIRMATCH match the filename FILE." --- 70,76 ---- ;; Error for wierd stuff (t (error "Unknown dirmatch type."))))) ! (defmethod ede-do-dirmatch ((dirmatch ede-project-autoload-dirmatch) file) "Does DIRMATCH match the filename FILE." *************** *** 274,280 **** (not (ede-dirmatch-installed dirmatch))) (setq callfcn nil) ;; Other types of dirmatch: ! (when (and ;; If the Emacs Lisp file handling this project hasn't ;; been loaded, we will use the quick dirmatch feature. (not (featurep (oref this file))) --- 274,280 ---- (not (ede-dirmatch-installed dirmatch))) (setq callfcn nil) ;; Other types of dirmatch: ! (when (and ;; If the Emacs Lisp file handling this project hasn't ;; been loaded, we will use the quick dirmatch feature. (not (featurep (oref this file))) *************** *** 292,298 **** (when callfcn (condition-case nil (funcall rootfcn file) ! (error (funcall rootfcn)))) )))) --- 292,298 ---- (when callfcn (condition-case nil (funcall rootfcn file) ! (error (funcall rootfcn)))) )))) === modified file 'lisp/cedet/ede/linux.el' *** lisp/cedet/ede/linux.el 2012-09-25 20:18:22 +0000 --- lisp/cedet/ede/linux.el 2012-10-01 17:26:43 +0000 *************** *** 302,305 **** ;; generated-autoload-load-name: "ede/linux" ;; End: ! ;;; ede-linux.el ends here --- 302,305 ---- ;; generated-autoload-load-name: "ede/linux" ;; End: ! ;;; ede/linux.el ends here === modified file 'lisp/cedet/ede/proj-elisp.el' *** lisp/cedet/ede/proj-elisp.el 2012-09-25 20:18:22 +0000 --- lisp/cedet/ede/proj-elisp.el 2012-10-01 17:26:38 +0000 *************** *** 36,43 **** (keybindings :initform nil) (phony :initform t) (sourcetype :initform '(ede-source-emacs)) ! (availablecompilers :initform '(ede-emacs-compiler ! ede-xemacs-compiler)) (aux-packages :initarg :aux-packages :initform nil :type list --- 36,42 ---- (keybindings :initform nil) (phony :initform t) (sourcetype :initform '(ede-source-emacs)) ! (availablecompilers :initform '(ede-emacs-compiler ede-xemacs-compiler)) (aux-packages :initarg :aux-packages :initform nil :type list === modified file 'lisp/cedet/semantic/bovine/c.el' *** lisp/cedet/semantic/bovine/c.el 2012-09-30 08:28:41 +0000 --- lisp/cedet/semantic/bovine/c.el 2012-10-01 17:26:48 +0000 *************** *** 459,479 **** (defvar semantic-c-takeover-hideif nil "Non-nil when Semantic is taking over hideif features.") ! (defadvice hif-defined (around semantic-c activate) ! "Is the variable defined?" ! (if semantic-c-takeover-hideif ! (setq ad-return-value ! (semantic-c-hideif-defined (ad-get-arg 0))) ! ad-do-it)) ! (defadvice hif-lookup (around semantic-c activate) ! "Is the argument defined? Return true or false." ! (let ((ans nil)) ! (when semantic-c-takeover-hideif ! (setq ans (semantic-c-hideif-lookup (ad-get-arg 0)))) ! (if (null ans) ! ad-do-it ! (setq ad-return-value ans)))) ;;; #if macros ;; --- 459,479 ---- (defvar semantic-c-takeover-hideif nil "Non-nil when Semantic is taking over hideif features.") ! ;; (defadvice hif-defined (around semantic-c activate) ! ;; "Is the variable defined?" ! ;; (if semantic-c-takeover-hideif ! ;; (setq ad-return-value ! ;; (semantic-c-hideif-defined (ad-get-arg 0))) ! ;; ad-do-it)) ! ;; (defadvice hif-lookup (around semantic-c activate) ! ;; "Is the argument defined? Return true or false." ! ;; (let ((ans nil)) ! ;; (when semantic-c-takeover-hideif ! ;; (setq ans (semantic-c-hideif-lookup (ad-get-arg 0)))) ! ;; (if (null ans) ! ;; ad-do-it ! ;; (setq ad-return-value ans)))) ;;; #if macros ;; === modified file 'lisp/cedet/semantic/bovine/make-by.el' *** lisp/cedet/semantic/bovine/make-by.el 2012-09-30 10:36:41 +0000 --- lisp/cedet/semantic/bovine/make-by.el 2012-10-01 17:26:47 +0000 *************** *** 1,6 **** ;;; semantic/bovine/make-by.el --- Generated parser support file ! ;; Copyright (C) 1999-2012 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. --- 1,6 ---- ;;; semantic/bovine/make-by.el --- Generated parser support file ! ;; Copyright (C) 1999-2004, 2008-2012 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. === modified file 'lisp/cedet/semantic/bovine/scm-by.el' *** lisp/cedet/semantic/bovine/scm-by.el 2012-09-30 10:36:41 +0000 --- lisp/cedet/semantic/bovine/scm-by.el 2012-10-01 17:26:46 +0000 *************** *** 1,6 **** ;;; semantic/bovine/scm-by.el --- Generated parser support file ! ;; Copyright (C) 2001-2012 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. --- 1,6 ---- ;;; semantic/bovine/scm-by.el --- Generated parser support file ! ;; Copyright (C) 2001, 2003, 2009-2012 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. === modified file 'lisp/cedet/semantic/grammar-wy.el' *** lisp/cedet/semantic/grammar-wy.el 2012-09-30 10:36:41 +0000 --- lisp/cedet/semantic/grammar-wy.el 2012-10-01 17:27:09 +0000 *************** *** 1,6 **** ;;; semantic/grammar-wy.el --- Generated parser support file ! ;; Copyright (C) 2002-2012 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. --- 1,6 ---- ;;; semantic/grammar-wy.el --- Generated parser support file ! ;; Copyright (C) 2002-2004, 2009-2012 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. === modified file 'lisp/cedet/semantic/tag-ls.el' *** lisp/cedet/semantic/tag-ls.el 2012-09-25 20:18:22 +0000 --- lisp/cedet/semantic/tag-ls.el 2012-10-01 17:26:49 +0000 *************** *** 114,120 **** taglist1 (cdr taglist1) taglist2 (cdr taglist2))) ans)) ! ;; The attributes are not the same? ((not (equal value1 value2)) nil) --- 114,120 ---- taglist1 (cdr taglist1) taglist2 (cdr taglist2))) ans)) ! ;; The attributes are not the same? ((not (equal value1 value2)) nil) === modified file 'lisp/cedet/semantic/wisent/javat-wy.el' *** lisp/cedet/semantic/wisent/javat-wy.el 2012-09-30 10:36:41 +0000 --- lisp/cedet/semantic/wisent/javat-wy.el 2012-10-01 17:27:11 +0000 *************** *** 1,6 **** ;;; semantic/wisent/javat-wy.el --- Generated parser support file ! ;; Copyright (C) 2002-2012 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. --- 1,6 ---- ;;; semantic/wisent/javat-wy.el --- Generated parser support file ! ;; Copyright (C) 2002, 2007, 2009-2012 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. === modified file 'lisp/cedet/semantic/wisent/js-wy.el' *** lisp/cedet/semantic/wisent/js-wy.el 2012-09-30 10:36:41 +0000 --- lisp/cedet/semantic/wisent/js-wy.el 2012-10-01 17:27:09 +0000 *************** *** 1,6 **** ;;; semantic/wisent/js-wy.el --- Generated parser support file ! ;; Copyright (C) 2005-2012 Free Software Foundation, Inc. ;; Copyright (C) 1998-2011 Ecma International. ;; This file is part of GNU Emacs. --- 1,6 ---- ;;; semantic/wisent/js-wy.el --- Generated parser support file ! ;; Copyright (C) 2005, 2009-2012 Free Software Foundation, Inc. ;; Copyright (C) 1998-2011 Ecma International. ;; This file is part of GNU Emacs. === modified file 'lisp/cedet/semantic/wisent/python.el' *** lisp/cedet/semantic/wisent/python.el 2012-09-25 20:18:22 +0000 --- lisp/cedet/semantic/wisent/python.el 2012-10-01 17:27:10 +0000 *************** *** 393,399 **** (cons "static" (semantic-tag-get-attribute tag :typemodifiers)))) ! ;; TODO ;; + check for decorators classmethod ;; + check for operators tag) --- 393,399 ---- (cons "static" (semantic-tag-get-attribute tag :typemodifiers)))) ! ;; TODO ;; + check for decorators classmethod ;; + check for operators tag) *************** *** 445,451 **** (setq expand (cons (semantic-tag-clone tag E) expand))) (setq expand (nreverse expand))) ))) ! ;;; Overridden Semantic API. --- 445,451 ---- (setq expand (cons (semantic-tag-clone tag E) expand))) (setq expand (nreverse expand))) ))) ! ;;; Overridden Semantic API. === modified file 'lisp/cedet/srecode/srt-wy.el' *** lisp/cedet/srecode/srt-wy.el 2012-09-30 13:27:07 +0000 --- lisp/cedet/srecode/srt-wy.el 2012-10-01 17:27:16 +0000 *************** *** 1,6 **** ;;; srecode/srt-wy.el --- Generated parser support file ! ;; Copyright (C) 2005-2012 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. --- 1,6 ---- ;;; srecode/srt-wy.el --- Generated parser support file ! ;; Copyright (C) 2005, 2007-2012 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. === modified file 'lisp/emacs-lisp/eieio-base.el' *** lisp/emacs-lisp/eieio-base.el 2012-09-30 08:28:41 +0000 --- lisp/emacs-lisp/eieio-base.el 2012-10-01 17:26:01 +0000 *************** *** 230,238 **** for CLASS. Optional ALLOW-SUBCLASS says that it is ok for `eieio-peristent-read' to load in subclasses of class instead of being pendantic." ! (when (not class) ! (message "Unsafe call to `eieio-persistent-read'.") ! ) (when (and class (not (class-p class))) (signal 'wrong-type-argument (list 'class-p class))) (let ((ret nil) --- 230,237 ---- for CLASS. Optional ALLOW-SUBCLASS says that it is ok for `eieio-peristent-read' to load in subclasses of class instead of being pendantic." ! (unless class ! (message "Unsafe call to `eieio-persistent-read'.")) (when (and class (not (class-p class))) (signal 'wrong-type-argument (list 'class-p class))) (let ((ret nil) *************** *** 272,287 **** (let ((objclass (nth 0 inputlist)) (objname (nth 1 inputlist)) (slots (nthcdr 2 inputlist)) ! (createslots nil) ! ) ! ;; If OBJCLASS is an eieio autoload object, then we need to load it. (eieio-class-un-autoload objclass) (while slots (let ((name (car slots)) ! (value (car (cdr slots))) ! ) ;; Make sure that the value proposed for SLOT is valid. ;; In addition, strip out quotes, list functions, and update --- 271,284 ---- (let ((objclass (nth 0 inputlist)) (objname (nth 1 inputlist)) (slots (nthcdr 2 inputlist)) ! (createslots nil)) ! ;; If OBJCLASS is an eieio autoload object, then we need to load it. (eieio-class-un-autoload objclass) (while slots (let ((name (car slots)) ! (value (car (cdr slots)))) ;; Make sure that the value proposed for SLOT is valid. ;; In addition, strip out quotes, list functions, and update *************** *** 366,372 **** (nreverse objlist))) (t proposed-value)))) ! ((stringp proposed-value) ;; Else, check for strings, remove properties. (substring-no-properties proposed-value)) --- 363,369 ---- (nreverse objlist))) (t proposed-value)))) ! ((stringp proposed-value) ;; Else, check for strings, remove properties. (substring-no-properties proposed-value)) === modified file 'lisp/emacs-lisp/eieio.el' *** lisp/emacs-lisp/eieio.el 2012-09-25 20:18:22 +0000 --- lisp/emacs-lisp/eieio.el 2012-10-01 17:26:03 +0000 *************** *** 792,798 **** (when (string-match "\\.elc$" fname) (setq fname (substring fname 0 (1- (length fname))))) (put cname 'class-location fname))) ! ;; We have a list of custom groups. Store them into the options. (let ((g (class-option-assoc options :custom-groups))) (mapc (lambda (cg) (add-to-list 'g cg)) groups) --- 792,798 ---- (when (string-match "\\.elc$" fname) (setq fname (substring fname 0 (1- (length fname))))) (put cname 'class-location fname))) ! ;; We have a list of custom groups. Store them into the options. (let ((g (class-option-assoc options :custom-groups))) (mapc (lambda (cg) (add-to-list 'g cg)) groups) *************** *** 1270,1278 **** `(apply ,(list 'quote impl) local-args) `(apply #',impl local-args)) ;(,impl local-args) ! )))) ! ) ! )) (defsubst eieio-defgeneric-reset-generic-form-primary-only-one (method) "Setup METHOD to call the generic form." --- 1270,1276 ---- `(apply ,(list 'quote impl) local-args) `(apply #',impl local-args)) ;(,impl local-args) ! ))))))) (defsubst eieio-defgeneric-reset-generic-form-primary-only-one (method) "Setup METHOD to call the generic form." --=-=-=--