Source

pyobjc / pyobjc / ChangeLog

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
2002-12-19  Bill Bumgarner  <bbum@codefab.com>
    * RELEASE 0.8
    * Modules/Cocoa/_Foundation.m (and others):  Added #ifdefs that will only
    import the files if on 10.2 or greater.   This provides the foundation for
    10.1 compatibility, but the autogenerators and other pieces need to be put
    into places.

2002-12-17  Bill Bumgarner  <bbum@codefab.com>

    * Project Templates/Cocoa-Python Application/MyAppDelegate.py: Moved to
    AutoBaseClass.  Added significant documentation.

    * Project Templates/Cocoa-Python Application/bin-python-main.m: Integrated
    all of Jack's, Ronald's and my suggestions/patches/changes (that I could
    remember).

    * Project Templates/Cocoa-Python Application/__main__.py: Brought in line
    with Web Services Tool example.  Minimized the # of lines.

    * setup.py: Added test directories.

    * MANIFEST: Completely redid.

    * Scripts/buildpkg.py (PackageMaker.build): Tried to add RootOnly install
    flag.  Won't work until we move to new style packaging format.

    * ReadMe.txt: Added brief note about installing the packaged version.

    * Scripts/make_distrib.py (fd): Numerous changes.  Final products are
    built into a directory that can be directly disk imaged.  Directory
    contains readme, license, and changelog.  Package now contains developer
    examples. More cleanup of spurious files from trees to be packaged.

    * Cleaned up Cocoa-Python template;  synchronized with WebServicesTool
      example.  Added lots of comments.

2002-12-15 Ronald Oussoren <oussoren@cistron.nl>
    * Erase reference to the Python half before doing the [super release] 
      call that will release the Objective-C half of an instance of a
      Python subclass of an Objective-C class. This way we can't accidently
      call into the, already dead, python object. 

2002-12-08  Bill Bumgarner  <bbum@codefab.com>
    * Examples/WebServicesTool: Added a lot of inline documentation to the
          python code.
    * BUGS: Removed some of the already fixed bugs.  Removed legacy
          information that is no longer relevant.  Added new bugs. Added
          information to existing bugs.
	* FIXME: Edited to bring some stuff up to date.
	* Lib/Foundation/test/test_nsautoreleasepool.py (suite): Added
	  unittest to test NSAutoreleasePool bug workaround.
	* Modules/Cocoa/NSAutoreleasePoolSupport.m: Added bogus push/pop
	  workaround for NSAutoreleasePool bug.
	* INSTALL: Rewrote a good chunk of the text.  Removed references
	  to NeXTSTEP.hange
	* Examples/HelloWorld.py: Reworked example a bit to match modern
	  usage.
	  - References classes through AppKit/Foundation, not by looking up
        	    directly. 
	  - Added an action method to Hello button so it does something
	  even when sound is turned off.
	* Modules/objc/module.m: Fixed import in module.m;  wrong case.

2002-12-01  Bill Bumgarner  <bbum@codefab.com>
	* cleaned up nsobject unittests slightly [had cruft from nsarray]
	* added NSAutoreleasePool test

2002-11-27  Bill Bumgarner  <bbum@codefab.com>
	* make_distrib.py automatically removes CVS directories and
	.DS_Store files from tree before packaging.

2002-11-25 Ronald Oussoren <oussoren@cistron.nl>
	* Examples/{TableModel, CurrencyConverter, Todo}:
	  - Use NibClassBuilder module
	  - Use bundlebuilder module
	* Lib/objc/builder.py: Remove, no longer used

2002-11-22 Ronald Oussoren <oussoren@cistron.nl>
	* Examples/TableModel2/main.m: Set PYTHONPATH in the environment of
	  the child
	* Import bundlebuilder.py and plistlib.py from MacPython
	* Remove Tools/mknibwrapper: It is no longer needed
	* Added scripts/nibclassbuilder, as suggested by Just van Rossum

2002-11-20 Ronald Oussoren <oussoren@cistron.nl>
	Translated a number of names to a more Cocoa like syntax:
	* objc.lookup_class -> objc.lookUpClass
	* objc.class_list -> objc.getClassList

2002-11-18 Ronald Oussoren <oussoren@cistron.nl>
	* Doc/classes.txt: new file documenting how classes work
	* Lib/objc: Reformatted (4-space indent) and remove superfluos 
	  whitespace

