From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Re: Entering emojis Date: Fri, 29 Oct 2021 23:09:10 +0200 Message-ID: <878rybtu6h.fsf@gnus.org> References: <87cznths5j.fsf@gnus.org> <837ddxtimp.fsf@gnu.org> <87h7d15mvi.fsf@gnus.org> <831r45tgu3.fsf@gnu.org> <87cznp5k6p.fsf@gnus.org> <83tuh1rvjt.fsf@gnu.org> <87czno3jmp.fsf@gnus.org> <83bl38s7t5.fsf@gnu.org> <871r440zj1.fsf@gnus.org> <83mtmsq7q1.fsf@gnu.org> <87r1c4x86a.fsf@gnus.org> <83ilxgq6k3.fsf@gnu.org> <87ilxfyl6w.fsf@gnus.org> <87a6irykbn.fsf@gnus.org> <83a6irrfam.fsf@gnu.org> <875ytfx014.fsf@gnus.org> <83v91fpuwy.fsf@gnu.org> <87fssjvgfj.fsf@gnus.org> <83r1c3pqa5.fsf@gnu.org> <87h7cztvdg.fsf@gnus.org> <87cznntuq6.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35907"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: stefankangas@gmail.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Oct 29 23:31:37 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mgZTM-000989-SK for ged-emacs-devel@m.gmane-mx.org; Fri, 29 Oct 2021 23:31:36 +0200 Original-Received: from localhost ([::1]:49756 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mgZTL-0000Xz-Rd for ged-emacs-devel@m.gmane-mx.org; Fri, 29 Oct 2021 17:31:35 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53234) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mgZ7m-00030a-97 for emacs-devel@gnu.org; Fri, 29 Oct 2021 17:09:18 -0400 Original-Received: from quimby.gnus.org ([2a01:4f9:2b:f0f::2]:40730) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mgZ7k-0006Vu-Nt; Fri, 29 Oct 2021 17:09:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=oGGeXzcwKrz9m0y6WfoWBrLtQNYIvpqVndiwuKYBrNg=; b=qozHtJRqsLQP8dhiPlnISvS3VU GaTfZGsa67nDgcmJwyPDpB0pU5PWQtCBCi/oiDelxlYpU9t/O5ivVdIDMHWDwzR+ApdfPIQ1cc3Nf wD12ea+2f2KE1yFWvahudQoWtpUFZRGeJx8VJlIkgfDoVpBK75qC7Py21PVNhgwZmkKc=; Original-Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mgZ7f-0003WL-C7; Fri, 29 Oct 2021 23:09:13 +0200 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAFVBMVEUtKSgeHR1GQjhi WlGSg3LXyrn///+uCZ/EAAAAAWJLR0QGYWa4fQAAAAd0SU1FB+UKHRUFHBEFfuMAAAGnSURBVDjL pZRBk9sgDIUF3t5xm94JpHcb4Xti4N6J0f//Kysg8ZLJ+tCpDplxvkjvGb0A8M+lQBtppJbvxBht uN57NMj6+Sh0iFifuim6+4V6myAbfANYZh34PKjBme87DEgD/1P6CKxPM+P4YkvEI5d+nyVeJZbr gXaavj+AXzS/SO6KF7pi18POKhrBxtVn9TwK8RilvI6T9ATSti45jRV4umf4GWkSenAFfFwrGBLR XUFIN6mhTBNWFA3hiegvMJif2x/H2hErkFuad/HqStYOY7c/s5W6B5bBHUOcwPKT3gHYIu5j3JQt VnV9sQIkA/IxZYXFfJfiIkKU6FwBR1NDGWVaC9fUYmP31cj2fT6zOFx0t/+lEUKn0fbBGGgrnmlt +R+e2xC4bHKhFLCpDPu+lkQWU1ijs6aY2Uf94PE3H1yMAdHPX+A3UQhpM56ui/PTFzixV5a2EcAp 25b1yEip7RLLg1Pdv6CBlEsOjFJ7rkQ9k0yZ1RnUA26AXz1jLJVubPe8J/FUVsVOA/q76SOqiMqF gGjC9nKriI+VrxquE2bu4FGfuFNXAOaabmkAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMTAtMjlU MjE6MDU6MjgrMDA6MDDcjzgbAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTEwLTI5VDIxOjA1OjI4 KzAwOjAwrdKApwAAAABJRU5ErkJggg== X-Now-Playing: Phil Ochs's _Amchitka (1)_: "The Bells" In-Reply-To: <87cznntuq6.fsf@gnus.org> (Lars Ingebrigtsen's message of "Fri, 29 Oct 2021 22:57:21 +0200") Received-SPF: pass client-ip=2a01:4f9:2b:f0f::2; envelope-from=larsi@gnus.org; helo=quimby.gnus.org X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:278246 Archived-At: Lars Ingebrigtsen writes: > And indeed, for that set of code points, internal-char-font and > font-get-glyphs take almost exactly the same time, which is very odd. Or perhaps not! That function does quite a lot of work both when it gets a match and not (allocating vectors and stuff). As a test, I made it return t/nil if fed a character: diff --git a/src/font.c b/src/font.c index 5e761abc5e..3b0309088b 100644 --- a/src/font.c +++ b/src/font.c @@ -5067,6 +5067,14 @@ DEFUN ("font-get-glyphs", Ffont_get_glyphs, Sfont_get_glyphs, 3, 4, 0, } chars = aref_addr (object, ifrom); } + else if (INTEGERP (object)) + { + int c = XFIXNAT (object); + if (font->driver->encode_char (font, c) == FONT_INVALID_CODE) + return Qnil; + else + return Qt; + } else wrong_type_argument (Qarrayp, object); And that made it really, really fast -- like 100x faster in the test case. :-) Should I fix this up and document it? It's perhaps not an ideal interface... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no