Improve customization of arabic-shaper-ZWNJ-handling.
Make the effect of customizing arabic-shaper-ZWNJ-handling appear immediately. * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set value. * src/composite.c (Fclear_composition_cache): New function. (syms_of_composite): Defsubr it.
This commit is contained in:
parent
a7f154688d
commit
f95cd5cd70
2 changed files with 19 additions and 1 deletions
|
@ -95,7 +95,10 @@ Customizing the value takes effect when you start Emacs next time."
|
||||||
:type '(choice
|
:type '(choice
|
||||||
(const :tag "default" nil)
|
(const :tag "default" nil)
|
||||||
(const :tag "as space" as-space)
|
(const :tag "as space" as-space)
|
||||||
(const :tag "absorb" absorb)))
|
(const :tag "absorb" absorb))
|
||||||
|
:set (lambda (sym val)
|
||||||
|
(set-default sym val)
|
||||||
|
(clear-composition-cache)))
|
||||||
|
|
||||||
;; Record error in arabic-change-gstring.
|
;; Record error in arabic-change-gstring.
|
||||||
(defvar arabic-shape-log nil)
|
(defvar arabic-shape-log nil)
|
||||||
|
|
|
@ -686,6 +686,20 @@ composition_gstring_from_id (ptrdiff_t id)
|
||||||
return HASH_VALUE (h, id);
|
return HASH_VALUE (h, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFUN ("clear-composition-cache", Fclear_composition_cache,
|
||||||
|
Sclear_composition_cache, 0, 0, 0,
|
||||||
|
doc: /* Internal use only.
|
||||||
|
Clear composition cache. */)
|
||||||
|
(void)
|
||||||
|
{
|
||||||
|
Lisp_Object args[] = {QCtest, Qequal, QCsize, make_number (311)};
|
||||||
|
gstring_hash_table = CALLMANY (Fmake_hash_table, args);
|
||||||
|
/* Fixme: We call Fclear_face_cache to force complete re-building of
|
||||||
|
display glyphs. But, it may be better to call this function from
|
||||||
|
Fclear_face_cache instead. */
|
||||||
|
Fclear_face_cache (Qt);
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
composition_gstring_p (Lisp_Object gstring)
|
composition_gstring_p (Lisp_Object gstring)
|
||||||
{
|
{
|
||||||
|
@ -1982,4 +1996,5 @@ See also the documentation of `auto-composition-mode'. */);
|
||||||
defsubr (&Scompose_string_internal);
|
defsubr (&Scompose_string_internal);
|
||||||
defsubr (&Sfind_composition_internal);
|
defsubr (&Sfind_composition_internal);
|
||||||
defsubr (&Scomposition_get_gstring);
|
defsubr (&Scomposition_get_gstring);
|
||||||
|
defsubr (&Sclear_composition_cache);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue