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

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

bug#47711: bug#48841: bug#47711: bug#48841: bug#47711: [PATCH VERSION 2]


From: Dmitry Gutov
Subject: bug#47711: bug#48841: bug#47711: bug#48841: bug#47711: [PATCH VERSION 2] Add new `completion-filter-completions` API and deferred highlighting
Date: Fri, 27 Oct 2023 02:35:33 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0

On 27/10/2023 02:27, João Távora wrote:
Dmitry Gutov<dmitry@gutov.dev>  writes:

My understanding is it's due to the judicious call (copy-sequence
orig) that you added before 'put-text-property' is called. While it
seems like a good idea to preserve the original value, when almost all
of obarray matches the current input (which is the current scenario),
a lot of strings will be copied.
You're right, I reproduced the regression.  I thought I had taken out
the copy-sequence, but forgot it there.  In an earlier stage I suspected
that I needed the copy, but I don't think I do.  Please try this new
patch that removes it.  I've also pushed it to the
feature/completion-lazy-hilit branch.

Yep, without copy-sequence the regression is gone. Now the input strings are routinely mutated, though. ;-(

You could do a copy a little later -- after the match succeeds and the score is computed. But for short widely-matching inputs like 'a' that would make little difference.

I also experimented with hash-tables for "external" score storage. But it still comes out a little slower than either of the proposed solutions.





reply via email to

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