aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lispref')
-rw-r--r--doc/lispref/ChangeLog.trunk34
-rw-r--r--doc/lispref/Makefile.in2
-rw-r--r--doc/lispref/elisp.texi2
-rw-r--r--doc/lispref/intro.texi4
-rw-r--r--doc/lispref/keymaps.texi14
-rw-r--r--doc/lispref/makefile.w32-in3
-rw-r--r--doc/lispref/modes.texi2
-rw-r--r--doc/lispref/nonascii.texi2
-rw-r--r--doc/lispref/package.texi101
-rw-r--r--doc/lispref/strings.texi4
10 files changed, 141 insertions, 27 deletions
diff --git a/doc/lispref/ChangeLog.trunk b/doc/lispref/ChangeLog.trunk
index 5d28a90136e..c705aae4934 100644
--- a/doc/lispref/ChangeLog.trunk
+++ b/doc/lispref/ChangeLog.trunk
@@ -1,3 +1,37 @@
12011-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * strings.texi (String Conversion): Don't mention
4 string-make-(uni|multi)byte (bug#8262).
5 * nonascii.texi (Converting Representations): Fix up range.
6 * keymaps.texi (Key Binding Commands): Update code point, avoid
7 "unibyte character" and remove mention of unibyte bindings.
8
92011-03-10 Eli Zaretskii <eliz@gnu.org>
10
11 * modes.texi (Operator Precedence Grammars): Don't use characters
12 outside ISO-8859-1.
13
142011-03-09 Eli Zaretskii <eliz@gnu.org>
15
16 * intro.texi (Acknowledgements): Convert to ISO-8859-1 encoding.
17
18 * makefile.w32-in (MAKEINFO_OPTS): Add --enable-encoding.
19
202011-03-08 Glenn Morris <rgm@gnu.org>
21
22 * Makefile.in (MAKEINFO_OPTS): Add --enable-encoding.
23 * intro.texi (Acknowledgements): Names to UTF-8.
24 * elisp.texi: Set documentencoding.
25
262011-03-06 Chong Yidong <cyd@stupidchicken.com>
27
28 * package.texi: Update index keywords.
29 (Package Archives): New node contents. Document package-x.el.
30
312011-03-06 Juanma Barranquero <lekktu@gmail.com>
32
33 * makefile.w32-in (srcs): Add package.texi.
34
12011-03-06 Chong Yidong <cyd@stupidchicken.com> 352011-03-06 Chong Yidong <cyd@stupidchicken.com>
2 36
3 * package.texi (Packaging, Packaging Basics, Simple Packages) 37 * package.texi (Packaging, Packaging Basics, Simple Packages)
diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in
index d5427f6e477..75fa884224b 100644
--- a/doc/lispref/Makefile.in
+++ b/doc/lispref/Makefile.in
@@ -31,7 +31,7 @@ texinfodir = $(srcdir)/../misc
31emacsdir = $(srcdir)/../emacs 31emacsdir = $(srcdir)/../emacs
32 32
33MAKEINFO = @MAKEINFO@ 33MAKEINFO = @MAKEINFO@
34MAKEINFO_OPTS = --force -I $(emacsdir) -I $(srcdir) 34MAKEINFO_OPTS = --force --enable-encoding -I $(emacsdir) -I $(srcdir)
35TEXI2DVI = texi2dvi 35TEXI2DVI = texi2dvi
36TEXI2PDF = texi2pdf 36TEXI2PDF = texi2pdf
37DVIPS = dvips 37DVIPS = dvips
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index fc066526614..69c50ba42be 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -62,6 +62,8 @@ developing GNU and promoting software freedom.''
62@end quotation 62@end quotation
63@end copying 63@end copying
64 64
65@documentencoding ISO-8859-1
66
65@dircategory GNU Emacs Lisp 67@dircategory GNU Emacs Lisp
66@direntry 68@direntry
67* Elisp: (elisp). The Emacs Lisp Reference Manual. 69* Elisp: (elisp). The Emacs Lisp Reference Manual.
diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi
index baa184004e2..7c070726023 100644
--- a/doc/lispref/intro.texi
+++ b/doc/lispref/intro.texi
@@ -1,4 +1,4 @@
1@c -*-texinfo-*- 1@c -*-coding: iso-latin-1-*-
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-1994, 2001-2011 Free Software Foundation, Inc. 3@c Copyright (C) 1990-1994, 2001-2011 Free Software Foundation, Inc.
4@c See the file elisp.texi for copying conditions. 4@c See the file elisp.texi for copying conditions.
@@ -542,6 +542,6 @@ Kirman, Bob Knighten, Frederick M. Korz, Joe Lammens, Glenn M. Lewis,
542K. Richard Magill, Brian Marick, Roland McGrath, Stefan Monnier, Skip 542K. Richard Magill, Brian Marick, Roland McGrath, Stefan Monnier, Skip
543Montanaro, John Gardiner Myers, Thomas A. Peterson, Francesco Potorti, 543Montanaro, John Gardiner Myers, Thomas A. Peterson, Francesco Potorti,
544Friedrich Pukelsheim, Arnold D. Robbins, Raul Rockwell, Jason Rumney, 544Friedrich Pukelsheim, Arnold D. Robbins, Raul Rockwell, Jason Rumney,
545Per Starb@"ack, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, Bill 545Per Starbäck, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, Bill
546Trost, Rickard Westman, Jean White, Eduard Wiebe, Matthew Wilding, 546Trost, Rickard Westman, Jean White, Eduard Wiebe, Matthew Wilding,
547Carl Witty, Dale Worley, Rusty Wright, and David D. Zuhn. 547Carl Witty, Dale Worley, Rusty Wright, and David D. Zuhn.
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi
index af24ff5aa43..2648c22ca01 100644
--- a/doc/lispref/keymaps.texi
+++ b/doc/lispref/keymaps.texi
@@ -1705,15 +1705,11 @@ or
1705 1705
1706@noindent 1706@noindent
1707and your language environment is multibyte Latin-1, these commands 1707and your language environment is multibyte Latin-1, these commands
1708actually bind the multibyte character with code 2294, not the unibyte 1708actually bind the multibyte character with code 246, not the byte
1709Latin-1 character with code 246 (@kbd{M-v}). In order to use this 1709code 246 (@kbd{M-v}) sent by a Latin-1 terminal. In order to use this
1710binding, you need to enter the multibyte Latin-1 character as keyboard 1710binding, you need to teach Emacs how to decode the keyboard by using an
1711input. One way to do this is by using an appropriate input method 1711appropriate input method (@pxref{Input Methods, , Input Methods, emacs, The GNU
1712(@pxref{Input Methods, , Input Methods, emacs, The GNU Emacs Manual}). 1712Emacs Manual}).
1713
1714 If you want to use a unibyte character in the key binding, you can
1715construct the key sequence string using @code{multibyte-char-to-unibyte}
1716or @code{string-make-unibyte} (@pxref{Converting Representations}).
1717 1713
1718@deffn Command global-set-key key binding 1714@deffn Command global-set-key key binding
1719This function sets the binding of @var{key} in the current global map 1715This function sets the binding of @var{key} in the current global map
diff --git a/doc/lispref/makefile.w32-in b/doc/lispref/makefile.w32-in
index e0bcd21f2c0..7b88e861d67 100644
--- a/doc/lispref/makefile.w32-in
+++ b/doc/lispref/makefile.w32-in
@@ -33,7 +33,7 @@ texinfodir = $(srcdir)/../misc
33TEX=tex 33TEX=tex
34INSTALL_INFO = install-info 34INSTALL_INFO = install-info
35MAKEINFO = makeinfo 35MAKEINFO = makeinfo
36MAKEINFO_OPTS = --force -I$(srcdir) -I$(emacsdir) 36MAKEINFO_OPTS = --force --enable-encoding -I$(srcdir) -I$(emacsdir)
37 37
38# The environment variable and its value to add $(srcdir) to the path 38# The environment variable and its value to add $(srcdir) to the path
39# searched for TeX input files. 39# searched for TeX input files.
@@ -87,6 +87,7 @@ srcs = \
87 $(srcdir)/numbers.texi \ 87 $(srcdir)/numbers.texi \
88 $(srcdir)/objects.texi \ 88 $(srcdir)/objects.texi \
89 $(srcdir)/os.texi \ 89 $(srcdir)/os.texi \
90 $(srcdir)/package.texi \
90 $(srcdir)/positions.texi \ 91 $(srcdir)/positions.texi \
91 $(srcdir)/processes.texi \ 92 $(srcdir)/processes.texi \
92 $(srcdir)/searching.texi \ 93 $(srcdir)/searching.texi \
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index f238f38462f..f0a8985fa75 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -3403,7 +3403,7 @@ Such pairs of precedences are sufficient to express left-associativity
3403or right-associativity of infix operators, nesting of tokens like 3403or right-associativity of infix operators, nesting of tokens like
3404parentheses and many other cases. 3404parentheses and many other cases.
3405 3405
3406@c ¡Let's leave this undocumented to leave it more open for change! 3406@c Let's leave this undocumented to leave it more open for change!
3407@c @defvar smie-grammar 3407@c @defvar smie-grammar
3408@c The value of this variable is an alist specifying the left and right 3408@c The value of this variable is an alist specifying the left and right
3409@c precedence of each token. It is meant to be initialized by using one of 3409@c precedence of each token. It is meant to be initialized by using one of
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 409ecc7e20c..6fcde611998 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -167,7 +167,7 @@ acceptable because the buffer's representation is a choice made by the
167user that cannot be overridden automatically. 167user that cannot be overridden automatically.
168 168
169 Converting unibyte text to multibyte text leaves @acronym{ASCII} 169 Converting unibyte text to multibyte text leaves @acronym{ASCII}
170characters unchanged, and converts bytes with codes 128 through 159 to 170characters unchanged, and converts bytes with codes 128 through 255 to
171the multibyte representation of raw eight-bit bytes. 171the multibyte representation of raw eight-bit bytes.
172 172
173 Converting multibyte text to unibyte converts all @acronym{ASCII} 173 Converting multibyte text to unibyte converts all @acronym{ASCII}
diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi
index 4de44fe165d..62fbc2a9a07 100644
--- a/doc/lispref/package.texi
+++ b/doc/lispref/package.texi
@@ -5,7 +5,8 @@
5@setfilename ../../info/package 5@setfilename ../../info/package
6@node Packaging, Antinews, System Interface, Top 6@node Packaging, Antinews, System Interface, Top
7@chapter Preparing Lisp code for distribution 7@chapter Preparing Lisp code for distribution
8@cindex packaging 8@cindex package
9@cindex Lisp package
9 10
10 Emacs provides a standard way to distribute Emacs Lisp code to 11 Emacs provides a standard way to distribute Emacs Lisp code to
11users. A @dfn{package} is a collection of one or more files, 12users. A @dfn{package} is a collection of one or more files,
@@ -24,8 +25,11 @@ put it in a @dfn{package archive} for others to download.
24 25
25@node Packaging Basics 26@node Packaging Basics
26@section Packaging Basics 27@section Packaging Basics
27@cindex packaging basics
28@cindex package attributes 28@cindex package attributes
29@cindex package name
30@cindex package version
31@cindex dependencies
32@cindex package dependencies
29 33
30 A package is either a @dfn{simple package} or a @dfn{multi-file 34 A package is either a @dfn{simple package} or a @dfn{multi-file
31package}. A simple package is stored in a package archive as a single 35package}. A simple package is stored in a package archive as a single
@@ -69,6 +73,7 @@ installing this package also automatically installs its dependencies;
69if any dependency cannot be found, the package cannot be installed. 73if any dependency cannot be found, the package cannot be installed.
70@end table 74@end table
71 75
76@cindex content directory, package
72 Installing a package, either via the Package Menu, or via the 77 Installing a package, either via the Package Menu, or via the
73command @code{package-install-file}, creates a subdirectory of 78command @code{package-install-file}, creates a subdirectory of
74@code{package-user-dir} named @file{@var{name}-@var{version}}, where 79@code{package-user-dir} named @file{@var{name}-@var{version}}, where
@@ -78,6 +83,7 @@ package's @dfn{content directory}. It is where Emacs puts the
78package's contents (the single Lisp file for a simple package, or the 83package's contents (the single Lisp file for a simple package, or the
79files extracted from a multi-file package). 84files extracted from a multi-file package).
80 85
86@cindex package autoloads
81 Emacs then searches every Lisp file in the content directory for 87 Emacs then searches every Lisp file in the content directory for
82autoload magic comments (@pxref{Autoload}). These autoload 88autoload magic comments (@pxref{Autoload}). These autoload
83definitions are saved to a file named @file{@var{name}-autoloads.el} 89definitions are saved to a file named @file{@var{name}-autoloads.el}
@@ -98,7 +104,8 @@ typically called to begin using the package.
98 104
99@node Simple Packages 105@node Simple Packages
100@section Simple Packages 106@section Simple Packages
101@cindex single file packages 107@cindex single file package
108@cindex simple package
102 109
103 A simple package consists of a single Emacs Lisp source file. The 110 A simple package consists of a single Emacs Lisp source file. The
104file must conform to the Emacs Lisp library header conventions 111file must conform to the Emacs Lisp library header conventions
@@ -160,7 +167,7 @@ single-file package to a package archive.
160 167
161@node Multi-file Packages 168@node Multi-file Packages
162@section Multi-file Packages 169@section Multi-file Packages
163@cindex multi-file packages 170@cindex multi-file package
164 171
165 A multi-file package is less convenient to create than a single-file 172 A multi-file package is less convenient to create than a single-file
166package, but it offers more features: it can include multiple Emacs 173package, but it offers more features: it can include multiple Emacs
@@ -206,10 +213,10 @@ file is used as the long description.
206 If the content directory contains a file named @file{dir}, this is 213 If the content directory contains a file named @file{dir}, this is
207assumed to be an Info directory file made with @command{install-info}. 214assumed to be an Info directory file made with @command{install-info}.
208@xref{Invoking install-info, Invoking install-info, Invoking 215@xref{Invoking install-info, Invoking install-info, Invoking
209install-info, texinfo, Texinfo}. The Info files listed in this 216install-info, texinfo, Texinfo}. The relevant Info files should also
210directory file should also be present in the content directory. In 217be present in the content directory. In this case, Emacs will
211this case, Emacs will automatically add the content directory to 218automatically add the content directory to @code{Info-directory-list}
212@code{Info-directory-list} when the package is activated. 219when the package is activated.
213 220
214 Do not include any @file{.elc} files in the package. Those are 221 Do not include any @file{.elc} files in the package. Those are
215created when the package is installed. Note that there is no way to 222created when the package is installed. Note that there is no way to
@@ -234,5 +241,79 @@ variable @code{load-file-name} (@pxref{Loading}). Here is an example:
234 241
235@node Package Archives 242@node Package Archives
236@section Creating and Maintaining Package Archives 243@section Creating and Maintaining Package Archives
237 244@cindex package archive
238To be done. 245
246 Via the Package Menu, users may download packages from @dfn{package
247archives}. Such archives are specified by the variable
248@code{package-archives}, whose default value contains a single entry:
249the archive hosted by the GNU project at @url{elpa.gnu.org}. This
250section describes how to set up and maintain a package archive.
251
252@cindex base location, package archive
253@defopt package-archives
254The value of this variable is an alist of package archives recognized
255by the Emacs package manager.
256
257Each alist element corresponds to one archive, and should have the
258form @code{(@var{id} . @var{location})}, where @var{id} is the name of
259the archive (a string) and @var{location} is its @dfn{base location}
260(a string).
261
262If the base location starts with @samp{http:}, it is treated as a HTTP
263URL, and packages are downloaded from this archive via HTTP (as is the
264case for the default GNU archive).
265
266Otherwise, the base location should be a directory name. In this
267case, Emacs retrieves packages from this archive via ordinary file
268access. Such ``local'' archives are mainly useful for testing.
269@end defopt
270
271 A package archive is simply a directory in which the package files,
272and associated files, are stored. If you want the archive to be
273reachable via HTTP, this directory must be accessible to a web server.
274How to accomplish this is beyond the scope of this manual.
275
276 A convenient way to set up and update a package archive is via the
277@code{package-x} library. This is included with Emacs, but not loaded
278by default; type @kbd{M-x load-library @kbd{RET} package-x @kbd{RET}}
279to load it, or add @code{(require 'package-x)} to your init file.
280@xref{Lisp Libraries,, Lisp Libraries, emacs, The GNU Emacs Manual}.
281Once loaded, you can make use of the following:
282
283@defopt package-archive-upload-base
284The value of this variable is the base location of a package archive,
285as a directory name. The commands in the @code{package-x} library
286will use this base location.
287
288The directory name should be absolute. You may specify a remote name,
289such as @file{/ssh:foo@@example.com:/var/www/packages/}, if the
290package archive is on a different machine. @xref{Remote Files,,
291Remote Files, emacs, The GNU Emacs Manual}.
292@end defopt
293
294@deffn Command package-upload-file filename
295This command prompts for @var{filename}, a file name, and uploads that
296file to @code{package-archive-upload-base}. The file must be either a
297simple package (a @file{.el} file) or a multi-file package (a
298@file{.tar} file); otherwise, an error is raised. The package
299attributes are automatically extracted, and the archive's contents
300list is updated with this information.
301
302If @code{package-archive-upload-base} does not specify a valid
303directory, the function prompts interactively for one. If the
304directory does not exist, it is created. The directory need not have
305any initial contents (i.e., you can use this command to populate an
306initially empty archive).
307@end deffn
308
309@deffn Command package-upload-buffer
310This command is similar to @code{package-upload-file}, but instead of
311prompting for a package file, it uploads the contents of the current
312buffer. The current buffer must be visiting a simple package (a
313@file{.el} file) or a multi-file package (a @file{.tar} file);
314otherwise, an error is raised.
315@end deffn
316
317@noindent
318After you create an archive, remember that it is not accessible in the
319Package Menu interface unless it is in @code{package-archives}.
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index ce080bc221f..d062c215952 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -554,8 +554,8 @@ strings and integers. @code{format} (@pxref{Formatting Strings}) and
554@code{prin1-to-string} (@pxref{Output Functions}) can also convert 554@code{prin1-to-string} (@pxref{Output Functions}) can also convert
555Lisp objects into strings. @code{read-from-string} (@pxref{Input 555Lisp objects into strings. @code{read-from-string} (@pxref{Input
556Functions}) can ``convert'' a string representation of a Lisp object 556Functions}) can ``convert'' a string representation of a Lisp object
557into an object. The functions @code{string-make-multibyte} and 557into an object. The functions @code{string-to-multibyte} and
558@code{string-make-unibyte} convert the text representation of a string 558@code{string-to-unibyte} convert the text representation of a string
559(@pxref{Converting Representations}). 559(@pxref{Converting Representations}).
560 560
561 @xref{Documentation}, for functions that produce textual descriptions 561 @xref{Documentation}, for functions that produce textual descriptions