From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#37774: 27.0.50; new :extend attribute broke visuals of all themes and other packages Date: Fri, 15 Nov 2019 00:42:40 +0200 Message-ID: References: <87o8xwrjba.fsf@bernoul.li> <834kzooo8e.fsf@gnu.org> <877e4d7yzf.fsf@bernoul.li> <83imnvg53q.fsf@gnu.org> <87zhh2ofc9.fsf@bernoul.li> <87k186nsku.fsf@bernoul.li> <83blte7kvc.fsf@gnu.org> <838soi5xm1.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="237103"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 Cc: jonas@bernoul.li, 37774@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Nov 14 23:43:21 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 1iVNpd-000zXD-Ed for geb-bug-gnu-emacs@m.gmane.org; Thu, 14 Nov 2019 23:43:17 +0100 Original-Received: from localhost ([::1]:34270 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iVNpb-0007OH-W4 for geb-bug-gnu-emacs@m.gmane.org; Thu, 14 Nov 2019 17:43:16 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60368) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iVNpQ-0007Mj-1E for bug-gnu-emacs@gnu.org; Thu, 14 Nov 2019 17:43:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iVNpO-00036Q-J0 for bug-gnu-emacs@gnu.org; Thu, 14 Nov 2019 17:43:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:54788) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iVNpO-00036D-Eb for bug-gnu-emacs@gnu.org; Thu, 14 Nov 2019 17:43:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iVNpO-00077m-AZ for bug-gnu-emacs@gnu.org; Thu, 14 Nov 2019 17:43:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Nov 2019 22:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 37774 X-GNU-PR-Package: emacs Original-Received: via spool by 37774-submit@debbugs.gnu.org id=B37774.157377137727376 (code B ref 37774); Thu, 14 Nov 2019 22:43:02 +0000 Original-Received: (at 37774) by debbugs.gnu.org; 14 Nov 2019 22:42:57 +0000 Original-Received: from localhost ([127.0.0.1]:35376 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iVNpJ-00077R-DB for submit@debbugs.gnu.org; Thu, 14 Nov 2019 17:42:57 -0500 Original-Received: from mail-wr1-f45.google.com ([209.85.221.45]:38399) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iVNpB-000777-DR for 37774@debbugs.gnu.org; Thu, 14 Nov 2019 17:42:55 -0500 Original-Received: by mail-wr1-f45.google.com with SMTP id i12so8717869wro.5 for <37774@debbugs.gnu.org>; Thu, 14 Nov 2019 14:42:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=dEpyRdbC3CyEycglGlVtmEXJ00tPqtjL57rsds63MXA=; b=iwm3bjDqSeQS1dVXFHWeYxm95c2YRkbVpgNtb/7zkOK+/gpywgCghZABcFjGqbR17N /EZcG3A4wKHgLLUQbVtSDZvGRzsnAdzXzKSQTaOlLsQKXAFJPlBqJCoc/CjhYIyHoWY2 iexofxVVHHUvbLZDE3veFktFpbRmMcCDgcrjMlmHqpvGJ70bGoG8XdHElChOzca2n/Zw fVh0xOHf8gmj/QlpVQLFlCWtk9iSUPcR+ZiJINdk7TDpZ/Fv3PN1NDztG46/SJyxHh+x lH7pBr61Hht1pRToDBAvG3PZaPw6wrZP0lNO3kfHwWpGgycCCFx/twFUW9cLgsd8QxSs IAgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=dEpyRdbC3CyEycglGlVtmEXJ00tPqtjL57rsds63MXA=; b=eBnRlr4/d6OS4N1gD/pV/LaXlS/rPPPRqOE7zxy3BvARFb+dFHbNG/ScoQfd3wW3nF nX9ED21YfXTYP7ZktwLJJjIFAm6X0/bhQSVL9MCJm0Sk+pEzUN5CzU/rG+3VmHxHgJ9b 8rIjOQSZl0DdzbU84rxOtQAs0GXSj7bzJINuIPJLnehB4qTtOGMQcFI2mu9bXVqk+T4r FprkxNE6xPqaiXmDZRyXaiFJ6Fdt94wjaMC28Ge02eH5DO/Mz6bF1rBapW1+uC1GzuvY o0wzQm0kcTAIHW8TSauTZF9j/9jd+hhi4KCT+NH3oxXAca8Z4oN0aEsqJkzf9nFZLfyI 1XcA== X-Gm-Message-State: APjAAAXhmuPkXXFNJAZcKz8hcqzCNSEX54CpSUw2HDrrwhm5j53HqA9C L6IJFmGUZ6etE9G2eXO9gfcHqzynnFI= X-Google-Smtp-Source: APXvYqw6V0JszeqcDXs83QWBTfdo46WJUd51lx/SYCGNIzj1omvtJ/oh19P5VgfVi77TFubzqNdTJg== X-Received: by 2002:adf:ab41:: with SMTP id r1mr12213776wrc.281.1573771363063; Thu, 14 Nov 2019 14:42:43 -0800 (PST) Original-Received: from [192.168.0.5] ([212.50.117.215]) by smtp.googlemail.com with ESMTPSA id h140sm8770997wme.22.2019.11.14.14.42.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Nov 2019 14:42:42 -0800 (PST) In-Reply-To: <838soi5xm1.fsf@gnu.org> Content-Language: en-US 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:171618 Archived-At: On 14.11.2019 16:41, Eli Zaretskii wrote: >> Cc: 37774@debbugs.gnu.org >> From: Dmitry Gutov >> Date: Thu, 14 Nov 2019 16:14:16 +0200 >> >>> How is :extend different from any other face attribute? >>> >>> The documentation of custom-theme-set-faces says that FACE should be a >>> face spec, like in defface. And the latter does override all the >>> attributes, unless it uses :inherit. >>> >>> So I'm not unsure why you expected something else. >> >> *I* expected that going by your messages here and here: >> >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37774#104 >> >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37774#131 > > That was about custom-set-faces, not custom-theme-set-faces. The > former is a function we write into the user files, so it's hard to > expect anyone to insert :extend there. Okay, I didn't catch the distinction. > custom-theme-set-faces is different: it's code written by theme > authors, so we could expect them to cater to :extend. Lots of themes out there, though. Lots of said authors. Who will have to do a version check and the splat-unquote thing, every one of them. I think that's pretty bad. >> Then the backward compatibility problem is going to be bigger than I >> thought. That's too bad. And my apologies to Jonas. > > We are still discussing, so I see no need for apologies. > > If the backward compatibility (or, rather, transparent DWIM-ish > operation) is the overriding consideration, then you are actually > saying that any face attribute we will introduce in the future will > have to be treated the same? I don't know what attributes we will introduce, and whether the default values will be a departure from the previous behavior like this one is. But please note that having it a face attribute was your choice (or maybe Ergus's). I suggested using a symbol property instead. Though I was admittedly late to the party. Doing it in this way would side-step a number of questions like the ones you just asked. > IOW, we will have to "inherit" it from > the default face definition even if :inherit was not specified? If > so, how does a theme refuse to "inherit" in this way? By setting it to an explicit nil value? Since the default is known, this should have the exact same effect. BTW, does this scheme have a chance of working at all? IIUC, custom-theme-set-faces also handles faces which are not defined at all (yet), so inheriting an attribute from its default value might not be too easy.