Index: openacs-4/packages/acs-lang/tcl/lang-catalog-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/tcl/lang-catalog-procs.tcl,v diff -u -r1.62 -r1.63 --- openacs-4/packages/acs-lang/tcl/lang-catalog-procs.tcl 11 Sep 2024 06:15:48 -0000 1.62 +++ openacs-4/packages/acs-lang/tcl/lang-catalog-procs.tcl 8 Oct 2024 13:35:13 -0000 1.63 @@ -925,21 +925,22 @@ # If we are doing nothing, the only property of the message we might want to update in the db # is the sync_time as we might have discovered that db and file are in sync - array unset edit_array + set edit_array [list] if { $upgrade_status ne "no_upgrade" } { - set edit_array(upgrade_status) $upgrade_status - set edit_array(deleted_p) [string equal $upgrade_status "deleted"] - set edit_array(conflict_p) $conflict_p + lappend edit_array \ + "upgrade_status" $upgrade_status \ + "deleted_p" [string equal $upgrade_status "deleted"] \ + "conflict_p" $conflict_p } - ns_log Debug "lang::catalog::import_messages - invoking lang::message::edit with import_case=\"$import_case\" -update_sync=$update_sync_p $message_key [array get edit_array]" + ns_log Debug "lang::catalog::import_messages - invoking lang::message::edit with import_case=\"$import_case\" -update_sync=$update_sync_p $message_key $edit_array" ad_try { lang::message::edit \ -update_sync=$update_sync_p \ $package_key \ $message_key \ $locale \ - [array get edit_array] + $edit_array } on error {errorMsg} { lappend message_count(errors) $errorMsg set error_p 1 @@ -1024,18 +1025,17 @@ foreach file_path $catalog_files { # Use an ad_try so that parse failure of one file doesn't # cause the import of all files to fail - array unset loop_message_count ad_try { - array set loop_message_count [lang::catalog::import_from_file $file_path] + set loop_message_count [lang::catalog::import_from_file $file_path] } on error {errorMsg} { ad_log Error "The import of file $file_path failed, error message is: $errorMsg" } on ok {r} { - foreach action [array names loop_message_count] { + foreach {action count} $loop_message_count { if { $action ne "errors" } { - set message_count($action) [expr {$message_count($action) + $loop_message_count($action)}] + set message_count($action) [expr {$message_count($action) + $count}] } } - lappend message_count(errors) {*}$loop_message_count(errors) + lappend message_count(errors) {*}[dict get $loop_message_count errors] } } }