1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-03-01 09:30:56 +00:00
Files
Interlisp.maiko/inc/testtooldefs.h
Nick Briggs c4873d0ff8 Improvements to package/atom access in the sysout from maiko C code (#372)
* Display atom name in error message if get_package_atom() fails

* Various fixes to package/atom handling in testtool.c

Remove S_TOPVAL and S_MAKEATOM which only existed to deal with an old issue
with dbx where you supposedly couldn't enter a string with "\" in it.

Remove countchar(), which is functionally identical to  strlen(), and adjust
code that used it.

Adjust return type of MAKEATOM() to be the LispPTR that it should be, instead of int.

Limit find_package_from_name() to examining only the number of entries that are
present in the *PACKAGE-FROM-INDEX* array, instead of walking off the end.

MakeAtom68k() now drops into uraid() if asked to look up an atom that does not exist
(Make... is a misnomer, it will never *make* the atom, only lookup an existing
one)
2021-03-29 14:01:10 -07:00

39 lines
1.3 KiB
C

#ifndef TESTTOOLDEFS_H
#define TESTTOOLDEFS_H 1
#include "lispemul.h" /* for LispPTR, DLword, DLbyte */
#include "cell.h" /* for conspage */
#include "stack.h" /* for frameex1, FX, Bframe, fnhead */
void print_package_name(int index);
void print_atomname(LispPTR index);
int find_package_from_name(const char *packname, int len);
void print_package_name(int index);
void dump_dtd(void);
void check_type_68k(int type, LispPTR *ptr);
int type_num(LispPTR lispptr);
void dump_conspage(struct conspage *base, int linking);
void trace_listpDTD(void);
void a68k(LispPTR lispptr);
void laddr(DLword *addr68k);
void dump_fnbody(LispPTR fnblockaddr);
void dump_fnobj(LispPTR index);
int print_opcode(int pc, DLbyte *addr, struct fnhead *fnobj);
void doko(void);
void dumpl(LispPTR laddr);
void dumps(LispPTR laddr);
void printPC(void);
void dump_bf(Bframe *bf);
void dump_fx(struct frameex1 *fx_addr68k);
void dump_stackframe(struct frameex1 *fx_addr68k);
void dump_CSTK(int before);
void btv(void);
int get_framename(struct frameex1 *fx_addr68k);
FX *get_nextFX(FX *fx);
LispPTR MAKEATOM(char *string);
LispPTR *MakeAtom68k(char *string);
void GETTOPVAL(char *string);
void all_stack_dump(DLword start, DLword end, DLword silent);
void dtd_chain(DLword type);
void Trace_FNCall(int numargs, int atomindex, int arg1, LispPTR *tos);
void Trace_APPLY(int atomindex);
#endif