Previous: , Up: Specifiers   [Contents][Index]


48.13 Other Functions for Working with Specifications in a Specifier

Function: copy-specifier specifier &optional dest locale tag-set exact-p how-to-add

This function copies specifier to dest, or creates a new one if dest is nil.

If dest is nil or omitted, a new specifier will be created and the specifications copied into it. Otherwise, the specifications will be copied into the existing specifier in dest.

If locale is nil or the symbol all, all specifications will be copied. If locale is a particular locale, the specification for that particular locale will be copied. If locale is a locale type, the specifications for all locales of that type will be copied. locale can also be a list of locales, locale types, and/or all; this is equivalent to calling copy-specifier for each of the elements of the list. See specifier-spec-list for more information about locale.

Only instantiators where tag-set (a list of zero or more tags) is a subset of (or possibly equal to) the instantiator’s tag set are copied. (The default value of nil is a subset of all tag sets, so in this case no instantiators will be screened out.) If exact-p is non-nil, however, tag-set must be equal to an instantiator’s tag set for the instantiator to be copied.

Optional argument how-to-add specifies what to do with existing specifications in dest. If nil, then whichever locales or locale types are copied will first be completely erased in dest. Otherwise, it is the same as in add-spec-to-specifier.

Function: remove-specifier specifier &optional locale tag-set exact-p

This function removes specification(s) for specifier.

If locale is a particular locale (a buffer, window, frame, device, or the symbol global), the specification for that locale will be removed.

If instead, locale is a locale type (i.e. a symbol buffer, window, frame, or device), the specifications for all locales of that type will be removed.

If locale is nil or the symbol all, all specifications will be removed.

locale can also be a list of locales, locale types, and/or all; this is equivalent to calling remove-specifier for each of the elements in the list.

Only instantiators where tag-set (a list of zero or more tags) is a subset of (or possibly equal to) the instantiator’s tag set are removed. (The default value of nil is a subset of all tag sets, so in this case no instantiators will be screened out.) If exact-p is non-nil, however, tag-set must be equal to an instantiator’s tag set for the instantiator to be removed.

Function: map-specifier specifier func &optional locale maparg

This function applies func to the specification(s) for locale in specifier.

If optional locale is a locale, func will be called for that locale. If locale is a locale type, func will be mapped over all locales of that type. If locale is nil or the symbol all, func will be mapped over all locales in specifier.

Optional ms-maparg will be passed to ms-func.

func is called with four arguments: the specifier, the locale being mapped over, the inst-list for that locale, and the optional maparg. If any invocation of func returns non-nil, the mapping will stop and the returned value becomes the value returned from map-specifier. Otherwise, map-specifier returns nil.

Function: specifier-locale-type-from-locale locale

Given a specifier locale, this function returns its type.


Previous: , Up: Specifiers   [Contents][Index]