pyobjc-dev Mailing List for PyObjC (Page 210)
Brought to you by:
ronaldoussoren
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(1) |
Feb
(2) |
Mar
(3) |
Apr
(30) |
May
(18) |
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2002 |
Jan
(7) |
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
(3) |
Jul
(13) |
Aug
|
Sep
(23) |
Oct
(180) |
Nov
(291) |
Dec
(95) |
2003 |
Jan
(338) |
Feb
(352) |
Mar
(97) |
Apr
(46) |
May
(226) |
Jun
(184) |
Jul
(145) |
Aug
(141) |
Sep
(69) |
Oct
(161) |
Nov
(96) |
Dec
(90) |
2004 |
Jan
(66) |
Feb
(87) |
Mar
(98) |
Apr
(132) |
May
(115) |
Jun
(68) |
Jul
(150) |
Aug
(92) |
Sep
(59) |
Oct
(52) |
Nov
(17) |
Dec
(75) |
2005 |
Jan
(84) |
Feb
(191) |
Mar
(133) |
Apr
(114) |
May
(158) |
Jun
(185) |
Jul
(62) |
Aug
(28) |
Sep
(36) |
Oct
(88) |
Nov
(65) |
Dec
(43) |
2006 |
Jan
(85) |
Feb
(62) |
Mar
(92) |
Apr
(75) |
May
(68) |
Jun
(101) |
Jul
(73) |
Aug
(37) |
Sep
(91) |
Oct
(65) |
Nov
(30) |
Dec
(39) |
2007 |
Jan
(24) |
Feb
(28) |
Mar
(10) |
Apr
(2) |
May
(18) |
Jun
(16) |
Jul
(21) |
Aug
(6) |
Sep
(30) |
Oct
(31) |
Nov
(153) |
Dec
(31) |
2008 |
Jan
(63) |
Feb
(70) |
Mar
(47) |
Apr
(24) |
May
(59) |
Jun
(22) |
Jul
(12) |
Aug
(7) |
Sep
(14) |
Oct
(26) |
Nov
(5) |
Dec
(5) |
2009 |
Jan
(10) |
Feb
(41) |
Mar
(70) |
Apr
(88) |
May
(49) |
Jun
(62) |
Jul
(34) |
Aug
(15) |
Sep
(55) |
Oct
(40) |
Nov
(67) |
Dec
(21) |
2010 |
Jan
(60) |
Feb
(17) |
Mar
(26) |
Apr
(26) |
May
(29) |
Jun
(4) |
Jul
(21) |
Aug
(21) |
Sep
(10) |
Oct
(12) |
Nov
(3) |
Dec
(19) |
2011 |
Jan
(3) |
Feb
(13) |
Mar
(8) |
Apr
(8) |
May
(17) |
Jun
(20) |
Jul
(21) |
Aug
(7) |
Sep
|
Oct
|
Nov
(9) |
Dec
(11) |
2012 |
Jan
(3) |
Feb
|
Mar
|
Apr
(5) |
May
(4) |
Jun
(14) |
Jul
(5) |
Aug
(2) |
Sep
(15) |
Oct
(2) |
Nov
(23) |
Dec
(1) |
2013 |
Jan
(8) |
Feb
(1) |
Mar
|
Apr
|
May
(5) |
Jun
(1) |
Jul
(5) |
Aug
(4) |
Sep
|
Oct
(12) |
Nov
(10) |
Dec
(3) |
2014 |
Jan
(7) |
Feb
(14) |
Mar
(2) |
Apr
|
May
(2) |
Jun
(11) |
Jul
(10) |
Aug
(4) |
Sep
|
Oct
(8) |
Nov
(1) |
Dec
(2) |
2015 |
Jan
(9) |
Feb
(7) |
Mar
(1) |
Apr
|
May
(7) |
Jun
|
Jul
(5) |
Aug
(6) |
Sep
|
Oct
(1) |
Nov
(4) |
Dec
|
2016 |
Jan
(1) |
Feb
(1) |
Mar
(4) |
Apr
(2) |
May
(1) |
Jun
|
Jul
(6) |
Aug
(8) |
Sep
(21) |
Oct
(17) |
Nov
|
Dec
(36) |
2017 |
Jan
(6) |
Feb
(2) |
Mar
(4) |
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(6) |
2018 |
Jan
(2) |
Feb
(3) |
Mar
(3) |
Apr
(14) |
May
(2) |
Jun
(2) |
Jul
(4) |
Aug
(3) |
Sep
(6) |
Oct
(16) |
Nov
(1) |
Dec
(6) |
2019 |
Jan
(3) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
(6) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(1) |
Jul
(7) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(2) |
Dec
(1) |
2021 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(5) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2025 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Bob I. <bo...@re...> - 2003-10-29 18:09:52
|
On Oct 29, 2003, at 12:51 PM, Ronald Oussoren wrote: > On 29 okt 2003, at 18:39, Bob Ippolito wrote: > >> On Oct 29, 2003, at 12:28 PM, Ronald Oussoren wrote: >> >>> Why is it a problem that NSAnyEventMask is -1? It is also -1 in ObjC >>> and therefore I suppose the conversion from Python to ObjC for >>> ``unsigned int`` values is too strict and doesn't accept -1 as a >>> valid value. >> >> It is 0xffffffffU in ObjC -- the fact that it has the same binary >> representation as the signed -1 is just a side effect. The >> conversion from Python to ObjC is indeed too strict for this kind of >> conversion, but rightly so, if you agree with the direction that >> Python itself is moving. For example, in Python 2.4, 0xffffffff >> without the L qualifier will become 0xffffffffL, instead of the >> current -1. > > You read the header file :-). The 'U' is bogus, it is inside an enum > definition and enums are signed integers. The following program should > make this clear: > > #include <stdio.h> > #import <AppKit/AppKit.h> > > int main(void) > { > printf("%s\n", @encode(__typeof__(NSAnyEventMask))); > return 0; > } > > This prints 'i', which is the type-code for 'int'. > > I don't like the hand-coded list, and therefore tried to be smart by > adding the type encoding for constants to the inttable structure which > didn't work because of the signedness of enums :-(. I'll update the > CodeGenerator scripts to detect '*Mask' as unsigned integers instead > of plain integers. Ah yes, you are of course correct. I'm not (yet) very familiar with the ObjC facilities for typing. However, the real problem is that Python really sucks at integers (from a bit twiddling / talking to C perspective).. it's handling of them diverges more and more from the C way of doing it after every release. In these cases, what you have is not even an "integer" in the intuitive sense, it's an integer length bit vector.. it's C's fault that it can't express this otherwise (not that Python has a built-in type that's any better at this). In any case, because this is Python, any sort of bit flag or mask really needs to treated as if it were unsigned or else bad things start happening and warnings get thrown all over the place (or probably break in 2.4). It would be awesome if you could write up some quick documentation as to how to run the code generators and how to make them respect manual overrides (for signatures, at least). I took a quick look at them, but I didn't quite get it. -bob |
From: Ronald O. <ous...@ci...> - 2003-10-29 17:51:33
|
On 29 okt 2003, at 18:39, Bob Ippolito wrote: > On Oct 29, 2003, at 12:28 PM, Ronald Oussoren wrote: > >> Why is it a problem that NSAnyEventMask is -1? It is also -1 in ObjC >> and therefore I suppose the conversion from Python to ObjC for >> ``unsigned int`` values is too strict and doesn't accept -1 as a >> valid value. > > It is 0xffffffffU in ObjC -- the fact that it has the same binary > representation as the signed -1 is just a side effect. The conversion > from Python to ObjC is indeed too strict for this kind of conversion, > but rightly so, if you agree with the direction that Python itself is > moving. For example, in Python 2.4, 0xffffffff without the L > qualifier will become 0xffffffffL, instead of the current -1. You read the header file :-). The 'U' is bogus, it is inside an enum definition and enums are signed integers. The following program should make this clear: #include <stdio.h> #import <AppKit/AppKit.h> int main(void) { printf("%s\n", @encode(__typeof__(NSAnyEventMask))); return 0; } This prints 'i', which is the type-code for 'int'. I don't like the hand-coded list, and therefore tried to be smart by adding the type encoding for constants to the inttable structure which didn't work because of the signedness of enums :-(. I'll update the CodeGenerator scripts to detect '*Mask' as unsigned integers instead of plain integers. Ronald |
From: SourceForge.net <no...@so...> - 2003-10-29 05:16:26
|
Bugs item #832177, was opened at 2003-10-29 00:16 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=832177&group_id=14534 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bob Ippolito (etrepum) Assigned to: Nobody/Anonymous (nobody) Summary: Reference leak in Modules/objc/objc-class.m Initial Comment: The PySequence_Fast is created but not decref'ed.. see patch below: Index: Modules/objc/objc-class.m ===================================== ============================== RCS file: /cvsroot/pyobjc/pyobjc/Modules/objc/objc-class.m,v retrieving revision 1.44 diff -u -r1.44 objc-class.m --- Modules/objc/objc-class.m 19 Oct 2003 16:53:35 -0000 1.44 +++ Modules/objc/objc-class.m 29 Oct 2003 05:15:03 -0000 @@ -251,6 +251,7 @@ PySequence_Fast_GET_ITEM(seq, i)); Py_INCREF(PySequence_Fast_GET_ITEM(seq, i)); } + Py_DECREF(seq); } real_bases = PyList_New(0); ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=832177&group_id=14534 |
From: Bob I. <bo...@re...> - 2003-10-29 04:23:22
|
On Oct 28, 2003, at 10:32 PM, Zachery Bir wrote: > Can we use bundlebuilder's buildapp to build 10.2 capable apps in > Panther? I accidentally initially released a version of my PyObjC app > built on a pre-release of Panther, and had to scramble to build it on > a Jaguar box. I'd like to be able to build apps (without resorting to > Xcode) that will run on both Jaguar and Panther using just buildapp. I > have both the 10.2 SDK and 10.3 SDK installed from the Xcode CD. Will > that be enough? I'm not the expert on this, but I think that you need to install the Jaguar version of MacPython, and include the Jaguar version of PyObjC.. both of these run just fine on Panther. -bob |
From: Zachery B. <zb...@ur...> - 2003-10-29 03:32:30
|
Can we use bundlebuilder's buildapp to build 10.2 capable apps in Panther? I accidentally initially released a version of my PyObjC app built on a pre-release of Panther, and had to scramble to build it on a Jaguar box. I'd like to be able to build apps (without resorting to Xcode) that will run on both Jaguar and Panther using just buildapp. I have both the 10.2 SDK and 10.3 SDK installed from the Xcode CD. Will that be enough? Zac |
From: SourceForge.net <no...@so...> - 2003-10-29 03:24:10
|
Bugs item #832142, was opened at 2003-10-28 22:24 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=832142&group_id=14534 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bob Ippolito (etrepum) Assigned to: Nobody/Anonymous (nobody) Summary: Mixing spaces and tabs for indentation is bad! Initial Comment: I'm not sure who is doing this.. but it's all over the PyObjC source tree.. please make sure not to use tabs, unless you ONLY use tabs. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=832142&group_id=14534 |
From: SourceForge.net <no...@so...> - 2003-10-29 03:10:18
|
Bugs item #832135, was opened at 2003-10-28 22:10 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=832135&group_id=14534 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bob Ippolito (etrepum) Assigned to: Nobody/Anonymous (nobody) Summary: Incorrect signature for NSTextViewDelegate message Initial Comment: Below is the correct signature. Note that this part of the protocol is only available in 10.3 and later. selector(None, selector='textView:completions: forPartialWordRange:indexOfSelectedItem:',signature='@@: @@{_NSRange=II}N^i') ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=832135&group_id=14534 |
From: SourceForge.net <no...@so...> - 2003-10-28 22:58:38
|
Bugs item #832025, was opened at 2003-10-28 17:58 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=832025&group_id=14534 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bob Ippolito (etrepum) Assigned to: Nobody/Anonymous (nobody) Summary: more pydoc problems Initial Comment: [crack:~] bob% pythonw Python 2.3 (#1, Sep 13 2003, 00:49:11) [GCC 3.3 20030304 (Apple Computer, Inc. build 1495)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import objc >>> objc.__version__ '1.0' >>> help() Welcome to Python 2.3! This is the online help utility. If this is your first time using Python, you should definitely check out the tutorial on the Internet at http://www.python.org/doc/ tut/. Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utility and return to the interpreter, just type "quit". To get a list of available modules, keywords, or topics, type "modules", "keywords", or "topics". Each module also comes with a one-line summary of what it does; to list the modules whose summaries contain a given word such as "spam", type "modules spam". help> modules spam Here is a list of matching modules. Enter any module name to get more help. objc: cannot unmap an image containing ObjC data Trace/BPT trap Here's a traceback Program received signal SIGTRAP, Trace/breakpoint trap. 0x9083bec0 in _objc_trap () (gdb) bt #0 0x9083bec0 in _objc_trap () #1 0x9083be54 in _objc_fatal () #2 0x90837c84 in _objc_fatalHeader () #3 0x8fe18748 in __dyld_call_funcs_for_remove_image () #4 0x8fe136a8 in __dyld__dyld_unlink_module () #5 0x9003d7c8 in NSUnLinkModule () #6 0x95fcc560 in _PyImport_GetDynLoadFunc () #7 0x95fc1b6c in _PyImport_LoadDynamicModule () #8 0x95fbf7a4 in PyImport_ExecCodeModuleEx () #9 0x95fc16f0 in PyImport_Import () #10 0x95fa94a8 in PyEval_GetFuncDesc () #11 0x95fa6c64 in PyEval_EvalCode () #12 0x95fa7e30 in PyEval_EvalCodeEx () #13 0x95fa97dc in PyEval_GetFuncDesc () #14 0x95fa9580 in PyEval_GetFuncDesc () #15 0x95fa6c64 in PyEval_EvalCode () #16 0x95fa7e30 in PyEval_EvalCodeEx () #17 0x95fa97dc in PyEval_GetFuncDesc () #18 0x95fa9580 in PyEval_GetFuncDesc () #19 0x95fa6c64 in PyEval_EvalCode () #20 0x95fa9728 in PyEval_GetFuncDesc () #21 0x95fa9580 in PyEval_GetFuncDesc () #22 0x95fa6c64 in PyEval_EvalCode () #23 0x95fa7e30 in PyEval_EvalCodeEx () #24 0x95fa97dc in PyEval_GetFuncDesc () #25 0x95fa9580 in PyEval_GetFuncDesc () #26 0x95fa6c64 in PyEval_EvalCode () #27 0x95fa9728 in PyEval_GetFuncDesc () #28 0x95fa9580 in PyEval_GetFuncDesc () #29 0x95fa6c64 in PyEval_EvalCode () #30 0x95fa9728 in PyEval_GetFuncDesc () #31 0x95fa9580 in PyEval_GetFuncDesc () #32 0x95fa6c64 in PyEval_EvalCode () #33 0x95fa7e30 in PyEval_EvalCodeEx () #34 0x95f5f354 in PyFunction_SetClosure () #35 0x95f4a8d0 in PyObject_Call () #36 0x95f529e8 in PyMethod_New () #37 0x95f4a8d0 in PyObject_Call () #38 0x95f51da8 in _PyInstance_Lookup () #39 0x95f4a8d0 in PyObject_Call () #40 0x95fa9df0 in PyEval_GetFuncDesc () #41 0x95fa6d44 in PyEval_EvalCode () #42 0x95fa7e30 in PyEval_EvalCodeEx () #43 0x95f5f354 in PyFunction_SetClosure () #44 0x95f4a8d0 in PyObject_Call () #45 0x95f529e8 in PyMethod_New () #46 0x95f4a8d0 in PyObject_Call () #47 0x95f51da8 in _PyInstance_Lookup () #48 0x95f4a8d0 in PyObject_Call () #49 0x95fa9ba8 in PyEval_GetFuncDesc () #50 0x95fa9598 in PyEval_GetFuncDesc () #51 0x95fa6c64 in PyEval_EvalCode () #52 0x95fa7e30 in PyEval_EvalCodeEx () #53 0x95fa4734 in PyEval_EvalCode () #54 0x95fc85f0 in PyRun_FileExFlags () #55 0x95fc7354 in PyRun_InteractiveOneFlags () #56 0x95fc713c in PyRun_InteractiveLoopFlags () #57 0x95fc6fd4 in PyRun_AnyFileExFlags () #58 0x95fd1ec0 in Py_Main () #59 0x00003c78 in ?? () #60 0x00003aec in ?? () ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=832025&group_id=14534 |
From: Just v. R. <ju...@le...> - 2003-10-28 21:18:13
|
There's a iChat channel called "MacPython" now. Hit cmd-G in iChat and type the channel name. See you there! Just |
From: SourceForge.net <no...@so...> - 2003-10-28 20:51:56
|
Bugs item #831929, was opened at 2003-10-28 15:51 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=831929&group_id=14534 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bob Ippolito (etrepum) Assigned to: Nobody/Anonymous (nobody) Summary: Some unsigned int constants wrapped as signed integers Initial Comment: For example, >>> from AppKit import * >>> NSAnyEventMask -1 This should be 0xFFFFFFFFL ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=831929&group_id=14534 |
From: SourceForge.net <no...@so...> - 2003-10-28 15:37:32
|
Bugs item #831774, was opened at 2003-10-28 07:36 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=831774&group_id=14534 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: NSDecimalNumber instances handled incorrectly Initial Comment: NSDecimalNumbers are not handled correctly going back to ObjC. That is, while NSDecimalNumbers are correctly converted to python doubles, when going back to Objective-C, they are converted to NSNumbers instead. The problem with this is that NSNumber doesn't implement things like: - (NSDecimalNumber *) decimalNumberByMultiplyingBy: (NSDecimalNumber *); pi...@ma... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=831774&group_id=14534 |
From: Bob I. <bo...@re...> - 2003-10-28 15:29:21
|
On Oct 28, 2003, at 10:10 AM, Ronald Oussoren wrote: > On 28 okt 2003, at 8:11, Bob Ippolito wrote: > >> PyInterpreter is a set of PyObjC classes (and a nib) that makes it >> easy to put an interactive Python interpreter into just about any >> PyObjC application. It supports the following features: >> Colored stdout / stderr >> raw_input() / stdin.readline() support via modal dialog (a la >> PythonIDE) >> command history >> completion (OS X 10.3 and later only) >> >> Feel free to use this in your own projects, I'm hoping to get this >> into the PyObjC Examples tree sometime in the near future. > > I like this, except the raw_input part. I "accidently" typed help() in > the interpreter, which mostly showed that the modal dialog is not a > good idea. A sheet would have been even worse :-). It's the only way to do input.. unless you know some way to do stackless-like-things without stackless.. I don't know how to wrap the inner-interpreter with something that allows me to provide sys.stdin.readline() info asynchronously. I sure can't do it with threads, unless the inner-interpreter always runs in a thread, and that will make everything so much more complicated and harder to test. In any case, the readline support can be turned off pretty easily if you look at the source.. it's just one line that you'd change to None. > W.r.t. getting this into the PyObjC examples: it might be more usefull > to add this, and more IDE-components (like a class browser), to > PyObjCTools as this would make it even easier to reuse these > components. Probably, but you have the nib issue (bundlebuilder won't like that). -bob |
From: Ronald O. <ous...@ci...> - 2003-10-28 15:14:54
|
On 28 okt 2003, at 8:11, Bob Ippolito wrote: > PyInterpreter is a set of PyObjC classes (and a nib) that makes it > easy to put an interactive Python interpreter into just about any > PyObjC application. It supports the following features: > Colored stdout / stderr > raw_input() / stdin.readline() support via modal dialog (a la > PythonIDE) > command history > completion (OS X 10.3 and later only) > > Feel free to use this in your own projects, I'm hoping to get this > into the PyObjC Examples tree sometime in the near future. I like this, except the raw_input part. I "accidently" typed help() in the interpreter, which mostly showed that the modal dialog is not a good idea. A sheet would have been even worse :-). W.r.t. getting this into the PyObjC examples: it might be more usefull to add this, and more IDE-components (like a class browser), to PyObjCTools as this would make it even easier to reuse these components. Ronald |
From: Bob I. <bo...@re...> - 2003-10-28 07:12:40
|
PyInterpreter is a set of PyObjC classes (and a nib) that makes it easy to put an interactive Python interpreter into just about any PyObjC application. It supports the following features: Colored stdout / stderr raw_input() / stdin.readline() support via modal dialog (a la PythonIDE) command history completion (OS X 10.3 and later only) Feel free to use this in your own projects, I'm hoping to get this into the PyObjC Examples tree sometime in the near future. See http://pythonmac.org/wiki/PyInterpreter for a screen shot, download, and more information. -bob |
From: Bob I. <bo...@re...> - 2003-10-27 17:33:48
|
On Oct 27, 2003, at 8:47 AM, Bob Ippolito wrote: > I started working on an interactive in-process interpreter for PyObjC > applications. Here's what it does so far: > Simple coloring of sys.stdout and sys.stderr > Supports unicode (but assumes non-unicode is utf8 for now) > Command history (up key, down key) > Limits editing and cursor position (but not selection) to ONLY the > active line of code > All the nice things that editing in a NSTextView gives you > > Obvious future enhancements would be: > Auto indent > Syntax highlighting > Completion > sys.stdin (for raw_input and such -- might be too hard to do without > stackless, threads, or other nasty stuff) Ok I fixed some nasty bugs (thanks Just), use this one now: http://undefined.org/python/PyInterpreter-0.1.tgz I also added sys.stdin.readline support (which gives you raw_input as well) in a similar way to how the MacPython IDE does it: A modal NSPanel input dialog (yay). It's ugly but it works. -bob |
From: Bob I. <bo...@re...> - 2003-10-27 13:52:58
|
I started working on an interactive in-process interpreter for PyObjC applications. Here's what it does so far: Simple coloring of sys.stdout and sys.stderr Supports unicode (but assumes non-unicode is utf8 for now) Command history (up key, down key) Limits editing and cursor position (but not selection) to ONLY the active line of code All the nice things that editing in a NSTextView gives you Obvious future enhancements would be: Auto indent Syntax highlighting Completion sys.stdin (for raw_input and such -- might be too hard to do without stackless, threads, or other nasty stuff) It's at http://undefined.org/python/PyInterpreter-0.0.tgz right now, I'd like to add this to the PyObjC source tree if someone gives me commit access :) -bob |
From: <pr...@gl...> - 2003-10-27 11:36:55
|
You are receiving this e-mail because you were added to http://www.global-submit.com in the past. Here is the URL that was submitted to our search engine database. http://www.gnustep.org/ A successful website can always benefit from more visitors/traffic. We all know that more traffic adds up to more sales. Now is the time to promote your site for the holiday season. If you think that you could benefit from more traffic to your web site, please visit my web site at http://william.global-submit.com give me a call at 1 819 571 4943, 24 hours a day 7 days a week, for more information. Feel free to send an e-mail to wi...@gl... We offer everything from Banner Advertising, Safe E-mail Marketing to web site hosting and development and search engine services Thank you and have a nice day, William Hanks http://william.global-submit.com wi...@gl... Call 1 819 571 4943 at any time. RMV MESSAGE ID : T885365R746775 If would like to be taken out of our database then please visit this web site. http://www.global-submit.com/cgi-bin/clipout.cgi?T885365R746775 |
From: <pr...@gl...> - 2003-10-27 04:13:45
|
You are receiving this e-mail because you were added to http://www.global-submit.com in the past. Here is the URL that was submitted to our search engine database. http://www.gnustep.org/ A successful website can always benefit from more visitors/traffic. We all know that more traffic adds up to more sales. Now is the time to promote your site for the holiday season. If you think that you could benefit from more traffic to your web site, please visit my web site at http://william.global-submit.com give me a call at 1 819 571 4943, 24 hours a day 7 days a week, for more information. Feel free to send an e-mail to wi...@gl... We offer everything from Banner Advertising, Safe E-mail Marketing to web site hosting and development and search engine services Thank you and have a nice day, William Hanks http://william.global-submit.com wi...@gl... Call 1 819 571 4943 at any time. RMV MESSAGE ID : T885365R746775 If would like to be taken out of our database then please visit this web site. http://www.global-submit.com/cgi-bin/clipout.cgi?T885365R746775 |
From: Ronald O. <ous...@ci...> - 2003-10-26 18:59:17
|
I've filed an admin request for this at SF (#830606) Ronald |
From: Bob I. <bo...@re...> - 2003-10-26 18:11:17
|
On Oct 26, 2003, at 9:17 AM, Jacob Kaplan-Moss wrote: > For me, one of the most powerful tools that ObjC gives is the ability > to create "categories" on existing classes. This allows extending > existing classes without actually needing to subclass them. For > example (taken from Apple's AnimatedSlider sample code): > > @interface NSSlider (SliderAnimation) > > - (IBAction) animateToFloatValueFrom: sender; > - (void) animateToFloatValue:(float) newValue; > > @end > > The above adds two instance methods to the NSSlider used in the > application. > > How would I go about doing the same thing in PyObjC? Obviously I > could subclass NSSlider to add the new methods, but I guess I'm > looking for something that's a closer functional match to what the > ObjC code does. from the objc module: Help on built-in function classAddMethods: classAddMethods(...) classAddMethods(targetClass, methodsArray) Adds methods in methodsArray to class. The effect is similar to how categories work. If class already implements a method as defined in methodsArray, the original implementation will be replaced by the implementation from methodsArray. I don't believe this is very well known, I had the same question as you yesterday, but I found the answer by reading through the PyObjC source code. -bob |
From: b.bum <bb...@ma...> - 2003-10-26 18:04:38
|
On Oct 26, 2003, at 6:17 AM, Jacob Kaplan-Moss wrote: > For me, one of the most powerful tools that ObjC gives is the ability > to create "categories" on existing classes. This allows extending > existing classes without actually needing to subclass them. For > example (taken from Apple's AnimatedSlider sample code): Categories can also lead to extremely hard to maintain code because they effectively break encapsulation within your code base. In the 15 years (jeez!) that I have been doing ObjC-- often by acting as a consultant to help others fix/maintain/extend their codebase-- abuse of categories has often been the source of serious pain and consternation (and billable hours). Effectively categories allow you to use a class design where your functionality is not "below" the existing classes, but is effectively inserted throughout. Powerful? Yes. Extremely. Wonderfully so. Use them with care. PyObjC fully supports categories, but in slightly different-- and even more dangerous-- fashion. Effectively you can stick any method-- from objc or python-- onto any class. See: >>> import objc >>> help(objc.classAddMethods) >>> help(objc.classAddMethod) classAddMethods takes an array of methods and sticks 'em on a class somewhere. classAddMethod allows you to specify the selector used when the method is installed. I.e. you could do: def doFoo:(self, arg1): pass objc.classAddMethod(Foundation.NSBundle, "handleRequest:", doFoo) Like categories, the method will be immediately available across all instances -- preexisting or newly allocated. b.bum |
From: Jacob Kaplan-M. <ja...@ja...> - 2003-10-26 14:23:53
|
Hey all -- For me, one of the most powerful tools that ObjC gives is the ability to create "categories" on existing classes. This allows extending existing classes without actually needing to subclass them. For example (taken from Apple's AnimatedSlider sample code): @interface NSSlider (SliderAnimation) - (IBAction) animateToFloatValueFrom: sender; - (void) animateToFloatValue:(float) newValue; @end The above adds two instance methods to the NSSlider used in the application. How would I go about doing the same thing in PyObjC? Obviously I could subclass NSSlider to add the new methods, but I guess I'm looking for something that's a closer functional match to what the ObjC code does. TIA, Jacob |
From: SourceForge.net <no...@so...> - 2003-10-26 03:41:01
|
Bugs item #830343, was opened at 2003-10-25 23:40 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=830343&group_id=14534 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bob Ippolito (etrepum) Assigned to: Nobody/Anonymous (nobody) Summary: typo in PyObjCTools Initial Comment: __all__ and __doc__ say sheetEndMethod Implementation is named endSheetMethod ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=830343&group_id=14534 |
From: SourceForge.net <no...@so...> - 2003-10-26 03:40:05
|
Bugs item #830342, was opened at 2003-10-25 23:39 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=830342&group_id=14534 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Bob Ippolito (etrepum) Assigned to: Nobody/Anonymous (nobody) Summary: Incorrect signature for a (AppKit) NSNib selector Initial Comment: This is correct: setSignatureForSelector( "NSNib", "instantiateNibWithOwner:topLevelObjects:", "c@:@N^@") topLevelObjects is an in->out NSMutableArray** ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=114534&aid=830342&group_id=14534 |
From: Bob I. <bo...@re...> - 2003-10-26 01:55:12
|
Ok.. that was easy. I wrote an Xcode plugin that EMBEDS A PYTHON INTERPRETER INSIDE XCODE! This is very interesting.. I'm going to play with this more and clean it up, but this would make it really easy to hack around Xcode internals (god bless Objective C) and add Python specific features, or any feature for that matter. Our Next Generation MacPython IDE might actually *be* Xcode ;) I've put something quick up at http://pythonmac.org/wiki/XcodeIntegration -bob |