[climacs-cvs] CVS climacs/Doc

thenriksen thenriksen at common-lisp.net
Wed Sep 6 17:42:08 UTC 2006


Update of /project/climacs/cvsroot/climacs/Doc
In directory clnet:/tmp/cvs-serv10579/Doc

Modified Files:
	climacs-user.texi 
Log Message:
Load rectangle.lisp before misc-commands.lisp to silence warning.


--- /project/climacs/cvsroot/climacs/Doc/climacs-user.texi	2006/07/24 17:58:32	1.13
+++ /project/climacs/cvsroot/climacs/Doc/climacs-user.texi	2006/09/06 17:42:08	1.14
@@ -42,6 +42,7 @@
 * Basic editing commands::
 * Different editing modes::
 * Kill ring::
+* Groups::
 * Advanced editing commands::
 * Getting help::
 * Proposal for new buffer/pane relations::
@@ -533,6 +534,94 @@
 objects on a global @emph{kill ring}.
 @cindex kill ring
 
+ at node Groups
+ at chapter Groups
+
+ at menu
+* The group metaphor::
+* Group commands::
+ at end menu
+
+ at node The group metaphor
+ at section The group metaphor
+
+ at climacs{} supports a useful and powerful concept called @emph{groups}.
+ at cindex group
+Groups are conceptually just lists of buffers or files, and when used in
+conjunction with a command, means that the command operates on all
+buffers or files designated by the group. For example, a
+string-replaceable command might perform string-replacement in several
+buffers, and not just the current one. A command that supports
+operations on multiple files or buffers at a time, via groups, is called
+a @emph{group-aware command}.
+ at cindex group-aware command. 
+However, a group is not limited to designating a simple list of static
+elements, the exact elements designated by a group may depend on the
+context in which a group-using command is invoked - for example, a group
+may designate ``all files in the same directory as the current
+buffer''. In this case, the specific files designated by the group can
+change if the user switches to another buffer. Every group has a unique
+name and all references to the group are performed with this name as the
+key.
+
+At all times, Climacs may have an @emph{active group}.
+ at cindex active group
+The active group is used to control the scope of effect of group-aware
+commands - when such a command is executed, it will look at the active
+group to get a list of files and buffers, and perform its operations on
+all elements in the group. The exact behavior of commands with respect
+to groups is dependent on the command itself, though. The act of setting
+the active group is called @emph{selecting a group},
+ at cindex selecting a group
+specifically, selecting the group that is set as the active group. It is
+also possible to deselect the active group, in which case most
+group-aware commands will simply perform their operations on the current
+buffer.
+
+Specifically, there are two different kind of groups - @emph{specific
+groups}
+ at cindex specific groups
+and @emph{persistent groups}.
+ at cindex persistent groups
+Specific groups can be defined by the user through the command
+interface, @pxref{Group commands}. They are simple lists of buffers or
+files, and if a buffer named in a group is killed, it will be removed
+from the group. Creating a buffer with the same name, or the same file,
+will not result in the buffer being re-added to the group. Specific
+groups are also lost when @climacs{} is terminated. Persistent groups,
+on the other hand, are usually pre-defined groups with more complex
+behavior. Their exact list of designated files and buffers is usually
+context-dependent and not calculated until they are needed. It is not
+currently possible to define persistent groups through the command
+interface, though some persistent groups support user-defined filters
+and options. When a persistent group is selected as the active group, it
+may query the user for values - for example, a persistent group
+designating all files in a given directory, may ask the user for a
+directory when it is selected.
+
+ at node Group commands
+ at section Group commands
+
+Specific groups can be defined by using the order @kbd{C-x g d}
+ at kindex C-x g d
+(@command{Define Group}). You will be queried for a name for the group
+and a list of buffers, and a group with the specified name and buffers
+will be created and selected as the active group. Alternatively, you can
+use the order @kbd{C-x g f}
+ at kindex C-x g f
+(@command{Define File Group}, which will query for files instead of
+buffers. If you wish to select an already existing group (persistent or
+specific) as the active group, you can use the order @kbd{C-x g s}.
+ at kindex C-x g s
+You can deselect the active group with the order @kbd{C-x g u}
+ at kindex C-x g u
+(@command{Deselect Group}) - this will usually make all group-aware
+commands operate on just the current buffer. To see which group is the
+active group, use the order @kbd{C-x g c}
+ at kindex C-x g c
+(@command{Current Group}), and to see the buffers and files designated
+by the active group, use @kbd{C-x g l} (@command{List Group Contents}).
+
 @node Advanced editing commands
 @chapter Advanced editing commands
 




More information about the Climacs-cvs mailing list