Hi, i have a question about the use of the function scm_remember_upto_here_1.
The Guile manual says: "It’s only in quite rare circumstances that a missing scm_remember_upto_here_1 will bite, but when it happens the consequences are serious. Fortunately the rule is simple: whenever calling a Guile library function or doing something that might, ensure that the SCM of a smob is referenced past all accesses to its insides. Do this by adding an scm_ remember_upto_here_1 if there are no other references." In the example code the clean_image function does call scm_remember_upto_here_1 after accessing data in the smob, however the function print_image does not, and access the name member of the image. If i don't call a Guile library function, but i modify a value inside the smob, do i have tu call this function? In the case of the print_image function, a scm_display is called with a SCM value inside the smob, that's why they didn't call scm_remember_upto_here_1 ? When is necessary to call this function?
