On Sep 26, 2011, at 7:59 PM, Marvin Humphrey wrote:
On Mon, Sep 26, 2011 at 11:20:13AM -0400, Hans-Christoph Steiner
wrote:Welcome to Pd! This is a nice entry, showing up with a patch to
fix a bug :-D.Thanks, nice to meet you. I may as well put these C skills to use,
eh?The whole canvas_key thing is pretty messy, so I think your patch is probably as good as its going to get. I'll apply it.
Patches are definitely very welcome :-D.Thanks for being so responsive.
In the future, please submit them to the patch tracker, the 'git format-patch' format is preferred:
Well, I wasn't yet convinced that the patch was in its final form --
the inlined diff was intended for discussion. :)FWIW, I'd seen reference to the patch tracker while browsing through http://puredata.info/dev. There's a decent amount of
documentation there for potential contributors to orient themselves, though like most
wikis the world over, some of the material is out of date.If I figure out further improvements, I will submit final patches to
the patch tracker according to the project's preferred procedures.Ideally, I would like to eliminate the "#ifdef __APPLE__"
altogether. That's probably not possible. My second choice would be to keep only the
higher keyval numbers, since that's what my current system needs. But
maybe I've been going down the wrong path this whole time...
Really, the whole canvas_key() and corresponding side in Tcl should be
chucked and written from scratch. Tcl/Tk has improved a lot since
that was written, and currently is a collection of hacks upon hacks.
Curiously, the official Pd 0.43 OS X binary does not have any
problems on Snow Leopard with regards to cursor keys. I only get these problems when
building from source.
I tried compiling from the 0.43 source tarball. (I tried first to
find a git tag corresponding to 0.43; "git tag -l" didn't find anything, but
I'm not a git power user and maybe I'm missing something.) Building with the
"new" build system required the "fix launching on Mac OS X" patch
(3360aba7). (Building with the "old" build system failed spectacularly and I
wasn't sure how to proceed.)Compiling the 0.43 sources produced a binary that doesn't handle
cursor keys correctly. So, something about my Snow Leopard build environment is
causing the problem...Hmm, I had ActiveTCL 8.6 installed... but disabling that didn't
help. (Aside: It's a pain to hide everything that Tcl installs.)Any ideas? How does my system differ from the system which was used
to build the official 0.43 OS X binary?
I think this bug only shows up on Tk/Cocoa versions, not the old Tk/
Carbon. In Pd-extended, I include a version of Tk/Carbon still since
there are still a number of unresolved bugs when using Tk/Cocoa, like
this one you just found :).
.hc
"[W]e have invented the technology to eliminate scarcity, but we are
deliberately throwing it away to benefit those who profit from
scarcity." -John Gilmore