From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#27238: 24.5; Rename `face-spec-set-2' and give it a better doc string Date: Mon, 5 Jun 2017 09:40:18 -0700 (PDT) Message-ID: <2ceee035-593d-4831-be30-06443ba3bc92@default> References: <<<<<06a7cc83-a2a8-45a0-97d4-bd3a478aab92@default>>>>> <<<<<83wp8ra9g6.fsf@gnu.org>>>>> <<<<26a213b3-908e-43b1-a009-b8a18f0a1c23@default>>>> <<<<83tw3v9njh.fsf@gnu.org>>>> <<>> <<<83lgp6a257.fsf@gnu.org>>> <<139eede5-534a-47ad-805a-bad9995526eb@default>> <<83d1ai9yy1.fsf@gnu.org>> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1496680877 23399 195.159.176.226 (5 Jun 2017 16:41:17 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 5 Jun 2017 16:41:17 +0000 (UTC) Cc: 27238@debbugs.gnu.org To: Eli Zaretskii , Drew Adams Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jun 05 18:41:11 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dHv42-0005W2-4J for geb-bug-gnu-emacs@m.gmane.org; Mon, 05 Jun 2017 18:41:10 +0200 Original-Received: from localhost ([::1]:34316 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dHv44-0000cH-FY for geb-bug-gnu-emacs@m.gmane.org; Mon, 05 Jun 2017 12:41:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52573) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dHv3y-0000c0-Gg for bug-gnu-emacs@gnu.org; Mon, 05 Jun 2017 12:41:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dHv3u-0001qT-IV for bug-gnu-emacs@gnu.org; Mon, 05 Jun 2017 12:41:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:55293) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dHv3u-0001q9-AP for bug-gnu-emacs@gnu.org; Mon, 05 Jun 2017 12:41:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dHv3u-0003j2-0k for bug-gnu-emacs@gnu.org; Mon, 05 Jun 2017 12:41:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 05 Jun 2017 16:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27238 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 27238-submit@debbugs.gnu.org id=B27238.149668082914275 (code B ref 27238); Mon, 05 Jun 2017 16:41:01 +0000 Original-Received: (at 27238) by debbugs.gnu.org; 5 Jun 2017 16:40:29 +0000 Original-Received: from localhost ([127.0.0.1]:57970 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dHv3N-0003iB-7B for submit@debbugs.gnu.org; Mon, 05 Jun 2017 12:40:29 -0400 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:36667) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dHv3L-0003hz-V3 for 27238@debbugs.gnu.org; Mon, 05 Jun 2017 12:40:28 -0400 Original-Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v55GeLt0022146 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 5 Jun 2017 16:40:21 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0021.oracle.com (8.13.8/8.14.4) with ESMTP id v55GeL9f019984 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 5 Jun 2017 16:40:21 GMT Original-Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v55GeK2P031088; Mon, 5 Jun 2017 16:40:20 GMT In-Reply-To: <<83d1ai9yy1.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 12.0.6767.5000 (x86)] X-Source-IP: aserv0021.oracle.com [141.146.126.233] 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: 208.118.235.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:133308 Archived-At: > > The job to do is shown in the code I gave above. And it is > > described in the description I gave: > > > > "set one face (`fringe' or whatever), in only a given frame, > > ^^^^^^^^^^^^^^^^^^^^^ > > to the spec of another face (or to a spec that isn't yet used > > for any face)" > > > > I don't see a "higher-level function" that does that. I don't > > see any function that does, apart from `face-spec-2'. >=20 > Doesn't this boil down to setting the attributes of the target face to > the values of the same attributes of the source face? Yes, of course, which is why `face-spec-set-2' does that: (defun face-spec-set-2 (face frame spec) "Set the face attributes of FACE on FRAME according to SPEC." (let (attrs) (while spec (when (assq (car spec) face-x-resources) =09(push (car spec) attrs) =09(push (cadr spec) attrs)) (setq spec (cddr spec))) (apply 'set-face-attribute face frame (nreverse attrs)))) Which is also why I said, in my first reply to you: Unless you essentially repeat its body, it is the only way ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ to do what it does. Are suggesting that everyone who needs to "set the attributes of the target face to the values of the same attributes of the source face" should just write such an explicit loop (repeat the body of `face-spec-set-2') instead of just calling `face-spec-set-2'? Or are you hinting that there is some other "higher-level function" that already does exactly that? And if there is, why wouldn't `face-spec-set-recalc' use that instead of `face-spec-set-2'?