Still making progress. Dropped the archive because it was causing problems.
This commit is contained in:
parent
eed4711fee
commit
8d2acbeb0f
97 changed files with 490 additions and 13322 deletions
|
|
@ -47,21 +47,21 @@ b * @param meta metadata for this exception. Must be an assoc list, hashtable,
|
|||
* or `nil`
|
||||
* @param cause the exception that caused this exception to be `thrown`.
|
||||
*/
|
||||
struct pso_pointer make_exception( struct pso_pointer frame_pointer) {
|
||||
struct pso4* frame = pointer_to_pso4( frame_pointer);
|
||||
struct pso_pointer message = fetch_arg(frame, 0);
|
||||
struct pso_pointer previous = frame->payload.stack_frame.previous;
|
||||
struct pso_pointer meta = fetch_arg( frame, 1);
|
||||
struct pso_pointer cause = fetch_arg( frame, 2);
|
||||
struct pso_pointer make_exception( struct pso_pointer frame_pointer ) {
|
||||
struct pso4 *frame = pointer_to_pso4( frame_pointer );
|
||||
struct pso_pointer message = fetch_arg( frame, 0 );
|
||||
struct pso_pointer previous = frame->payload.stack_frame.previous;
|
||||
struct pso_pointer meta = fetch_arg( frame, 1 );
|
||||
struct pso_pointer cause = fetch_arg( frame, 2 );
|
||||
|
||||
struct pso_pointer result =
|
||||
allocate( frame_pointer, EXCEPTIONTAG, 3 );
|
||||
struct pso_pointer result = allocate( frame_pointer, EXCEPTIONTAG, 3 );
|
||||
|
||||
if ( !c_nilp( result ) && !exceptionp( result ) ) {
|
||||
struct pso3 *object = ( struct pso3 * ) pointer_to_object( result );
|
||||
|
||||
object->payload.exception.message = message;
|
||||
object->payload.exception.stack = stackp( frame_pointer ) ? frame_pointer : nil;
|
||||
object->payload.exception.stack =
|
||||
stackp( frame_pointer ) ? frame_pointer : nil;
|
||||
object->payload.exception.meta = ( consp( meta )
|
||||
|| hashtabp( meta ) ) ? meta : nil;
|
||||
object->payload.exception.cause = exceptionp( cause ) ? cause : nil;
|
||||
|
|
@ -76,8 +76,7 @@ struct pso_pointer make_exception( struct pso_pointer frame_pointer) {
|
|||
* Lisp calling conventions; one expected arg, the pointer to the object to
|
||||
* be destroyed.
|
||||
*/
|
||||
struct pso_pointer destroy_exception( struct pso_pointer fp,
|
||||
struct pso_pointer env ) {
|
||||
struct pso_pointer destroy_exception( struct pso_pointer fp ) {
|
||||
if ( stackp( fp ) ) {
|
||||
struct pso4 *frame = pointer_to_pso4( fp );
|
||||
struct pso_pointer p = frame->payload.stack_frame.arg[0];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue