* bug#11139: 24.0.94; inappropriate `face' property for `apropos*' button types
@ 2012-03-31 17:27 Drew Adams
2012-04-01 0:50 ` Wolfgang Jenkner
0 siblings, 1 reply; 2+ messages in thread
From: Drew Adams @ 2012-03-31 17:27 UTC (permalink / raw)
To: 11139
Here's the thing: Users can customize faces.
That seems to get forgotten sometimes.
In the case of an Apropos buffer, Emacs defines multiple button types,
and all but one of them use _hard-coded_ faces. And there are
additional places where particular faces are hard-coded in `apropos.el'.
This hard-coding is a no-no.
Why? Because USERS CAN CUSTOMIZE FACES.
A user might well customize some of the faces that you use here in a
hard-coded way. Those customizations might make sense for typical uses
of those faces (e.g. font-locking for code), but the result in this
buffer might be awful.
You, writing apropos.el, cannot foresee all of the possibilities. But
you can foresee that users will want to customize the appearance of
Apropos buffers. And they deserve to be able to do that easily.
Please, please provide a way for users to customize the display of
Apropos itself. Add apropos-specific deffaces or face-valued defcustoms
for each of the faces that the Apropos display uses.
Set their default values to whatever you like, including perhaps
font-lock faces. But please stop hard-coding faces, depriving users of
the ability to control the appearance (without resorting to redefining
the Emacs source code).
A face should almost never be hard-coded, fixing Emacs's appearance in
concrete. Please think of the users and of Emacs's mission to be
customizable by them. It is hard to believe that this kind of thing is
still going on. This is 2012, not 1980.
In GNU Emacs 24.0.94.1 (i386-mingw-nt5.1.2600)
of 2012-03-19 on MARVIN
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
`configure --with-gcc (4.6) --no-opt --enable-checking --cflags
-ID:/devel/emacs/libs/libXpm-3.5.8/include
-ID:/devel/emacs/libs/libXpm-3.5.8/src
-ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
-ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
-ID:/devel/emacs/libs/giflib-4.1.4-1/include
-ID:/devel/emacs/libs/jpeg-6b-4/include
-ID:/devel/emacs/libs/tiff-3.8.2-1/include
-ID:/devel/emacs/libs/gnutls-3.0.9/include'
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#11139: 24.0.94; inappropriate `face' property for `apropos*' button types
2012-03-31 17:27 bug#11139: 24.0.94; inappropriate `face' property for `apropos*' button types Drew Adams
@ 2012-04-01 0:50 ` Wolfgang Jenkner
0 siblings, 0 replies; 2+ messages in thread
From: Wolfgang Jenkner @ 2012-04-01 0:50 UTC (permalink / raw)
To: Drew Adams; +Cc: 11139
On Sat, Mar 31 2012, Drew Adams wrote:
> A face should almost never be hard-coded, fixing Emacs's appearance in
> concrete. Please think of the users and of Emacs's mission to be
> customizable by them. It is hard to believe that this kind of thing is
> still going on. This is 2012, not 1980.
May I ask a rhetorical question: What's wrong with
#+begin_src emacs-lisp
(add-hook 'apropos-mode-hook
(lambda ()
(face-remap-set-base 'italic '(:reverse-video t))))
#+end_src
It's rhetorical because you already made it clear that a new load of
defface's or defcustom's would be the proper way to handle the issue.
My question is also rhetorical and hypocritical because I really just
wanted to seize on the opportunity to say that some people don't
actually enjoy wading through an ever growing plethora of options and
faces.
On the other hand, they revel in general mechanisms like face-remap-*.
YMMV ;-)
Wolfgang
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-04-01 0:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-31 17:27 bug#11139: 24.0.94; inappropriate `face' property for `apropos*' button types Drew Adams
2012-04-01 0:50 ` Wolfgang Jenkner
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.