unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Noam Postavsky <npostavs@gmail.com>, emacs-devel@gnu.org
Subject: Re: Elisp manual: Note that created faces cannot be removed.
Date: Mon, 22 Jul 2019 10:02:09 +0000	[thread overview]
Message-ID: <20190722100209.GA5933@ACM> (raw)
In-Reply-To: <837e8crui6.fsf@gnu.org>

Hello, Eli.

On Sun, Jul 21, 2019 at 05:28:33 +0300, Eli Zaretskii wrote:
> > Date: Sat, 20 Jul 2019 20:26:08 +0000
> > Cc: emacs-devel@gnu.org
> > From: Alan Mackenzie <acm@muc.de>

> > > > I think without some index entries leading to it, this sentence will
> > > > be lost in the ocean of the information in the manual.

> > Well, this page was the first one I scanned whilst seeking a remove-face
> > function.

> > > Also, defface is not the only way of defining a face, unlike what the
> > > proposed text seems to imply.

> > OK.  How about this slightly amended patch?

> Fine with me, thanks.

Sorry to go on about this (trivial) point, but I'm not happy about my
proposed text any more.  With the mechanism pointed out by Noam, it
clearly _is_ possible to undefine a face, but it's unsafe.

So, using "undefine" rather than "remove" (suggested to me by private
email), and inserting the word "safely", I now propose this:

diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 276d60b21a..4ae0bba723 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -2476,6 +2476,10 @@ Defining Faces
 usual procedure is to define a face with @code{defface}, and then use
 its name directly.

+@cindex face (non-removability of)
+Note that once you have defined a face (usually with @code{defface}),
+you cannot later undefine this face safely, except by restarting Emacs.
+
 @defmac defface face spec doc [keyword value]@dots{}
 This macro declares @var{face} as a named face whose default face spec
 is given by @var{spec}.  You should not quote the symbol @var{face},

-- 
Alan Mackenzie (Nuremberg, Germany).



  reply	other threads:[~2019-07-22 10:02 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-20 18:37 Elisp manual: Note that created faces cannot be removed Alan Mackenzie
2019-07-20 18:39 ` Eli Zaretskii
2019-07-20 18:41   ` Eli Zaretskii
2019-07-20 20:26     ` Alan Mackenzie
2019-07-21  2:28       ` Eli Zaretskii
2019-07-22 10:02         ` Alan Mackenzie [this message]
2019-07-22 14:33           ` Eli Zaretskii
2019-07-22 15:18             ` Alan Mackenzie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190722100209.GA5933@ACM \
    --to=acm@muc.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=npostavs@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).