From 380bad1b4e363f3b7c23677981e19e1fa3aded1b Mon Sep 17 00:00:00 2001
From: Guido van Rossum <guido@python.org>
Date: Sat, 22 Sep 2001 17:10:44 +0000
Subject: Add note about __getattribute__.

---
 Misc/NEWS | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Misc/NEWS b/Misc/NEWS
index 47cf1f1..713eb17 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -19,6 +19,15 @@ Core
   constructor, with the same signature as the builtin open() function.
   file() is now the preferred way to open a file.
 
+- In 2.2a3, *for new-style classes only*, __getattr__ was called for
+  every attribute access.  This was confusing because it differed
+  significantly from the behavior of classic classes, where it was
+  only called for missing attributes.  Now, __getattr__ is called only
+  if regular attribute access raises AttributeError; to catch *all*
+  attribute access, *for new-style classes only*, you can use
+  __getattribute__.  If both are defined, __getattribute__ is called
+  first, and if it raises AttributeError, __getattr__ is called.
+
 - In 2.2a3, __new__ would only see sequential arguments passed to the
   type in a constructor call; __init__ would see both sequential and
   positional arguments.  This made no sense whatsoever any more, so
-- 
cgit v0.12

