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.