Commit 07976ae3 authored by Chong Yidong's avatar Chong Yidong

Merge changes from emacs-23 branch

parents 96107967 402c8a49
......@@ -475,8 +475,8 @@ http://lists.gnu.org/archive/html/emacs-devel/2009-11/msg00440.html
** Bazaar stuff
*** You can use `bzr commit --fixes debbugs:123' to mark that a commit fixes
Emacs bug 123. You will first need to add a line to your ~/bazaar.conf
or ~/locations.conf:
Emacs bug 123. You will first need to add a line to one of your
configuration files, ~/.bazaar/bazaar.conf or ~/.bazaar/locations.conf:
bugtracker_debbugs_url = http://debbugs.gnu.org/{id}
......@@ -491,7 +491,7 @@ In the locations.conf file, it should go into the branch-specific
configuration section for the branch where you want this to be in
effect. For example, if you want this to be in effect for the branch
located at `/home/projects/emacs/trunk', you need to have this in your
~/locations.conf file:
~/.bazaar/locations.conf file:
[/home/projects/emacs/trunk]
bugtracker_debbugs_url = http://debbugs.gnu.org/{id}
......
2010-11-27 Bob Rogers <rogers-emacs@rgrjr.dyndns.org>
* maintaining.texi (VC With A Locking VCS, VC Directory Commands):
* vc1-xtra.texi (Customizing VC, General VC Options): Small fixes.
2010-11-27 Chong Yidong <cyd@stupidchicken.com>
* maintaining.texi (Version Control Systems): Fix repeated sentence.
Suggested by Štěpán Němec.
2010-11-27 Chong Yidong <cyd@stupidchicken.com>
* maintaining.texi (Version Control): Say "commit", not "check in".
(Version Control Systems): Simplify descriptions.
(VCS Merging, VCS Changesets, VCS Repositories): New nodes, split from
VCS Concepts.
(VC Mode Line): Update example.
(Old Revisions): Document revert-buffer for vc-diff.
(Log Buffer): Promote to a subsection. Document header lines.
* macos.texi (Mac / GNUstep Basics): Document
ns-right-alternate-modifier.
* emacs.texi (Top): Update node listing.
2010-11-13 Eli Zaretskii <eliz@gnu.org>
* rmail.texi (Rmail Coding): Characters with no fonts are not
......
......@@ -771,6 +771,7 @@ Version Control
* Introduction to VC:: How version control works in general.
* VC Mode Line:: How the mode line shows version control status.
* Basic VC Editing:: How to edit a file under version control.
* Log Buffer:: Features available in log entry buffers.
* Old Revisions:: Examining and comparing old versions.
* Secondary VC Commands:: The commands used a little less frequently.
* VC Directory Mode:: Listing files managed by version control.
......@@ -785,6 +786,9 @@ Introduction to Version Control
* Why Version Control?:: Understanding the problems it addresses.
* Version Control Systems:: Supported version control back-end systems.
* VCS Concepts:: Words and concepts related to version control.
* VCS Merging:: How file conflicts are handled.
* VCS Changesets:: Changesets in version control.
* VCS Repositories:: Where version control repositories are stored.
* Types of Log File:: The VCS log in contrast to the ChangeLog.
Basic Editing under Version Control
......@@ -792,7 +796,6 @@ Basic Editing under Version Control
* VC With A Merging VCS:: Without locking: default mode for CVS.
* VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS.
* Advanced C-x v v:: Advanced features available with a prefix argument.
* Log Buffer:: Features available in log entry buffers.
The Secondary Commands of VC
......
......@@ -8,23 +8,22 @@
@cindex Macintosh
@cindex GNUstep
This section briefly describes the peculiarities of using Emacs built with
the GNUstep libraries on GNU/Linux or other operating systems, or on Mac OS X
with native window system support. For Mac OS X, Emacs can be built either
without window system support, with X11, or with the Cocoa interface. This
section only applies to the Cocoa build. Emacs 23 does not support Mac OS
Classic.
Emacs, when built on Mac OS X, uses the Cocoa application interface. For
various historical and technical reasons, Emacs uses the term @samp{Nextstep}
internally, instead of ``Cocoa'' or ``Mac OS X''; for instance, most of the
commands and variables described in the following sections begin with
@samp{ns-}, which is short for @samp{Nextstep}. NeXTstep was an application
interface released by NeXT Inc during the 1980s, of which Cocoa is a direct
descendant. Apart from Cocoa, there is another NeXTstep-style system:
GNUstep, which is free software. As of this writing, the GNUstep support is
alpha status (@pxref{GNUstep Support}), but we hope to improve it in the
future.
This section describes the peculiarities of using Emacs built with
the GNUstep libraries on GNU/Linux or other operating systems, or on
Mac OS X with native window system support. On Mac OS X, Emacs can be
built either without window system support, with X11, or with the
Cocoa interface; this section only applies to the Cocoa build. Emacs
does not support earlier versions of Mac OS.
For various historical and technical reasons, Emacs uses the term
@samp{Nextstep} internally, instead of ``Cocoa'' or ``Mac OS X''; for
instance, most of the commands and variables described in this section
begin with @samp{ns-}, which is short for @samp{Nextstep}. NeXTstep
was an application interface released by NeXT Inc during the 1980s, of
which Cocoa is a direct descendant. Apart from Cocoa, there is
another NeXTstep-style system: GNUstep, which is free software. As of
this writing, the GNUstep support is alpha status (@pxref{GNUstep
Support}), but we hope to improve it in the future.
@menu
* Mac / GNUstep Basics:: Basic Emacs usage under GNUstep or Mac OS.
......@@ -37,19 +36,24 @@ future.
@section Basic Emacs usage under Mac OS and GNUstep
By default, the @key{alt} and @key{option} keys are the same as
@key{Meta} when running under Mac OS. The Mac @key{Cmd} key is the
same as @key{Super}, and Emacs provides a set of keybindings using
this modifier key that mimic other Mac / GNUstep applications (@pxref{Mac /
GNUstep Events}). You can change these bindings in the usual way (@pxref{Key
Bindings}).
The standard Mac / GNUstep font and color panels are accessible via Lisp commands.
To use the color panel, drag from it to an Emacs frame to change the
foreground color of the face at that position (if the @key{shift} key
is held down, it changes the background color instead). To discard the
settings, create a new frame and close the altered one.
@c [unclear if the following holds.]
@c To finalize the settings for either color or font, choose @samp{Save Options} in the @samp{Options} menu.
@key{Meta}. The Mac @key{Cmd} key is the same as @key{Super}, and
Emacs provides a set of keybindings using this modifier key that mimic
other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You
can change these bindings in the usual way (@pxref{Key Bindings}).
The variable @code{ns-right-alternate-modifier} controls the
behavior of the right @key{alt} and @key{option} keys. These keys
behave like the left-hand keys if the value is @code{left} (the
default). A value of @code{control}, @code{meta}, @code{alt},
@code{super}, or @code{hyper} makes them behave like the corresponding
modifier keys; a value of @code{none} tells Emacs to ignore them.
The standard Mac / GNUstep font and color panels are accessible via
Lisp commands. To use the color panel, drag from it to an Emacs frame
to change the foreground color of the face at that position (if the
@key{shift} key is held down, it changes the background color
instead). To discard the settings, create a new frame and close the
altered one.
@key{S-Mouse-1} (i.e., clicking the left mouse button
while holding down the @key{Shift} key) adjusts the region to the
......@@ -58,7 +62,7 @@ it does not pop up a menu for changing the default face, as
@key{S-Mouse-1} normally does (@pxref{Temporary Face Changes}). This
change makes Emacs behave more like other Mac / GNUstep applications.
When you open or save files using the menus, or using the
When you open or save files using the menus, or using the
@key{Cmd-o} and @key{Cmd-S} bindings, Emacs uses graphical file
dialogs to read file names. However, if you use the regular Emacs key
sequences, such as @key{C-x C-f}, Emacs uses the minibuffer to read
......@@ -110,7 +114,7 @@ dragging will alter the foreground color. Shift dragging will alter the
background color.
@c To make the changes permanent select the "Save Options"
@c item in the "Options" menu, or run @code{menu-bar-options-save}.
@c item in the "Options" menu, or run @code{menu-bar-options-save}.
Useful in this context is the listing of all faces obtained by @key{M-x}
@code{list-faces-display}.
......@@ -193,7 +197,7 @@ font are stored in the variables @code{ns-input-font} and
@code{ns-input-fontsize}, respectively.
@item ns-power-off
This event occurs when the user logs out and Emacs is still running, or when
This event occurs when the user logs out and Emacs is still running, or when
`Quit Emacs' is chosen from the application menu.
The default behavior is to save all file-visiting buffers.
@end table
......@@ -208,26 +212,9 @@ and return the result as a string. You can also use the Lisp function
services and receive the results back. Note that you may need to
restart Emacs to access newly-available services.
@node GNUstep Support, , Mac / GNUstep Events, Mac OS / GNUstep
@section GNUstep Support
Emacs can be built and run under GNUstep, however there are still some
Emacs can be built and run under GNUstep, but there are still some
issues to be addressed. Interested developers should contact
@email{emacs-devel@@gnu.org}.
@c Presumably no longer relevant since CANNOT_DUMP removed 2009-05-06:
@ignore
In particular, it may be necessary to run @samp{make bootstrap} with a
plain X configuration, then @samp{make clean} and @samp{./configure
--with-ns} followed by @samp{make install}.
Currently CANNOT_DUMP is automatically enabled in GNUstep configurations,
because the unex file(s) for GNUstep, mainly @samp{unexelf.c}, have not been
updated yet with the ``zone'' code in and related to @samp{unexmacosx.c}.
@end ignore
@ignore
arch-tag: a822c2ab-4273-4997-927e-c153bb71dcf6
@end ignore
This diff is collapsed.
......@@ -594,7 +594,7 @@ headers.
@vindex vc-handled-backends
The variable @code{vc-handled-backends} determines which version
control systems VC should handle. The default value is @code{(RCS CVS
SVN SCCS BZR GIT HG Arch)}, so it contains all the version systems
SVN SCCS Bzr Git Hg Mtn Arch)}, so it contains all the version systems
that are currently supported. If you want VC to ignore one or more of
these systems, exclude its name from the list. To disable VC entirely,
set this variable to @code{nil}.
......@@ -657,8 +657,8 @@ variable does not affect @kbd{C-x v c}; that operation is so drastic
that it should always ask for confirmation.)
@vindex vc-command-messages
VC mode does much of its work by running the shell commands for RCS,
CVS and SCCS. If @code{vc-command-messages} is non-@code{nil}, VC
VC mode does much of its work by running the shell commands for the
appropriate backend. If @code{vc-command-messages} is non-@code{nil}, VC
displays messages to indicate which shell commands it runs, and
additional messages when the commands finish.
......
2010-11-27 Chong Yidong <cyd@stupidchicken.com>
* nonascii.texi (Converting Representations): Document
byte-to-string.
* strings.texi (Creating Strings): Don't mention semi-obsolete
function char-to-string.
(String Conversion): Shorten discussion of semi-obsolete function
string-to-char. Link to Converting Representations.
* objects.texi (Symbol Type):
* text.texi (Near Point):
* help.texi (Help Functions):
* functions.texi (Mapping Functions): Use string instead of
char-to-string in examples.
2010-11-27 Chong Yidong <cyd@stupidchicken.com>
* text.texi (Kill Functions, Kill Functions)
(Low-Level Kill Ring, Low-Level Kill Ring): Remove obsolete
YANK-HANDLER args.
* symbols.texi (Creating Symbols): Using unintern without an
obarray arg is now obsolete.
* numbers.texi (Float Basics): Document float-e and float-pi.
* variables.texi (Defining Variables): Change "pi" example to
"float-pi".
2010-11-26 Eli Zaretskii <eliz@gnu.org>
* commands.texi (Click Events): Document the values of X, Y and
......
......@@ -818,7 +818,7 @@ length of @var{sequence}. For example:
@result{} (a c e)
(mapcar '1+ [1 2 3])
@result{} (2 3 4)
(mapcar 'char-to-string "abc")
(mapcar 'string "abc")
@result{} ("a" "b" "c")
@end group
......
......@@ -546,7 +546,7 @@ follows:
@smallexample
@group
(define-key global-map (char-to-string help-char) 'help-command)
(define-key global-map (string help-char) 'help-command)
(fset 'help-command help-map)
@end group
@end smallexample
......
......@@ -199,6 +199,13 @@ unibyte string, it is returned unchanged. Use this function for
characters.
@end defun
@defun byte-to-string byte
@cindex byte to string
This function returns a unibyte string containing a single byte of
character data, @var{character}. It signals a error if
@var{character} is not an integer between 0 and 255.
@end defun
@defun multibyte-char-to-unibyte char
This converts the multibyte character @var{char} to a unibyte
character, and returns that character. If @var{char} is neither
......
......@@ -224,6 +224,14 @@ down to an integer.
@end example
@end defun
@defvar float-e
The mathematical constant @math{e} (2.71828@dots{}).
@end defvar
@defvar float-pi
The mathematical constant @math{pi} (3.14159@dots{}).
@end defvar
@node Predicates on Numbers
@section Type Predicates for Numbers
@cindex predicates for numbers
......
......@@ -582,7 +582,6 @@ makes it invalid as a number.
@group
foo ; @r{A symbol named @samp{foo}.}
FOO ; @r{A symbol named @samp{FOO}, different from @samp{foo}.}
char-to-string ; @r{A symbol named @samp{char-to-string}.}
@end group
@group
1+ ; @r{A symbol named @samp{1+}}
......
......@@ -126,9 +126,8 @@ This function returns a string made up of @var{count} repetitions of
@result{} ""
@end example
Other functions to compare with this one include @code{char-to-string}
(@pxref{String Conversion}), @code{make-vector} (@pxref{Vectors}), and
@code{make-list} (@pxref{Building Lists}).
Other functions to compare with this one include @code{make-vector}
(@pxref{Vectors}) and @code{make-list} (@pxref{Building Lists}).
@end defun
@defun string &rest characters
......@@ -565,38 +564,6 @@ of text characters and general input events
(@code{single-key-description} and @code{text-char-description}). These
are used primarily for making help messages.
@defun char-to-string character
@cindex character to string
This function returns a new string containing one character,
@var{character}. This function is semi-obsolete because the function
@code{string} is more general. @xref{Creating Strings}.
@end defun
@defun string-to-char string
@cindex string to character
This function returns the first character in @var{string}. If the
string is empty, the function returns 0. The value is also 0 when the
first character of @var{string} is the null character, @acronym{ASCII} code
0.
@example
(string-to-char "ABC")
@result{} 65
(string-to-char "xyz")
@result{} 120
(string-to-char "")
@result{} 0
@group
(string-to-char "\000")
@result{} 0
@end group
@end example
This function may be eliminated in the future if it does not seem useful
enough to retain.
@end defun
@defun number-to-string number
@cindex integer to string
@cindex integer to decimal
......@@ -657,21 +624,41 @@ this function returns 0.
@findex string-to-int
@code{string-to-int} is an obsolete alias for this function.
@end defun
@defun char-to-string character
@cindex character to string
This function returns a new string containing one character,
@var{character}. This function is semi-obsolete because the function
@code{string} is more general. @xref{Creating Strings}.
@end defun
@defun string-to-char string
This function returns the first character in @var{string}. This
mostly identical to @code{(aref string 0)}, except that it returns 0
if the string is empty. (The value is also 0 when the first character
of @var{string} is the null character, @acronym{ASCII} code 0.) This
function may be eliminated in the future if it does not seem useful
enough to retain.
@end defun
Here are some other functions that can convert to or from a string:
@table @code
@item concat
@code{concat} can convert a vector or a list into a string.
This function converts a vector or a list into a string.
@xref{Creating Strings}.
@item vconcat
@code{vconcat} can convert a string into a vector. @xref{Vector
This function converts a string into a vector. @xref{Vector
Functions}.
@item append
@code{append} can convert a string into a list. @xref{Building Lists}.
This function converts a string into a list. @xref{Building Lists}.
@item byte-to-string
This function converts a byte of character data into a unibyte string.
@xref{Converting Representations}.
@end table
@node Formatting Strings
......
......@@ -383,7 +383,7 @@ See @code{documentation} in @ref{Accessing Documentation}, for another
example using @code{mapatoms}.
@end defun
@defun unintern symbol &optional obarray
@defun unintern symbol obarray
This function deletes @var{symbol} from the obarray @var{obarray}. If
@code{symbol} is not actually in the obarray, @code{unintern} does
nothing. If @var{obarray} is @code{nil}, the current obarray is used.
......
......@@ -87,7 +87,7 @@ buffer is @samp{@@}:
@example
@group
(char-to-string (char-after 1))
(string (char-after 1))
@result{} "@@"
@end group
@end example
......@@ -122,9 +122,9 @@ but there is no peace.
@end group
@group
(char-to-string (preceding-char))
(string (preceding-char))
@result{} "a"
(char-to-string (following-char))
(string (following-char))
@result{} "c"
@end group
@end example
......@@ -866,7 +866,7 @@ adds it to the most recent element. It determines automatically (using
@code{last-command}) whether the previous command was a kill command,
and if so appends the killed text to the most recent entry.
@deffn Command kill-region start end &optional yank-handler
@deffn Command kill-region start end
This function kills the text in the region defined by @var{start} and
@var{end}. The text is deleted but saved in the kill ring, along with
its text properties. The value is always @code{nil}.
......@@ -874,17 +874,10 @@ its text properties. The value is always @code{nil}.
In an interactive call, @var{start} and @var{end} are point and
the mark.
@c Emacs 19 feature
If the buffer or text is read-only, @code{kill-region} modifies the kill
ring just the same, then signals an error without modifying the buffer.
This is convenient because it lets the user use a series of kill
commands to copy text from a read-only buffer into the kill ring.
If @var{yank-handler} is non-@code{nil}, this puts that value onto
the string of killed text, as a @code{yank-handler} text property.
@xref{Yanking}. Note that if @var{yank-handler} is @code{nil}, any
@code{yank-handler} properties present on the killed text are copied
onto the kill ring, like other text properties.
@end deffn
@defopt kill-read-only-ok
......@@ -1069,7 +1062,7 @@ 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
@defun kill-new string &optional replace
This function pushes the text @var{string} onto the kill ring and
makes the yanking pointer point to it. It discards the oldest entry
if appropriate. It also invokes the value of
......@@ -1078,25 +1071,15 @@ if appropriate. It also invokes the value of
If @var{replace} is non-@code{nil}, then @code{kill-new} replaces the
first element of the kill ring with @var{string}, rather than pushing
@var{string} onto the kill ring.
If @var{yank-handler} is non-@code{nil}, this puts that value onto
the string of killed text, as a @code{yank-handler} property.
@xref{Yanking}. Note that if @var{yank-handler} is @code{nil}, then
@code{kill-new} copies any @code{yank-handler} properties present on
@var{string} onto the kill ring, as it does with other text properties.
@end defun
@defun kill-append string before-p &optional yank-handler
@defun kill-append string before-p
This function appends the text @var{string} to the first entry in the
kill ring and makes the yanking pointer point to the combined entry.
Normally @var{string} goes at the end of the entry, but if
@var{before-p} is non-@code{nil}, it goes at the beginning. This
function also invokes the value of @code{interprogram-cut-function}
(see below). This handles @var{yank-handler} just like
@code{kill-new}, except that if @var{yank-handler} is different from
the @code{yank-handler} property of the first entry of the kill ring,
@code{kill-append} pushes the concatenated string onto the kill ring,
instead of replacing the original first entry with it.
(see below).
@end defun
@defvar interprogram-paste-function
......
......@@ -544,21 +544,23 @@ not the buffer-local value. (But you should not be making
buffer-local bindings for a symbol that is defined with
@code{defconst}.)
Here, @code{pi} is a constant that presumably ought not to be changed
by anyone (attempts by the Indiana State Legislature notwithstanding).
As the second form illustrates, however, this is only advisory.
An example of the use of @code{defconst} is Emacs' definition of
@code{float-pi}---the mathematical constant @math{pi}, which ought not
to be changed by anyone (attempts by the Indiana State Legislature
notwithstanding). As the second form illustrates, however,
@code{defconst} is only advisory.
@example
@group
(defconst pi 3.1415 "Pi to five places.")
@result{} pi
(defconst float-pi 3.141592653589793 "The value of Pi.")
@result{} float-pi
@end group
@group
(setq pi 3)
@result{} pi
(setq float-pi 3)
@result{} float-pi
@end group
@group
pi
float-pi
@result{} 3
@end group
@end example
......
2010-11-27 Glenn Morris <rgm@gnu.org>
James Clark <none@example.com>
* nxml-mode.texi (Introduction): New section.
2010-11-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus.texi (Server Commands): Document gnus-server-show-server.
......
......@@ -8,7 +8,8 @@
This manual documents nxml-mode, an Emacs major mode for editing
XML with RELAX NG support.
Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Copyright @copyright{} 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
......@@ -43,6 +44,7 @@ license to the document, as described in section 6 of the license.
This manual is not yet complete.
@menu
* Introduction::
* Completion::
* Inserting end-tags::
* Paragraphs::
......@@ -52,6 +54,58 @@ This manual is not yet complete.
* Limitations::
@end menu
@node Introduction
@chapter Introduction
nXML mode is an Emacs major-mode for editing XML documents. It supports
editing well-formed XML documents, and provides schema-sensitive editing
using RELAX NG Compact Syntax. To get started, visit a file containing an
XML document, and, if necessary, use @kbd{M-x nxml-mode} to switch to nXML
mode. By default, @code{auto-mode-alist} and @code{magic-fallback-alist}
put buffers in nXML mode if they have recognizable XML content or file
extensions. You may wish to customize the settings, for example to
recognize different file extensions.
Once in nXML mode, you can type @kbd{C-h m} for basic information on the
mode.
The @file{etc/nxml} directory in the Emacs distribution contains some data
files used by nXML mode, and includes two files (@file{test.valid.xml} and
@file{test.invalid.xml}) that provide examples of valid and invalid XML
documents.
To get validation and schema-sensitive editing, you need a RELAX NG Compact
Syntax (RNC) schema for your document (@pxref{Locating a schema}). The
@file{etc/schema} directory includes some schemas for popular document
types. See @url{http://relaxng.org/} for more information on RELAX NG.
You can use the @samp{Trang} program from
@url{http://www.thaiopensource.com/relaxng/trang.html} to
automatically create RNC schemas. This program can:
@itemize @bullet
@item
infer an RNC schema from an instance document;
@item
convert a DTD to an RNC schema;
@item
convert a RELAX NG XML syntax schema to an RNC schema.
@end itemize
@noindent To convert a RELAX NG XML syntax (@samp{.rng}) schema to a RNC
one, you can also use the XSLT stylesheet from
@url{http://www.pantor.com/download.html}.
To convert a W3C XML Schema to an RNC schema, you need first to convert it
to RELAX NG XML syntax using the RELAX NG converter tool @code{rngconv}
(built on top of MSV). See @url{https://github.com/kohsuke/msv}
and @url{https://msv.dev.java.net/}.
For historical discussions only, see the mailing list archives at
@url{http://groups.yahoo.com/group/emacs-nxml-mode/}. Please make all new
discussions on the @samp{help-gnu-emacs} and @samp{emacs-devel} mailing
lists. Report any bugs with @kbd{M-x report-emacs-bug}.
@node Completion
@chapter Completion
......@@ -855,6 +909,3 @@ specification are not enforced.
@bye
@ignore
arch-tag: 3b6e8ac2-ae8d-4f38-bd43-ce9f80be04d6
@end ignore
2010-11-27 Ulrich Mueller <ulm@gentoo.org>
* HELLO: Add ancient Greek (Bug#7418).
<