Now on revision 105092. ------------------------------------------------------------ revno: 105092 committer: Chong Yidong branch nick: trunk timestamp: Sun 2011-07-10 23:38:49 -0400 message: Update Killing chapter of manual for Emacs 24 clipboard changes. * doc/emacs/frames.texi: Move Cut and Paste node and subnodes into killing.texi, except Mouse Commands and Word and Line Mouse. * doc/emacs/killing.texi (Killing, Deletion and Killing, Killing by Lines) (Other Kill Commands, Kill Options): Copyedits. (Deletion and Killing, Kill Ring): Kill/yank now use clipboard. (Yanking): Move yank-excluded properties discussion here. (Cut and Paste): Move from frames.texi. Update subnodes to describe x-select-enable-clipboard case. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2011-07-10 18:35:59 +0000 +++ doc/emacs/ChangeLog 2011-07-11 03:38:49 +0000 @@ -1,3 +1,15 @@ +2011-07-11 Chong Yidong + + * killing.texi (Killing, Deletion and Killing, Killing by Lines) + (Other Kill Commands, Kill Options): Copyedits. + (Deletion and Killing, Kill Ring): Kill/yank now use clipboard. + (Yanking): Move yank-excluded properties discussion here. + (Cut and Paste): Move from frames.texi. Update subnodes to + describe x-select-enable-clipboard case. + + * frames.texi: Move Cut and Paste node and subnodes into + killing.texi, except Mouse Commands and Word and Line Mouse. + 2011-07-10 Andy Moreton (tiny change) * makefile.w32-in (EMACSSOURCES): Replace major.texi with modes.texi. === modified file 'doc/emacs/emacs.texi' --- doc/emacs/emacs.texi 2011-07-10 04:05:33 +0000 +++ doc/emacs/emacs.texi 2011-07-11 03:38:49 +0000 @@ -167,6 +167,7 @@ * Mark:: The mark: how to delimit a ``region'' of text. * Killing:: Killing (cutting) text. * Yanking:: Recovering killed text. Moving text. (Pasting.) +* Cut and Paste:: Clipboard and selections on graphical displays. * Accumulating Text:: Other ways of copying text. * Rectangles:: Operating on text in rectangular areas. * CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} to kill and yank. @@ -329,6 +330,12 @@ * Appending Kills:: Several kills in a row all yank together. * Earlier Kills:: Yanking something killed some time ago. +Killing and Yanking on Graphical Displays + +* Clipboard:: How Emacs interacts with the system clipboard. +* Primary Selection:: The temporarily selected text selection. +* Secondary Selection:: Cutting without altering point and mark. + Registers * RegPos:: Saving positions in registers. @@ -493,7 +500,8 @@ Frames and Graphical Displays -* Cut and Paste:: Mouse commands for cut and paste. +* Mouse Commands:: Moving, cutting, and pasting, with the mouse. +* Word and Line Mouse:: Mouse commands for selecting whole words or lines. * Mouse References:: Using the mouse to select an item from a list. * Menu Mouse Clicks:: Mouse clicks that bring up menus. * Mode Line Mouse:: Mouse clicks on the mode line. @@ -515,14 +523,6 @@ * Non-Window Terminals:: Multiple frames on terminals that show only one. * Text-Only Mouse:: Using the mouse in text-only terminals. -Killing and Yanking on Graphical Displays - -* Mouse Commands:: Moving, cutting, and pasting, with the mouse. -* Word and Line Mouse:: Mouse commands for selecting whole words or lines. -* Cut/Paste Other App:: Transfering text between Emacs and other apps. -* Secondary Selection:: Cutting without altering point and mark. -* Clipboard:: Using the clipboard for selections. - International Character Set Support * International Chars:: Basic concepts of multibyte characters. === modified file 'doc/emacs/frames.texi' --- doc/emacs/frames.texi 2011-07-02 13:17:06 +0000 +++ doc/emacs/frames.texi 2011-07-11 03:38:49 +0000 @@ -33,7 +33,8 @@ @end ifnottex @menu -* Cut and Paste:: Mouse commands for cut and paste. +* Mouse Commands:: Moving, cutting, and pasting, with the mouse. +* Word and Line Mouse:: Mouse commands for selecting whole words or lines. * Mouse References:: Using the mouse to select an item from a list. * Menu Mouse Clicks:: Mouse clicks that bring up menus. * Mode Line Mouse:: Mouse clicks on the mode line. @@ -56,22 +57,8 @@ * Text-Only Mouse:: Using the mouse in text-only terminals. @end menu -@node Cut and Paste -@section Cutting and Pasting on Graphical Displays - - This section describes commands for selecting a region, cutting, and -pasting using the mouse. - -@menu -* Mouse Commands:: Moving, cutting, and pasting, with the mouse. -* Word and Line Mouse:: Mouse commands for selecting whole words or lines. -* Cut/Paste Other App:: Transfering text between Emacs and other apps. -* Secondary Selection:: Cutting without altering point and mark. -* Clipboard:: Using the clipboard for selections. -@end menu - @node Mouse Commands -@subsection Mouse Commands for Editing +@section Mouse Commands for Editing @cindex mouse buttons (what they do) @kindex Mouse-1 @@ -141,7 +128,7 @@ @kbd{Mouse-2} does not move point. Then it does not matter where you click, or even which of the frame's windows you click on; the yank occurs at the existing point. This variable also affects yanking the -primary and secondary selections (@pxref{Cut/Paste Other App}). +primary and secondary selections (@pxref{Primary Selection}). @findex mouse-save-then-kill Clicking with the right mouse button, @kbd{Mouse-3}, runs the @@ -195,7 +182,7 @@ @xref{Using Region}. @node Word and Line Mouse -@subsection Mouse Commands for Words and Lines +@section Mouse Commands for Words and Lines These variants of @kbd{Mouse-1} select entire words or lines at a time. Emacs activates the region around the selected text, which is @@ -224,164 +211,6 @@ Select the text you drag across, in the form of whole lines. @end table -@node Cut/Paste Other App -@subsection Cut and Paste with Other Window Applications - -@cindex X cutting and pasting -@cindex X selection -@cindex primary selection -@cindex selection, primary - When running Emacs under the X window system, you can easily -transfer text between Emacs and other X applications using the -@dfn{primary selection} (also called the @dfn{X selection}). This is -@emph{not} the same thing as the @dfn{clipboard}, which is a separate -facility used on desktop environments such as Gnome, and on operating -systems such as Microsoft Windows (@pxref{Clipboard}). - - Under X, whenever you select some text in Emacs by dragging or -clicking the mouse (@pxref{Mouse Commands}), it is also saved in the -primary selection. You can then @dfn{paste} that text into any other -X application, usually by clicking @kbd{Mouse-2} in that application. -Unlike the Emacs kill ring (@pxref{Kill Ring}), the primary selection -has no ``memory'': each time you save something in the primary -selection, either in Emacs or in another X application, the previous -contents of the primary selection are lost. - -@cindex MS-Windows, and primary selection - MS-Windows provides no primary selection, but Emacs emulates it -within a single Emacs session, by storing the selected text -internally. Therefore, all the features and commands related to the -primary selection work on Windows as they do on X, for cutting and -pasting within the same session, but not across Emacs sessions or with -other applications. - - Whenever you kill some text using a command such as @kbd{C-w} -(@code{kill-region}), or copy it into the kill ring using a command -such as @kbd{M-w} (@code{kill-ring-save}), that text is also saved in -the primary selection. @xref{Killing}. - -@vindex select-active-regions - If you set the region using the keyboard---for instance, by typing -@kbd{C-@key{SPC}} and moving point away from the mark---the text in -the region is not normally saved to the primary selection. However, -if you change the variable @code{select-active-regions} to @code{t}, -the region is saved to the primary selection whenever you activate the -mark. Each change to the region also updates the primary selection. - -@vindex yank-pop-change-selection - If you change @code{yank-pop-change-selection} to @code{t}, rotating -the kill ring with @kbd{M-y} (@code{yank-pop}) also saves the new yank -to the primary selection (@pxref{Yanking}). - -@vindex save-interprogram-paste-before-kill - If you change @code{save-interprogram-paste-before-kill} to -@code{t}, each kill command first saves the existing selection onto -the kill ring. This prevents you from losing the existing selection, -at the risk of large memory consumption if other applications generate -large selections. - - You can yank the primary selection into Emacs using the usual yank -commands, such as @kbd{C-y} (@code{yank}) and @kbd{Mouse-2} -(@code{mouse-yank-at-click}). These commands actually check the -primary selection before referring to the kill ring; if no primary -selection is available, the kill ring contents are used. To prevent -yank commands from accessing the primary selection, set the variable -@code{x-select-enable-primary} to @code{nil}. - - The standard coding system for the primary selection is -@code{compound-text-with-extensions}. You may find that the pasted -text is not what you expected. In such a case, you can specify -another coding system for the selection by typing @kbd{C-x @key{RET} -x} or @kbd{C-x @key{RET} X}. Alternatively, you can request a -different data type by modifying the variable -@code{x-select-request-type}. @xref{Communication Coding}. - -@node Secondary Selection -@subsection Secondary Selection -@cindex secondary selection - - In addition to the primary selection, the X Window System provides a -second similar facility known as the @dfn{secondary selection}. -Nowadays, few X applications make use of the secondary selection, but -you can access it using the following Emacs commands: - -@table @kbd -@findex mouse-set-secondary -@kindex M-Drag-Mouse-1 -@item M-Drag-Mouse-1 -Set the secondary selection, with one end at the place where you press -down the button, and the other end at the place where you release it -(@code{mouse-set-secondary}). The selected text is highlighted, using -the @code{secondary-selection} face, as you drag. The window scrolls -automatically if you drag the mouse off the top or bottom of the -window, just like @code{mouse-set-region} (@pxref{Mouse Commands}). - -This command does not alter the kill ring. - -@findex mouse-start-secondary -@kindex M-Mouse-1 -@item M-Mouse-1 -Set one endpoint for the @dfn{secondary selection} -(@code{mouse-start-secondary}). - -@findex mouse-secondary-save-then-kill -@kindex M-Mouse-3 -@item M-Mouse-3 -Set the secondary selection, with one end at the position clicked and -the other at the position specified with @kbd{M-Mouse-1} -(@code{mouse-secondary-save-then-kill}). This also puts the selected -text in the kill ring. A second @kbd{M-Mouse-3} at the same place -kills the secondary selection just made. - -@findex mouse-yank-secondary -@kindex M-Mouse-2 -@item M-Mouse-2 -Insert the secondary selection where you click, placing point at the -end of the yanked text (@code{mouse-yank-secondary}). -@end table - -Double or triple clicking of @kbd{M-Mouse-1} operates on words and -lines, much like @kbd{Mouse-1}. - -If @code{mouse-yank-at-point} is non-@code{nil}, @kbd{M-Mouse-2} yanks -at point. Then it does not matter precisely where you click, or even -which of the frame's windows you click on. @xref{Mouse Commands}. - -@node Clipboard -@subsection Using the Clipboard -@cindex clipboard - - In desktop environments such as Gnome, and operating systems such as -Microsoft Windows and Mac OS X, you can transfer data (usually text) -between different applications using the @dfn{clipboard}. The -clipboard is distinct from the primary selection and secondary -selection discussed earlier. You can access the clipboard through the -@samp{Edit} menu of the menu bar (@pxref{Menu Bar}). - -@cindex cut -@findex clipboard-kill-region - The command @code{clipboard-kill-region}, which is bound to the -@code{Cut} menu item, kills the region and saves it in the clipboard. - -@cindex copy -@findex clipboard-kill-ring-save - The command @code{clipboard-kill-ring-save}, which is bound to the -@code{Copy} menu item, copies the region to the kill ring and saves it -in the clipboard. - -@findex clipboard-yank -@cindex paste - The @code{Paste} menu item in the Edit menu yanks the contents of -the clipboard at point (@code{clipboard-yank}). - -@vindex x-select-enable-clipboard - You can customize the variable @code{x-select-enable-clipboard} to -make the Emacs yank functions consult the clipboard before the primary -selection, and to make the kill functions to store in the clipboard as -well as the primary selection. Otherwise, these commands do not -access the clipboard at all. Using the clipboard is the default on -MS-Windows and Mac OS, but not on other systems. - @node Mouse References @section Following References with the Mouse @kindex Mouse-1 @r{(selection)} === modified file 'doc/emacs/killing.texi' --- doc/emacs/killing.texi 2011-07-10 03:11:47 +0000 +++ doc/emacs/killing.texi 2011-07-11 03:38:49 +0000 @@ -6,17 +6,21 @@ @node Killing, Registers, Mark, Top @chapter Killing and Moving Text - @dfn{Killing} means erasing text and copying it into the @dfn{kill -ring}, from which you can bring it back into the buffer by -@dfn{yanking} it. (Some applications use the terms ``cutting'' and -``pasting'' for similar operations.) This is the most common way of -moving or copying text within Emacs. It is very versatile, because -there are commands for killing many different types of syntactic -units. + In Emacs, @dfn{killing} means erasing text and copying it into the +@dfn{kill ring}. @dfn{Yanking} means bringing text from the kill ring +back into the buffer. (Some applications use the terms ``cutting'' +and ``pasting'' for similar operations.) The kill ring is so-named +because it can be visualized as a set of blocks of text arranged in a +ring, which you can access in cyclic order. @xref{Kill Ring}. + + Killing and yanking are the most common way to move or copy text +within Emacs. It is very versatile, because there are commands for +killing many different types of syntactic units. @menu * Deletion and Killing:: Commands that remove text. * Yanking:: Commands that insert text. +* Cut and Paste:: Clipboard and selections on graphical displays. * Accumulating Text:: Other methods to add text to the buffer. * Rectangles:: Operating on text in rectangular areas. * CUA Bindings:: Using @kbd{C-x}/@kbd{C-c}/@kbd{C-v} to kill and yank. @@ -29,25 +33,28 @@ @cindex cutting text @cindex deletion Most commands which erase text from the buffer save it in the kill -ring. These are known as @dfn{kill} commands. The kill ring stores -several recent kills, not just the last one, so killing is a very safe -operation: when you make a new kill, you don't have to worry much -about losing text that you previously killed. - - You can yank text from the kill ring into any position in a buffer, -including a position in a different buffer; the kill ring is shared by -all buffers. The @kbd{C-/} (@code{undo}) command can undo both kill -and delete commands (@pxref{Undo}); the importance of the kill ring is -that you can yank the text in a different place. +ring. These are known as @dfn{kill} commands, and their names +normally contain the word @samp{kill} (e.g. @code{kill-line}). The +kill ring stores several recent kills, not just the last one, so +killing is a very safe operation: you don't have to worry much about +losing text that you previously killed. The kill ring is shared by +all buffers, so text that is killed in one buffer can be yanked into +another buffer. + + When you use @kbd{C-/} (@code{undo}) to undo a kill command +(@pxref{Undo}), that brings the killed text back into the buffer, but +does not remove it from the kill ring. + + On graphical displays, killing text also copies it to the system +clipboard. @xref{Cut and Paste}. Commands that erase text but do not save it in the kill ring are -known as @dfn{delete} commands. These include @kbd{C-d} -(@code{delete-char}) and @key{DEL} (@code{delete-backward-char}), -which delete only one character at a time, and those commands that -delete only spaces or newlines. Commands that can erase significant -amounts of nontrivial data generally do a kill operation instead. The -commands' names and individual descriptions use the words @samp{kill} -and @samp{delete} to say which kind of operation they perform. +known as @dfn{delete} commands; their names usually contain the word +@samp{delete}. These include @kbd{C-d} (@code{delete-char}) and +@key{DEL} (@code{delete-backward-char}), which delete only one +character at a time, and those commands that delete only spaces or +newlines. Commands that can erase significant amounts of nontrivial +data generally do a kill operation instead. You can also use the mouse to kill and yank. @xref{Cut and Paste}. @@ -127,21 +134,22 @@ @kindex C-k @findex kill-line - The simplest kill command is @kbd{C-k}. If given at the beginning -of a line, it kills all the text on the line@footnote{Here, ``line'' -means a logical text line, not a screen line. @xref{Continuation -Lines}.}, leaving it blank. When used on a blank line, it kills the -whole line including its newline. + The simplest kill command is @kbd{C-k} (@code{kill-line}). If used +at the end of a line, it kills the line-ending newline character, +merging the next line into the current one (thus, a blank line is +entirely removed). Otherwise, @kbd{C-k} kills all the text from point +up to the end of the line; if point was originally at the beginning of +the line, this leaves the line blank. - More precisely, @kbd{C-k} kills from point up to the end of the -line, unless it is at the end of a line. In that case it kills the -newline following point, thus merging the next line into the current -one. Spaces and tabs at the end of the line are ignored when deciding -which case applies, so as long as point is after the last visible + Spaces and tabs at the end of the line are ignored when deciding +which case applies. As long as point is after the last visible character in the line, you can be sure that @kbd{C-k} will kill the newline. To kill an entire non-blank line, go to the beginning and type @kbd{C-k} twice. + In this context, ``line'' means a logical text line, not a screen +line (@pxref{Continuation Lines}). + When @kbd{C-k} is given a positive argument @var{n}, it kills @var{n} lines and the newlines that follow them (text on the current line before point is not killed). With a negative argument @@ -157,10 +165,10 @@ @kindex C-S-backspace @findex kill-whole-line - @kbd{C-S-backspace} (@code{kill-whole-line}) will kill a whole line -including its newline regardless of the position of point within the -line. Note that many character terminals will prevent you from typing -the key sequence @kbd{C-S-backspace}. + @kbd{C-S-backspace} (@code{kill-whole-line}) kills a whole line +including its newline, regardless of the position of point within the +line. Note that many text terminals will prevent you from typing the +key sequence @kbd{C-S-backspace}. @node Other Kill Commands @subsection Other Kill Commands @@ -196,10 +204,8 @@ @kindex M-w @findex kill-ring-save - The command @kbd{M-w} (@code{kill-ring-save}) copies the region into -the kill ring without removing it from the buffer. This is -approximately equivalent to @kbd{C-w} followed by @kbd{C-/}, except -that @kbd{M-w} does not alter the undo history. + @kbd{M-w} (@code{kill-ring-save}) copies the region into the kill +ring without removing it from the buffer. Emacs also provides commands to kill specific syntactic units: words, with @kbd{M-@key{DEL}} and @kbd{M-d} (@pxref{Words}); balanced @@ -220,12 +226,10 @@ @vindex kill-read-only-ok @cindex read-only text, killing Some specialized buffers contain @dfn{read-only text}, which cannot -be modified and therefore cannot be killed. But some users like to -use the kill commands to copy read-only text into the kill ring, -without actually changing it. Therefore, the kill commands work -specially in a read-only buffer: they move over text, and copy it to +be modified and therefore cannot be killed. The kill commands work +specially in a read-only buffer: they move over text and copy it to the kill ring, without actually deleting it from the buffer. -Normally, kill commands beep and display an error message when this +Normally, they also beep and display an error message when this happens. But if you set the variable @code{kill-read-only-ok} to a non-@code{nil} value, they just print a message in the echo area to explain why the text has not been erased. @@ -257,10 +261,16 @@ Append next kill to last batch of killed text (@code{append-next-kill}). @end table - On graphical displays with window systems, if there is a current -selection in some other application, and you selected it more recently -than you killed any text in Emacs, @kbd{C-y} copies the selection -instead of text killed within Emacs. +@cindex yanking and text properties +@vindex yank-excluded-properties + The yank commands discard certain properties from the yanked text. +These are properties that might lead to annoying results, such as +causing the text to respond to the mouse or specifying key bindings. +The list of properties to discard is stored in the variable +@code{yank-excluded-properties}. These properties are also discarded +when yanking register contents and rectangles. @xref{Text +Properties,,, elisp, the Emacs Lisp Reference Manual}, for more +information about text properties. @menu * Kill Ring:: Where killed text is stored. Basic yanking. @@ -271,38 +281,34 @@ @node Kill Ring @subsection The Kill Ring - All killed text is recorded in the @dfn{kill ring}, a list of blocks -of text that have been killed. There is only one kill ring, shared by -all buffers, so you can kill text in one buffer and yank it in another -buffer. This is the usual way to move text from one file to another. -(There are several other methods: for instance, you could store the -text in a register. @xref{Registers}, for information about -registers. @xref{Accumulating Text}, for some other ways to move text -around.) + The @dfn{kill ring} is a list of blocks of text that were previously +killed. There is only one kill ring, shared by all buffers, so you +can kill text in one buffer and yank it in another buffer. This is +the usual way to move text from one file to another. (There are +several other methods: for instance, you could store the text in a +register; see @ref{Registers}. @xref{Accumulating Text}, for some +other ways to move text around.) @kindex C-y @findex yank - The command @kbd{C-y} (@code{yank}) reinserts the text of the most -recent kill, leaving the cursor at the end of the text. It also adds -the position of the beginning of the text to the mark ring, without -activating the mark; this allows you to jump easily to that position -with @kbd{C-x C-x} (@pxref{Setting Mark}). With a plain prefix -argument (@kbd{C-u C-y}), it instead leaves the cursor in front of the -text, and adds the position of the end of the text to the mark ring. -Using other sort of prefix argument specifies an earlier kill; for -example, @kbd{C-u 4 C-y} reinserts the fourth most recent kill. -@xref{Earlier Kills}. - -@cindex yanking and text properties -@vindex yank-excluded-properties - The yank commands discard certain properties from the yanked text. -These are properties that might lead to annoying results, such as -causing the text to respond to the mouse or specifying key bindings. -The list of properties to discard is stored in the variable -@code{yank-excluded-properties}. Yanking of register contents and -rectangles also discard these properties. @xref{Text Properties,,, -elisp, the Emacs Lisp Reference Manual}, for more information about -text properties. + @kbd{C-y} (@code{yank}) reinserts the text of the most recent kill, +leaving the cursor at the end of the text. It also adds the position +of the beginning of the text to the mark ring, without activating the +mark; this allows you to jump easily to that position with @kbd{C-x +C-x} (@pxref{Setting Mark}). + + On graphical displays, @kbd{C-y} first checks if another application +has placed any text in the system clipboard more recently than the +last Emacs kill. If so, it inserts from the clipboard instead of the +kill ring. Conceptually, you can think of the clipboard as an +``extra'' entry in the kill ring, which is present if you recently cut +or copied some text in another application. @xref{Cut and Paste}. + + With a plain prefix argument (@kbd{C-u C-y}), the @code{yank} +command instead leaves the cursor in front of the text, and adds the +position of the end of the text to the mark ring. Using any other +prefix argument specifies an earlier kill; for example, @kbd{C-u 4 +C-y} reinserts the fourth most recent kill. @xref{Earlier Kills}. @node Appending Kills @subsection Appending Kills @@ -418,6 +424,177 @@ @code{kill-ring}; you can view the entire contents of the kill ring with the command @kbd{C-h v kill-ring}. +@node Cut and Paste +@section ``Cut and Paste'' Operations on Graphical Displays +@cindex cut +@cindex copy +@cindex paste + + In most graphical desktop environments, you can transfer data +(usually text) between different applications using a system facility +called the @dfn{clipboard}. On X, two other similar facilities are +available: the primary selection and the secondary selection. When +Emacs is run on a graphical display, its kill and yank commands +integrate with these facilities, so that you can easily transfer text +between Emacs and other graphical applications. + + By default, Emacs uses UTF-8 as the coding system for inter-program +text transfers. If you find that the pasted text is not what you +expected, you can specify another coding system by typing @kbd{C-x +@key{RET} x} or @kbd{C-x @key{RET} X}. You can also request a +different data type by customizing @code{x-select-request-type}. +@xref{Communication Coding}. + +@menu +* Clipboard:: How Emacs uses the system clipboard. +* Primary Selection:: The temporarily selected text selection. +* Secondary Selection:: Cutting without altering point and mark. +@end menu + +@node Clipboard +@subsection Using the Clipboard +@cindex clipboard + + The @dfn{clipboard} is the facility that most graphical applications +use for ``cutting and pasting''. When the clipboard exists, the kill +and yank commands in Emacs make use of it. + + When you kill some text with a command such as @kbd{C-w} +(@code{kill-region}), or copy it to the kill ring with a command such +as @kbd{M-w} (@code{kill-ring-save}), that text is also put in the +clipboard. @xref{Killing}. + +@vindex save-interprogram-paste-before-kill + When an Emacs kill command puts text in the clipboard, the existing +clipboard contents are normally lost. Optionally, you can change +@code{save-interprogram-paste-before-kill} to @code{t}. Then Emacs +will first save the clipboard to its kill ring, preventing you from +losing the old clipboard data---at the risk of high memory consumption +if that data turns out to be large. + + The usual yank commands, such as @kbd{C-y} (@code{yank}), also use +the clipboard. If another application ``owns'' the clipboard---i.e., +if you cut or copied text there more recently than your last kill +command in Emacs---then Emacs yanks from the clipboard instead of the +kill ring. Otherwise, it yanks from the kill ring, as described in +@ref{Yanking}. + +@vindex yank-pop-change-selection + Normally, rotating the kill ring with @kbd{M-y} (@code{yank-pop}) +does not alter the clipboard. However, if you change +@code{yank-pop-change-selection} to @code{t}, then @kbd{M-y} saves the +new yank to the clipboard. + +@vindex x-select-enable-clipboard + To prevent kill and yank commands from accessing the clipboard, +change the variable @code{x-select-enable-clipboard} to @code{nil}. + +@vindex x-select-enable-primary +@findex clipboard-kill-region +@findex clipboard-kill-ring-save +@findex clipboard-yank + Prior to Emacs 24, the kill and yank commands used the primary +selection (@pxref{Primary Selection}), not the clipboard. If you +prefer this behavior, change @code{x-select-enable-clipboard} to +@code{nil}, @code{x-select-enable-primary} to @code{t}, and +@code{mouse-drag-copy-region} to @code{t}. In this case, you can use +the following commands to act explicitly on the clipboard: +@code{clipboard-kill-region} kills the region and saves it to the +clipboard; @code{clipboard-kill-ring-save} copies the region to the +kill ring and saves it to the clipboard; and @code{clipboard-yank} +yanks the contents of the clipboard at point. + +@node Primary Selection +@subsection Cut and Paste with Other Window Applications +@cindex X cutting and pasting +@cindex X selection +@cindex primary selection +@cindex selection, primary + + Under the X window system, there exists a @dfn{primary selection} +containing the last stretch of text selected in an X application +(usually by dragging the mouse). Typically, this text can be inserted +into other X applications by @kbd{mouse-2} clicks. The primary +selection is separate from the clipboard (@pxref{Clipboard}). Its +contents are more ``fragile''; they are overwritten by any mouse +selection, whereas the clipboard is only overwritten by explicit +``cut'' or ``copy'' commands. + + Under X, whenever you select some text in Emacs by dragging or +clicking the mouse (@pxref{Mouse Commands}), it is also saved to the +primary selection. + +@vindex select-active-regions + If you set the region using the keyboard---for instance, by typing +@kbd{C-@key{SPC}} and moving point away from the mark---the text in +the region is also saved to the primary selection. (The updating of +the primary selection is done at the end of each command, as long as +the region is active and non-empty.) To disable this behavior, change +the variable @code{select-active-regions} to @code{nil}. + + To insert the primary selection into an Emacs buffer, click +@kbd{mouse-2} (@code{mouse-yank-primary}) where you want to insert it. +@xref{Mouse Commands}. + +@cindex MS-Windows, and primary selection + MS-Windows provides no primary selection, but Emacs emulates it +within a single Emacs session by storing the selected text internally. +Therefore, all the features and commands related to the primary +selection work on Windows as they do on X, for cutting and pasting +within the same session, but not across Emacs sessions or with other +applications. + +@node Secondary Selection +@subsection Secondary Selection +@cindex secondary selection + + In addition to the primary selection, the X Window System provides a +second similar facility known as the @dfn{secondary selection}. +Nowadays, few X applications make use of the secondary selection, but +you can access it using the following Emacs commands: + +@table @kbd +@findex mouse-set-secondary +@kindex M-Drag-Mouse-1 +@item M-Drag-Mouse-1 +Set the secondary selection, with one end at the place where you press +down the button, and the other end at the place where you release it +(@code{mouse-set-secondary}). The selected text is highlighted, using +the @code{secondary-selection} face, as you drag. The window scrolls +automatically if you drag the mouse off the top or bottom of the +window, just like @code{mouse-set-region} (@pxref{Mouse Commands}). + +This command does not alter the kill ring. + +@findex mouse-start-secondary +@kindex M-Mouse-1 +@item M-Mouse-1 +Set one endpoint for the @dfn{secondary selection} +(@code{mouse-start-secondary}). + +@findex mouse-secondary-save-then-kill +@kindex M-Mouse-3 +@item M-Mouse-3 +Set the secondary selection, with one end at the position clicked and +the other at the position specified with @kbd{M-Mouse-1} +(@code{mouse-secondary-save-then-kill}). This also puts the selected +text in the kill ring. A second @kbd{M-Mouse-3} at the same place +kills the secondary selection just made. + +@findex mouse-yank-secondary +@kindex M-Mouse-2 +@item M-Mouse-2 +Insert the secondary selection where you click, placing point at the +end of the yanked text (@code{mouse-yank-secondary}). +@end table + +Double or triple clicking of @kbd{M-Mouse-1} operates on words and +lines, much like @kbd{Mouse-1}. + +If @code{mouse-yank-at-point} is non-@code{nil}, @kbd{M-Mouse-2} yanks +at point. Then it does not matter precisely where you click, or even +which of the frame's windows you click on. @xref{Mouse Commands}. + @node Accumulating Text @section Accumulating Text @findex append-to-buffer ------------------------------------------------------------ revno: 105091 tags: mh-e-8.2.90 committer: Bill Wohler branch nick: trunk timestamp: Sun 2011-07-10 16:09:22 -0700 message: * mh-e.el (Version, mh-version): Update for release 8.2.90. diff: === modified file 'lisp/mh-e/ChangeLog' --- lisp/mh-e/ChangeLog 2011-07-10 22:33:06 +0000 +++ lisp/mh-e/ChangeLog 2011-07-10 23:09:22 +0000 @@ -1,5 +1,9 @@ 2011-07-10 Bill Wohler + Release MH-E version 8.9.90. + + * mh-e.el (Version, mh-version): Update for release 8.2.90. + * mh-utils.el (mh-sub-folders-actual): Remove FIXME question. * mh-mime.el (mh-decode-message-subject): Fix case of Subject. === modified file 'lisp/mh-e/mh-e.el' --- lisp/mh-e/mh-e.el 2011-07-04 02:53:16 +0000 +++ lisp/mh-e/mh-e.el 2011-07-10 23:09:22 +0000 @@ -5,7 +5,7 @@ ;; Author: Bill Wohler ;; Maintainer: Bill Wohler -;; Version: 8.2 +;; Version: 8.2.90 ;; Keywords: mail ;; This file is part of GNU Emacs. @@ -27,7 +27,7 @@ ;; MH-E is an Emacs interface to the MH mail system. -;; MH-E is supported in GNU Emacs 21 and 22, as well as XEmacs 21 +;; MH-E is supported in GNU Emacs 21 and higher, as well as XEmacs 21 ;; (except for versions 21.5.9-21.5.16). It is compatible with MH ;; versions 6.8.4 and higher, all versions of nmh, and GNU mailutils ;; 1.0 and higher. Gnus is also required; version 5.10 or higher is @@ -127,7 +127,7 @@ ;; Try to keep variables local to a single file. Provide accessors if ;; variables are shared. Use this section as a last resort. -(defconst mh-version "8.2" "Version number of MH-E.") +(defconst mh-version "8.2.90" "Version number of MH-E.") ;; Variants ------------------------------------------------------------ revno: 105090 committer: Bill Wohler branch nick: trunk timestamp: Sun 2011-07-10 16:06:43 -0700 message: * NEWS, MH-E-NEWS: Update for MH-E release 8.2.90. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2011-07-07 20:42:30 +0000 +++ etc/ChangeLog 2011-07-10 23:06:43 +0000 @@ -1,3 +1,9 @@ +2011-07-10 Bill Wohler + + Release MH-E version 8.2.90. + + * NEWS, MH-E-NEWS: Update for MH-E release 8.2.90. + 2011-07-07 Tassilo Horn * themes/tsdh-light-theme.el: === modified file 'etc/MH-E-NEWS' --- etc/MH-E-NEWS 2011-05-10 13:57:12 +0000 +++ etc/MH-E-NEWS 2011-07-10 23:06:43 +0000 @@ -4,6 +4,25 @@ See the end of the file for license conditions. +* Changes in MH-E 8.2.90 + +In 2010, the version control system (VCS) of Emacs was upgraded from +CVS to Bazaar. In 2011, the MH-E team followed suit and upgraded the +MH-E repository at SourceForge from CVS to Bazaar as well. The result +is version 8.2.90 of MH-E, which includes needed changes to the build +scripts. + +Otherwise, this is a small release that includes mostly internal +changes from the Emacs team. One of these changes manifests itself in +the user interface--you can now complete folders with abbreviations, +meaning that `+f/b/b TAB' can complete to `+foo/bar/baz'. This version +of MH-E is packaged with GNU Emacs 24.1 + +Also, RFC 2047-encoded Subject header fields in replies are now +decoded. + + + * Changes in MH-E 8.2 Version 8.2 of MH-E appeared in GNU Emacs 23.1. This is a small === modified file 'etc/NEWS' --- etc/NEWS 2011-07-07 11:59:05 +0000 +++ etc/NEWS 2011-07-10 23:06:43 +0000 @@ -473,6 +473,10 @@ * Changes in Specialized Modes and Packages in Emacs 24.1 +** MH-E + +*** Upgraded to MH-E version 8.2.90. See MH-E-NEWS for details. + ** comint and modes derived from it use the generic completion code. ** Compilation mode ------------------------------------------------------------ revno: 105089 committer: Bill Wohler branch nick: trunk timestamp: Sun 2011-07-10 15:33:06 -0700 message: * mh-utils.el (mh-sub-folders-actual): Remove FIXME question. diff: === modified file 'lisp/mh-e/ChangeLog' --- lisp/mh-e/ChangeLog 2011-07-10 16:23:40 +0000 +++ lisp/mh-e/ChangeLog 2011-07-10 22:33:06 +0000 @@ -1,5 +1,9 @@ 2011-07-10 Bill Wohler + * mh-utils.el (mh-sub-folders-actual): Remove FIXME question. + + * mh-mime.el (mh-decode-message-subject): Fix case of Subject. + * mh-folder.el (mh-inc-folder, mh-modify, mh-scan-folder) (mh-make-folder): Replace calls to switch-to-buffer with of pop-to-buffer. The former is intended for interactive use only and === modified file 'lisp/mh-e/mh-utils.el' --- lisp/mh-e/mh-utils.el 2011-07-03 21:30:28 +0000 +++ lisp/mh-e/mh-utils.el 2011-07-10 22:33:06 +0000 @@ -596,7 +596,6 @@ (setq name (substring name 0 (1- (length name))))) (push (cons name - ;; FIXME: what is this used for? --Stef (search-forward "(others)" (mh-line-end-position) t)) results)))) (forward-line 1)))) ------------------------------------------------------------ revno: 105088 committer: Bill Wohler branch nick: trunk timestamp: Sun 2011-07-10 15:31:33 -0700 message: * mh-mime.el (mh-decode-message-subject): Fix case of Subject. diff: === modified file 'lisp/mh-e/mh-mime.el' --- lisp/mh-e/mh-mime.el 2011-07-04 02:17:42 +0000 +++ lisp/mh-e/mh-mime.el 2011-07-10 22:31:33 +0000 @@ -511,7 +511,7 @@ (when mh-decode-mime-flag (save-excursion (let ((buffer-read-only nil)) - (rfc2047-decode-region (progn (mh-goto-header-field "subject:") (point)) + (rfc2047-decode-region (progn (mh-goto-header-field "Subject:") (point)) (progn (mh-header-field-end) (point))))))) ;;;###mh-autoload ------------------------------------------------------------ revno: 105087 author: Lars Magne Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Sun 2011-07-10 22:17:49 +0000 message: gnus-group.el (gnus-read-ephemeral-emacs-bug-group): `debbugs-*' renamed to `debbugs-gnu-*'. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-07-08 01:29:29 +0000 +++ lisp/gnus/ChangeLog 2011-07-10 22:17:49 +0000 @@ -1,3 +1,8 @@ +2011-07-10 Lars Magne Ingebrigtsen + + * gnus-group.el (gnus-read-ephemeral-emacs-bug-group): `debbugs-*' + renamed to `debbugs-gnu-*'. + 2011-07-08 Daiki Ueno * plstore.el: Revert the editing feature since it is not urgent. === modified file 'lisp/gnus/gnus-group.el' --- lisp/gnus/gnus-group.el 2011-07-06 02:45:24 +0000 +++ lisp/gnus/gnus-group.el 2011-07-10 22:17:49 +0000 @@ -2469,7 +2469,7 @@ number (cdr (assoc 'debian gnus-bug-group-download-format-alist)))) -(defvar debbugs-bug-number) ; debbugs-gnu +(defvar debbugs-gnu-bug-number) ; debbugs-gnu (defun gnus-read-ephemeral-emacs-bug-group (ids &optional window-conf) "Browse Emacs bugs IDS as an ephemeral group." @@ -2482,10 +2482,10 @@ ids (cdr (assoc 'emacs gnus-bug-group-download-format-alist)) window-conf) - (when (fboundp 'debbugs-summary-mode) + (when (fboundp 'debbugs-gnu-summary-mode) (with-current-buffer (window-buffer (selected-window)) - (debbugs-summary-mode 1) - (set (make-local-variable 'debbugs-bug-number) (car ids))))) + (debbugs-gnu-summary-mode 1) + (set (make-local-variable 'debbugs-gnu-bug-number) (car ids))))) (defun gnus-group-jump-to-group (group &optional prompt) "Jump to newsgroup GROUP. ------------------------------------------------------------ revno: 105086 committer: Johan Bockgård branch nick: trunk timestamp: Sun 2011-07-10 23:49:05 +0200 message: * src/xdisp.c (Ftool_bar_lines_needed): Fix WINDOWP check. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-10 16:55:22 +0000 +++ src/ChangeLog 2011-07-10 21:49:05 +0000 @@ -1,3 +1,7 @@ +2011-07-10 Johan Bockgård + + * xdisp.c (Ftool_bar_lines_needed): Fix WINDOWP check. + 2011-07-10 Jan Djärv * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event === modified file 'src/xdisp.c' --- src/xdisp.c 2011-07-10 08:20:10 +0000 +++ src/xdisp.c 2011-07-10 21:49:05 +0000 @@ -10509,7 +10509,7 @@ f = XFRAME (frame); if (WINDOWP (f->tool_bar_window) - || (w = XWINDOW (f->tool_bar_window), + && (w = XWINDOW (f->tool_bar_window), WINDOW_TOTAL_LINES (w) > 0)) { update_tool_bar (f, 1); ------------------------------------------------------------ revno: 105085 author: Andy Moreton committer: Eli Zaretskii branch nick: trunk timestamp: Sun 2011-07-10 21:35:59 +0300 message: Fix building doc/emacs on MS-Windows. doc/emacs/makefile.w32-in (EMACSSOURCES): Replace major.texi with modes.texi. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2011-07-10 14:40:21 +0000 +++ doc/emacs/ChangeLog 2011-07-10 18:35:59 +0000 @@ -1,3 +1,7 @@ +2011-07-10 Andy Moreton (tiny change) + + * makefile.w32-in (EMACSSOURCES): Replace major.texi with modes.texi. + 2011-07-10 Lars Magne Ingebrigtsen * screen.texi (Mode Line): Clarify that coding systems are === modified file 'doc/emacs/makefile.w32-in' --- doc/emacs/makefile.w32-in 2011-03-09 16:54:08 +0000 +++ doc/emacs/makefile.w32-in 2011-07-10 18:35:59 +0000 @@ -76,7 +76,7 @@ $(srcdir)/windows.texi \ $(srcdir)/frames.texi \ $(srcdir)/mule.texi \ - $(srcdir)/major.texi \ + $(srcdir)/modes.texi \ $(srcdir)/indent.texi \ $(srcdir)/text.texi \ $(srcdir)/programs.texi \ ------------------------------------------------------------ revno: 105084 fixes bug(s): http://debbugs.gnu.org/3642 committer: Jan D. branch nick: trunk timestamp: Sun 2011-07-10 18:55:22 +0200 message: * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event for non-popups. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-10 08:52:10 +0000 +++ src/ChangeLog 2011-07-10 16:55:22 +0000 @@ -1,3 +1,8 @@ +2011-07-10 Jan Djärv + + * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event + for non-popups (Bug#3642). + 2011-07-10 Andreas Schwab * alloc.c (reset_malloc_hooks): Protoize. === modified file 'src/xmenu.c' --- src/xmenu.c 2011-06-24 21:25:22 +0000 +++ src/xmenu.c 2011-07-10 16:55:22 +0000 @@ -740,10 +740,13 @@ help = call_data ? cb_data->help : Qnil; /* If popup_activated_flag is greater than 1 we are in a popup menu. - Don't show help for them, they won't appear before the - popup is popped down. */ - if (popup_activated_flag <= 1) - show_help_event (cb_data->cl_data->f, widget, help); + Don't pass the frame to show_help_event for those. + Passing frame creates an Emacs event. As we are looping in + popup_widget_loop, it won't be handeled. Passing NULL shows the tip + directly without using an Emacs event. This is what the Lucid code + does below. */ + show_help_event (popup_activated_flag <= 1 ? cb_data->cl_data->f : NULL, + widget, help); } #else static void ------------------------------------------------------------ revno: 105083 committer: Bill Wohler branch nick: trunk timestamp: Sun 2011-07-10 09:23:40 -0700 message: * mh-folder.el (mh-inc-folder, mh-modify, mh-scan-folder) (mh-make-folder): Replace calls to switch-to-buffer with of pop-to-buffer. The former is intended for interactive use only and generates warnings in Emacs 24. diff: === modified file 'lisp/mh-e/ChangeLog' --- lisp/mh-e/ChangeLog 2011-07-09 20:25:54 +0000 +++ lisp/mh-e/ChangeLog 2011-07-10 16:23:40 +0000 @@ -1,3 +1,10 @@ +2011-07-10 Bill Wohler + + * mh-folder.el (mh-inc-folder, mh-modify, mh-scan-folder) + (mh-make-folder): Replace calls to switch-to-buffer with of + pop-to-buffer. The former is intended for interactive use only and + generates warnings in Emacs 24. + 2011-07-09 Bill Wohler * mh-speed.el (mh-speed-toggle,mh-speed-view): Document "ignored" === modified file 'lisp/mh-e/mh-folder.el' --- lisp/mh-e/mh-folder.el 2011-07-04 02:17:42 +0000 +++ lisp/mh-e/mh-folder.el 2011-07-10 16:23:40 +0000 @@ -795,7 +795,7 @@ (setq threading-needed-flag mh-show-threads-flag) (setq mh-previous-window-config config)) ((not (eq (current-buffer) (get-buffer folder))) - (switch-to-buffer folder) + (pop-to-buffer folder) (setq mh-previous-window-config config)))) (mh-get-new-mail file) (when (and threading-needed-flag @@ -855,7 +855,7 @@ ;; Just show the edit buffer... (delete-other-windows) - (switch-to-buffer edit-buffer))) + (pop-to-buffer edit-buffer))) ;;;###mh-autoload (defun mh-next-button (&optional backward-flag) @@ -1705,7 +1705,7 @@ (unless dont-exec-pending (mh-process-or-undo-commands folder) (mh-reset-threads-and-narrowing)) - (switch-to-buffer folder))) + (pop-to-buffer folder))) (mh-regenerate-headers range) (if (zerop (buffer-size)) (if (equal range "all") @@ -1786,7 +1786,7 @@ (defun mh-make-folder (name) "Create a new mail folder called NAME. Make it the current folder." - (switch-to-buffer name) + (pop-to-buffer name) (setq buffer-read-only nil) (erase-buffer) (if mh-adaptive-cmd-note-flag ------------------------------------------------------------ revno: 105082 fixes bug(s): http://debbugs.gnu.org/2975 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sun 2011-07-10 17:12:36 +0200 message: (Mode Line Variables): Document `mode-line-remote' and `mode-line-client' diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2011-07-10 14:32:19 +0000 +++ doc/lispref/ChangeLog 2011-07-10 15:12:36 +0000 @@ -1,5 +1,8 @@ 2011-07-10 Lars Magne Ingebrigtsen + * modes.texi (Mode Line Variables): Document `mode-line-remote' + and `mode-line-client' (bug#2974). + * text.texi (Insertion): Clarify marker movements (bug#1651). Text from Drew Adams. === modified file 'doc/lispref/modes.texi' --- doc/lispref/modes.texi 2011-05-29 22:41:06 +0000 +++ doc/lispref/modes.texi 2011-07-10 15:12:36 +0000 @@ -1866,6 +1866,15 @@ on the process status, and whether narrowing is in effect. @end defopt +@defopt mode-line-remote +This variable is used to show whether @code{default-directory} for the +current buffer is remote. +@end defopt + +@defopt mode-line-client +This variable is used to identify @code{emacsclient} frames. +@end defopt + The following three variables are used in @code{mode-line-modes}: @defvar mode-name ------------------------------------------------------------ revno: 105081 fixes bug(s): http://debbugs.gnu.org/1749 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sun 2011-07-10 16:40:21 +0200 message: (Mode Line): Clarify that coding systems are characters, not letters. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2011-07-10 14:29:19 +0000 +++ doc/emacs/ChangeLog 2011-07-10 14:40:21 +0000 @@ -1,5 +1,8 @@ 2011-07-10 Lars Magne Ingebrigtsen + * screen.texi (Mode Line): Clarify that coding systems are + characters, not letters (bug#1749). + * cmdargs.texi (Environment): Mention removing variables (bug#1615). Text suggested by Kevin Rodgers. === modified file 'doc/emacs/screen.texi' --- doc/emacs/screen.texi 2011-04-23 03:07:16 +0000 +++ doc/emacs/screen.texi 2011-07-10 14:40:21 +0000 @@ -190,7 +190,7 @@ Systems}). If it is a dash (@samp{-}), that indicates the default state of affairs: no special character set handling, except for the end-of-line translations described in the next paragraph. @samp{=} -means no conversion whatsoever. Letters represent various nontrivial +means no conversion whatsoever. Characters represent various nontrivial @dfn{coding systems}---for example, @samp{1} represents ISO Latin-1. On a text-only terminal, @var{cs} is preceded by two additional characters that describe the coding system for keyboard input and the ------------------------------------------------------------ revno: 105080 fixes bug(s): http://debbugs.gnu.org/1651 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sun 2011-07-10 16:32:19 +0200 message: (Insertion): Clarify marker movements. Text from Drew Adams. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2011-07-07 20:37:54 +0000 +++ doc/lispref/ChangeLog 2011-07-10 14:32:19 +0000 @@ -1,3 +1,8 @@ +2011-07-10 Lars Magne Ingebrigtsen + + * text.texi (Insertion): Clarify marker movements (bug#1651). + Text from Drew Adams. + 2011-07-07 Lars Magne Ingebrigtsen * text.texi (Special Properties): Clarify the format of `face' === modified file 'doc/lispref/text.texi' --- doc/lispref/text.texi 2011-07-07 20:37:54 +0000 +++ doc/lispref/text.texi 2011-07-10 14:32:19 +0000 @@ -364,14 +364,13 @@ text, while other functions leave it after. We call the former insertion @dfn{after point} and the latter insertion @dfn{before point}. - Insertion relocates markers that point at positions after the -insertion point, so that they stay with the surrounding text -(@pxref{Markers}). When a marker points at the place of insertion, -insertion may or may not relocate the marker, depending on the marker's -insertion type (@pxref{Marker Insertion Types}). Certain special -functions such as @code{insert-before-markers} relocate all such markers -to point after the inserted text, regardless of the markers' insertion -type. + Insertion moves markers located at positions after the insertion +point, so that they stay with the surrounding text (@pxref{Markers}). +When a marker points at the place of insertion, insertion may or may +not relocate the marker, depending on the marker's insertion type +(@pxref{Marker Insertion Types}). Certain special functions such as +@code{insert-before-markers} relocate all such markers to point after +the inserted text, regardless of the markers' insertion type. Insertion functions signal an error if the current buffer is read-only or if they insert within read-only text. ------------------------------------------------------------ revno: 105079 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sun 2011-07-10 16:29:19 +0200 message: (Environment): Mention removing variables Text suggested by Kevin Rodgers. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2011-07-10 04:12:48 +0000 +++ doc/emacs/ChangeLog 2011-07-10 14:29:19 +0000 @@ -1,3 +1,8 @@ +2011-07-10 Lars Magne Ingebrigtsen + + * cmdargs.texi (Environment): Mention removing variables + (bug#1615). Text suggested by Kevin Rodgers. + 2011-07-10 Chong Yidong * misc.texi (Amusements): Don't mention Yow; it's crippled. === modified file 'doc/emacs/cmdargs.texi' --- doc/emacs/cmdargs.texi 2011-05-17 02:26:56 +0000 +++ doc/emacs/cmdargs.texi 2011-07-10 14:29:19 +0000 @@ -427,10 +427,11 @@ @vindex initial-environment Inside Emacs, the command @kbd{M-x getenv} gets the value of an environment variable. @kbd{M-x setenv} sets a variable in the Emacs -environment. (Environment variable substitutions with @samp{$} work -in the value just as in file names; see @ref{File Names with $}.) The -variable @code{initial-environment} stores the initial environment -inherited by Emacs. +environment, and @kbd{C-u M-x setenv} removes a variable. +(Environment variable substitutions with @samp{$} work in the value +just as in file names; see @ref{File Names with $}.) The variable +@code{initial-environment} stores the initial environment inherited by +Emacs. The way to set environment variables outside of Emacs depends on the operating system, and especially the shell that you are using. For ------------------------------------------------------------ revno: 105078 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sun 2011-07-10 16:09:05 +0200 message: (tool-bar-mode): Clarify positive/negative arguments diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-10 12:41:47 +0000 +++ lisp/ChangeLog 2011-07-10 14:09:05 +0000 @@ -1,3 +1,14 @@ +2011-07-10 Lars Magne Ingebrigtsen + + * tool-bar.el (tool-bar-mode): Clarify positive/negative arguments + (bug#1526). + +2011-07-10 Martin Rudalics + + * window.el (display-buffer-normalize-default): Don't invert + meaning of even-window-heights. Reported by Eli Zaretskii + . + 2011-07-10 Bob Rogers * vc/vc.el (vc-diff-internal): Fix race condition (Bug#1256). === modified file 'lisp/tool-bar.el' --- lisp/tool-bar.el 2011-04-19 13:44:55 +0000 +++ lisp/tool-bar.el 2011-07-10 14:09:05 +0000 @@ -44,7 +44,8 @@ ;; when you are on a tty. I hope that won't cause too much trouble -- rms. (define-minor-mode tool-bar-mode "Toggle use of the tool bar. -With numeric ARG, display the tool bar if and only if ARG is positive. +With a numeric argument, if the argument is positive, turn on the +tool bar; otherwise, turn off the tool bar. See `tool-bar-add-item' and `tool-bar-add-item-from-menu' for conveniently adding tool bar items." ------------------------------------------------------------ revno: 105077 committer: martin rudalics branch nick: trunk timestamp: Sun 2011-07-10 14:41:47 +0200 message: Revert last change of display-buffer-normalize-default. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-10 10:19:47 +0000 +++ lisp/ChangeLog 2011-07-10 12:41:47 +0000 @@ -1,9 +1,3 @@ -2011-07-10 Martin Rudalics - - * window.el (display-buffer-normalize-default): Don't invert - meaning of even-window-heights. Reported by Eli Zaretskii - . - 2011-07-10 Bob Rogers * vc/vc.el (vc-diff-internal): Fix race condition (Bug#1256). === modified file 'lisp/window.el' --- lisp/window.el 2011-07-10 10:19:47 +0000 +++ lisp/window.el 2011-07-10 12:41:47 +0000 @@ -5347,7 +5347,7 @@ ;; `even-window-heights' (unless (and (boundp 'even-window-heights) - even-window-heights) + (not even-window-heights)) (setq specifiers (cons (cons 'reuse-window-even-sizes t) specifiers)))