From 8178a02c4048cef03952a075f87da91b6ec2ee96 Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Wed, 27 Apr 2022 13:23:10 +0200 Subject: Finally FIXED cloning/to/from scheme to work properly. When using i_key_bind/i_val_bind, a .._clone() function *must* always be defined. Functions .._from and .._toraw is only required when i_keyraw/i_valraw type is defined. --- include/stc/template.h | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'include/stc/template.h') diff --git a/include/stc/template.h b/include/stc/template.h index a523d07c..31360946 100644 --- a/include/stc/template.h +++ b/include/stc/template.h @@ -122,11 +122,10 @@ #ifdef i_key_bind #define i_key i_key_bind - #ifndef i_keyraw - #ifndef i_keyfrom - #define i_keyfrom c_paste(i_key, _clone) - #endif - #else + #ifndef i_keyclone + #define i_keyclone c_paste(i_key, _clone) + #endif + #ifdef i_keyraw #ifndef i_keyfrom #define i_keyfrom c_paste(i_key, _from) #endif @@ -156,7 +155,7 @@ #ifndef i_tag #define i_tag i_key #endif -#if (!defined i_keyfrom && defined i_keydrop) || c_option(c_no_clone) +#if c_option(c_no_clone) #define _i_no_clone #endif #ifndef i_keyfrom @@ -210,11 +209,10 @@ #ifdef i_val_bind #define i_val i_val_bind - #ifndef i_valraw - #ifndef i_valfrom - #define i_valfrom c_paste(i_val, _clone) - #endif - #else + #ifndef i_valclone + #define i_valclone c_paste(i_val, _clone) + #endif + #ifdef i_valraw #ifndef i_valfrom #define i_valfrom c_paste(i_val, _from) #endif -- cgit v1.2.3