From 89695bce3e4f3716cdb2d322cf3efd0fe5454bec Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 1 Sep 2022 11:42:33 +0300 Subject: [PATCH 1/2] Clarify the doc string of 'set-face-attribute' * lisp/faces.el (set-face-attribute): Clarify the issue with resetting attribute values to 'unspecified' for future frames. (Bug#57499) --- lisp/faces.el | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/lisp/faces.el b/lisp/faces.el index 59287ffbbd1..ba33bec70da 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -668,21 +668,28 @@ If FACE is a face-alias, get the documentation for the target face." (defun set-face-attribute (face frame &rest args) "Set attributes of FACE on FRAME from ARGS. -This function overrides the face attributes specified by FACE's -face spec. It is mostly intended for internal use only. +This function overrides the face attributes specified by FACE's face spec. +It is mostly intended for internal use. -If FRAME is nil, set the attributes for all existing frames, as -well as the default for new frames. If FRAME is t, change the -default for new frames only. As an exception, to reset the value -of some attribute to `unspecified' in a way that overrides the -non-`unspecified' value defined by the face's spec in `defface', -for new frames, you must explicitly call this function with FRAME -set to t and the attribute's value set to `unspecified'; just -using FRAME of nil will not affect new frames in this case. +If FRAME is a frame, set the FACE's attributes only for that frame. If +FRAME is nil, set attribute values for all existing frames, as well as +the default for new frames. If FRAME is t, change the default values +of attributes for new frames. -ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a -valid face attribute name. All attributes can be set to -`unspecified'; this fact is not further mentioned below. +ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a valid face +attribute name and VALUE must be a value that is valid for ATTRIBUTE, +as described below for each attribute. + +In addition to the attribute values listed below, all attributes can +also be set to the special value `unspecified', which means the face +doesn't by itself specify a value for the attribute. + +When a new frame is created, attribute values in the FACE's `defface' +spec normally override the `unspecified' values in the FACE's +default attributes. To avoid that, i.e. to cause ATTRIBUTE's value +be reset to `unspecified' when creating new frames, disregarding +what the FACE's face spec says, call this function with FRAME set to +t and the ATTRIBUTE's value set to `unspecified'. The following attributes are recognized: From 917da2641eeeacbb08b0fd35492eeecd3d3c4f0a Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Thu, 1 Sep 2022 11:01:14 +0200 Subject: [PATCH 2/2] Minor doc fix; improve sorting of VC backends * doc/emacs/maintaining.texi (Version Control Systems): Minor doc fix; rearrange list to put git, cvs and subversion at the top. --- doc/emacs/maintaining.texi | 48 +++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index c23907ddfbd..81a24d0587d 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -170,6 +170,30 @@ which it refers to as @dfn{back ends}: @itemize @bullet +@cindex git +@item +Git is a decentralized version control system originally invented by +Linus Torvalds to support development of Linux (his kernel). VC +supports many common Git operations, but others, such as repository +syncing, must be done from the command line. + +@cindex CVS +@item +CVS is the free version control system that was, until circa 2008, +used by the majority of free software projects. Since then, it has +been superseded by newer systems. CVS allows concurrent multi-user +development either locally or over the network. Unlike newer systems, +it lacks support for atomic commits and file moving/renaming. VC +supports all basic editing operations under CVS. + +@cindex SVN +@cindex Subversion +@item +Subversion (svn) is a free version control system designed to be +similar to CVS but without its problems (e.g., it supports atomic +commits of filesets, and versioning of directories, symbolic links, +meta-data, renames, copies, and deletes). + @cindex SCCS @item SCCS was the first version control system ever built, and was long ago @@ -191,30 +215,6 @@ built. It is relatively primitive: it cannot be used over the network, and works at the level of individual files. Almost everything you can do with RCS can be done through VC. -@cindex CVS -@item -CVS is the free version control system that was, until circa 2008, -used by the majority of free software projects. Since then, it has -been superseded by newer systems. CVS allows concurrent multi-user -development either locally or over the network. Unlike newer systems, -it lacks support for atomic commits and file moving/renaming. VC -supports all basic editing operations under CVS. - -@cindex SVN -@cindex Subversion -@item -Subversion (svn) is a free version control system designed to be -similar to CVS but without its problems (e.g., it supports atomic -commits of filesets, and versioning of directories, symbolic links, -meta-data, renames, copies, and deletes). - -@cindex git -@item -Git is a decentralized version control system originally invented by -Linus Torvalds to support development of Linux (his kernel). VC -supports many common Git operations, but others, such as repository -syncing, must be done from the command line. - @cindex hg @cindex Mercurial @item