Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions cpp/amc/ctype.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -513,8 +513,12 @@ void amc::tfunc_Ctype_Init() {
}
if (field.c_fuserinit) {
Set(R, "$field", field.field);
Set(R, "$name", name_Get(field));
Ins(&R, text, "$name_Userinit(); // dmmeta.fuserinit:$field");
if (field.reftype == dmmeta_Reftype_reftype_Global) {
Ins(&R, text, "Userinit($pararg); // dmmeta.fuserinit:$field");
} else {
Set(R, "$name", name_Get(field));
Ins(&R, text, "$name_Userinit($pararg); // dmmeta.fuserinit:$field");
}
}
}ind_end;

Expand Down
2 changes: 1 addition & 1 deletion cpp/gen/algo_lib_gen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3886,7 +3886,7 @@ void algo_lib::FDb_Init() {
(void)Charset_ReadStrptrPlain(_db.SsimBreakName, "[]{}()\t \r\n:");
(void)Charset_ReadStrptrPlain(_db.SsimBreakValue, "[]{}()\t \r\n");
(void)Charset_ReadStrptrMaybe(_db.SsimQuotesafe, "a-zA-Z0-9_;&*^%$@.!:,+/-");
_db_Userinit(); // dmmeta.fuserinit:algo_lib.FDb._db
Userinit(); // dmmeta.fuserinit:algo_lib.FDb._db
// initialize LAry imtable (algo_lib.FDb.imtable)
_db.imtable_n = 0;
memset(_db.imtable_lary, 0, sizeof(_db.imtable_lary)); // zero out all level pointers
Expand Down
2 changes: 1 addition & 1 deletion cpp/lib/algo/lib.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -719,7 +719,7 @@ void algo_lib::EndStep() {
algo_lib::_db.step_limit.value = 0;
}

void algo_lib::_db_Userinit() {
void algo_lib::Userinit() {
algo_lib::_db.last_signal = 0;
ind_beg_aryptr(cstring, str, algo_lib::temp_strings_Getary()) {
ch_Reserve(str, 256);
Expand Down
3 changes: 2 additions & 1 deletion cpp/src_func/edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,10 @@ void src_func::Main_EditFunc() {

void src_func::Main_CreateMissing() {
ind_beg(_db_userfunc_curs,userfunc,_db) {
src_func::FUserfunc *alias = ind_userfunc_cppname_Find(userfunc.cppname);
if (!zd_func_EmptyQ(userfunc)) {
// instances exist
} else if (ind_userfunc_cppname_Find(userfunc.cppname)!=NULL) {
} else if (alias && alias!=&userfunc) {
// instances don't exist...
// but another function with the same cpp name exists.
// this means we can't reliably determine if the function is missing
Expand Down
3 changes: 2 additions & 1 deletion include/algo.h
Original file line number Diff line number Diff line change
Expand Up @@ -1993,7 +1993,8 @@ namespace algo_lib { // update-hdr
// Calling this function may be necessary when it becomes known that
// no further progress can be made by the step function.
void EndStep();
void _db_Userinit();
// (user-implemented function, prototype is in amc-generated header)
// void Userinit(); // fuserinit:algo_lib.FDb._db

// -------------------------------------------------------------------
// cpp/lib/algo/line.cpp -- Line processing
Expand Down
8 changes: 4 additions & 4 deletions txt/lib/algo_lib/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -727,6 +727,10 @@ tempstr algo_lib::Tuple_Subst(algo_lib::Replscope &R, strptr text)
void algo_lib::UpdateRate(algo::I64Rate &rate, i64 val)
```

```c++
void algo_lib::Userinit()
```

```c++
int WCOREDUMP(int status)
```
Expand Down Expand Up @@ -765,10 +769,6 @@ bool algo_lib::WritePid(algo_lib::FLockfile &lockfile)
template<class T> inline T &algo::aryptr<T>::operator [](u32 idx) const
```

```c++
void algo_lib::_db_Userinit()
```

```c++
inline u32 _mm_crc32_u16(u32 prev, u16 val)
```
Expand Down