eudc: Manipulating local bindings
3.8.1 Manipulating local bindings
---------------------------------
EUDC offers functions that let you set and query variables on a per
server or per protocol basis.
The following predicates allow you to test the existence of
server/protocol local bindings for a particular variable.
-- Function: eudc-server-local-variable-p var
Return non-‘nil’ if VAR has server-local bindings
-- Function: eudc-protocol-local-variable-p var
Return non-‘nil’ if VAR has protocol-local bindings
The following functions allow you to set the value of a variable with
various degrees of locality.
-- Function: eudc-default-set var val
Set the EUDC default value of VAR to VAL. The current binding of
VAR (if local to the current server or protocol) is not changed.
-- Function: eudc-protocol-set var val &optional protocol
Set the binding of VAR local to PROTOCOL to VAL. If omitted,
PROTOCOL defaults to the current value of ‘eudc-protocol’. The
current binding of VAR is changed only if PROTOCOL is omitted.
-- Function: eudc-server-set var val &optional server
Set the binding of VAR local to SERVER to VAL. If omitted, SERVER
defaults to the current value of ‘eudc-server’. The current
binding of VAR is changed only if SERVER is omitted.
-- Function: eudc-set var val
Set the most local (server, protocol or default) binding of VAR to
VAL. The current binding of VAR is also set to VAL.
The following variables allow you to query the various bindings of a
variable (local or non-local).
-- Function: eudc-variable-default-value var
Return the default binding of VAR (outside of a particular server
or protocol local binding). Return ‘unbound’ if VAR has no EUDC
default value.
-- Function: eudc-variable-protocol-value var &optional protocol
Return the value of VAR local to PROTOCOL. Return ‘unbound’ if VAR
has no value local to PROTOCOL. PROTOCOL defaults to
‘eudc-protocol’.
-- Function: eudc-variable-server-value var [server]
Return the value of VAR local to SERVER. Return ‘unbound’ if VAR
has no value local to SERVER. SERVER defaults to ‘eudc-server’.
Changing a protocol-local or server-local value of a variable has no
effect on its current value. The following command is used to
synchronize the current values of variables with their local values
given the current ‘eudc-server’ and ‘eudc-protocol’:
-- Function: eudc-update-local-variables
Update all EUDC variables according to their local settings.