From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#17052: substitute-command-keys strips text properties Date: Mon, 19 Aug 2019 18:27:32 +0300 Message-ID: <83tvadkwez.fsf@gnu.org> References: <871rxns0vz.fsf@mouse.gnus.org> <1xh86jb494.fsf@fencepost.gnu.org> <87tvaj6vfi.fsf@mouse.gnus.org> <83sgq2peb5.fsf@gnu.org> <87h86iuk39.fsf@mouse.gnus.org> <83d0h2mlwh.fsf@gnu.org> <87zhk63xig.fsf@mouse.gnus.org> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="38415"; mail-complaints-to="usenet@blaine.gmane.org" Cc: lekktu@gmail.com, stefan@marxist.se, 8951@debbugs.gnu.org, 17052@debbugs.gnu.org To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Aug 19 17:28:14 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hzjZs-0009pT-JU for geb-bug-gnu-emacs@m.gmane.org; Mon, 19 Aug 2019 17:28:12 +0200 Original-Received: from localhost ([::1]:54484 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1hzjZq-0001IU-UK for geb-bug-gnu-emacs@m.gmane.org; Mon, 19 Aug 2019 11:28:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55470) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1hzjZj-0001FD-9W for bug-gnu-emacs@gnu.org; Mon, 19 Aug 2019 11:28:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hzjZi-0000yM-8Z for bug-gnu-emacs@gnu.org; Mon, 19 Aug 2019 11:28:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:51612) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hzjZi-0000y3-4Q for bug-gnu-emacs@gnu.org; Mon, 19 Aug 2019 11:28:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hzjZh-0001nt-L3 for bug-gnu-emacs@gnu.org; Mon, 19 Aug 2019 11:28:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 19 Aug 2019 15:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17052 X-GNU-PR-Package: emacs Original-Received: via spool by 17052-submit@debbugs.gnu.org id=B17052.15662284676916 (code B ref 17052); Mon, 19 Aug 2019 15:28:01 +0000 Original-Received: (at 17052) by debbugs.gnu.org; 19 Aug 2019 15:27:47 +0000 Original-Received: from localhost ([127.0.0.1]:60432 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hzjZS-0001nT-Sn for submit@debbugs.gnu.org; Mon, 19 Aug 2019 11:27:47 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:43013) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hzjZN-0001n2-0m; Mon, 19 Aug 2019 11:27:41 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:55118) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hzjZH-0000f6-Jc; Mon, 19 Aug 2019 11:27:35 -0400 Original-Received: from [176.228.60.248] (port=4300 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hzjZC-0003E3-0L; Mon, 19 Aug 2019 11:27:33 -0400 In-reply-to: <87zhk63xig.fsf@mouse.gnus.org> (message from Lars Ingebrigtsen on Sun, 18 Aug 2019 15:43:35 -0700) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:165384 Archived-At: > From: Lars Ingebrigtsen > Cc: Stefan Kangas , 17052@debbugs.gnu.org, > lekktu@gmail.com, 8951@debbugs.gnu.org > Date: Sun, 18 Aug 2019 15:43:35 -0700 > > But if you look at that function in particular, it's written in a very > C-ey fashion, what with copying over characters one by one etc. It > could be rewritten (in C) to use the proper primitives we have that > preserve text properties (Fsubstring etc), but then you'd just end up > with a more long-winded version that would be Lisp-in-C, so we might as > well just rewrite it in Lisp. AFAIU, the problematic parts are not those which copy characters one by one, the problematic parts are those which _substitute_ one text with another. In that case, you need to adjust the text properties or cons them out of thin air.