Aha... DOUBLE fail on my part - I wasn't enforcing A_CANT and anyhow
if yuo've never tested something it probably doesn't work.
Should be fixed in vanilla git repo now.
On Mon, May 26, 2014 at 11:17:40AM -0700, Jonathan Wilkes wrote:
> I don't see anything in the code that would keep [dsp(--[osc~] from triggering this "dsp" message to the signal object.
>
> Indeed, when I specify A_CANT as the "dsp" arg type for [osc~] and recompile it still crashes.
>
> So that may be the policy, but the design doesn't keep the message from being dispatched.
>
> -Jonathan
>
>
> On Monday, May 26, 2014 1:32 PM, Miller Puckette <
msp@ucsd.edu> wrote:
>
>
>
> No, the A_CANT will ensure that the message never gets sent to the
> object (because typechecking fails)
>
> You can of course send the message from C, but anyone's allowed to crash
> Pd by introducing faulty C code :)
>
> M
>
>
> On Mon, May 26, 2014 at 10:23:36AM -0700, Jonathan Wilkes wrote:
> > Is that by policy or design?
> >
> > In other words, if I send a msd [dsp crash_my_pd( to a signal object that defines its dsp method args using A_CANT, will it still crash? (Not at a machine with Pd or I'd try it myself.)
> >
> > -Jonathan
> >
> >
> > On Monday, May 26, 2014 1:06 PM, Miller Puckette <
msp@ucsd.edu> wrote:
> >
> >
> >
> > Just to answer one sprcific question here...
> > >
> > > Lyon's book explaing what A_GIMME does, but not A_CANT. I checked m_pd.h a
> > > bit but didn't make much out of it. It is there where the problem lies?
> > >
> >
> > A_CANT is used when an object receives a message but the arguments can't be
> > safely typechecked by Pd - so these messages are refued if sent by the patch,
> > but friendly C code can call them using a lower-level mechanism.
> >
> > cheers
> > Miller