From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings via "Emacs development discussions." Newsgroups: gmane.emacs.devel Subject: Re: buffer-face-set changes the fringe, is it a bug? Date: Thu, 9 Jul 2020 09:01:16 +0200 (CEST) Message-ID: References: <2E75863E-82E2-4D61-AD34-0282362C6E99@gnu.org> <835zb2t1t8.fsf@gnu.org> <83lfjwsiin.fsf@gnu.org> <83h7uksehi.fsf@gnu.org> <838sfvs755.fsf@gnu.org> <834kqjrx6v.fsf@gnu.org> <83zh8bqghl.fsf@gnu.org> <83wo3erbga.fsf@gnu.org> <83h7uiqdbj.fsf@gnu.org> Reply-To: Gregory Heytings Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5466"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Alpine 2.21 (NEB 202 2017-01-01) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Jul 09 09:02:09 2020 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 1jtQZN-0001GU-CG for ged-emacs-devel@m.gmane-mx.org; Thu, 09 Jul 2020 09:02:09 +0200 Original-Received: from localhost ([::1]:47564 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jtQZM-0006os-Eq for ged-emacs-devel@m.gmane-mx.org; Thu, 09 Jul 2020 03:02:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34754) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jtQYt-0006Os-Uu for emacs-devel@gnu.org; Thu, 09 Jul 2020 03:01:39 -0400 Original-Received: from mx.sdf.org ([205.166.94.24]:63892) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jtQYr-00050J-Mi for emacs-devel@gnu.org; Thu, 09 Jul 2020 03:01:39 -0400 Original-Received: from sdf.org (IDENT:ghe@faeroes.freeshell.org [205.166.94.9]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 06971JxZ008264 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Thu, 9 Jul 2020 07:01:20 GMT Original-Received: (from ghe@localhost) by sdf.org (8.15.2/8.12.8/Submit) id 06971JkM015646; Thu, 9 Jul 2020 07:01:19 GMT In-Reply-To: Received-SPF: pass client-ip=205.166.94.24; envelope-from=ghe@sdf.org; helo=mx.sdf.org X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/09 03:01:35 X-ACL-Warn: Detected OS = ??? X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-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:252790 Archived-At: > > > > It is not recommended to omit the @var{face}, as an omitted > > > @var{face} leads to unexpected behavior. > > Why not make that an error instead? > Another possibility, which I didn't think about earlier, would be to (implicitly) use an empty face, that is, to make omitting the face equivalent to specifying an empty face in xdisp.c:handle_single_display_spec(). This works perfectly well: (defface empty-face '((t nil)) "") (set-face-attribute 'fringe nil :background "red" :foreground "yellow") (overlay-put (make-overlay (point) (point)) 'before-string (propertize "_" 'display `(left-fringe question-mark empty-face))) (text-scale-adjust -1) (text-scale-adjust +1) Gregory