1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-26 07:33:47 +00:00

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:
K. Handa 2017-10-15 23:15:47 +09:00
parent a7f154688d
commit f95cd5cd70
2 changed files with 19 additions and 1 deletions

View File

@ -95,7 +95,10 @@ Customizing the value takes effect when you start Emacs next time."
:type '(choice
(const :tag "default" nil)
(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.
(defvar arabic-shape-log nil)

View File

@ -686,6 +686,20 @@ composition_gstring_from_id (ptrdiff_t 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
composition_gstring_p (Lisp_Object gstring)
{
@ -1982,4 +1996,5 @@ See also the documentation of `auto-composition-mode'. */);
defsubr (&Scompose_string_internal);
defsubr (&Sfind_composition_internal);
defsubr (&Scomposition_get_gstring);
defsubr (&Sclear_composition_cache);
}