bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#35689: Customizable char-fold


From: Juri Linkov
Subject: bug#35689: Customizable char-fold
Date: Mon, 24 Jun 2019 23:40:17 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)

>> +(defcustom char-fold-symmetric char-fold--symmetric-default
>> +  "Include symmetric mappings from composite character back to base letter."
>> +  :type 'boolean
>> +  :initialize #'custom-initialize-changed
>> +  :set (lambda (sym val)
>> +         (set-default sym val)
>> +         ;; FIXME: Maybe delay this until after-init-hook,
>> +         ;; to avoid redundant calls to char-fold-make-table.
>> +         (setq char-fold-table (char-fold-make-table)))
>
> OK, here's an uninformed suggestion -- instead of doing all this to
> ensure that we have an updated char-fold-table when the user changes
> these defaults, why not call char-fold-make-table when needed?
>
> That is, instead of the char-fold-table variable, you'd have a
> char-fold-data, which could be, say, something like this:
>
> (defvar char-fold-data :uninitialized)
>
> `char-fold-to-regexp' (and others) would then start with a call to
> char-fold-update which would
>
> be
>
> (let ((new (list :additional char-fold--include-alist-default
>                  :exclude char-fold--exclude-alist-default
>                  ...)))
>   (unless (equal char-fold-data new)
>     (setq char-fold-table (char-fold-make-table)
>           char-fold-data new)))
>
> or something along those lines.  That is, check whether anything has
> changed, and if not, do nothing, but if it has, recompute?

Thanks for the idea, I'll try to use such composite value to detect
updates in one of three variables.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]