Up: Server/Protocol Locals [Contents][Index]

#### 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.

Up: Server/Protocol Locals [Contents][Index]