From b02e7a74fc938e9b95be076810d3f084bd2fd20a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?D=C3=B3ra=20Kocsis?= <dora@dynare.org>
Date: Thu, 27 Feb 2020 11:47:17 +0100
Subject: [PATCH] fix bug in mapping nested options in set_command_option

In case of nested options (eg: estimation.moments_posterior_density.indicator) the syntax: options_.(gui_auxiliary.command_option_mapping(name)) failed to populate the options_ field.
---
 src/+gui_auxiliary/set_command_option.m | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/+gui_auxiliary/set_command_option.m b/src/+gui_auxiliary/set_command_option.m
index 77745f7..ac7f9ae 100644
--- a/src/+gui_auxiliary/set_command_option.m
+++ b/src/+gui_auxiliary/set_command_option.m
@@ -108,14 +108,19 @@ try
             elseif value == 4
                 options_.(gui_auxiliary.command_option_mapping(name)) = 'FILENAME';
             end
-            
+         
         case 'mcmc_jumping_covariance_file'
             if ~isempty(value) && strcmp(options_.MCMC_jumping_covariance, 'FILENAME')
                 options_.MCMC_jumping_covariance = strrep(value, '.mat', '');
             end
             
         otherwise
-            options_.(gui_auxiliary.command_option_mapping(name)) = value;
+            if isnumeric(value)
+                eval(['options_.' gui_auxiliary.command_option_mapping(name) '=' num2str(value) ';']);
+            else
+                eval_expr = sprintf("options_.%s='%s';", gui_auxiliary.command_option_mapping(name), value);
+                eval(eval_expr);
+            end
     end
 catch
     status = 0;
-- 
GitLab