]> code.delx.au - gnu-emacs/blobdiff - doc/lispref/text.texi
(Completion Styles): New node.
[gnu-emacs] / doc / lispref / text.texi
index 0a43781bc053dd8da3f180199460d82464536aa2..72a2feda6831034835624db80021a2802811f260 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001,
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/text
 @node Text, Non-ASCII Characters, Markers, Top
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/text
 @node Text, Non-ASCII Characters, Markers, Top
@@ -1057,12 +1057,14 @@ If @var{n} is zero, indicating a request for the latest kill,
 @code{current-kill} calls the value of
 @code{interprogram-paste-function} (documented below) before
 consulting the kill ring.  If that value is a function and calling it
 @code{current-kill} calls the value of
 @code{interprogram-paste-function} (documented below) before
 consulting the kill ring.  If that value is a function and calling it
-returns a string, @code{current-kill} pushes that string onto the kill
-ring and returns it.  It also sets the yanking pointer to point to
-that new entry, regardless of the value of @var{do-not-move}.
-Otherwise, @code{current-kill} does not treat a zero value for @var{n}
-specially: it returns the entry pointed at by the yanking pointer and
-does not move the yanking pointer.
+returns a string or a list of several string, @code{current-kill}
+pushes the strings onto the kill ring and returns the first string.
+It also sets the yanking pointer to point to the kill-ring entry of
+the first string returned by @code{interprogram-paste-function},
+regardless of the value of @var{do-not-move}.  Otherwise,
+@code{current-kill} does not treat a zero value for @var{n} specially:
+it returns the entry pointed at by the yanking pointer and does not
+move the yanking pointer.
 @end defun
 
 @defun kill-new string &optional replace yank-handler
 @end defun
 
 @defun kill-new string &optional replace yank-handler
@@ -1105,9 +1107,19 @@ If the value is a function, @code{current-kill} calls it to get the
 then that value is used as the ``most recent kill.''  If it returns
 @code{nil}, then the front of the kill ring is used.
 
 then that value is used as the ``most recent kill.''  If it returns
 @code{nil}, then the front of the kill ring is used.
 
-The normal use of this hook is to get the window system's primary
+To facilitate support for window systems that support multiple
+selections, this function may also return a list of strings.  In that
+case, the first string is used as the ``most recent kill'', and all
+the other strings are pushed onto the kill ring, for easy access by
+@code{yank-pop}.
+
+The normal use of this function is to get the window system's primary
 selection as the most recent kill, even if the selection belongs to
 selection as the most recent kill, even if the selection belongs to
-another application.  @xref{Window System Selections}.
+another application.  @xref{Window System Selections}.  However, if
+the selection was provided by the current Emacs session, this function
+should return @code{nil}.  (If it is hard to tell whether Emacs or
+some other program provided the selection, it should be good enough to
+use @code{string=} to compare it with the last text Emacs provided.)
 @end defvar
 
 @defvar interprogram-cut-function
 @end defvar
 
 @defvar interprogram-cut-function
@@ -1121,7 +1133,7 @@ The second, optional, argument has the same meaning as the @var{push}
 argument to @code{x-set-cut-buffer} (@pxref{Definition of
 x-set-cut-buffer}) and only affects the second and later cut buffers.
 
 argument to @code{x-set-cut-buffer} (@pxref{Definition of
 x-set-cut-buffer}) and only affects the second and later cut buffers.
 
-The normal use of this hook is to set the window system's primary
+The normal use of this function is to set the window system's primary
 selection (and first cut buffer) from the newly killed text.
 @xref{Window System Selections}.
 @end defvar
 selection (and first cut buffer) from the newly killed text.
 @xref{Window System Selections}.
 @end defvar
@@ -3170,6 +3182,29 @@ A newline can have a @code{line-height} text or overlay property that
 controls the total height of the display line ending in that newline.
 @xref{Line Height}.
 
 controls the total height of the display line ending in that newline.
 @xref{Line Height}.
 
+@item wrap-prefix
+If text has a @code{wrap-prefix} property, the prefix it defines will
+be added at display-time to the beginning of every continuation line
+due to text wrapping (so if lines are truncated, the wrap-prefix is
+never used).  It may be a string, an image, or a stretch-glyph such as
+used by the @code{display} text-property.  @xref{Display Property}.
+
+A wrap-prefix may also be specified for an entire buffer using the
+@code{wrap-prefix} buffer-local variable (however, a
+@code{wrap-prefix} text-property takes precedence over the value of
+the @code{wrap-prefix} variable).  @xref{Truncation}.
+
+@item line-prefix
+If text has a @code{line-prefix} property, the prefix it defines will
+be added at display-time to the beginning of every non-continuation
+line.  It may be a string, an image, or a stretch-glyph such as used
+by the @code{display} text-property.  @xref{Display Property}.
+
+A line-prefix may also be specified for an entire buffer using the
+@code{line-prefix} buffer-local variable (however, a
+@code{line-prefix} text-property takes precedence over the value of
+the @code{line-prefix} variable).  @xref{Truncation}.
+
 @item modification-hooks
 @cindex change hooks for a character
 @cindex hooks for changing a character
 @item modification-hooks
 @cindex change hooks for a character
 @cindex hooks for changing a character