aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lispref')
-rw-r--r--doc/lispref/ChangeLog74
-rw-r--r--doc/lispref/Makefile.in4
-rw-r--r--doc/lispref/buffers.texi18
-rw-r--r--doc/lispref/commands.texi17
-rw-r--r--doc/lispref/customize.texi2
-rw-r--r--doc/lispref/display.texi14
-rw-r--r--doc/lispref/frames.texi9
-rw-r--r--doc/lispref/functions.texi2
-rw-r--r--doc/lispref/help.texi14
-rw-r--r--doc/lispref/loading.texi10
-rw-r--r--doc/lispref/maps.texi12
-rw-r--r--doc/lispref/nonascii.texi7
-rw-r--r--doc/lispref/numbers.texi8
-rw-r--r--doc/lispref/objects.texi1
-rw-r--r--doc/lispref/strings.texi63
-rw-r--r--doc/lispref/symbols.texi2
-rw-r--r--doc/lispref/text.texi47
-rw-r--r--doc/lispref/variables.texi18
18 files changed, 202 insertions, 120 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index f5878dfed74..36d85bc98ba 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,77 @@
12010-12-08 Glenn Morris <rgm@gnu.org>
2
3 * buffers.texi (Modification Time):
4 verify-visited-file-modtime now defaults to the current buffer.
5
62010-11-27 Chong Yidong <cyd@stupidchicken.com>
7
8 * nonascii.texi (Converting Representations): Document byte-to-string.
9
10 * strings.texi (Creating Strings): Don't mention semi-obsolete
11 function char-to-string.
12 (String Conversion): Shorten discussion of semi-obsolete function
13 string-to-char. Link to Converting Representations.
14
15 * objects.texi (Symbol Type):
16 * text.texi (Near Point):
17 * help.texi (Help Functions):
18 * functions.texi (Mapping Functions): Use string instead of
19 char-to-string in examples.
20
212010-11-27 Chong Yidong <cyd@stupidchicken.com>
22
23 * text.texi (Kill Functions, Kill Functions)
24 (Low-Level Kill Ring, Low-Level Kill Ring): Remove obsolete
25 YANK-HANDLER args.
26
27 * symbols.texi (Creating Symbols): Using unintern without an
28 obarray arg is now obsolete.
29
30 * numbers.texi (Float Basics): Document float-e and float-pi.
31
32 * variables.texi (Defining Variables): Change "pi" example to
33 "float-pi".
34
352010-11-26 Eli Zaretskii <eliz@gnu.org>
36
37 * commands.texi (Click Events): Document the values of X, Y and
38 COL, ROW in the event's position, when the click is on the header
39 or mode line, on the fringes, or in the margins.
40
412010-11-17 Eli Zaretskii <eliz@gnu.org>
42
43 * customize.texi (Composite Types): Lower-case index entry.
44
45 * loading.texi (How Programs Do Loading): Document
46 load-file-name. (Bug#7346)
47
482010-11-17 Glenn Morris <rgm@gnu.org>
49
50 * text.texi (Kill Functions, Low-Level Kill Ring): Small fixes.
51
522010-11-13 Eli Zaretskii <eliz@gnu.org>
53
54 * display.texi (Usual Display): Characters with no fonts are not
55 necessarily displayed as empty boxes.
56
572010-10-31 Glenn Morris <rgm@gnu.org>
58
59 * maps.texi (Standard Keymaps): Update File menu description.
60
612010-10-28 Glenn Morris <rgm@gnu.org>
62
63 * Makefile.in (elisp.dvi, elisp.pdf): Also include $emacsdir.
64
652010-10-24 Eli Zaretskii <eliz@gnu.org>
66
67 * display.texi (Window Systems): Deprecate use of window-system as
68 a predicate.
69
702010-10-23 Glenn Morris <rgm@gnu.org>
71
72 * help.texi (Documentation Basics): Remove mentions of digest-doc and
73 sorted-doc.
74
12010-10-15 Eli Zaretskii <eliz@gnu.org> 752010-10-15 Eli Zaretskii <eliz@gnu.org>
2 76
3 * os.texi (Dynamic Libraries): New node, with slightly modified 77 * os.texi (Dynamic Libraries): New node, with slightly modified
diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in
index f1caa9abfa2..be8b6ca2c9e 100644
--- a/doc/lispref/Makefile.in
+++ b/doc/lispref/Makefile.in
@@ -109,7 +109,7 @@ $(infodir)/elisp: $(srcs)
109 $(MAKEINFO) -o $@ $< 109 $(MAKEINFO) -o $@ $<
110 110
111elisp.dvi: $(srcs) 111elisp.dvi: $(srcs)
112 $(TEXI2DVI) -I $(srcdir) -I $(texinfodir) $< 112 $(TEXI2DVI) -I $(srcdir) -I $(texinfodir) -I $(emacsdir) $<
113 113
114elisp.html: $(srcs) 114elisp.html: $(srcs)
115 $(MAKEINFO) --html -o $@ $< 115 $(MAKEINFO) --html -o $@ $<
@@ -118,7 +118,7 @@ elisp.ps: elisp.dvi
118 $(DVIPS) -o $@ $< 118 $(DVIPS) -o $@ $<
119 119
120elisp.pdf: $(srcs) 120elisp.pdf: $(srcs)
121 $(TEXI2PDF) -I $(srcdir) -I $(texinfodir) $< 121 $(TEXI2PDF) -I $(srcdir) -I $(texinfodir) -I $(emacsdir) $<
122 122
123.PHONY: mostlyclean clean distclean maintainer-clean infoclean 123.PHONY: mostlyclean clean distclean maintainer-clean infoclean
124 124
diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi
index 2a7a603e733..8811178fe92 100644
--- a/doc/lispref/buffers.texi
+++ b/doc/lispref/buffers.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/buffers 7@setfilename ../../info/buffers
7@node Buffers, Windows, Backups and Auto-Saving, Top 8@node Buffers, Windows, Backups and Auto-Saving, Top
@@ -594,12 +595,12 @@ therefore checks the file's modification time using the functions
594described below before saving the file. (@xref{File Attributes}, 595described below before saving the file. (@xref{File Attributes},
595for how to examine a file's modification time.) 596for how to examine a file's modification time.)
596 597
597@defun verify-visited-file-modtime buffer 598@defun verify-visited-file-modtime &optional buffer
598This function compares what @var{buffer} has recorded for the 599This function compares what @var{buffer} (by default, the
599modification time of its visited file against the actual modification 600current-buffer) has recorded for the modification time of its visited
600time of the file as recorded by the operating system. The two should be 601file against the actual modification time of the file as recorded by the
601the same unless some other process has written the file since Emacs 602operating system. The two should be the same unless some other process
602visited or saved it. 603has written the file since Emacs visited or saved it.
603 604
604The function returns @code{t} if the last actual modification time and 605The function returns @code{t} if the last actual modification time and
605Emacs's recorded modification time are the same, @code{nil} otherwise. 606Emacs's recorded modification time are the same, @code{nil} otherwise.
@@ -1223,6 +1224,3 @@ This function returns the current gap position in the current buffer.
1223This function returns the current gap size of the current buffer. 1224This function returns the current gap size of the current buffer.
1224@end defun 1225@end defun
1225 1226
1226@ignore
1227 arch-tag: 2e53cfab-5691-41f6-b5a8-9c6a3462399c
1228@end ignore
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 17cfcc0def8..d83396750ca 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -1285,8 +1285,12 @@ input stream. @xref{Key Sequence Input}.
1285@item @var{x}, @var{y} 1285@item @var{x}, @var{y}
1286These are the pixel coordinates of the click, relative to 1286These are the pixel coordinates of the click, relative to
1287the top left corner of @var{window}, which is @code{(0 . 0)}. 1287the top left corner of @var{window}, which is @code{(0 . 0)}.
1288For the mode or header line, @var{y} does not have meaningful data. 1288For a click on text, these are relative to the top left corner of
1289For the vertical line, @var{x} does not have meaningful data. 1289the window's text area. For the mode or header line, they are
1290relative to the top left window edge. For fringes, margins, and the
1291vertical border, @var{x} does not have meaningful data. For fringes
1292and margins, @var{y} is relative to the bottom edge of the header
1293line.
1290 1294
1291@item @var{timestamp} 1295@item @var{timestamp}
1292This is the time at which the event occurred, in milliseconds. 1296This is the time at which the event occurred, in milliseconds.
@@ -1316,7 +1320,12 @@ the window.
1316@item @var{col}, @var{row} 1320@item @var{col}, @var{row}
1317These are the actual coordinates of the glyph under the @var{x}, 1321These are the actual coordinates of the glyph under the @var{x},
1318@var{y} position, possibly padded with default character width 1322@var{y} position, possibly padded with default character width
1319glyphs if @var{x} is beyond the last glyph on the line. 1323glyphs if @var{x} is beyond the last glyph on the line. For clicks on
1324the header or mode line, these are measured from the top left edge of
1325the header or mode line. For clicks on the fringes and on the
1326vertical border, these have no meaningful data. For clicks on the
1327margins, @var{col} is measured from the left edge of the margin area
1328and @var{row} is measured from the top of the margin area.
1320 1329
1321@item @var{image} 1330@item @var{image}
1322This is the image object on which the click occurred. It is either 1331This is the image object on which the click occurred. It is either
@@ -1333,7 +1342,7 @@ left corner of the character glyph clicked on.
1333These are the pixel width and height of @var{object} or, if this is 1342These are the pixel width and height of @var{object} or, if this is
1334@code{nil}, those of the character glyph clicked on. 1343@code{nil}, those of the character glyph clicked on.
1335@end table 1344@end table
1336 1345
1337@sp 1 1346@sp 1
1338For mouse clicks on a scroll-bar, @var{position} has this form: 1347For mouse clicks on a scroll-bar, @var{position} has this form:
1339 1348
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi
index 4b620049b04..bfd45518bc8 100644
--- a/doc/lispref/customize.texi
+++ b/doc/lispref/customize.texi
@@ -733,7 +733,7 @@ The value must be a valid color name, and you can do completion with
733 733
734@node Composite Types 734@node Composite Types
735@subsection Composite Types 735@subsection Composite Types
736@cindex Composite Types (customization) 736@cindex composite types (customization)
737 737
738 When none of the simple types is appropriate, you can use composite 738 When none of the simple types is appropriate, you can use composite
739types, which build new types from other types or from specified data. 739types, which build new types from other types or from specified data.
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index f4092cfa7ea..6e872ad4233 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -5579,9 +5579,9 @@ digit characters representing the character code in octal. (A display
5579table can specify a glyph to use instead of @samp{\}.) 5579table can specify a glyph to use instead of @samp{\}.)
5580 5580
5581@item 5581@item
5582Multibyte character codes above 256 are displayed as themselves, or as a 5582Multibyte character codes above 256 are displayed as themselves, or as
5583question mark or empty box if the terminal cannot display that 5583a question mark or a hex code or an empty box if the terminal cannot
5584character. 5584display that character.
5585@end itemize 5585@end itemize
5586 5586
5587 The usual display conventions apply even when there is a display 5587 The usual display conventions apply even when there is a display
@@ -5928,6 +5928,14 @@ selected frame). The list of possible symbols it returns is the same
5928one documented for the variable @code{window-system} above. 5928one documented for the variable @code{window-system} above.
5929@end defun 5929@end defun
5930 5930
5931 Do @emph{not} use @code{window-system} and
5932@code{initial-window-system} as predicates or boolean flag variables,
5933if you want to write code that works differently on text terminals and
5934graphic displays. That is because @code{window-system} is not a good
5935indicator of Emacs capabilities on a given display type. Instead, use
5936@code{display-graphic-p} or any of the other @code{display-*-p}
5937predicates described in @ref{Display Feature Testing}.
5938
5931@defvar window-setup-hook 5939@defvar window-setup-hook
5932This variable is a normal hook which Emacs runs after handling the 5940This variable is a normal hook which Emacs runs after handling the
5933initialization files. Emacs runs this hook after it has completed 5941initialization files. Emacs runs this hook after it has completed
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index d27010d2096..4c44d0a6439 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1748,6 +1748,15 @@ If @var{frame} is not visible, this function does nothing. The return
1748value is not significant. 1748value is not significant.
1749@end defun 1749@end defun
1750 1750
1751@defun frame-pointer-visible-p &optional frame
1752This predicate function returns non-@code{nil} if the mouse pointer
1753displayed on @var{frame} is visible; otherwise it returns @code{nil}.
1754@var{frame} omitted or @code{nil} means the selected frame. This is
1755useful when @code{make-pointer-invisible} is set to @code{t}: it
1756allows to know if the pointer has been hidden.
1757@xref{Mouse Avoidance,,,emacs}.
1758@end defun
1759
1751@need 3000 1760@need 3000
1752 1761
1753@node Pop-Up Menus 1762@node Pop-Up Menus
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index d5c89dd7cf3..e9003601516 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -843,7 +843,7 @@ length of @var{sequence}. For example:
843 @result{} (a c e) 843 @result{} (a c e)
844(mapcar '1+ [1 2 3]) 844(mapcar '1+ [1 2 3])
845 @result{} (2 3 4) 845 @result{} (2 3 4)
846(mapcar 'char-to-string "abc") 846(mapcar 'string "abc")
847 @result{} ("a" "b" "c") 847 @result{} ("a" "b" "c")
848@end group 848@end group
849 849
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi
index 026258f2472..f21e16e104a 100644
--- a/doc/lispref/help.texi
+++ b/doc/lispref/help.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/help 7@setfilename ../../info/help
7@node Documentation, Files, Modes, Top 8@node Documentation, Files, Modes, Top
@@ -106,12 +107,6 @@ documentation string. The functions @code{documentation} and
106documentation string from the appropriate file; this is transparent to 107documentation string from the appropriate file; this is transparent to
107the user. 108the user.
108 109
109@c Wordy to prevent overfull hbox. --rjc 15mar92
110 The @file{emacs/lib-src} directory contains two utilities that you can
111use to print nice-looking hardcopy for the file
112@file{emacs/etc/DOC-@var{version}}. These are @file{sorted-doc} and
113@file{digest-doc}.
114
115@node Accessing Documentation 110@node Accessing Documentation
116@section Access to Documentation Strings 111@section Access to Documentation Strings
117 112
@@ -551,7 +546,7 @@ follows:
551 546
552@smallexample 547@smallexample
553@group 548@group
554(define-key global-map (char-to-string help-char) 'help-command) 549(define-key global-map (string help-char) 'help-command)
555(fset 'help-command help-map) 550(fset 'help-command help-map)
556@end group 551@end group
557@end smallexample 552@end smallexample
@@ -701,6 +696,3 @@ echo area at first, and display the longer @var{help-text} strings only
701if the user types the help character again. 696if the user types the help character again.
702@end defopt 697@end defopt
703 698
704@ignore
705 arch-tag: ba36b4c2-e60f-49e2-bc25-61158fdcd815
706@end ignore
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index dee2a0252eb..05d836140c7 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -107,6 +107,10 @@ in @code{load-path}, where @code{nil} stands for the default directory.
107@code{load-path}, then all three suffixes in the second directory, and 107@code{load-path}, then all three suffixes in the second directory, and
108so on. @xref{Library Search}. 108so on. @xref{Library Search}.
109 109
110Whatever the name under which the file is eventually found, and the
111directory where Emacs found it, Emacs sets the value of the variable
112@code{load-file-name} to that file's name.
113
110If you get a warning that @file{foo.elc} is older than @file{foo.el}, it 114If you get a warning that @file{foo.elc} is older than @file{foo.el}, it
111means you should consider recompiling @file{foo.el}. @xref{Byte 115means you should consider recompiling @file{foo.el}. @xref{Byte
112Compilation}. 116Compilation}.
@@ -157,6 +161,12 @@ This variable is non-@code{nil} if Emacs is in the process of loading a
157file, and it is @code{nil} otherwise. 161file, and it is @code{nil} otherwise.
158@end defvar 162@end defvar
159 163
164@defvar load-file-name
165When Emacs is in the process of loading a file, this variable's value
166is the name of that file, as Emacs found it during the search
167described earlier in this section.
168@end defvar
169
160@defvar load-read-function 170@defvar load-read-function
161@anchor{Definition of load-read-function} 171@anchor{Definition of load-read-function}
162@c do not allow page break at anchor; work around Texinfo deficiency. 172@c do not allow page break at anchor; work around Texinfo deficiency.
diff --git a/doc/lispref/maps.texi b/doc/lispref/maps.texi
index a5b126afcb2..4b416a82d64 100644
--- a/doc/lispref/maps.texi
+++ b/doc/lispref/maps.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004,
4@c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/maps 7@setfilename ../../info/maps
7@node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top 8@node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top
@@ -183,9 +184,9 @@ A sparse keymap used by Lisp mode.
183@vindex menu-bar-edit-menu 184@vindex menu-bar-edit-menu
184The keymap which displays the Edit menu in the menu bar. 185The keymap which displays the Edit menu in the menu bar.
185 186
186@item menu-bar-files-menu 187@item menu-bar-file-menu
187@vindex menu-bar-files-menu 188@vindex menu-bar-file-menu
188The keymap which displays the Files menu in the menu bar. 189The keymap which displays the File menu in the menu bar.
189 190
190@item menu-bar-help-menu 191@item menu-bar-help-menu
191@vindex menu-bar-help-menu 192@vindex menu-bar-help-menu
@@ -239,6 +240,3 @@ The keymap defining the contents of the tool bar.
239A full keymap used by View mode. 240A full keymap used by View mode.
240@end table 241@end table
241 242
242@ignore
243 arch-tag: b741253c-7e23-4a02-b3fa-cffd9e4d72b9
244@end ignore
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 40c78d97da7..1c196c93f27 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -199,6 +199,13 @@ unibyte string, it is returned unchanged. Use this function for
199characters. 199characters.
200@end defun 200@end defun
201 201
202@defun byte-to-string byte
203@cindex byte to string
204This function returns a unibyte string containing a single byte of
205character data, @var{character}. It signals a error if
206@var{character} is not an integer between 0 and 255.
207@end defun
208
202@defun multibyte-char-to-unibyte char 209@defun multibyte-char-to-unibyte char
203This converts the multibyte character @var{char} to a unibyte 210This converts the multibyte character @var{char} to a unibyte
204character, and returns that character. If @var{char} is neither 211character, and returns that character. If @var{char} is neither
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi
index 62b4796350e..e83da348e05 100644
--- a/doc/lispref/numbers.texi
+++ b/doc/lispref/numbers.texi
@@ -224,6 +224,14 @@ down to an integer.
224@end example 224@end example
225@end defun 225@end defun
226 226
227@defvar float-e
228The mathematical constant @math{e} (2.71828@dots{}).
229@end defvar
230
231@defvar float-pi
232The mathematical constant @math{pi} (3.14159@dots{}).
233@end defvar
234
227@node Predicates on Numbers 235@node Predicates on Numbers
228@section Type Predicates for Numbers 236@section Type Predicates for Numbers
229@cindex predicates for numbers 237@cindex predicates for numbers
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi
index b0b0e1d0042..93776f3b4f0 100644
--- a/doc/lispref/objects.texi
+++ b/doc/lispref/objects.texi
@@ -582,7 +582,6 @@ makes it invalid as a number.
582@group 582@group
583foo ; @r{A symbol named @samp{foo}.} 583foo ; @r{A symbol named @samp{foo}.}
584FOO ; @r{A symbol named @samp{FOO}, different from @samp{foo}.} 584FOO ; @r{A symbol named @samp{FOO}, different from @samp{foo}.}
585char-to-string ; @r{A symbol named @samp{char-to-string}.}
586@end group 585@end group
587@group 586@group
5881+ ; @r{A symbol named @samp{1+}} 5871+ ; @r{A symbol named @samp{1+}}
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index 1128ca87d8a..94d2765a833 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -126,9 +126,8 @@ This function returns a string made up of @var{count} repetitions of
126 @result{} "" 126 @result{} ""
127@end example 127@end example
128 128
129 Other functions to compare with this one include @code{char-to-string} 129 Other functions to compare with this one include @code{make-vector}
130(@pxref{String Conversion}), @code{make-vector} (@pxref{Vectors}), and 130(@pxref{Vectors}) and @code{make-list} (@pxref{Building Lists}).
131@code{make-list} (@pxref{Building Lists}).
132@end defun 131@end defun
133 132
134@defun string &rest characters 133@defun string &rest characters
@@ -565,38 +564,6 @@ of text characters and general input events
565(@code{single-key-description} and @code{text-char-description}). These 564(@code{single-key-description} and @code{text-char-description}). These
566are used primarily for making help messages. 565are used primarily for making help messages.
567 566
568@defun char-to-string character
569@cindex character to string
570This function returns a new string containing one character,
571@var{character}. This function is semi-obsolete because the function
572@code{string} is more general. @xref{Creating Strings}.
573@end defun
574
575@defun string-to-char string
576@cindex string to character
577 This function returns the first character in @var{string}. If the
578string is empty, the function returns 0. The value is also 0 when the
579first character of @var{string} is the null character, @acronym{ASCII} code
5800.
581
582@example
583(string-to-char "ABC")
584 @result{} 65
585
586(string-to-char "xyz")
587 @result{} 120
588(string-to-char "")
589 @result{} 0
590@group
591(string-to-char "\000")
592 @result{} 0
593@end group
594@end example
595
596This function may be eliminated in the future if it does not seem useful
597enough to retain.
598@end defun
599
600@defun number-to-string number 567@defun number-to-string number
601@cindex integer to string 568@cindex integer to string
602@cindex integer to decimal 569@cindex integer to decimal
@@ -659,19 +626,39 @@ this function returns 0.
659@code{string-to-int} is an obsolete alias for this function. 626@code{string-to-int} is an obsolete alias for this function.
660@end defun 627@end defun
661 628
629@defun char-to-string character
630@cindex character to string
631This function returns a new string containing one character,
632@var{character}. This function is semi-obsolete because the function
633@code{string} is more general. @xref{Creating Strings}.
634@end defun
635
636@defun string-to-char string
637 This function returns the first character in @var{string}. This
638mostly identical to @code{(aref string 0)}, except that it returns 0
639if the string is empty. (The value is also 0 when the first character
640of @var{string} is the null character, @acronym{ASCII} code 0.) This
641function may be eliminated in the future if it does not seem useful
642enough to retain.
643@end defun
644
662 Here are some other functions that can convert to or from a string: 645 Here are some other functions that can convert to or from a string:
663 646
664@table @code 647@table @code
665@item concat 648@item concat
666@code{concat} can convert a vector or a list into a string. 649This function converts a vector or a list into a string.
667@xref{Creating Strings}. 650@xref{Creating Strings}.
668 651
669@item vconcat 652@item vconcat
670@code{vconcat} can convert a string into a vector. @xref{Vector 653This function converts a string into a vector. @xref{Vector
671Functions}. 654Functions}.
672 655
673@item append 656@item append
674@code{append} can convert a string into a list. @xref{Building Lists}. 657This function converts a string into a list. @xref{Building Lists}.
658
659@item byte-to-string
660This function converts a byte of character data into a unibyte string.
661@xref{Converting Representations}.
675@end table 662@end table
676 663
677@node Formatting Strings 664@node Formatting Strings
diff --git a/doc/lispref/symbols.texi b/doc/lispref/symbols.texi
index 5bb44ff9675..ccf90e33cd0 100644
--- a/doc/lispref/symbols.texi
+++ b/doc/lispref/symbols.texi
@@ -383,7 +383,7 @@ See @code{documentation} in @ref{Accessing Documentation}, for another
383example using @code{mapatoms}. 383example using @code{mapatoms}.
384@end defun 384@end defun
385 385
386@defun unintern symbol &optional obarray 386@defun unintern symbol obarray
387This function deletes @var{symbol} from the obarray @var{obarray}. If 387This function deletes @var{symbol} from the obarray @var{obarray}. If
388@code{symbol} is not actually in the obarray, @code{unintern} does 388@code{symbol} is not actually in the obarray, @code{unintern} does
389nothing. If @var{obarray} is @code{nil}, the current obarray is used. 389nothing. If @var{obarray} is @code{nil}, the current obarray is used.
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 04e1e714133..45d358366de 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -87,7 +87,7 @@ buffer is @samp{@@}:
87 87
88@example 88@example
89@group 89@group
90(char-to-string (char-after 1)) 90(string (char-after 1))
91 @result{} "@@" 91 @result{} "@@"
92@end group 92@end group
93@end example 93@end example
@@ -122,9 +122,9 @@ but there is no peace.
122@end group 122@end group
123 123
124@group 124@group
125(char-to-string (preceding-char)) 125(string (preceding-char))
126 @result{} "a" 126 @result{} "a"
127(char-to-string (following-char)) 127(string (following-char))
128 @result{} "c" 128 @result{} "c"
129@end group 129@end group
130@end example 130@end example
@@ -866,7 +866,7 @@ adds it to the most recent element. It determines automatically (using
866@code{last-command}) whether the previous command was a kill command, 866@code{last-command}) whether the previous command was a kill command,
867and if so appends the killed text to the most recent entry. 867and if so appends the killed text to the most recent entry.
868 868
869@deffn Command kill-region start end &optional yank-handler 869@deffn Command kill-region start end
870This function kills the text in the region defined by @var{start} and 870This function kills the text in the region defined by @var{start} and
871@var{end}. The text is deleted but saved in the kill ring, along with 871@var{end}. The text is deleted but saved in the kill ring, along with
872its text properties. The value is always @code{nil}. 872its text properties. The value is always @code{nil}.
@@ -874,17 +874,10 @@ its text properties. The value is always @code{nil}.
874In an interactive call, @var{start} and @var{end} are point and 874In an interactive call, @var{start} and @var{end} are point and
875the mark. 875the mark.
876 876
877@c Emacs 19 feature
878If the buffer or text is read-only, @code{kill-region} modifies the kill 877If the buffer or text is read-only, @code{kill-region} modifies the kill
879ring just the same, then signals an error without modifying the buffer. 878ring just the same, then signals an error without modifying the buffer.
880This is convenient because it lets the user use a series of kill 879This is convenient because it lets the user use a series of kill
881commands to copy text from a read-only buffer into the kill ring. 880commands to copy text from a read-only buffer into the kill ring.
882
883If @var{yank-handler} is non-@code{nil}, this puts that value onto
884the string of killed text, as a @code{yank-handler} text property.
885@xref{Yanking}. Note that if @var{yank-handler} is @code{nil}, any
886@code{yank-handler} properties present on the killed text are copied
887onto the kill ring, like other text properties.
888@end deffn 881@end deffn
889 882
890@defopt kill-read-only-ok 883@defopt kill-read-only-ok
@@ -901,10 +894,10 @@ from the buffer. It returns @code{nil}.
901The command does not set @code{this-command} to @code{kill-region}, so a 894The command does not set @code{this-command} to @code{kill-region}, so a
902subsequent kill command does not append to the same kill ring entry. 895subsequent kill command does not append to the same kill ring entry.
903 896
904Don't call @code{copy-region-as-kill} in Lisp programs unless you aim to 897@c FIXME Why is it better? Why isn't copy-region-as-kill obsolete then?
905support Emacs 18. For newer Emacs versions, it is better to use 898@c Why is it used in many places in Emacs?
906@code{kill-new} or @code{kill-append} instead. @xref{Low-Level Kill 899In Lisp programs, it is better to use @code{kill-new} or
907Ring}. 900@code{kill-append} instead of this command. @xref{Low-Level Kill Ring}.
908@end deffn 901@end deffn
909 902
910@node Yanking 903@node Yanking
@@ -1042,8 +1035,8 @@ text property, if there is one.
1042@subsection Low-Level Kill Ring 1035@subsection Low-Level Kill Ring
1043 1036
1044 These functions and variables provide access to the kill ring at a 1037 These functions and variables provide access to the kill ring at a
1045lower level, but still convenient for use in Lisp programs, because they 1038lower level, but are still convenient for use in Lisp programs,
1046take care of interaction with window system selections 1039because they take care of interaction with window system selections
1047(@pxref{Window System Selections}). 1040(@pxref{Window System Selections}).
1048 1041
1049@defun current-kill n &optional do-not-move 1042@defun current-kill n &optional do-not-move
@@ -1069,7 +1062,7 @@ it returns the entry pointed at by the yanking pointer and does not
1069move the yanking pointer. 1062move the yanking pointer.
1070@end defun 1063@end defun
1071 1064
1072@defun kill-new string &optional replace yank-handler 1065@defun kill-new string &optional replace
1073This function pushes the text @var{string} onto the kill ring and 1066This function pushes the text @var{string} onto the kill ring and
1074makes the yanking pointer point to it. It discards the oldest entry 1067makes the yanking pointer point to it. It discards the oldest entry
1075if appropriate. It also invokes the value of 1068if appropriate. It also invokes the value of
@@ -1078,25 +1071,15 @@ if appropriate. It also invokes the value of
1078If @var{replace} is non-@code{nil}, then @code{kill-new} replaces the 1071If @var{replace} is non-@code{nil}, then @code{kill-new} replaces the
1079first element of the kill ring with @var{string}, rather than pushing 1072first element of the kill ring with @var{string}, rather than pushing
1080@var{string} onto the kill ring. 1073@var{string} onto the kill ring.
1081
1082If @var{yank-handler} is non-@code{nil}, this puts that value onto
1083the string of killed text, as a @code{yank-handler} property.
1084@xref{Yanking}. Note that if @var{yank-handler} is @code{nil}, then
1085@code{kill-new} copies any @code{yank-handler} properties present on
1086@var{string} onto the kill ring, as it does with other text properties.
1087@end defun 1074@end defun
1088 1075
1089@defun kill-append string before-p &optional yank-handler 1076@defun kill-append string before-p
1090This function appends the text @var{string} to the first entry in the 1077This function appends the text @var{string} to the first entry in the
1091kill ring and makes the yanking pointer point to the combined entry. 1078kill ring and makes the yanking pointer point to the combined entry.
1092Normally @var{string} goes at the end of the entry, but if 1079Normally @var{string} goes at the end of the entry, but if
1093@var{before-p} is non-@code{nil}, it goes at the beginning. This 1080@var{before-p} is non-@code{nil}, it goes at the beginning. This
1094function also invokes the value of @code{interprogram-cut-function} 1081function also invokes the value of @code{interprogram-cut-function}
1095(see below). This handles @var{yank-handler} just like 1082(see below).
1096@code{kill-new}, except that if @var{yank-handler} is different from
1097the @code{yank-handler} property of the first entry of the kill ring,
1098@code{kill-append} pushes the concatenated string onto the kill ring,
1099instead of replacing the original first entry with it.
1100@end defun 1083@end defun
1101 1084
1102@defvar interprogram-paste-function 1085@defvar interprogram-paste-function
@@ -4324,6 +4307,4 @@ code that is itself run from a modification hook, then rebind locally
4324@code{inhibit-modification-hooks} to @code{nil}. 4307@code{inhibit-modification-hooks} to @code{nil}.
4325@end defvar 4308@end defvar
4326 4309
4327@ignore 4310
4328 arch-tag: 3721e738-a1cb-4085-bc1a-6cb8d8e1d32b
4329@end ignore
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index a3a550868f5..20fe4dbc9fa 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -544,21 +544,23 @@ not the buffer-local value. (But you should not be making
544buffer-local bindings for a symbol that is defined with 544buffer-local bindings for a symbol that is defined with
545@code{defconst}.) 545@code{defconst}.)
546 546
547Here, @code{pi} is a constant that presumably ought not to be changed 547An example of the use of @code{defconst} is Emacs' definition of
548by anyone (attempts by the Indiana State Legislature notwithstanding). 548@code{float-pi}---the mathematical constant @math{pi}, which ought not
549As the second form illustrates, however, this is only advisory. 549to be changed by anyone (attempts by the Indiana State Legislature
550notwithstanding). As the second form illustrates, however,
551@code{defconst} is only advisory.
550 552
551@example 553@example
552@group 554@group
553(defconst pi 3.1415 "Pi to five places.") 555(defconst float-pi 3.141592653589793 "The value of Pi.")
554 @result{} pi 556 @result{} float-pi
555@end group 557@end group
556@group 558@group
557(setq pi 3) 559(setq float-pi 3)
558 @result{} pi 560 @result{} float-pi
559@end group 561@end group
560@group 562@group
561pi 563float-pi
562 @result{} 3 564 @result{} 3
563@end group 565@end group
564@end example 566@end example