From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastien Vauban Subject: =?UTF-8?B?UmU6IFtidWc/XSBvcmctY29weS1mYWNlIGRvZXNu4oCZdCBhZGQg?= =?UTF-8?B?ZmFjZXMgdG8gb3JnLWZhY2VzIGN1c3RvbWl6ZSBncm91cA==?= Date: Fri, 29 Aug 2014 13:45:07 +0200 Message-ID: <86k35rldto.fsf@somewhere.org> References: <87tx4yu2su.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: emacs-orgmode-mXXj517/zsQ@public.gmane.org Aaron Ecay wrote: > I=E2=80=99ve noticed that the faces defined by org-copy-face are not adde= d to > the org-faces customize group. This is in accordance with the docstring > of =E2=80=98copy-face=E2=80=99, which says (in part) =E2=80=9CThis functi= on does not copy face > customization data, so NEW-FACE will not be made customizable. Most > Lisp code should not call this function; use `defface' with :inherit > instead.=E2=80=9D > > I think it=E2=80=99s at best an odd surprise and at worst a bug that all = org=E2=80=99s > faces are not accessible from the org-faces customize group. Would > there be any objection to replacing all uses of this function with > :inherit as recommended by the docstring, and removing the org-copy-face > function? > > For reference, here are the uses of the function, as returned by rgrep: > > ./lisp/org-faces.el:431:(org-copy-face 'org-todo 'org-checkbox-statistics= -todo > ./lisp/org-faces.el:434:(org-copy-face 'org-done 'org-checkbox-statistics= -done > ./lisp/org-faces.el:540:(org-copy-face 'org-meta-line 'org-block-begin-li= ne > ./lisp/org-faces.el:543:(org-copy-face 'org-meta-line 'org-block-end-line > ./lisp/org-faces.el:560:(org-copy-face 'org-block 'org-quote > ./lisp/org-faces.el:562:(org-copy-face 'org-block 'org-verse > ./lisp/org-faces.el:600:(org-copy-face 'org-agenda-structure 'org-agenda-= date > ./lisp/org-faces.el:603:(org-copy-face 'org-agenda-date 'org-agenda-date-= today > ./lisp/org-faces.el:607:(org-copy-face 'secondary-selection 'org-agenda-c= locking > ./lisp/org-faces.el:610:(org-copy-face 'org-agenda-date 'org-agenda-date-= weekend > ./lisp/org-faces.el:719:(org-copy-face 'org-time-grid 'org-agenda-current= -time > ./lisp/org-faces.el:791:(org-copy-face 'mode-line 'org-mode-line-clock > ./lisp/org-faces.el:793:(org-copy-face 'mode-line 'org-mode-line-clock-ov= errun I think it's related to an Emacs bug (#16440) which I reported on the Org mailing list in February. As stated by Eli (in http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D16440+): =E2=95=AD=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 Org uses org-copy-face to define the faces that you show in your =E2=94=82 screencast, and org-copy-face assumes the face it inherits from =E2=94=82 already exists. But loading a theme now doesn't create the fac= es, it =E2=94=82 only prepares the data for when the face will be created. So := inherit =E2=94=82 in org-copy-face doesn't do what you expect. =E2=94=82=20 =E2=94=82 I guess either some change is needed in how themes are handled,= or =E2=94=82 org-copy-face needs to change to follow suit. (CC to Bastien f= or =E2=94=82 that.) =E2=95=B0=E2=94=80=E2=94=80=E2=94=80=E2=94=80 In the same functional area, there is also the bug #15298 still pending (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D15298) about "Background color lost when highlighting a string". Best regards, Seb --=20 Sebastien Vauban