Lines Matching refs:ATOM
120 LispDoSymbol(LispObj *package, LispAtom *atom, int if_extern, int all_packages)
124 /* condition 1: atom package is current package */
125 dosymbol = !all_packages || atom->package == package;
128 dosymbol = !if_extern || atom->ext;
130 /* condition 3: atom has properties or is in
132 dosymbol = atom->property != NOPROPERTY ||
164 symbol->data.atom->package == lisp__data.keyword)
170 symbol->data.atom->ext = export ? 1 : 0;
173 LispAtom *atom;
178 atom = (LispAtom *)hash_check(pack->atoms,
181 if (atom) {
182 atom->ext = export ? 1 : 0;
204 LispAtom *atom;
250 for (atom = (LispAtom *)hash_iter_first(pack->atoms);
251 atom;
252 atom = (LispAtom *)hash_iter_next(pack->atoms)) {
253 /* Save pointer to next atom. If variable is removed,
257 if (LispDoSymbol(package, atom, only_externs, all_symbols)) {
258 LispSetVar(variable, atom->object);
302 LispAtom *atom;
336 atom = (LispAtom *)hash_check(pack->atoms, ptr, strlen(ptr));
337 if (atom)
338 symbol = atom->object;
340 if (symbol == NULL || symbol->data.atom->package == NULL) {
347 symbol = ATOM(ptr);
360 symbol = ATOM(ptr);
367 symbol->data.atom->unreadable = !LispCheckAtomString(ptr);
370 symbol->data.atom->ext = symbol->data.atom->constant = 1;
376 if (symbol->data.atom->package == package)
377 RETURN(0) = symbol->data.atom->ext ? Kexternal : Kinternal;
421 LispAtom *atom;
449 atom = (LispAtom *)hash_check(pack->atoms, string, length);
450 if (atom && LispDoSymbol(package, atom, 0, 1)) {
454 result = CONS(atom->object, NIL);
461 RPLACA(result, atom->object);