annotate etc/emacs.py @ 110524:bf806d096e9a

Update to CEDET 1.0's version of EIEIO. * emacs-lisp/eieio.el (eieio-specialized-key-to-generic-key): New function. (eieio-defmethod, eieio-generic-form, eieio-generic-call): Use it. (eieio-default-eval-maybe): Eval val instead of unquoting only. (class-precedence-list): If class is nil, return nil. (eieio-generic-call): If class of first input arg is nil, don't look up static methods, and do check for primary methods. (initialize-instance): See if the default needs to be evaluated during the constructor. (eieio-perform-slot-validation-for-default): Don't do the check for values that will eventually be evaluated. (eieio-eval-default-p): New function. (eieio-default-eval-maybe): Use it. * emacs-lisp/eieio.el (eieio-defclass): Allow :c3 method-invocation-order. (eieio-c3-candidate, eieio-c3-merge-lists): New functions. (eieio-class-precedence-dfs): Compute class precedence list using dfs algorithm. (eieio-class-precedence-bfs): Compute class precedence list using bfs algorithm. (eieio-class-precedence-c3): compute class precedence list using c3 algorithm. (class-precedence-list): New function. (eieiomt-method-list, eieiomt-sym-optimize): Use it. (inconsistent-class-hierarchy): New error symbol. (call-next-method): Stow the replacement argument list for future call-next-method invocations.
author Chong Yidong <cyd@stupidchicken.com>
date Sun, 19 Sep 2010 00:23:57 -0400
parents 69c173eabff4
children bdb3fe0ba9fa ef719132ddfa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
84823
9b1c9000269c Adam Hupp <adam at hupp.org>
Glenn Morris <rgm@gnu.org>
parents: 78271
diff changeset
1 """Wrapper for version-specific implementations of python.el helper
9b1c9000269c Adam Hupp <adam at hupp.org>
Glenn Morris <rgm@gnu.org>
parents: 78271
diff changeset
2 functions """
77605
b4b0e39a8d1f Restore file pending consideration of python.el legal status.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
3
84823
9b1c9000269c Adam Hupp <adam at hupp.org>
Glenn Morris <rgm@gnu.org>
parents: 78271
diff changeset
4 import sys
77605
b4b0e39a8d1f Restore file pending consideration of python.el legal status.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
5
84823
9b1c9000269c Adam Hupp <adam at hupp.org>
Glenn Morris <rgm@gnu.org>
parents: 78271
diff changeset
6 if sys.version_info[0] == 3:
9b1c9000269c Adam Hupp <adam at hupp.org>
Glenn Morris <rgm@gnu.org>
parents: 78271
diff changeset
7 from emacs3 import *
9b1c9000269c Adam Hupp <adam at hupp.org>
Glenn Morris <rgm@gnu.org>
parents: 78271
diff changeset
8 else:
9b1c9000269c Adam Hupp <adam at hupp.org>
Glenn Morris <rgm@gnu.org>
parents: 78271
diff changeset
9 from emacs2 import *
84885
69c173eabff4 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 84823
diff changeset
10
69c173eabff4 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 84823
diff changeset
11 # arch-tag: 894b5227-638f-45fd-8567-0417d5c35900