2002-11-17  Bill Bumgarner  <bbum@codefab.com>
	* Normalize whitespace
	* allow extractClasses() to be called multiple times for one nib
	  (well it was allowed, but now less double work is performed)
	* renamed NibClassBuilder to _NibClassBuilder: AutoBaseClass is
	  not the way it's done.
	* added module doc string and variaus method doc strings
	* renamed loadClassesEtc. to extractClasses(), has a signature
	  is as discussed on the list (ie. can parse nibs by name or by
	  path)
	* Changed name of NibLoader to NibClassBuilder

	[Changes from Just van Rossum -- bbum acting as proxy because
	Just's sourceforge account is broken]

2002-11-15  Bill Bumgarner  <bbum@codefab.com>
	* Fixed a minor bug in NibLoader.py when specifying NIBs without
	the .nib extension

2002-11-15 Ronald Oussoren <oussoren@cistron.nl>
	- Modules/objc: Remove sel_class_method and sel_allocator from
	  selector objects, and introduce a sel_flags.
	- Modules/objc/selector.m: Add Python visible attributes that allow
	  reflection to access more information about selectors/methods.
	- Modules/objc/selector.m: donate_ref attribute is writable, allowing
	  python code to update this flag. Should be used only in setup
	  code.
	- Also check for updated Objective-C method-tables in obj.__getattr__,
	  PyObject_GenericGetAttr directly pokes into the class __dict__
	  instead of calling objc_class.__getattr__.

2002-11-15  Bill Bumgarner  <bbum@codefab.com>
	* Changed the names of various methods from loadNib to
	loadClassesForNib to better follow the Cocoa APIs.
	* Just rewrote the NibLoader.py;  added the new version.

	* Modified NibLoader to not generate a class for FirstResponder.
	* Integrated Just van Rossum's NibLoader script into the module.

2002-11-13 Ronald Oussoren <oussoren@cistron.nl>
	* Added workaround for 1 of the problems with NSTextView

2002-11-11  Bill Bumgarner  <bbum@codefab.com>
	* Fixed spelling error in NSComboxBoxDataSource definition.

2002-11-11 Ronald Oussoren <oussoren@cistron.nl>
 	* Lib/objc/__init__.py: Don't remove current directory from sys.path

2002-11-08 Ronald Oussoren <oussoren@cistron.nl>
	* Use integer for lots of userInfo arguments in the AppKit

2002-11-08  Bill Bumgarner  <bbum@codefab.com>
	* Cleaned up the Cocoa-Python project template.

2002-11-05  Bill Bumgarner  <bbum@codefab.com>
	* added an NSNumber test

2002-11-02  Bill Bumgarner  <bbum@codefab.com>
	* Change addressbook example to be in line with updated
	convenience methods.

2002-10-31 Ronald Oussoren <oussoren@cistron.nl>
	* Use 'nibwrapper' technique in all GUI examples.
	* Actually remove old version of classnib.py and add the
	  version in the new location (as used by Tools/mknibwrapper)

2002-10-31  Bill Bumgarner  <bbum@codefab.com>
	* Fixed a typo in NSOutlineViewDataSource.
	* Fixed the classnib.py script slightly.
	* Added support for NSSet in the convenience methods.

2002-10-30  Bill Bumgarner  <bbum@codefab.com>
	* Many, many changes to the convenience methods in the objc
	module.  Wrote a bunch of tests in test_nsarray and
	test_nsdictionary.

	* Fixed a bug in the NSDraggingDestination method declarations and
	made all of the methods optional (the developer only needs to
	implement a subset of the methods and none of the methods are
	required to be a part of that subset).
	* Fixed 'in' operation on arrays to use containsObject:.  Should
	work with sets.  Will not work with NSDictionary.
	* Fixed enum parser to handle enums that don't start with a
	typedef.  Regenerated appkit and foundation enumerated types files
	to pick up missing enums.
	* Added some tests and cleaned up a bit of the existing tests in
	test_subclass.py

2002-10-30  Ronald Oussoren <oussoren@cistron.nl>
	* Fix memory corruption bug
	* Add Obj-C exception handling around calls to ObjC_FindNative,
	  this avoids an unhandled exception when during:
	  	help('Foundation')
	  I didn't add a testcase for this as the above code takes a
	  _very_ long time to execute.
	* Some minor code cleanup (mostly removal of print statements)
	* Reset '__module__' of classes in the __init__.py of AppKit and 
	  Foundation. help(AppKit) now works (and generates an lot of
	  output)
	* pythonify_c_value("@", ...) now correctly process Class objects.
	* Modules/objc/class-builder.m: Can't just call 
	  objc_msgSendSuper({ self->super_class->isa, self }, ...), that
	  won't work when we are the super-class of self...
	* lib/objc/test/test_subclass.py: Added testcases for above
	* Digits are valid characters in Objective-C classnames,
	  class-builder.m incorrectly assumed they are not.
	* Lib/objc/_convenience.py: It is now possible to add multiple
	  convenience methods when an Objective-C selector is present, use
	  this to provide better wrapping of NSDictionary
	* Lib/AppKit/classnib.py: Moved from Lib/objc/classnib.py, removed
	  custom parser and use NSDictionary instead.
	* Tools/mknibwrapper: Script using AppKit.classnib for generating
	  a module declaring base classes for classes defined in NIB files.
	* Examples/{TableModel,iClass}: Use script above


2002-10-29  Bill Bumgarner  <bbum@bumbox.local.>

	* Fixed a bug in convenience method that covered objectForKey:.
	Wrote a unit test that failed due to the bug
	(test_nsdictionary.py), then fixed _convenience.py to fix the
	problem.

2002-10-28 Ronald Oussoren <oussoren@cistron.nl>
	* Doc/wrapping.txt: New file containing basic documentation on how
	  to wrap an Objective-C class library.

2002-10-25 Ronald Oussoren <oussoren@cistron.nl>
	* Improved inline documentation

2002-10-25  Bill Bumgarner  <bbum@codefab.com>

	* Changed the objc_support.m to compile in the invocation tear
	down code.

2002-10-24  Bill Bumgarner  <bbum@codefab.com>

	* Fixed up web services tool example slightly.

	* Changed objc_selcall to not release allocator method returns.
	Not sure if this is absolutely correct, but if fixes a bunch of
	code that had been implemented in a standard pattern.

	* Added a number of NS* tests.
	* "Fixed" a crasher that would happen after the second time a
	collection class was alloc()'d.

2002-10-23  Bill Bumgarner  <bbum@codefab.com>
	* Added a test_paths test suite to Foundation.  Tests one function
	(currently causes a bus error).

2002-10-22  Bill Bumgarner  <bbum@codefab.com>
	* Split Foundation unit tests into two suites.

	* Updated objc unit tests a bit.
	* Added Foundation unit tests.
	* Moved a number of tests from objc -> Foundation.

	* Updated the MANIFEST (too bad we can't effectively use MANIFEST.in)
	* Slight correction/addition to setup.py

	* Added basic unit tests to objc.
	* Implemented __ne__ in terms of isEqual_ (not isNotEqual_).
	* Added unit test that tests that an object is equal to itself.

2002-10-21 Ronald Oussoren <oussoren@cistron.nl>
	* scripts/buildpkg.py: Import from Python 2.3 CVS, with one minor
	  bugfix
	* scripts/make_distrib.py: Create source archive and installer
	* Modules/objc/register.m: Add signature that is needed to write
	  system services in Python.

2002-10-18  Bill Bumgarner  <bbum@codefab.com>
	* Fixed the -dealloc method in OC_PythonDictionary.
	* Disabled gc in objc's __init__.py (I thought we had done this in
	the past, but it seems to have gotten lost) only for python
	2.2.x.
	* Replaced all occurrences of True and False to 1 and 0 in
	Ronald's previous changes.
	* Changed TableModel2 example to be like TableModel example

2002-10-18 Ronald Oussoren <oussoren@cistron.nl>
	* Better fix for crash while converting exception from Python to
	  Objective-C
	* Code cleanup in OC_*.[hm], ObjCPointer.m
	* Cleaner code to check if the Objective-C class has a changed 
	  method table.
	* Native selectors now have a 'defining_class' attribute, which 
	  contains a reference to the class that defined this method.
	* Added type objc.informal_protocol, which can be used to eliminate
	  most existing cases of explicit calls to 'objc.selector'
	* Adding methods like __getitem__ to Objective-C class proxies is
	  now done using python code. This should make it easier to change
	  the implementation (and: less C code ==> good)

2002-10-17  Bill Bumgarner  <bbum@codefab.com>
	* Fixed a situation where ObjCErr_ToObjC() would crash if the
	exception lacked a value or traceback.

	* propertyListFromPythonCollection() takes an optional kv argument
	that is used as a helper function when the type to be converted in
	the python collection is not recognized.   For example, the
	xmlrpclib returns a [somewhat inadequate] internal type known as a
	DateTime.  To convert this to a Foundation class requires some
	jumping through hoops that may change a bit during context.  The
	caller can provide a helper function to do the conversion.

2002-10-16  Bill Bumgarner  <bbum@codefab.com>
	* NSClassFromString() was implemented twice in the Foundation's
	__init__.py.  The second implementation was supposed to be
	NSStringFromClass(). Fixed.

	* Added propertyListFromPythonCollection() function to
	Foundation.  It converts a Python collection (string / dict /
	array / tuple / numbers) into a corresponding tree of Obj-C
	NSString / NSDictionary / NSArray / NSArray / NSNumber instances.

2002-10-15 Ronald Oussoren <oussoren@cistron.nl>
	* Exceptions are now transparently transfered to the other language.
	  Upon transitioning back into the source language the exception
	  regains its orginal 'identity'

2002-10-11  Bill Bumgarner  <bbum@codefab.com>
	* Removed various debugging/development noise from startup.

	* Regenerated various incs in Modules/Cocoa based on new scripts.

	* Updated Examples/WebServicesTool to be compatible with Apple
	supplied Python.  Created a new main() implementation that
	transfers control to '/usr/bin/python' via execve().

	* Modules/Cocoa/scripts: Modified all scripts to use 0/1 instead
	of False/True for compatibility with Python 2.2.  Modified scripts
	that generate a table of information to emit the 'static' keyword
	at the head of the declaration.  This fixes a namespace collision
	with the Apple supplied Python.
	

2002-10-10 Ronald Oussoren <oussoren@cistron.nl>
	* Modules/objc/objc-class.m: Implemented a 'class_traverse' function
	  For some reason Python 2.2.0 crashes when we inherit tp_traverse
	  from PyTypeObject AND the ObjCClass is not fully constructed.
	* MANIFEST: Updated to current situation
	* README: Apple python now seems to work

2002-10-09 Ronald Oussoren <oussoren@cistron.nl>
	* Move Cocoa.AppKit and Cocoa.Foundation packages to AppKit
	  and Foundation
	* Some backward compatibility code for Python 2.2.0. This
	  includes disabling the GC module for now: This module interacts
	  badly with us.

2002-09-28 Ronald Oussoren <oussoren@cistron.nl>
	* objc-class.m: Actually implement the selector->python cache,
	  this significantly speeds up method dispatch (iClass is now
	  pretty snappy)

2002-09-23 Ronald Oussoren <oussoren@cistron.nl>
	* Changelog: fix my e-mail address.

	* setup.py: Check for a framework install of python on MacOS X

	* setup.py: Check for Python 2.3 or later

	* OC_PythonObject.m: Remove debug printf statements

	* class-builder.m: 
	  - Use alloca instead of malloc for small buffers
	  - Use signature string from the Python wrapper of a class, instead
	    of reading it directly from the Objective-C class: The user may
	    have specified a better signature.

 	* objc-class.m:
	  - Add 'tp_compare' and 'tp_hash' special methods.
	  - Fix memory leak in ObjCClass_FindSelector

	* objc_support.m:
	  - Add support for unicode strings
	  - In depythonify_c_value: do nothing if output buffer is NULL
	  - arguments arena support is completely disabled. As a side-effect,
	    _C_PTR values inside structures/arrays are no longer translated
	    to/from python.

	* objc_util.m: Translate some Cocoa exceptions into Python 

	* selector.m:
	  - Remove debug printfs
	  - Actually add implementations for ObjCSelector_Signature
	    and ObjCSelector_Selector
	
	* super-call.m:
	  - The python wrapper for an Objective-C method might know a better
	    signature than the method itself.
	
	* Modules/Cocoa:
	  - Copied later version, including some more constants.

	* Lib/objc/__init__.py: 
	  - Re-enable __setitem__ special method for objects with
	    setObject:forKey:
	  - IBAction is now a function
	  - If we are a '.app' add the Resources directory to the python
	    search-path (and at the front), and remove the '.' that is 
	    normally at the front. 

	* Lib/objc/_FoundationSignatures.py
	  - Add better signatures for a number of methods

	* Lib/objc/builder.py: Remove invalid comment

	* Examples/iClass: New example (Cocoa class browser)
	  

2002-09-15 Ronald Oussoren <oussoren@cistron.nl>
	* Fix a number of memory leaks. There are still some leaks left.

	* Some minor cleanups

	* Documentation about reference counts.

2002-09-08 Ronald Oussoren <oussoren@cistron.nl>
	* Redid the merge, the directory structure has been reorganised to
	  better reflect the importance of the modules for Cocoa programming.

2002-08-09 Ronald Oussoren <oussoren@cistron.nl>
	* this is the start of the merge of an experimental and completely
	  seperate branch. 


2002-01-30  Steve Majewski <sdm7g@Virginia.EDU>
	
	* will now build for Python 2.2
	 (includes a #define to correct bug in Python-2.2 abstract.h)

	* Cocoa package containing Foundation and AppKit added
	  to HelloWorld.py in Examples. MANIFEST and setup.py 
	  updated. 
	
	* PyObjC_Version  changed to 0.6.1 
	 (and ObjC.m changed to make __version__ a string.)

	 * OC_PythonObject.m addes NS_HANDLER code to try to
	  catch problem code, but now it just dies with a BusErr
	  somewhere after the exception.

2002-1-22  Steve Majewski <sdm7g@Virginia.EDU>
	
	* setup.py : added -g flag to compile for debugging
	
	* ObjC.m :  -v flag now dumps message sends to /tmp file
	
	* ObjCObject.m : added ISCLASS test before isKindOfClass -
	  without check, it crashes on sends to abstract classes
	  like NSProxy. Removed previous hack that wrongly commented
	  out some [super forwardInvocation] messages.

	* Examples/HelloWorld.py : fixed spelling and inserted
	    missing line.

2001-04-05  Steve Majewski <sdm7g@Virginia.EDU>

	* ObjC.h,objc_support.m,ObjCMethod.m:  Changed conditional code 
	for Mac OSX. ObjC.h conditionally defines MACOSX and other
	modules use that #ifdef.

	* ObjC.h (PyObjC_VERSION): Version 0.6.
	
2001-03-17  Bill Bumgarner  <bbum@localhost>

	* changed name of imported module to pyobjc to be more consistent
	with other modules (that typically have an all lower case name).

	* removed all old style Makefile and configuration stuff and moved
	to using setup.py.   Setup.py proves to be much easier to handle
	in a cross platform fashion and requires fewer steps to build the moudle.

1998-08-18  Lele Gaifax  <lele@paci.nautilus>

	* objc_support.h (ISCLASS): Check against META flag, an object is
	a class when its class pointer points to a metaclass...

	* ObjC.m (initObjC): Disabled the autorelease support: have to
	wait to patch Python for that.

	* OC_PythonObject.m ([OC_PythonObject
	-forwardInvocation:invocation]): use argumentInfoAtIndex:
	* ObjCMethod.m (ObjCMethod_pack_argument): likewise.

	* Here and there: I give up: make gcc happy by using #include, not
	#import...  

	* Makefile.pre.in (static): Use $(OCC) to link the executable.

	* objc_support.h: Removed warning on GNUstep not supported...

Tue Mar 24 19:56:46 1998  Lele Gaifax  <lele@nautilus.nautilus.eclipse.it>

	* ObjC.h (PyObjC_VERSION): Version 0.54.

Sat Jan 17 00:49:29 1998  Lele Gaifax  <lele@nautilus.eclipse.it>

	* OC_PythonObject.h (@interface OC_PythonObject): Now derived from
	NSProxy.

Sat Jan 10 13:22:31 1998  Lele Gaifax  <lele@nautilus.eclipse.it>

	* INSTALL: Added shared module recipe.

Thu Jan  8 20:20:32 1998  Lele Gaifax  <lele@nautilus.eclipse.it>

	* ObjC.h: Removed ObjCStream declaration.

Sun Jan  4 17:28:55 1998  Lele Gaifax  <lele@nautilus.eclipse.it>

	* ObjC.h (PyObjC_VERSION): Version 0.53.

	* Demo/LittleButtonedWindow/LittleButtonedWindow.py (run): Import
	ObjC before AppKit, so that the '-[' option is not needed.

	* ObjC.m (initObjC): Be sure the AutoreleasePool is instantiated. 

	* ObjCObject.m (ObjCObject_call): use
	instancesRespondToSelector:. 

Mon Dec 29 15:34:57 1997  Lele Gaifax  <lele@nautilus.eclipse.it>

	* ObjC.h: Removed ObjCSequenceObject_Type and
	ObjCMappingObject_Type. 

Sun Dec 28 19:51:28 1997  Lele Gaifax  <lele@nautilus.eclipse.it>

	* ObjC.m (ObjC_load_object_files): Removed.
	(ObjC_list_classes): Removed.

	* ObjCRuntime.m (ObjCRuntime_methods): Likewise.

	* ObjCRuntime.m (ObjCRuntime_getattro): Renamed ``kind'' to
	``__kind__''. 
	(ObjCRuntime_getattro): Removed ``__dict__'', added
	``__objc_classes__''. 

	* OC_PythonObject.h: Renamed from the anonymous ``object''.

Fri Dec 26 20:55:39 1997  Lele Gaifax  <lele@nautilus.eclipse.it>

	* ObjC.h (PyObjC_VERSION): Version 0.52.

Mon Dec 22 20:07:49 1997  Lele Gaifax  <lele@nautilus.eclipse.it>

	* objc_support.m (pythonify_c_value): If the object is an
 	NSString, return a corresponding PyString.
	(depythonify_c_value): If the expected type is an ObjC object and
 	we have a PyString, convert it in a corresponding NSString.
	(execute_and_pythonify_objc_method): if the method returns void,
 	return Py_None.

	* ObjCMethod.m (ObjCMethod_new_with_selector): Trap bad
	selectors. 
	(ObjCMethod_pack_argument): Reenabled.
	(ObjCMethod_unpack_argument): Likewise.

Tue Dec 16 19:46:07 1997  Lele Gaifax  <lele@nautilus.eclipse.it>

	* ObjC.h (PyObjC_VERSION): Version 0.51. Tons of changes, dropped
	NeXTSTEP runtime support, renewed around the new OS API.

Wed Apr 16 23:53:37 1997  Lele Gaifax  <lele@nautilus.eclipse.it>

	* PyObjC.fproj/ObjC.h (PyObjC_VERSION): Version 0.48, first
	running on OpenSTEP!

Thu Apr 10 22:14:03 1997  Lele Gaifax  <lele@nautilus.eclipse.it>

	* ObjC.fproj/ObjC.h (WITH_FOUNDATION): Simplified variants
	selection. 

Wed Apr  9 19:19:30 1997  Lele Gaifax  <lele@nautilus.eclipse.it>

	* ObjC.fproj/OC_PythonObject.m ([OC_PythonObject
	-forward:aSelector:argFrame]): Removed GNU_RUNTIME support.

Mon Apr  7 18:19:52 1997  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Demo/ObjC/AlertPanel/AlertPanel.h: Include OC_PythonObject.h,
	not PythonObject.h. Thanx Andrew Robinson <andy@hps1.demon.co.uk>.

Sun Mar 23 22:49:12 1997  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/makesetup: Allow -f (for frameworks) as a library flag
	within module rules.

Tue Mar 18 19:50:05 1997  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/makesetup: Added an option -M to change the name of the
	created Makefile.  

Fri Nov 15 09:12:01 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/objc_support.m (depythonify_c_value): Don't check the
	string size for arguments of type (void *).

	* Modules/OC_Pasteboard.m (-setData:forType:): DATA must be a kind
	of OC_Stream. 

Sun Nov 10 09:27:45 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/ObjC.h, Include/OC_PythonObject.h,
	Include/OC_PythonBundle.h, Include/OC_Pasteboard.h: Untabified. 

Sat Nov  9 19:08:31 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/OC_Stream.m, Modules/OC_PythonObject.m,
	Modules/OC_PythonBundle.m, Modules/OC_Pasteboard.m,
	Modules/ObjCStreams.m, Modules/ObjCRuntime.m,
	Modules/ObjCPointer.m, Modules/ObjCObject.m, Modules/ObjCMethod.m,
	Modules/objc_support.m, Modules/ObjC.m: Untabified.

Tue Oct 29 10:33:43 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/ObjC.h (PyObjC_VERSION): Version 0.47.

Mon Oct 28 16:38:52 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/ObjC.m: Splitted.

	* Modules/ObjCRuntime.m: New file.

	* Modules/ObjCMethod.m: New file.

	* Modules/ObjCObject.m: New file.

	* Modules/ObjCPointer.m: New file.

	* Demo/ObjC/ShellText/ShellText_SingleUnderscore.py (main):
	Likewise. 

	* Demo/ObjC/ShellText/ShellText.py (main): With a command line
	argument, show that file. Accepts also a -t|--title option.

	* INSTALL.PyObjC: Updated.

	* Misc/Makefile.pre.in (TARGET): set to pyobjc.

Sun Oct 27 11:55:53 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/ObjC.m (ObjCObject_sq_ass_item): Implemented.

	* Modules/OC_PythonObject.m (+newWithObject:): If the object is an
	ObjCObject, return the wrapped Objective-C object without creating
	a new instance.

Sat Oct 26 13:13:41 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/ObjC.m (ObjCSequenceObject_methods): New methods on
	sequence objects.
	(ObjCMappingObject_methods): New methods on mapping objects.

	* Modules/objc_support.m (pythonify_c_value): If an obj is a kind
	of OC_Stream, wrap it in a ObjCStream, not in a generic	ObjCObject. 
	(depythonify_c_value): viceversa.

	* Modules/ObjCStreams.m (ObjCStream_new): New function.

	* Misc/Makefile.pre.in: Added $(LINKFORSHARED) to link command.

Fri Oct 25 15:08:23 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/ObjC.m (ObjCSequenceObject_Type): New invisible type
	with sequence access.
	(ObjCMappingObject_Type): New invisible type with mapping access. 
	(ObjCObject_new): If an object is a sequence (responds to -length
	and -objectAt:) use ObjCSequenceObject_Type. If it is a dictionary
	(responds to -length and -valueForKey:) use
	ObjCMappingObject_Type. 

	* Doc/libObjC.tex (subsection{ObjCObject objects}): Tell about
	sequence and mapping access syntax.

	* All sources: slightly better methods documentation, as well as
	better error messages for PyArg_ParseTuple().

Thu Oct 24 14:23:04 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/OC_Pasteboard.h: Now all methods are in a category of
	the Pasteboard class. OC_Pasteboard is gone.

	* Modules/OC_PythonObject.m (-count): New method.

	* Modules/ObjC.m (ObjCObject_Type): added sequence capabilities.

Sat Oct 19 11:56:40 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/Setup.PyObjC.in (ObjC): Refer to sources in Modules.

Fri Oct 18 14:12:00 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/ObjC.h (PyObjC_VERSION): Version 0.46.

	* Doc/libObjCStreams.tex: Tell the difference between NeXTSTEP and
	OpenStep implementation of OC_Stream.

	* Doc/libPyObjC.tex: Include libObjC and libObjCStreams.

	* INSTALL.PyObjC: Updated.

Thu Oct 17 18:10:46 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/OC_Stream.h (@interface OC_Stream): (WITH_FOUNDATION)
	now is a subclass of NSData.

	* Modules/OC_Stream.m (-freeWhenDone:): new method.
	(+newFromMemory:length:withMode:): use it.
	(+newFromFilename:withMode:): idem.

	* Include/OC_Stream.h (@interface OC_Stream): openByUs renamed
	freeWhenDone. 

	* Modules/Setup.PyObjC.in (ObjC): Added OC_Pasteboard.m.

	* Modules/objc_support.h (depythonify_objc_message): sped up.
	(pythonify_objc_message): idem.

Wed Oct 16 19:50:46 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/Setup.PyObjC.in (ObjC): Added OC_PythonBundle.m

	* Modules/ObjC.m (initObjC): Force the load of OC_PythonBundle.

Tue Oct 15 09:12:37 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/ObjC.m (ObjCMethod_unpack_argument): Was passing a
	PyStringObject instead of the cstring itself to sprintf().
	(ObjCObject_getattr): Print the warning only the first time the
	method gets fetched.

	* Modules/OC_Python.m: Dropped. It was used just as a shortcut for
	the Setup file.

	* Include/OC_Python.h: Idem.

	* Modules/Setup.PyObjC.in (ObjC): Removed OC_Python.m, added
	PythonObject.m OC_PythonInt.m OC_PythonString.m.  

Mon Oct 14 15:48:58 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/ObjC.h (PyObjC_VERSION): Version 0.45.

	* Doc/libObjC.tex: Describe the single-underscore syntax.

Thu Oct 10 11:11:21 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/OC_Stream.h: Renamed +newFromMappedFile: to
	+newFromFilename:. 
	Rename -saveToFile: to -saveToFilename:.

	* Modules/ObjCStreams.m (ObjCStream_seek): Use the renamed method. 

	* Include/OC_Stream.h: Renamed -setStreamPosition:from: to
	 -setStreamPosition:seekMode: for uniformity with GNUstep.

	* Modules/ObjCStreams.m (ObjCStream_dealloc): test for
	WITH_FOUNDATION, not GNU_RUNTIME.
	(STREAM_.*DURING.*): Simplified and implemented Foundation
	variants. 

	* Modules/objc_support.h: stub support for OpenStep.

Wed Oct  9 10:46:50 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/ObjC.h (PyObjC_VERSION): Version 0.44.

Tue Oct  8 18:02:58 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/ObjC.m (ObjCPointer_unpack): Check for void *.
	(ObjC_methods): new method make_pointer, to create arbitrary
	pointer objects.

	* Modules/objc_support.m (depythonify_c_value:_C_DBL): accepts an
	integer value too.
	(depythonify_c_value:_C_FLT): likewise.

Mon Oct  7 14:46:35 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/ObjC.h (PyObjC_VERSION): Version 0.43.

	* Modules/Setup.PyObjC.in: Added ObjCStreams.m.

Fri Oct  4 16:53:41 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/ObjC.h (PyObjC_VERSION): Version 0.42.

	* Modules/ObjC.m: ObjCStream objects implementation. 

	* Modules/objc_support.m (pythonify_c_value): Hack to support
	passing NXStreams as ObjCStream objects.
	(depythonify_c_value): likewise.

Thu Oct  3 12:42:30 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/ObjC.m: Moved BUGS section to BUGS.PyObjC.
	(ObjCObject_call): Support for initialization arguments.

        * README.PyObjC: splitted, creating INSTALL.PyObjC and
	NEWS.PyObjC.
	
	* Modules/makesetup: Little note to explain my changes.
	: Undone */* hack on source names. Silly me! I should never fix
	something too early in the morning ;-)
	
	* Modules/Setup.PyObjC.in: Sources are in the Modules/ directory.

Wed Oct  2 12:36:10 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/ObjC.h (PyObjC_VERSION): Version 0.41.

	* Misc/Makefile.pre.in: Fits PyObjC needs.
	
	* Modules/ObjC.m (ObjCMethod_pack_argument): Return an ObjCPointer
	object, not a string.
	(ObjCMethod_unpack_argument): Accepts ObjCPointer objects as
	well as strings.

	* Modules/objc_support.m (objc_skip_typespec): Corrected
	_C_UNION_B branch: unions are not prepended by their tag like
	structures.
	(objc_alignof_type): likewise.
	(objc_sizeof_type): likewise.
	(pythonify_c_value): Support _C_UNIONs by translating them to
	strings. 
	(depythonify_c_value): Likewise, accepting a string of the right
	size. 
	(pythonify_c_value): Use ObjCPointer to encode pointers, do not
	pythonify the content of the pointed value.

Fri Sep 27 17:10:12 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/objc_support.m (execute_and_pythonify_objc_method): Show
	the expected ObjC type in the error message for type mismatch.

	* Modules/ObjC.m (ObjCMethod_pack_argument): likewise.
	(ObjC_lookup_class): better error message.
	(ObjCRuntime_getattro): Set the error message if the class cannot
	be found.
	(ObjCMethod_pack_argument): Reset the buffer if the value is not
	given. 

Fri Sep 27 11:40:04 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/ObjC.h (PyObjC_VERSION): Version 0.4.

	* Modules/ObjC.m (ObjCRuntime_sel_is_mapped): Implemented.

	* Modules/objc_support.m (execute_and_pythonify_objc_method):
	Handle floats and doubles return values.

Thu Sep 26 10:45:36 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/ObjC.h (PyObjC_VERSION): Version 0.31.

	* Modules/ObjC.m (ObjC_list_classes): Oops! Use DECREF not INCREF
        on item.

	* Modules/objc_support.m (execute_and_pythonify_objc_method): For
	consistency, refer to the first argument as 0, not 1.

	* Modules/ObjC.m (ObjCRuntime_getattro): Added 'kind' member,
	which is set to ``GNU'' if using the GNU runtime, ``NeXT''
	otherwise. 

Tue Sep 24 12:40:18 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/OC_PythonObject.m (get_method_for_selector): To support
	the single underscore notation, always pythonify the objc message.

	* Modules/objc_support.h (pythonify_objc_message): Support for
	single underscore notation.
	(depythonify_objc_message): likewise.

Fri Sep 20 12:03:22 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/ObjC.h (PyObjC_VERSION): Version 0.3.

	* Modules/ObjC.m (ObjCMethod_pack_argument): Implemented
	GNU_RUNTIME support.
	(ObjCMethod_unpack_argument): Likewise.

	* Modules/OC_PythonObject.m (-forward::): Banalized: removed check
	against the runtime, since it was in any way a guess. Also, support
	the GNU runtime.

	* Modules/objc_support.m (execute_and_pythonify_objc_method): If
	an error occurred executing the method, do not pythonify the
	result and let the interpreter raise the error by returning NULL.

	* Modules/OC_PythonObject.m (-respondsTo:): Clear the error status
	and return NO if the Python Object does not respond to the method.

	* Modules/ObjC.m: Added version number to the module's doc, and
	show an example of the alternative syntax.

Mon Sep 16 11:44:35 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Include/ObjC.h (PyObjC_VERSION): Version 0.2.

	* Modules/objc_support.m (depythonify_c_value): Accept also Class
	object for _C_ID type ([Object isKindOf:] does not specify its arg
	must be a class...).

	* Modules/ObjC.m (ObjCMethod_pack_argument): New method on
	ObjCMethod, to support pass-by-ref parameters. 
	(ObjCMethod_unpack_argument): idem.

	* Modules/ObjC.m (ObjCObject_get_class): New method on ObjCObject,
	named "Class", as a workaround to get the class of an object
	(``class'' is a reserved keyword in Python).

	* Modules/ObjC.m (ObjCRuntime_getattro): Clean the error set by
	PyDict_GetItem and by Py_FindMethod.

	* Modules/objc_support.m (depythonify_c_value): For pointer
	arguments, accept a string object too: if the sizes match, then
	the string object will contain whatever the method will put in it,
	so you'll can use struct.unpack() on it.

Fri Sep 13 11:14:50 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

        * All sources: added a disclaimer, you never know...
	
	* Include/ObjC.h (PyObjC_VERSION): Initialized to 0.1.

	* Modules/ObjC.m (ObjCObject_call): Implemented: if X is an ObjC
	class, then X() is equivalent to X.new(). Does not handle
	arguments yet.
	(ObjCRuntime_Type): Implemented.
	(initObjC): Put an instance of ObjCRuntime in the module
	dictionary as the ``runtime'' member. This allow a new syntax to
	get an ObjC class: ObjC.runtime.TheClass.
	(initObjC): Added ``__version__'' to module's dictionary.

	* Modules/objc_support.m (pythonify_c_value): Do not convert
	pointers to integers, but rather dereference them and convert the
	value they point to.
	(depythonify_c_value): Correctly handle pointers: allocate some
	memory to keep the pointed value and depythonify there.
	(execute_and_pythonify_objc_method): initialize the arguments
	arena, where we eventually allocate memory for pointer arguments. 

Thu Sep 12 16:12:43 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/OC_PythonObject.m (-mappingDelItemString:): Work around
	to 1.4b3 bug: use PyDict_DelItemString if PyMapping_DelItemString
	is not defined in abstract.h. 
	(-mappingDelItem:): likewise.

	* Modules/objc_support.m (pythonify_c_value): Convert nil to None,
	not NULL. nil is sometimes used by the current NS API to signal an
	error. But OpenStep will use exceptions, so I think this is a safe
	change. This cures x.superclass() bug when x is an instance of the
	root class.

	* Modules/ObjC.m (ObjCObject_methods): added .isInstance and
	.isClass methods.

Wed Sep 11 11:50:02 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/objc_support.m (execute_and_pythonify_objc_method): In
	the error message about bad arguments, refer to the first argument
	as "1", not "0".

Tue Sep 10 19:31:10 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/ObjC.m (ObjCMethod_call): Support for passing/receiving
	complex structures to/from the ObjC method.

Sat Sep  7 12:20:18 1996  Lele Gaifax  <lele@nautilus.eclipse.it>

	* Modules/ObjC.m: unified the decoding/encoding switches. 

	(ObjC_load_object_files): GNU rt support implemented.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.