Merge from `emacs-23'.

This commit is contained in:
Stefan Monnier 2010-03-24 14:02:56 -04:00
commit e867cb5d30
60 changed files with 1528 additions and 663 deletions

View file

@ -140,7 +140,7 @@ Remember to fix FOO, as discussed on emacs-devel at http://... .
** Not interested in tracker control messages (tags being set, etc)?
Discard mails matching:
^X-Emacs-PR-Message: (transcript|closed)
^X-GNU-PR-Message: (transcript|closed)
** How to avoid multiple copies of mails.
If you reply to reports in the normal way, this should work fine.
@ -166,18 +166,18 @@ Sending a mail to 123-done does the following:
2) Send a mail to the original submitter telling them that their bug
has been closed. This mail has a header:
X-Emacs-PR-Message: they-closed 123
X-GNU-PR-Message: they-closed 123
3) Send a mail to you and to the emacs-bug-tracker list confirming
that the bug has been closed. This mail has a header:
X-Emacs-PR-Message: closed 123
X-GNU-PR-Message: closed 123
4) Send a copy of your mail to the bug-gnu-emacs list in exactly the
same way as if you had sent mail to "123" (sans -done). This mail has
headers:
X-Emacs-PR-Message: cc-closed 123
X-GNU-PR-Message: cc-closed 123
Mail-Followup-To: 123@debbugs.gnu.org, person-who-closed
(This is Emacs-specific. Normally the bug list gets the same mail as in 3).

View file

@ -221,6 +221,11 @@ lib-src/etags.c
lib-src/getopt1.c, getopt_int.h
- these are from the GNU C library. Leave the copyrights alone.
lisp/cedet/semantic/imenu.el
- See http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg00410.html
in which Eric Ludlam established that the remaining contributions
from authors other than himself were negligible.
lisp/play/tetris.el
- no special rules about the copyright. We note here that we believe
(2007/1) there is no problem with our use of the name "tetris" or

View file

@ -1,3 +1,35 @@
2010-03-24 Glenn Morris <rgm@gnu.org>
* ack.texi (Acknowledgments):
* emacs.texi (Acknowledgments): Fix ispell attribution. (Bug#5759)
2010-03-20 Jan Djärv <jan.h.d@swipnet.se>
* xresources.texi (Table of Resources): Clarify toolBar number
for Gtk+.
* frames.texi (Menu Bars): menuBarLines => menuBar (bug#5736).
2010-03-21 Chong Yidong <cyd@stupidchicken.com>
* dired.texi (Dired Updating): Document dired-auto-revert-buffer.
* search.texi (Other Repeating Search): Document multi-isearch-buffers
and multi-isearch-buffers-regexp.
* indent.texi (Indentation): Clarify description of
indent-for-tab-command. Document tab-always-indent.
2010-03-20 Chong Yidong <cyd@stupidchicken.com>
* cmdargs.texi (Font X): Move most content to Fonts.
* frames.texi (Fonts): New node. Document font-use-system-font.
* emacs.texi (Top):
* xresources.texi (Table of Resources):
* mule.texi (Defining Fontsets, Charsets): Update xrefs.
2010-03-10 Chong Yidong <cyd@stupidchicken.com>
* Branch for 23.2.

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual.
@c Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003,
@c 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
@c 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@c
@node Acknowledgments, Screen, Concept Index, Top
@ -600,8 +601,7 @@ R.@: Dodd. He also wrote @file{ls-lisp.el}, a Lisp emulation of the
program.
@item
Geoff Kuenning and Ken Stevens wrote @file{ispell.el}, a spell-checker
interface.
Ken Stevens wrote @file{ispell.el}, a spell-checker interface.
@item
David K@ringaccent{a}gedal wrote @file{tempo.el}, providing support for

View file

@ -755,10 +755,9 @@ remote machine.
@appendixsec Font Specification Options
@cindex font name (X Window System)
By default, Emacs displays text in X using a twelve point monospace
font. You can specify a different font using the command line option
@samp{-fn @var{font}} (or @samp{--font}, which is an alias for
@samp{-fn}).
You can use the command line option @samp{-fn @var{font}} (or
@samp{--font}, which is an alias for @samp{-fn}) to specify a default
font:
@table @samp
@item -fn @var{font}
@ -772,252 +771,14 @@ Use @var{font} as the default font.
When passing a font specification to Emacs on the command line, you
may need to ``quote'' it, by enclosing it in quotation marks, if it
contains characters that the shell treats specially (e.g. spaces).
Here is an example:
For example:
@smallexample
emacs -fn "DejaVu Sans Mono-12"
@end smallexample
@cindex X defaults file
@cindex X resources file
You can also specify the font using your X resources file (usually a
file named @file{.Xdefaults} or @file{.Xresources} in your home
directory), by adding a line like this:
@smallexample
emacs.font: @var{font}
@end smallexample
@noindent
You must restart X, or use the @command{xrdb} command, for the X
resources file to take effect. @xref{Resources}. When specifying a
font in your X resources file, you should not quote it.
@cindex fontconfig
Emacs recognizes two types of fonts: @dfn{client-side} fonts, which
are provided by the Xft and Fontconfig libraries, and
@dfn{server-side} fonts, which are provided by the X server itself.
Most client-side fonts support advanced font features such as
antialiasing and subpixel hinting, while server-side fonts do not.
There are four different ways to express a ``font name''. The first
format consists of @dfn{Fontconfig patterns}. Fontconfig patterns
match only client-side fonts provided by Xft and Fontconfig, and have
the following form:
@smallexample
@var{fontname}[-@var{fontsize}][:@var{name1}=@var{values1}][:@var{name2}=@var{values2}]...
@end smallexample
@noindent
Within this format, any of the elements in braces may be omitted.
Here, @var{fontname} is the ``family name'' of the font, such as
@samp{Monospace} or @samp{DejaVu Serif}; @var{fontsize} is the ``point
size'' of the font (one ``printer's point'' is about 1/72 of an inch);
and the @samp{@var{name}=@var{values}} entries specify settings such
as the slant and weight of the font. Each @var{values} may be a
single value, or a list of values separated by commas. In addition,
some property values are valid with only one kind of property name, in
which case the @samp{@var{name}=} part may be omitted.
Here is a list of common font properties:
@table @samp
@item slant
One of @samp{italic}, @samp{oblique} or @samp{roman}.
@item weight
One of @samp{light}, @samp{medium}, @samp{demibold}, @samp{bold} or
@samp{black}.
@item style
Some fonts define special styles which are a combination of slant and
weight. For instance, the font @samp{Dejavu Sans} defines the style
@samp{book}. This property, if specified, overrides the slant and
weight properties.
@item width
One of @samp{condensed}, @samp{normal}, or @samp{expanded}.
@item spacing
One of @samp{monospace}, @samp{proportional}, @samp{dual-width}, or
@samp{charcell}.
@end table
@noindent
Here are some examples of Fontconfig patterns:
@smallexample
Monospace
Monospace-12
Monospace-12:bold
DejaVu Sans Mono:bold:italic
Monospace-12:weight=bold:slant=italic
@end smallexample
See the Fontconfig manual for a more detailed description of
Fontconfig patterns. This manual is located in the file
@file{fontconfig-user.html}, which is distributed with Fontconfig. It
is also available online at
@url{http://fontconfig.org/fontconfig-user.html}. In particular, the
manual describes additional font properties that influence how the
font is hinted, antialiased, or scaled.
The second way to specify a font is to use a @dfn{GTK font
description}. Like Fontconfig patterns, GTK font descriptions match
only client-side fonts provided by Xft and Fontconfig. They have the
syntax
@smallexample
@var{fontname} [@var{properties}] [@var{fontsize}]
@end smallexample
@noindent
where @var{fontname} is the family name, @var{properties} is a list of
property values separated by spaces, and @var{fontsize} is the point
size. The properties that you may specify are as follows:
@table @samp
@item style
One of @samp{roman}, @samp{italic} or @samp{oblique}. If omitted, the
@samp{roman} style is used.
@item weight
One of @samp{medium}, @samp{ultra-light}, @samp{light},
@samp{semi-bold}, or @samp{bold}. If omitted, @samp{medium} weight is
used.
@end table
@noindent
Here are some examples of GTK font descriptions:
@smallexample
Monospace 12
Monospace Bold Italic 12
@end smallexample
@cindex XLFD
@cindex X Logical Font Description
The third way to specify a font is to use an @dfn{XLFD} (@dfn{X
Logical Font Description}), which is the traditional method for
specifying fonts under X. Each XLFD consists of fourteen words or
numbers, separated by dashes, like this:
@smallexample
-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1
@end smallexample
@noindent
A wildcard character (@samp{*}) in an XLFD matches any sequence of
characters (including none), and @samp{?} matches any single
character. However, matching is implementation-dependent, and can be
inaccurate when wildcards match dashes in a long name. For reliable
results, supply all 14 dashes and use wildcards only within a field.
Case is insignificant in an XLFD. The syntax for an XLFD is as
follows:
@smallexample
-@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{}
@dots{}-@var{pixels}-@var{height}-@var{horiz}-@var{vert}-@var{spacing}-@var{width}-@var{registry}-@var{encoding}
@end smallexample
@noindent
The entries have the following meanings:
@table @var
@item maker
The name of the font manufacturer.
@item family
The name of the font family (e.g. @samp{courier}).
@item weight
The font weight---normally either @samp{bold}, @samp{medium} or
@samp{light}. Some font names support other values.
@item slant
The font slant---normally @samp{r} (roman), @samp{i} (italic),
@samp{o} (oblique), @samp{ri} (reverse italic), or @samp{ot} (other).
Some font names support other values.
@item widthtype
The font width---normally @samp{condensed}, @samp{extended},
@samp{semicondensed} or @samp{normal} (some font names support other
values).
@item style
An optional additional style name. Usually it is empty---most long
font names have two hyphens in a row at this point.
@item pixels
The font height, in pixels.
@item height
The font height on the screen, measured in tenths of a printer's
point. This is the point size of the font, times ten. For a given
vertical resolution, @var{height} and @var{pixels} are proportional;
therefore, it is common to specify just one of them and use @samp{*}
for the other.
@item horiz
The horizontal resolution, in pixels per inch, of the screen for which
the font is intended.
@item vert
The vertical resolution, in pixels per inch, of the screen for which
the font is intended. Normally the resolution of the fonts on your
system is the right value for your screen; therefore, you normally
specify @samp{*} for this and @var{horiz}.
@item spacing
This is @samp{m} (monospace), @samp{p} (proportional) or @samp{c}
(character cell).
@item width
The average character width, in pixels, multiplied by ten.
@item registry
@itemx encoding
The X font character set that the font depicts. (X font character
sets are not the same as Emacs character sets, but they are similar.)
You can use the @command{xfontsel} program to check which choices you
have. Normally you should use @samp{iso8859} for @var{registry} and
@samp{1} for @var{encoding}.
@end table
Some fonts have shorter nicknames, which you can use instead of a
normal font specification. For instance,
@smallexample
-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1
@end smallexample
@noindent
is equivalent to @samp{6x13}. This is the fourth and final method of
specifying a font.
@cindex listing system fonts
You will probably want to use a fixed-width default font---that is,
a font in which all characters have the same width. Here's how to use
the @command{fc-list} command to list all fixed-width Xft and
Fontconfig fonts available on your system:
@example
fc-list :spacing=mono
fc-list :spacing=charcell
@end example
For server-side X fonts, any font with @samp{m} or @samp{c} in the
@var{spacing} field of the XLFD is a fixed-width font. Here's how to
use the @command{xlsfonts} program to list all the fixed-width fonts
available on your system:
@example
xlsfonts -fn '*x*' | egrep "^[0-9]+x[0-9]+"
xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*'
xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*'
@end example
@noindent
To see what a particular font looks like, use the @command{xfd} command.
For example:
@example
xfd -fn 6x13
@end example
@noindent
displays the entire font @samp{6x13}.
While running Emacs, you can set the font of a specific kind of text
(@pxref{Faces}), or of a particular frame (@pxref{Frame Parameters}).
@xref{Fonts}, for other ways to specify the default font and font name
formats.
@node Colors
@appendixsec Window Color Options

View file

@ -1099,6 +1099,15 @@ then updating their lines in the buffer to indicate that status.
If you use @kbd{l} on a subdirectory header line, it updates the
contents of the corresponding subdirectory.
@vindex dired-auto-revert-buffer
If you use @kbd{C-x d} or some other Dired command to visit a
directory that is already being shown in a Dired buffer, Dired
switches to that buffer but does not update it. If the buffer is not
up-to-date, Dired displays a warning telling you to type @key{g} to
update it. You can also tell Emacs to revert each Dired buffer
automatically when you revisit it, by setting the variable
@code{dired-auto-revert-buffer} to a non-@code{nil} value.
@kindex k @r{(Dired)}
@findex dired-do-kill-lines
To delete the specified @emph{file lines} from the buffer---not

View file

@ -12,8 +12,8 @@ This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
updated for Emacs version @value{EMACSVER}.
Copyright @copyright{} 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@ -502,6 +502,7 @@ Frames and Graphical Displays
* Mode Line Mouse:: Mouse clicks on the mode line.
* Creating Frames:: Creating additional Emacs frames with various contents.
* Frame Commands:: Iconifying, deleting, and switching frames.
* Fonts:: Changing the frame font.
* Speedbar:: How to make and use a speedbar frame.
* Multiple Displays:: How one Emacs job can talk to several displays.
* Special Buffer Frames:: You can make certain buffers have their own frames.
@ -1371,8 +1372,8 @@ Kahle, Tokuya Kameshima, Lute Kamstra, David Kastrup, David Kaufman,
Henry Kautz, Taichi Kawabata, Howard Kaye, Michael Kifer, Richard King,
Peter Kleiweg, Shuhei Kobayashi, Pavel Kobiakov, Larry K.@: Kolodney,
David M.@: Koppelman, Koseki Yoshinori, Robert Krawitz, Sebastian
Kremer, Ryszard Kubiak, Geoff Kuenning, David K@aa{}gedal, Daniel
LaLiberte, Karl Landstrom, Mario Lang, Aaron Larson, James R.@: Larus,
Kremer, Ryszard Kubiak, David K@aa{}gedal, Daniel LaLiberte,
Karl Landstrom, Mario Lang, Aaron Larson, James R.@: Larus,
Vinicius Jose Latorre, Werner Lemberg, Frederic Lepied, Peter
Liljenberg, Lars Lindberg, Chris Lindblad, Anders Lindgren, Thomas Link,
Juri Linkov, Francis Litterio, Emilio C. Lopes, K@'{a}roly L@H{o}rentey,

View file

@ -39,6 +39,7 @@ so that you can use many of the features described in this chapter.
* Mode Line Mouse:: Mouse clicks on the mode line.
* Creating Frames:: Creating additional Emacs frames with various contents.
* Frame Commands:: Iconifying, deleting, and switching frames.
* Fonts:: Changing the frame font.
* Speedbar:: How to make and use a speedbar frame.
* Multiple Displays:: How one Emacs job can talk to several displays.
* Special Buffer Frames:: You can make certain buffers have their own frames.
@ -571,25 +572,19 @@ only the initial frame. @xref{Initial Parameters,,, elisp, The Emacs
Lisp Reference Manual}, for more information.
@cindex font (default)
For instance, one way to specify the principal font for all your
Emacs frames is to modify @code{default-frame-alist} to specify the
@code{font} parameter (@pxref{Font X}):
Here is an example of using @code{default-frame-alist} to specify
the default foreground color and font:
@example
(add-to-list 'default-frame-alist '(font . "10x20"))
@end example
@noindent
Here's a similar example for specifying a foreground color:
@example
(add-to-list 'default-frame-alist '(foreground-color . "blue"))
@end example
@noindent
By putting such customizations in your init file, you can control the
appearance of all the frames Emacs creates, including the initial one.
@xref{Init File}.
appearance of all the frames Emacs creates, including the initial one
(@pxref{Init File}). @xref{Fonts}, for other ways to set the default
font.
@node Frame Commands
@section Frame Commands
@ -645,6 +640,278 @@ select it, the variable should be @code{nil}. The default is
a frame that raises, so this variable has no effect in the native
MS-Windows build of Emacs.
@node Fonts
@section Fonts
@cindex fonts
By default, Emacs displays text in X using a 12-point monospace
font. There are several different ways to specify a different font:
@itemize
@item
Click on @samp{Set Default Font} in the @samp{Options} menu. To save
this for future sessions, click on @samp{Save Options} in the
@samp{Options} menu.
@item
Add a line to your init file (@pxref{Init File}), modifying the
variable @code{default-frame-alist} to specify the @code{font}
parameter (@pxref{Creating Frames}), like this:
@smallexample
(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12"))
@end smallexample
@cindex X defaults file
@cindex X resources file
@item
Add an @samp{emacs.font} X resource setting to your X resource file,
like this:
@smallexample
emacs.font: DejaVu Sans Mono-12
@end smallexample
@noindent
You must restart X, or use the @command{xrdb} command, for the X
resources file to take effect. @xref{Resources}. When specifying a
font in your X resources file, you should not quote it.
@item
If you are running Emacs on the GNOME desktop, you can tell Emacs to
use the default system font by setting the variable
@code{font-use-system-font} to @code{t} (the default is @code{nil}).
For this to work, Emacs must be compiled with Gconf support; this is
done automatically if the libraries are present at compile time.
@item
Use the command line option @samp{-fn} (or @samp{--font}). @xref{Font
X}.
@end itemize
@cindex fontconfig
On X, there are four different ways to express a ``font name''. The
first is to use a @dfn{Fontconfig pattern}. Fontconfig patterns have
the following form:
@smallexample
@var{fontname}[-@var{fontsize}][:@var{name1}=@var{values1}][:@var{name2}=@var{values2}]...
@end smallexample
@noindent
Within this format, any of the elements in braces may be omitted.
Here, @var{fontname} is the @dfn{family name} of the font, such as
@samp{Monospace} or @samp{DejaVu Serif}; @var{fontsize} is the
@dfn{point size} of the font (one @dfn{printer's point} is about 1/72
of an inch); and the @samp{@var{name}=@var{values}} entries specify
settings such as the slant and weight of the font. Each @var{values}
may be a single value, or a list of values separated by commas. In
addition, some property values are valid with only one kind of
property name, in which case the @samp{@var{name}=} part may be
omitted.
Here is a list of common font properties:
@table @samp
@item slant
One of @samp{italic}, @samp{oblique} or @samp{roman}.
@item weight
One of @samp{light}, @samp{medium}, @samp{demibold}, @samp{bold} or
@samp{black}.
@item style
Some fonts define special styles which are a combination of slant and
weight. For instance, @samp{Dejavu Sans} defines the @samp{book}
style, which overrides the slant and weight properties.
@item width
One of @samp{condensed}, @samp{normal}, or @samp{expanded}.
@item spacing
One of @samp{monospace}, @samp{proportional}, @samp{dual-width}, or
@samp{charcell}.
@end table
@noindent
Here are some examples of Fontconfig patterns:
@smallexample
Monospace
Monospace-12
Monospace-12:bold
DejaVu Sans Mono:bold:italic
Monospace-12:weight=bold:slant=italic
@end smallexample
See the Fontconfig manual for a more detailed description of
Fontconfig patterns. This manual is located in the file
@file{fontconfig-user.html}, distributed with Fontconfig. It is also
available online at @url{http://fontconfig.org/fontconfig-user.html}.
In particular, that manual describes additional font properties that
influence how the font is hinted, antialiased, or scaled.
The second way to specify a font is to use a @dfn{GTK font
description}. These have the syntax
@smallexample
@var{fontname} [@var{properties}] [@var{fontsize}]
@end smallexample
@noindent
where @var{fontname} is the family name, @var{properties} is a list of
property values separated by spaces, and @var{fontsize} is the point
size. The properties that you may specify are as follows:
@table @samp
@item style
One of @samp{roman}, @samp{italic} or @samp{oblique}. If omitted, the
@samp{roman} style is used.
@item weight
One of @samp{medium}, @samp{ultra-light}, @samp{light},
@samp{semi-bold}, or @samp{bold}. If omitted, @samp{medium} weight is
used.
@end table
@noindent
Here are some examples of GTK font descriptions:
@smallexample
Monospace 12
Monospace Bold Italic 12
@end smallexample
@cindex XLFD
@cindex X Logical Font Description
The third way to specify a font is to use an @dfn{XLFD} (@dfn{X
Logical Font Description}). This is the traditional method for
specifying fonts under X. Each XLFD consists of fourteen words or
numbers, separated by dashes, like this:
@smallexample
-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1
@end smallexample
@noindent
A wildcard character (@samp{*}) in an XLFD matches any sequence of
characters (including none), and @samp{?} matches any single
character. However, matching is implementation-dependent, and can be
inaccurate when wildcards match dashes in a long name. For reliable
results, supply all 14 dashes and use wildcards only within a field.
Case is insignificant in an XLFD. The syntax for an XLFD is as
follows:
@smallexample
-@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{}
@dots{}-@var{pixels}-@var{height}-@var{horiz}-@var{vert}-@var{spacing}-@var{width}-@var{registry}-@var{encoding}
@end smallexample
@noindent
The entries have the following meanings:
@table @var
@item maker
The name of the font manufacturer.
@item family
The name of the font family (e.g. @samp{courier}).
@item weight
The font weight---normally either @samp{bold}, @samp{medium} or
@samp{light}. Some font names support other values.
@item slant
The font slant---normally @samp{r} (roman), @samp{i} (italic),
@samp{o} (oblique), @samp{ri} (reverse italic), or @samp{ot} (other).
Some font names support other values.
@item widthtype
The font width---normally @samp{condensed}, @samp{extended},
@samp{semicondensed} or @samp{normal} (some font names support other
values).
@item style
An optional additional style name. Usually it is empty---most long
font names have two hyphens in a row at this point.
@item pixels
The font height, in pixels.
@item height
The font height on the screen, measured in tenths of a printer's
point. This is the point size of the font, times ten. For a given
vertical resolution, @var{height} and @var{pixels} are proportional;
therefore, it is common to specify just one of them and use @samp{*}
for the other.
@item horiz
The horizontal resolution, in pixels per inch, of the screen for which
the font is intended.
@item vert
The vertical resolution, in pixels per inch, of the screen for which
the font is intended. Normally the resolution of the fonts on your
system is the right value for your screen; therefore, you normally
specify @samp{*} for this and @var{horiz}.
@item spacing
This is @samp{m} (monospace), @samp{p} (proportional) or @samp{c}
(character cell).
@item width
The average character width, in pixels, multiplied by ten.
@item registry
@itemx encoding
The X font character set that the font depicts. (X font character
sets are not the same as Emacs character sets, but they are similar.)
You can use the @command{xfontsel} program to check which choices you
have. Normally you should use @samp{iso8859} for @var{registry} and
@samp{1} for @var{encoding}.
@end table
The fourth and final method of specifying a font is to use a ``font
nickname''. Certain fonts have shorter nicknames, which you can use
instead of a normal font specification. For instance, @samp{6x13} is
equivalent to
@smallexample
-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1
@end smallexample
@cindex client-side fonts
@cindex server-side fonts
On X, Emacs recognizes two types of fonts: @dfn{client-side} fonts,
which are provided by the Xft and Fontconfig libraries, and
@dfn{server-side} fonts, which are provided by the X server itself.
Most client-side fonts support advanced font features such as
antialiasing and subpixel hinting, while server-side fonts do not.
Fontconfig and GTK patterns match only client-side fonts.
@cindex listing system fonts
You will probably want to use a fixed-width default font---that is,
a font in which all characters have the same width. For Xft and
Fontconfig fonts, you can use the @command{fc-list} command to list
the available fixed-width fonts, like this:
@example
fc-list :spacing=mono fc-list :spacing=charcell
@end example
@noindent
For server-side X fonts, you can use the @command{xlsfonts} program to
list the available fixed-width fonts, like this:
@example
xlsfonts -fn '*x*' | egrep "^[0-9]+x[0-9]+"
xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*'
xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*'
@end example
@noindent
Any font with @samp{m} or @samp{c} in the @var{spacing} field of the
XLFD is a fixed-width font. To see what a particular font looks like,
use the @command{xfd} command. For example:
@example
xfd -fn 6x13
@end example
@noindent
displays the entire font @samp{6x13}.
While running Emacs, you can also set the font of a specific kind of
text (@pxref{Faces}), or a particular frame (@pxref{Frame
Parameters}).
@node Speedbar
@section Speedbar Frames
@cindex speedbar
@ -957,7 +1224,7 @@ menu-bar-mode} or by customizing the variable @code{menu-bar-mode}.
With no argument, this command toggles Menu Bar mode, a
minor mode. With an argument, the command turns Menu Bar mode on if the
argument is positive, off if the argument is not positive. You can use
the X resource @samp{menuBarLines} to control the initial setting of
the X resource @samp{menuBar} to control the initial setting of
Menu Bar mode. @xref{Resources}.
@kindex C-Mouse-3 @r{(when menu bar is disabled)}

View file

@ -37,34 +37,38 @@ Indent from point to the next prespecified tab stop column
Indent from point to under an indentation point in the previous line.
@end table
In most major modes, the @key{TAB} key runs the command
@code{indent-for-tab-command}, which either performs indentation or
inserts whitespace at point, depending on the situation.
@noindent
The @key{TAB} key runs @code{indent-for-tab-command} in most major
modes (in C and related modes, @key{TAB} runs a separate command,
@code{c-indent-line-or-region}, which behaves similarly). The major
mode determines just what this entails.
In programming modes such as Lisp mode and C mode, @key{TAB} indents
the current line if the region is inactive. If the region is active,
it indents every line in the region (@pxref{Mark}). Indentation means
adding or removing some combination of space and tab characters
(@dfn{whitespace characters}) at the start of the line, in a way that
makes sense given the text in the preceding lines. Exactly how
indentation is performed depends on the major mode. @xref{Program
Indent}.
In text modes, @key{TAB} inserts some combination of space and tab
characters to advance point to the next tab stop (@pxref{Tab Stops}).
If the region is active and spans multiple lines, it advances the
first character of each of those lines to the next tab stop
(@pxref{Using Region}). For the purposes of this command, the
position of the first non-whitespace character on the preceding line
is treated as an additional tab stop. Thus, you can use @key{TAB} to
``align'' point with the preceding line.
In text modes, @key{TAB} inserts some whitespace characters to
advance point to the next tab stop (@pxref{Tab Stops}). For the
purposes of this command, the position of the first non-whitespace
character on the preceding line is treated as an additional tab stop.
You can therefore use @key{TAB} to ``align'' point with the preceding
line. If the region is active, @key{TAB} performs this action on
every line in the region.
In programming modes, @key{TAB} adds or removes some combination of
space and tab characters at the start of the line, in a way that makes
sense given the text in the preceding lines. If the region is active
and spans multiple lines, all those lines are indented this way. If
point was initially within the current line's indentation, it is
positioned after that indentation; otherwise, it remains at same point
in the newly-indented text. @xref{Program Indent}.
@vindex tab-width
Indentation is often performed with the help of @dfn{tab characters}
(@acronym{ASCII} code 9), which are displayed as a stretch of empty space
extending to the next @dfn{display tab stop}. By default, there is
one display tab stop every eight columns; the number of columns is
determined by the variable @code{tab-width}. You can insert a single
tab character by typing @kbd{C-q @key{TAB}}. @xref{Text Display}.
Normally, indentation commands insert (or remove) an optimal mix of
@dfn{tab characters} and spaces to align to the desired column. Tab
characters (@acronym{ASCII} code 9) are displayed as a stretch of
empty space extending to the next @dfn{display tab stop}. By default,
there is one display tab stop every eight columns; the number of
columns is determined by the variable @code{tab-width}. You can
insert a single tab character by typing @kbd{C-q @key{TAB}}.
@xref{Text Display}.
@findex edit-tab-stops
@findex tab-to-tab-stop
@ -74,11 +78,20 @@ whitespace characters around point, inserting just enough whitespace
to advance point up to the next tab stop. By default, this involves
deleting the existing whitespace and inserting a single tab character.
Normally, most of these indentation commands insert an optimal mix
of tabs and spaces to align to the desired column. @xref{Just
Spaces}, for how to disable use of tabs. However, @kbd{C-q @key{TAB}}
always inserts a tab, even when tabs are disabled for the indentation
commands.
@xref{Just Spaces}, for how to disable use of tabs. However,
@kbd{C-q @key{TAB}} always inserts a tab, even when tabs are disabled
for the indentation commands.
@vindex tab-always-indent
The variable @code{tab-always-indent} tweaks the behavior of the
@key{TAB} (@code{indent-for-tab-command}) command. The default value,
@code{t}, gives the behavior described above. If you change the value
to the symbol @code{complete}, then @key{TAB} first tries to indent
the current line, and if the line was already indented, it tries to
complete the text at point (@pxref{Symbol Completion}). If the value
is @code{nil}, then @key{TAB} indents the current line only if point
is at the left margin or in the line's indentation; otherwise, it
inserts a real tab character.
@menu
* Indentation Commands:: Various commands and techniques for indentation.

View file

@ -1442,7 +1442,7 @@ field.
fontset is called @code{create-fontset-from-fontset-spec}. You can also
call this function explicitly to create a fontset.
@xref{Font X}, for more information about font naming in X.
@xref{Fonts}, for more information about font naming.
@node Modifying Fontsets
@section Modifying Fontsets
@ -1619,7 +1619,7 @@ belong to one or more charsets.
that you don't have to worry about them. However, it is sometimes
helpful to know some of the underlying details about charsets.
One example is font selection (@pxref{Font X}). Each language
One example is font selection (@pxref{Fonts}). Each language
environment (@pxref{Language Environments}) defines a ``priority
list'' for the various charsets. When searching for a font, Emacs
initially attempts to find one that can display the highest-priority

View file

@ -1294,13 +1294,25 @@ point to the end of the buffer, or on the region if it is active.
@findex keep-lines
@table @kbd
@item M-x occur @key{RET} @var{regexp} @key{RET}
Display a list showing each line in the buffer that contains a match
for @var{regexp}. To limit the search to part of the buffer, narrow
to that part (@pxref{Narrowing}). A numeric argument @var{n}
specifies that @var{n} lines of context are to be displayed before and
after each matching line. Currently, @code{occur} can not correctly
handle multiline matches.
@item M-x multi-isearch-buffers
Prompt for one or more buffer names, ending with @key{RET}; then,
begin a multi-buffer incremental search in those buffers. (If the
search fails in one buffer, the next @kbd{C-s} tries searching the
next specified buffer, and so forth.) With a prefix argument, prompt
for a regexp and begin a multi-buffer incremental search in buffers
matching that regexp.
@item M-x multi-isearch-buffers-regexp
This command is just like @code{multi-isearch-buffers}, except it
performs an incremental regexp search.
@item M-x occur
Prompt for a regexp, and display a list showing each line in the
buffer that contains a match for it. To limit the search to part of
the buffer, narrow to that part (@pxref{Narrowing}). A numeric
argument @var{n} specifies that @var{n} lines of context are to be
displayed before and after each matching line. Currently,
@code{occur} can not correctly handle multiline matches.
@kindex RET @r{(Occur mode)}
@kindex o @r{(Occur mode)}
@ -1325,41 +1337,42 @@ search is active; this uses the current search string.
@item M-x list-matching-lines
Synonym for @kbd{M-x occur}.
@item M-x multi-occur @key{RET} @var{buffers} @key{RET} @var{regexp} @key{RET}
This function is just like @code{occur}, except it is able to search
through multiple buffers. It asks you to specify the buffer names one by one.
@item M-x multi-occur
This command is just like @code{occur}, except it is able to search
through multiple buffers. It asks you to specify the buffer names one
by one.
@item M-x multi-occur-in-matching-buffers @key{RET} @var{bufregexp} @key{RET} @var{regexp} @key{RET}
This function is similar to @code{multi-occur}, except the buffers to
search are specified by a regular expression that matches visited
file names. With a prefix argument, it uses the regular expression to match
buffer names instead.
@item M-x multi-occur-in-matching-buffers
This command is similar to @code{multi-occur}, except the buffers to
search are specified by a regular expression that matches visited file
names. With a prefix argument, it uses the regular expression to
match buffer names instead.
@item M-x how-many @key{RET} @var{regexp} @key{RET}
Print the number of matches for @var{regexp} that exist in the buffer
after point. If the region is active, this operates on the region
instead.
@item M-x how-many
Prompt for a regexp, and print the number of matches for it in the
buffer after point. If the region is active, this operates on the
region instead.
@item M-x flush-lines @key{RET} @var{regexp} @key{RET}
This command deletes each line that contains a match for @var{regexp},
operating on the text after point; it deletes the current line if it
contains a match starting after point. If the region is active, it
operates on the region instead; if a line partially contained in the
region contains a match entirely contained in the region, it is
deleted.
@item M-x flush-lines
Prompt for a regexp, and delete each line that contains a match for
it, operating on the text after point. This command deletes the
current line if it contains a match starting after point. If the
region is active, it operates on the region instead; if a line
partially contained in the region contains a match entirely contained
in the region, it is deleted.
If a match is split across lines, @code{flush-lines} deletes all those
lines. It deletes the lines before starting to look for the next
match; hence, it ignores a match starting on the same line at which
another match ended.
@item M-x keep-lines @key{RET} @var{regexp} @key{RET}
This command deletes each line that @emph{does not} contain a match
for @var{regexp}, operating on the text after point; if point is not
at the beginning of a line, it always keeps the current line. If the
region is active, the command operates on the region instead; it never
deletes lines that are only partially contained in the region (a
newline that ends a line counts as part of that line).
@item M-x keep-lines
Prompt for a regexp, and delete each line that @emph{does not} contain
a match for it, operating on the text after point. If point is not at
the beginning of a line, this command always keeps the current line.
If the region is active, the command operates on the region instead;
it never deletes lines that are only partially contained in the region
(a newline that ends a line counts as part of that line).
If a match is split across lines, this command keeps all those lines.
@end table

View file

@ -193,7 +193,7 @@ Specifies whether to make the cursor blink. The default is @samp{on}. Use
@end ifnottex
@item @code{font} (class @code{Font})
Font name for the @code{default} font. @xref{Font X}. You can also
Font name for the @code{default} font. @xref{Fonts}. You can also
specify a fontset name (@pxref{Fontsets}).
@item @code{fontBackend} (class @code{FontBackend})
@ -307,12 +307,14 @@ Name to display in the title bar of the initial Emacs frame.
@item @code{toolBar} (class @code{ToolBar})
@cindex tool bar
Number of lines to reserve for the tool bar. A zero value suppresses
the tool bar. If the value is non-zero and
@code{auto-resize-tool-bars} is non-@code{nil}, the tool bar's size
will be changed automatically so that all tool bar items are visible.
the tool bar. For the Emacs tool bar (i.e. not Gtk+), if the value is
non-zero and @code{auto-resize-tool-bars} is non-@code{nil}, the tool bar's
size will be changed automatically so that all tool bar items are visible.
If the value of @code{auto-resize-tool-bars} is @code{grow-only},
the tool bar expands automatically, but does not contract automatically.
To contract the tool bar, you must redraw the frame by entering @kbd{C-l}.
For the Gtk+ tool bar, any non-zero value means on and
@code{auto-resize-tool-bars} has no effect.
@item @code{useXIM} (class @code{UseXIM})
@cindex XIM

View file

@ -1,3 +1,11 @@
2010-03-24 Arni Magnusson <arnima@hafro.is> (tiny change)
* frames.texi (Cursor Parameters): Fix typo. (Bug#5760)
2010-03-24 Chong Yidong <cyd@stupidchicken.com>
* processes.texi (Network Processes): Document seqpacket type.
2010-03-20 Dan Nicolaescu <dann@ics.uci.edu>
* os.texi (System Environment): Do not mention lynxos.

View file

@ -821,7 +821,7 @@ This variable controls how the cursor looks in a window that is not
selected. It supports the same values as the @code{cursor-type} frame
parameter; also, @code{nil} means don't display a cursor in
nonselected windows, and @code{t} (the default) means use a standard
modificatoin of the usual cursor type (solid box becomes hollow box,
modification of the usual cursor type (solid box becomes hollow box,
and bar becomes a narrower bar).
@end defopt

View file

@ -2059,7 +2059,8 @@ necessary to make it unique.
@item :type @var{type}
Specify the communication type. A value of @code{nil} specifies a
stream connection (the default); @code{datagram} specifies a datagram
connection. Both connections and servers can be of either type.
connection; @code{seqpacket} specifies a ``sequenced packet stream''
connection. Both connections and servers can be of these types.
@item :server @var{server-flag}
If @var{server-flag} is non-@code{nil}, create a server. Otherwise,

View file

@ -1,3 +1,7 @@
2010-03-24 Michael Albinus <michael.albinus@gmx.de>
* trampver.texi: Update release number.
2010-03-10 Chong Yidong <cyd@stupidchicken.com>
* Branch for 23.2.

View file

@ -9,7 +9,7 @@
@c In the Tramp CVS, the version number is auto-frobbed from
@c configure.ac, so you should edit that file and run
@c "autoconf && ./configure" to change the version number.
@set trampver 2.1.18-pre
@set trampver 2.1.18-23.2
@c Other flags from configuration
@set instprefix /usr/local

View file

@ -1,3 +1,8 @@
2010-03-24 Francesc Rocher <rocher@member.fsf.org>
* MORE.STUFF: Remove CEDET entry, now distributed as part of
Emacs.
2010-03-22 Teodor Zlatanov <tzz@lifelogs.com>
* gnus/gnus-setup.ast: Add finish links to the top nodes.

View file

@ -130,10 +130,6 @@ Several are for Debian GNU/Linux in particular.
* Boxquote: <URL:http://www.davep.org/emacs/>
* CEDET: Collection of Emacs Development Environment Tools, including
EIEIO, Semantic, Speedbar, EDE, and COGRE:
<URL:http://cedet.sourceforge.net/>
* CJK-emacs: Converting MULE-encoded text to TeX:
<URL:ftp://ctan.tug.org/tex-archive/language/chinese/CJK/> and
mirrors of the `CTAN' TeX archives.

View file

@ -71,14 +71,14 @@ uses `system-move-file-to-trash' for trashing.)
Customize `make-pointer-invisible' to disable this feature.
** Font changes
+++
*** Emacs can use the system default monospaced font in Gnome.
To enable this feature, set `font-use-system-font' to non-nil (it is
nil by default). If the system default changes, Emacs changes also.
This feature requires Gconf support, which is automatically included
at compile-time if configure detects the gconf libraries (you can
disable this with the configure option --without-gconf).
---
*** On X11, Emacs reacts to Xft changes made by configuration tools,
via the XSETTINGS mechanism. This includes antialias, hinting,
hintstyle, RGBA, DPI and lcdfilter changes.
@ -143,7 +143,7 @@ subsequent kills are not duplicated in the `kill-ring'.
** Completion changes
*** The new command `completion-at-point' provides mode-sensitive completion.
+++
*** tab-always-indent set to `complete' lets TAB do completion as well.
+++
*** The new completion-style `initials' is available.
@ -185,6 +185,7 @@ that file exists.
** LaTeX mode now provides completion (via completion-at-point).
---
** sym-comp.el is now declared obsolete, superceded by completion-at-point.
** lucid.el and levents.el are now declared obsolete.
@ -197,20 +198,16 @@ is similar to `pcomplete' but using the standard completion UI code.
*** The Calc settings file is now a file named calc.el in
user-emacs-directory; but the old location, ~/.calc.el, is used if
that file exists.
---
*** Graphing commands (`g f' etc.) now work on MS-Windows, if you have
the native Windows port of Gnuplot version 3.8 or later installed.
** Calendar and diary
+++
*** Fancy diary display is now the default.
If you prefer the simple display, customize `diary-display-function'.
+++
*** The diary's fancy display now enables view-mode.
---
*** The command `calendar-current-date' accepts an optional argument
giving an offset from today.
@ -225,9 +222,9 @@ exempt buffers that do correspond to files, customize the value of
`desktop-files-not-to-save' instead.
** Dired
*** The new variable `dired-auto-revert-buffer' allows to revert
dired buffers automatically on revisiting.
+++
*** The new variable `dired-auto-revert-buffer', if non-nil, causes
Dired buffers to be reverted automatically on revisiting them.
** DocView
@ -338,22 +335,17 @@ displayed in the *vc-dir* header, shelves can be created, removed and applied.
are stripped when copying text from the ChangeLog to the *VC-Log* buffer.
** Elint
---
*** Elint now uses compilation-mode.
---
*** Elint can now scan individual files and whole directories,
and can be run in batch mode.
---
*** Elint does a more thorough initialization, and recognizes more built-in
functions and variables. Customize `elint-scan-preloaded' if you want
to sacrifice some accuracy for a faster startup.
---
*** Elint attempts some basic understanding of featurep and (f)boundp tests.
---
*** Customize `elint-ignored-warnings' to suppress some warnings.
@ -368,7 +360,7 @@ Command*'.
`comint-history-isearch' is non-nil. New commands `comint-history-isearch-backward'
and `comint-history-isearch-backward-regexp' (bound to M-r) start Isearch
in the input history regardless of the value of `comint-history-isearch'.
+++
*** Interactively `multi-isearch-buffers' and `multi-isearch-buffers-regexp'
read buffer names to search, one by one, ended with RET. With a prefix
argument, they ask for a regexp, and search in buffers whose names match
@ -376,19 +368,16 @@ the specified regexp. Interactively `multi-isearch-files' and
`multi-isearch-files-regexp' read file names to search, one by one,
ended with RET. With a prefix argument, they ask for a wildcard, and
search in file buffers whose file names match the specified wildcard.
+++
*** Autorevert Tail mode now works also for remote files.
+++
*** The new built-in commands `su' and `sudo' support Tramp.
That means, they change `default-directory' to the new users value,
and let commands run under that user permissions. It works even when
`default-directory' is already remote. Calling the external commands
is possible by `*su' or `*sudo', repectively.
---
*** When running in a new enough xterm (newer than version 242), emacs
*** When running in a new enough xterm (newer than version 242), Emacs
asks xterm what the background color is and it sets up faces
accordingly for a dark background if needed (the current default is to
consider the background light).
@ -468,70 +457,94 @@ mode from `auto-mode-alist' (or Fundamental mode) and `image-minor-mode'.
* Lisp changes in Emacs 23.2
** make-network-socket can now also create `seqpacket' Unix sockets.
** New function `completion-in-region' to use the standard completion
facilities on a particular region of text.
+++
** The 4th arg to all-completions (aka hide-spaces) is declared obsolete.
---
** read-file-name-predicate is obsolete. It was used to pass the predicate
to read-file-name-internal because read-file-name-internal abused its `pred'
argument to pass the current directory, but this hack is not needed
any more.
** Frame parameter changes
+++
*** You can give the `fullscreen' frame parameter the value `maximized'.
This maximizes the frame.
+++
*** The new frame parameter `sticky' makes Emacs frames sticky in
virtual desktops.
---
** completion-base-size is obsoleted by completion-base-position.
This change causes a few backward incompatibilities, mostly with
choose-completion-string-functions where the `mini-p' argument has
been replaced by a `base-position' argument, and where the `base-size'
argument is now always nil.
** called-interactively-p now takes one argument and replaces interactive-p
which is now marked obsolete.
** New function set-advertised-calling-convention makes it possible
to obsolete arguments as well as make some arguments mandatory.
** eval-next-after-load is obsolete.
** New hook `after-load-functions' run after loading an Elisp file.
** You can control which binding is preferentially shown in menus and
docstrings by adding a `:advertised-binding' property to the corresponding
command's symbol. That property can hold a single binding or a list
of bindings.
** New macro with-silent-modifications to tweak text properties without
affecting the buffer's modification state.
** All the default-FOO variables that hold the default value of the FOO
variable, are now declared obsolete.
** read-key is a function halfway between read-event and read-key-sequence.
It reads a single key, but obeys input and escape sequence decoding.
** start-process-shell-command and start-file-process-shell-command
now only take a single `command' argument.
** Frame parameter changes
+++
*** You can give the `fullscreen' frame parameter the value `maximized'.
This maximizes the frame.
+++
*** The new frame parameter `sticky' makes Emacs frames sticky in
virtual desktops.
** The variable `process-file-side-effects' shall be bound to nil, if
a `process-file' call does not change a remote file. By this, file
name handlers like Tramp can apply optimizations.
** Completion changes
*** completion-base-size is obsoleted by completion-base-position.
This change causes a few backward incompatibilities, mostly with
choose-completion-string-functions where the `mini-p' argument has
been replaced by a `base-position' argument, and where the `base-size'
argument is now always nil.
*** New function `completion-in-region' to use the standard completion
facilities on a particular region of text.
+++
*** The 4th arg to all-completions (aka hide-spaces) is declared obsolete.
*** completion-annotate-function specifies how to compute annotations
for completions displayed in *Completions*.
** Minibuffer changes
---
*** read-file-name-predicate is obsolete. It was used to pass the predicate
to read-file-name-internal because read-file-name-internal abused its `pred'
argument to pass the current directory, but this hack is not needed
any more.
** Changes to file-manipulation functions
+++
*** `delete-directory' has an optional parameter RECURSIVE.
+++
*** New function `copy-directory', which copies a directory recursively.
** called-interactively-p now takes one argument and replaces interactive-p
which is now marked obsolete.
** New function set-advertised-calling-convention makes it possible
to obsolete arguments as well as make some arguments mandatory.
** You can control which binding is preferentially shown in menus and
docstrings by adding a `:advertised-binding' property to the corresponding
command's symbol. That property can hold a single binding or a list
of bindings.
** Network and process changes
+++
*** start-process-shell-command and start-file-process-shell-command
now only take a single `command' argument.
+++
*** The new variable `process-file-side-effects' should be set to nil
if a `process-file' call does not change a remote file. This allows
file name handlers such as Tramp to optimizations.
+++
*** make-network-process can now also create `seqpacket' Unix sockets.
** Loading changes
*** eval-next-after-load is obsolete.
*** New hook `after-load-functions' run after loading an Elisp file.
** Byte compilation changes
---
*** Changing the file-names generated by byte-compilation by redefining
the function `byte-compile-dest-file' before loading bytecomp.el is obsolete.
Instead, customize byte-compile-dest-file-function.
---
*** `byte-compile-warnings' has new members, `constants' and `suspicious'.
** New macro with-silent-modifications to tweak text properties without
affecting the buffer's modification state.
+++
** Hash tables have a new printed representation that is readable.
The feature `hashtable-print-readable' identifies this new
functionality.
** New functions performing Unicode normalization are added:
** New functions for performing Unicode normalization:
ucs-normalize-NFD-region, ucs-normalize-NFD-string,
ucs-normalize-NFC-region, ucs-normalize-NFC-string,
ucs-normalize-NFKD-region, ucs-normalize-NFKD-string,
@ -539,25 +552,10 @@ ucs-normalize-NFKC-region, ucs-normalize-NFKC-string,
ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string,
ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string.
** completion-annotate-function specifies how to compute annotations
for completions displayed in *Completions*.
+++
** Face aliases can now be marked as obsolete, using the macro
`define-obsolete-face-alias'.
---
** Changing the file-names generated by byte-compilation by redefining
the function `byte-compile-dest-file' before loading bytecomp.el is obsolete.
Instead, customize byte-compile-dest-file-function.
---
** `byte-compile-warnings' has new members, `constants' and `suspicious'.
** `delete-directory' has an optional parameter RECURSIVE.
** New function `copy-directory', which copies a directory recursively.
+++
** New function `window-full-height-p', analogous to the full-width version.

View file

@ -1418,6 +1418,21 @@ single copies. You do not need any other drivers or options.
* Runtime problems on character terminals
** The meta key does not work on xterm.
Typing M-x rings the terminal bell, and inserts a string like ";120~".
For recent xterm versions (>= 216), Emacs uses xterm's modifyOtherKeys
feature to generate strings for key combinations that are not
otherwise usable. One circumstance in which this can cause problems
is if you have specified the X resource
xterm*VT100.Translations
to contain translations that use the meta key. Then xterm will not
use meta in modified function-keys, which confuses Emacs. To fix
this, you can remove the X resource or put this in your init file:
(xterm-remove-modify-other-keys)
** Emacs spontaneously displays "I-search: " at the bottom of the screen.
This means that Control-S/Control-Q (XON/XOFF) "flow control" is being

View file

@ -1,3 +1,101 @@
2010-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/make-mode.el (makefile-rule-action-regex): Backtrack less.
(makefile-make-font-lock-keywords): Adjust rule since submatch 1 may
not be present any more.
2010-03-24 Juanma Barranquero <lekktu@gmail.com>
* faces.el (set-face-attribute): Fix typo in docstring.
(face-valid-attribute-values): Reflow docstring.
* cedet/srecode/table.el (srecode-template-table): Fix docstring typo.
2010-03-24 Glenn Morris <rgm@gnu.org>
* textmodes/flyspell.el (sgml-lexical-context): Autoload it (Bug#5752).
2010-03-24 Chong Yidong <cyd@stupidchicken.com>
* indent.el (indent-for-tab-command): Doc fix.
2010-03-24 Alan Mackenzie <acm@muc.de>
* progmodes/cc-engine.el (c-remove-stale-state-cache):
Fix off-by-one error. Fixes bug #5747.
2010-03-24 Juanma Barranquero <lekktu@gmail.com>
* image-dired.el (image-dired-display-thumbs): Fix typo in docstring.
(image-dired-read-comment): Doc fix.
* json.el (json-object-type, json-array-type, json-key-type)
(json-false, json-null, json-read-number):
* minibuffer.el (completion-in-region-functions):
* calendar/cal-tex.el (cal-tex-daily-end, cal-tex-number-weeks)
(cal-tex-cursor-week):
* emacs-lisp/trace.el (trace-function):
* eshell/em-basic.el (eshell/printnl):
* eshell/em-dirs.el (eshell-last-dir-ring, eshell-parse-drive-letter)
(eshell-read-last-dir-ring, eshell-write-last-dir-ring):
* obsolete/levents.el (allocate-event, event-key, event-object)
(event-point, event-process, event-timestamp, event-to-character)
(event-window, event-x, event-x-pixel, event-y, event-y-pixel):
* textmodes/reftex-vars.el (reftex-index-macros-builtin)
(reftex-section-levels, reftex-auto-recenter-toc, reftex-toc-mode-hook)
(reftex-cite-punctuation, reftex-search-unrecursed-path-first)
(reftex-highlight-selection): Fix typos in docstrings.
2010-03-24 Juanma Barranquero <lekktu@gmail.com>
* minibuffer.el (completion-in-region-functions): Fix docstring typos.
2010-03-24 Glenn Morris <rgm@gnu.org>
* mail/rmail.el (rmail-highlight-face): Restore option deleted
2008-02-13 without comment; mark it obsolete.
(rmail-highlight-headers): Use rmail-highlight-face once more.
2010-03-24 Chong Yidong <cyd@stupidchicken.com>
* woman.el (woman2-process-escapes): Only consume the newline if
the filler character is on a line by itself (Bug#5729).
2010-03-24 Kenichi Handa <handa@m17n.org>
* language/indian.el (devanagari-composable-pattern): Add more
consonants.
2010-03-24 Michael Albinus <michael.albinus@gmx.de>
* net/trampver.el: Update release number.
2010-03-24 Glenn Morris <rgm@gnu.org>
* Makefile.in (ELCFILES): Add cedet/semantic/imenu.el.
2010-03-24 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-find-executable):
Use `tramp-get-connection-buffer'. Make the regexp for checking
output of "wc -l" more robust.
(tramp-find-shell): Use another shell but /bin/sh on OpenSolaris.
(tramp-open-connection-setup-interactive-shell): Remove workaround
for OpenSolaris bug, it is not needed anymore.
2010-03-24 Eric M. Ludlam <zappo@gnu.org>
* cedet/semantic/imenu.el: New file, from the CEDET repository
(Bug#5412).
2010-03-24 Glenn Morris <rgm@gnu.org>
* emacs-lisp/cl-macs.el (defsubst*): Add autoload cookie. (Bug#4427)
2010-03-24 Wilson Snyder <wsnyder@wsnyder.org>
* files.el (auto-mode-alist): Accept more verilog file patterns.
2010-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
* vc-dir.el (vc-dir-headers): Abbreviate the working dir.

View file

@ -134,7 +134,7 @@ At present, this only affects `cal-tex-cursor-day'."
(defcustom cal-tex-daily-end 20
"The last hour of the daily LaTeX calendar page.
At present, this only affects `cal-tex-cursor-day'"
At present, this only affects `cal-tex-cursor-day'."
:type 'integer
:group 'calendar-tex)
@ -654,7 +654,7 @@ in the calendar starting in MONTH YEAR."
(defun cal-tex-number-weeks (month year n)
"Determine the number of weeks in a range of dates.
Compute the number of weeks in the calendar starting with MONTH and YEAR,
Compute the number of weeks in the calendar starting with MONTH and YEAR,
and lasting N months, including only the days in WHICH-DAYS. As it stands,
this is only an upper bound."
(let ((d (list month 1 year)))
@ -683,7 +683,7 @@ this is only an upper bound."
(defun cal-tex-cursor-week (&optional n event)
"Make a LaTeX calendar buffer for a two-page one-week calendar.
It applies to the week that point is in. The optional prefix
argument N specifies the number of weeks (default 1). The calendar
argument N specifies number of weeks (default 1). The calendar
shows holidays if `cal-tex-holidays' is non-nil (note that diary
entries are not shown). The calendar shows the hours 8-12am, 1-5pm."
(interactive (list (prefix-numeric-value current-prefix-arg)
@ -1778,7 +1778,7 @@ Add trailing COMMENT if present."
(cal-tex-comment "end framebox"))
(defun cal-tex-b-makebox ( width position )
(defun cal-tex-b-makebox (width position)
"Insert makebox with parameters WIDTH and POSITION (clr)."
(insert "\\makebox[" width "][" position "]{" )
(cal-tex-comment))

View file

@ -0,0 +1,537 @@
;;; semantic/imenu.el --- Use Semantic as an imenu tag generator
;;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2010
;; Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Maintainer: Eric Ludlam
;; This file is part of GNU Emacs.
;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;
;; This support function can be used in any buffer which supports
;; the bovinator to create the imenu index.
;;
;; To use this in a buffer, do this in a hook.
;;
;; (add-hook 'mode-hook
;; (lambda ()
;; (setq imenu-create-index-function 'semantic-create-imenu-index)
;; ))
(require 'semantic)
(require 'semantic/format)
(require 'semantic/db)
(require 'semantic/db-file)
(require 'semantic/sort)
(require 'imenu)
(declare-function pulse-momentary-highlight-one-line "pulse" (o &optional face))
(declare-function semanticdb-semantic-init-hook-fcn "db-mode")
;; Because semantic imenu tags will hose the current imenu handling
;; code in speedbar, force semantic/sb in.
(if (featurep 'speedbar)
(require 'semantic/sb)
(add-hook 'speedbar-load-hook (lambda () (require 'semantic/sb))))
(defgroup semantic-imenu nil
"Semantic interface to Imenu."
:group 'semantic
:group 'imenu
)
;;;###autoload
(defcustom semantic-imenu-summary-function 'semantic-format-tag-abbreviate
"*Function to use when creating items in Imenu.
Some useful functions are found in `semantic-format-tag-functions'."
:group 'semantic-imenu
:type semantic-format-tag-custom-list)
(make-variable-buffer-local 'semantic-imenu-summary-function)
;;;###autoload
(defcustom semantic-imenu-bucketize-file t
"*Non-nil if tags in a file are to be grouped into buckets."
:group 'semantic-imenu
:type 'boolean)
(make-variable-buffer-local 'semantic-imenu-bucketize-file)
(defcustom semantic-imenu-adopt-external-members t
"*Non-nil if types in a file should adopt externally defined members.
C++ and CLOS can define methods that are not in the body of a class
definition."
:group 'semantic-imenu
:type 'boolean)
(defcustom semantic-imenu-buckets-to-submenu t
"*Non-nil if buckets of tags are to be turned into submenus.
This option is ignored if `semantic-imenu-bucketize-file' is nil."
:group 'semantic-imenu
:type 'boolean)
(make-variable-buffer-local 'semantic-imenu-buckets-to-submenu)
;;;###autoload
(defcustom semantic-imenu-expand-type-members t
"*Non-nil if types should have submenus with members in them."
:group 'semantic-imenu
:type 'boolean)
(make-variable-buffer-local 'semantic-imenu-expand-type-members)
(semantic-varalias-obsolete 'semantic-imenu-expand-type-parts
'semantic-imenu-expand-type-members "23.2")
(defcustom semantic-imenu-bucketize-type-members t
"*Non-nil if members of a type should be grouped into buckets.
nil means to keep them in the same order.
Overriden to nil if `semantic-imenu-bucketize-file' is nil."
:group 'semantic-imenu
:type 'boolean)
(make-variable-buffer-local 'semantic-imenu-bucketize-type-parts)
(semantic-varalias-obsolete 'semantic-imenu-bucketize-type-parts
'semantic-imenu-bucketize-type-members "23.2")
(defcustom semantic-imenu-sort-bucket-function nil
"*Function to use when sorting tags in the buckets of functions.
See `semantic-bucketize' and the FILTER argument for more details on this function."
:group 'semantic-imenu
:type '(radio (const :tag "No Sorting" nil)
(const semantic-sort-tags-by-name-increasing)
(const semantic-sort-tags-by-name-decreasing)
(const semantic-sort-tags-by-type-increasing)
(const semantic-sort-tags-by-type-decreasing)
(const semantic-sort-tags-by-name-increasing-ci)
(const semantic-sort-tags-by-name-decreasing-ci)
(const semantic-sort-tags-by-type-increasing-ci)
(const semantic-sort-tags-by-type-decreasing-ci)
(function)))
(make-variable-buffer-local 'semantic-imenu-sort-bucket-function)
(defcustom semantic-imenu-index-directory nil
"*Non nil to index the entire directory for tags.
Doesn't actually parse the entire directory, but displays tags for all files
currently listed in the current Semantic database.
This variable has no meaning if semanticdb is not active."
:group 'semantic-imenu
:type 'boolean)
(defcustom semantic-imenu-auto-rebuild-directory-indexes nil
"*If non-nil automatically rebuild directory index imenus.
That is when a directory index imenu is updated, automatically rebuild
other buffer local ones based on the same semanticdb."
:group 'semantic-imenu
:type 'boolean)
(defvar semantic-imenu-directory-current-file nil
"When building a file index, this is the file name currently being built.")
(defvar semantic-imenu-auto-rebuild-running nil
"Non-nil if `semantic-imenu-rebuild-directory-indexes' is running.")
;;;###autoload
(defvar semantic-imenu-expandable-tag-classes '(type)
"List of expandable tag classes.
Tags of those classes will be given submenu with children.
By default, a `type' has interesting children. In Texinfo, however, a
`section' has interesting children.")
(make-variable-buffer-local 'semantic-imenu-expandable-tag-classes)
(semantic-varalias-obsolete 'semantic-imenu-expandable-token
'semantic-imenu-expandable-tag-classes "23.2")
;;; Code:
(defun semantic-imenu-tag-overlay (tag)
"Return the overlay belonging to tag.
If TAG doesn't have an overlay, and instead as a vector of positions,
concoct a combination of file name, and position."
(let ((o (semantic-tag-overlay tag)))
(if (not (semantic-overlay-p o))
(let ((v (make-vector 3 nil)))
(aset v 0 semantic-imenu-directory-current-file)
(aset v 1 (aref o 0))
(aset v 2 (aref o 1))
v)
o)))
(defun semantic-imenu-goto-function (name position &optional rest)
"Move point associated with NAME to POSITION.
Used to override function `imenu-default-goto-function' so that we can continue
to use overlays to maintain the current position.
Optional argument REST is some extra stuff."
(require 'pulse)
(if (semantic-overlay-p position)
(let ((os (semantic-overlay-start position))
(ob (semantic-overlay-buffer position)))
(if os
(progn
(if (not (eq ob (current-buffer)))
(switch-to-buffer ob))
(imenu-default-goto-function name os rest)
(pulse-momentary-highlight-one-line (point))
)
;; This should never happen, but check anyway.
(message "Imenu is out of date, try again. (internal bug)")
(setq imenu--index-alist nil)))
;; When the POSITION is actually a pair of numbers in an array, then
;; the file isn't loaded into the current buffer.
(if (vectorp position)
(let ((file (aref position 0))
(pos (aref position 1)))
(and file (find-file file))
(imenu-default-goto-function name pos rest)
(pulse-momentary-highlight-one-line (point))
)
;; When the POSITION is the symbol 'file-only' it means that this
;; is a directory index entry and there is no tags in this
;; file. So just jump to the beginning of the file.
(if (eq position 'file-only)
(progn
(find-file name)
(imenu-default-goto-function name (point-min) rest)
(pulse-momentary-highlight-one-line (point))
)
;; Probably POSITION don't came from a semantic imenu. Try
;; the default imenu goto function.
(condition-case nil
(progn
(imenu-default-goto-function name position rest)
(pulse-momentary-highlight-one-line (point))
)
(error
(message "Semantic Imenu override problem. (Internal bug)")
(setq imenu--index-alist nil)))))
))
(defun semantic-imenu-flush-fcn (&optional ignore)
"This function is called as a hook to clear the imenu cache.
It is cleared after any parsing.
IGNORE arguments."
(if (eq imenu-create-index-function 'semantic-create-imenu-index)
(setq imenu--index-alist nil
imenu-menubar-modified-tick 0))
(remove-hook 'semantic-after-toplevel-cache-change-hook
'semantic-imenu-flush-fcn t)
(remove-hook 'semantic-after-partial-cache-change-hook
'semantic-imenu-flush-fcn t)
)
;;;###autoload
(defun semantic-create-imenu-index (&optional stream)
"Create an imenu index for any buffer which supports Semantic.
Uses the output of the Semantic parser to create the index.
Optional argument STREAM is an optional stream of tags used to create menus."
(setq imenu-default-goto-function 'semantic-imenu-goto-function)
(prog1
(if (and semantic-imenu-index-directory
(featurep 'semanticdb)
(semanticdb-minor-mode-p))
(semantic-create-imenu-directory-index
(or stream (semantic-fetch-tags-fast)))
(semantic-create-imenu-index-1
(or stream (semantic-fetch-tags-fast)) nil))
(semantic-make-local-hook 'semantic-after-toplevel-cache-change-hook)
(add-hook 'semantic-after-toplevel-cache-change-hook
'semantic-imenu-flush-fcn nil t)
(semantic-make-local-hook 'semantic-after-partial-cache-change-hook)
(add-hook 'semantic-after-partial-cache-change-hook
'semantic-imenu-flush-fcn nil t)))
(defun semantic-create-imenu-directory-index (&optional stream)
"Create an IMENU tag index based on all files active in semanticdb.
Optional argument STREAM is the stream of tags for the current buffer."
(if (not semanticdb-current-database)
(semantic-create-imenu-index-1 stream nil)
;; We have a database, list all files, with the current file on top.
(let ((index (list
(cons (oref semanticdb-current-table file)
(or (semantic-create-imenu-index-1 stream nil)
;; No tags in this file
'file-only))))
(tables (semanticdb-get-database-tables semanticdb-current-database)))
(while tables
(let ((semantic-imenu-directory-current-file
(oref (car tables) file))
tags)
(when (and (not (eq (car tables) semanticdb-current-table))
(semanticdb-live-p (car tables))
(semanticdb-equivalent-mode (car tables))
)
(setq tags (oref (car tables) tags)
index (cons (cons semantic-imenu-directory-current-file
(or (and tags
;; don't pass nil stream because
;; it will use the current
;; buffer
(semantic-create-imenu-index-1
(oref (car tables) tags)
nil))
;; no tags in the file
'file-only))
index)))
(setq tables (cdr tables))))
;; If enabled automatically rebuild other imenu directory
;; indexes based on the same Semantic database
(or (not semantic-imenu-auto-rebuild-directory-indexes)
;; If auto rebuild already in progress does nothing
semantic-imenu-auto-rebuild-running
(unwind-protect
(progn
(setq semantic-imenu-auto-rebuild-running t)
(semantic-imenu-rebuild-directory-indexes
semanticdb-current-database))
(setq semantic-imenu-auto-rebuild-running nil)))
(nreverse index))))
(defun semantic-create-imenu-index-1 (stream &optional parent)
"Create an imenu index for any buffer which supports Semantic.
Uses the output of the Semantic parser to create the index.
STREAM is a stream of tags used to create menus.
Optional argument PARENT is a tag parent of STREAM."
(let ((tags stream)
(semantic-imenu-adopt-external-members
semantic-imenu-adopt-external-members))
;; If we should regroup, do so.
(if semantic-imenu-adopt-external-members
(setq tags (semantic-adopt-external-members tags)
;; Don't allow recursion here.
semantic-imenu-adopt-external-members nil))
;; Test for bucketing vs not.
(if semantic-imenu-bucketize-file
(let ((buckets (semantic-bucketize
tags parent
semantic-imenu-sort-bucket-function))
item name
index)
(cond
((null buckets)
nil)
((or (cdr-safe buckets) ;; if buckets has more than one item in it.
(not semantic-imenu-buckets-to-submenu)) ;; to force separators between buckets
(while buckets
(setq name (car (car buckets))
item (cdr (car buckets)))
(if semantic-imenu-buckets-to-submenu
(progn
;; Make submenus
(if item
(setq index
(cons (cons name
(semantic-create-imenu-subindex item))
index))))
;; Glom everything together with "---" between
(if item
(setq index
(append index
;; do not create a menu separator in the parent menu
;; when creating a sub-menu
(if (memq (semantic-tag-class (car item))
semantic-imenu-expandable-tag-classes)
(semantic-create-imenu-subindex item)
(cons
'("---")
(semantic-create-imenu-subindex item)))))
))
(setq buckets (cdr buckets)))
(if semantic-imenu-buckets-to-submenu
(nreverse index)
index))
(t
(setq name (car (car buckets))
item (cdr (car buckets)))
(semantic-create-imenu-subindex item))))
;; Else, group everything together
(semantic-create-imenu-subindex tags))))
(defun semantic-create-imenu-subindex (tags)
"From TAGS, create an imenu index of interesting things."
(let ((notypecheck (not semantic-imenu-expand-type-members))
children index tag parts)
(while tags
(setq tag (car tags)
children (semantic-tag-components-with-overlays tag))
(if (and (not notypecheck)
(memq (semantic-tag-class tag)
semantic-imenu-expandable-tag-classes)
children
)
;; to keep an homogeneous menu organisation, type menu items
;; always have a sub-menu with at least the *definition*
;; item (even if the tag has no type components)
(progn
(setq parts children)
;; There is options which create the submenu
;; * Type has an overlay, but children do.
;; The type doesn't have to have it's own overlay,
;; but a type with no overlay and no children should be
;; invalid.
(setq index
(cons
(cons
(funcall semantic-imenu-summary-function tag)
;; Add a menu for getting at the type definitions
(if (and parts
;; Note to self: enable menu items for
;; sub parts even if they are not proper
;; tags.
(semantic-tag-p (car parts)))
(let ((submenu
(if (and semantic-imenu-bucketize-type-members
semantic-imenu-bucketize-file)
(semantic-create-imenu-index-1 parts tag)
(semantic-create-imenu-subindex parts))))
;; Only add a *definition* if we have a postion
;; in that type tag.
(if (semantic-tag-with-position-p tag)
(cons
(cons "*definition*"
(semantic-imenu-tag-overlay tag))
submenu)
submenu))
;; There were no parts, or something like that, so
;; instead just put the definition here.
(if (semantic-tag-with-position-p tag)
(semantic-imenu-tag-overlay tag)
nil)
))
index)))
(if (semantic-tag-with-position-p tag)
(setq index (cons
(cons
(funcall semantic-imenu-summary-function tag)
(semantic-imenu-tag-overlay tag))
index))))
(setq tags (cdr tags)))
;; `imenu--split-submenus' sort submenus according to
;; `imenu-sort-function' setting and split them up if they are
;; longer than `imenu-max-items'.
(imenu--split-submenus (nreverse index))))
;;; directory imenu rebuilding.
;;
(defun semantic-imenu-rebuild-directory-indexes (db)
"Rebuild directory index imenus based on Semantic database DB."
(let ((l (buffer-list))
b)
(while l
(setq b (car l)
l (cdr l))
(if (and (not (eq b (current-buffer)))
(buffer-live-p b))
(with-current-buffer b
;; If there is a buffer local Semantic index directory
;; imenu
(when (and (eq imenu-create-index-function
'semantic-create-imenu-index)
semanticdb-current-database
(eq semanticdb-current-database db))
;; Rebuild the imenu
(imenu--cleanup)
(setq imenu--index-alist nil)
(funcall
(if (fboundp 'imenu-menu-filter)
;; XEmacs imenu
'imenu-menu-filter
;; Emacs imenu
'imenu-update-menubar))))))))
(defun semantic-imenu-semanticdb-hook ()
"Function to be called from `semanticdb-mode-hook'.
Clears all imenu menus that may be depending on the database."
(require 'semantic/db-mode)
(semantic-map-buffers
#'(lambda ()
;; Set up semanticdb environment if enabled.
(if (semanticdb-minor-mode-p)
(semanticdb-semantic-init-hook-fcn))
;; Clear imenu cache to redraw the imenu.
(semantic-imenu-flush-fcn))))
(add-hook 'semanticdb-mode-hook 'semantic-imenu-semanticdb-hook)
;;; Interactive Utilities
;;
(defun semantic-imenu-toggle-bucketize-file ()
"Toggle the ability of imenu to bucketize the current file."
(interactive)
(setq semantic-imenu-bucketize-file (not semantic-imenu-bucketize-file))
;; Force a rescan
(setq imenu--index-alist nil))
(defun semantic-imenu-toggle-buckets-to-submenu ()
"Toggle the ability of imenu to turn buckets into submenus."
(interactive)
(setq semantic-imenu-buckets-to-submenu (not semantic-imenu-buckets-to-submenu))
;; Force a rescan
(setq imenu--index-alist nil))
(defun semantic-imenu-toggle-bucketize-type-parts ()
"Toggle the ability of imenu to bucketize the current file."
(interactive)
(setq semantic-imenu-bucketize-type-members (not semantic-imenu-bucketize-type-members))
;; Force a rescan
(setq imenu--index-alist nil))
;;; Which function support
;;
;; The which-function library will display the current function in the
;; mode line. It tries do do this through imenu. With a semantic parsed
;; buffer, there is a much more efficient way of doing this.
;; Advise `which-function' so that we optionally use semantic tags
;; instead, and get better stuff.
(require 'advice)
(defvar semantic-which-function 'semantic-default-which-function
"Function to convert semantic tags into `which-function' text.")
(defcustom semantic-which-function-use-color nil
"*Use color when displaying the current function with `which-function'."
:group 'semantic-imenu
:type 'boolean)
(defun semantic-default-which-function (taglist)
"Convert TAGLIST into a string usable by `which-function'.
Returns the first tag name in the list, unless it is a type,
in which case it concatenates them together."
(cond ((eq (length taglist) 1)
(semantic-format-tag-abbreviate
(car taglist) nil semantic-which-function-use-color))
((memq (semantic-tag-class (car taglist))
semantic-imenu-expandable-tag-classes)
(concat (semantic-format-tag-name
(car taglist) nil semantic-which-function-use-color)
(car semantic-type-relation-separator-character)
;; recurse until we no longer have a type
;; or any tags left.
(semantic-default-which-function (cdr taglist))))
(t (semantic-format-tag-abbreviate
(car taglist) nil semantic-which-function-use-color))))
;; (defadvice which-function (around semantic-which activate)
;; "Choose the function to display via semantic if it is currently active."
;; (if (and (featurep 'semantic) semantic--buffer-cache)
;; (let ((ol (semantic-find-tag-by-overlay)))
;; (setq ad-return-value (funcall semantic-which-function ol)))
;; ad-do-it))
(provide 'semantic/imenu)
;; Local variables:
;; generated-autoload-file: "loaddefs.el"
;; generated-autoload-load-name: "semantic/imenu"
;; End:
;;; semantic/imenu.el ends here

View file

@ -66,7 +66,7 @@ Format is from the `file-attributes' function.")
If this is nil, then this template table belongs to a set of generic
templates that can be used with no additional dictionary values.
When it is non-nil, it is assumed the template macros need specialized
Emacs Lisp code to fill in the dictoinary.")
Emacs Lisp code to fill in the dictionary.")
(priority :initarg :priority
:type number
:documentation

View file

@ -273,8 +273,8 @@ Not documented
;;;***
;;;### (autoloads (compiler-macroexpand define-compiler-macro assert
;;;;;; check-type typep deftype cl-struct-setf-expander defstruct
;;;### (autoloads (defsubst* compiler-macroexpand define-compiler-macro
;;;;;; assert check-type typep deftype cl-struct-setf-expander defstruct
;;;;;; define-modify-macro callf2 callf letf* letf rotatef shiftf
;;;;;; remf cl-do-pop psetf setf get-setf-method defsetf define-setf-method
;;;;;; declare the locally multiple-value-setq multiple-value-bind
@ -282,7 +282,7 @@ Not documented
;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist
;;;;;; do* do loop return-from return block etypecase typecase ecase
;;;;;; case load-time-value eval-when destructuring-bind function*
;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "e10a7e42199c08dc39460f67dd2d424b")
;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "273ba25f4a116c61a464dbe55f1f8c63")
;;; Generated autoloads from cl-macs.el
(autoload 'gensym "cl-macs" "\
@ -739,6 +739,14 @@ Not documented
\(fn FORM)" nil nil)
(autoload 'defsubst* "cl-macs" "\
Define NAME as a function.
Like `defun', except the function is automatically declared `inline',
ARGLIST allows full Common Lisp conventions, and BODY is implicitly
surrounded by (block NAME ...).
\(fn NAME ARGLIST [DOCSTRING] BODY...)" nil (quote macro))
;;;***
;;;### (autoloads (tree-equal nsublis sublis nsubst-if-not nsubst-if

View file

@ -1,7 +1,7 @@
;;; cl-macs.el --- Common Lisp macros
;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
;; Free Software Foundation, Inc.
;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
;; 2009, 2010 Free Software Foundation, Inc.
;; Author: Dave Gillespie <daveg@synaptics.com>
;; Version: 2.02
@ -2596,6 +2596,7 @@ and then returning foo."
(byte-compile-normal-call form)
(byte-compile-form form)))
;;;###autoload
(defmacro defsubst* (name args &rest body)
"Define NAME as a function.
Like `defun', except the function is automatically declared `inline',

View file

@ -253,7 +253,7 @@
For every call of FUNCTION Lisp-style trace messages that display argument
and return values will be inserted into BUFFER. This function generates the
trace advice for FUNCTION and activates it together with any other advice
there might be!! The trace BUFFER will popup whenever FUNCTION is called.
there might be!! The trace BUFFER will popup whenever FUNCTION is called.
Do not use this to trace functions that switch buffers or do any other
display oriented stuff, use `trace-function-background' instead."
(interactive

View file

@ -125,7 +125,7 @@ or `eshell-printn' for display."
(eshell-echo args output-newline)))
(defun eshell/printnl (&rest args)
"Print out each of the argument, separated by newlines."
"Print out each of the arguments, separated by newlines."
(let ((elems (eshell-flatten-list args)))
(while elems
(eshell-printn (eshell-echo (list (car elems))))

View file

@ -178,7 +178,7 @@ thing again."
Thus, this does not include the current directory.")
(defvar eshell-last-dir-ring nil
"The last directory that eshell was in.")
"The last directory that Eshell was in.")
;;; Functions:
@ -267,7 +267,7 @@ Thus, this does not include the current directory.")
(char-to-string (char-before))))
(defun eshell-parse-drive-letter ()
"An argument beginning X:[^/] is a drive letter reference."
"An argument beginning with X:[^/] is a drive letter reference."
(when (and (not eshell-current-argument)
(looking-at "\\([A-Za-z]:\\)\\([^/\\\\]\\|\\'\\)"))
(goto-char (match-end 1))
@ -517,7 +517,7 @@ in the minibuffer:
msg)))
(defun eshell-read-last-dir-ring ()
"Sets the buffer's `eshell-last-dir-ring' from a history file."
"Set the buffer's `eshell-last-dir-ring' from a history file."
(let ((file eshell-last-dir-ring-file-name))
(cond
((or (null file)
@ -545,7 +545,7 @@ in the minibuffer:
(setq eshell-last-dir-ring ring))))))
(defun eshell-write-last-dir-ring ()
"Writes the buffer's `eshell-last-dir-ring' to a history file."
"Write the buffer's `eshell-last-dir-ring' to a history file."
(let ((file eshell-last-dir-ring-file-name))
(cond
((or (null file)

View file

@ -590,7 +590,7 @@ the default for new frames (this is done automatically each time an
attribute is changed on all frames).
ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a valid
face attribute name. All attributes can be set to `unspecified';
face attribute name. All attributes can be set to `unspecified';
this fact is not further mentioned below.
The following attributes are recognized:
@ -988,9 +988,9 @@ Otherwise, return a single face."
(defun face-valid-attribute-values (attribute &optional frame)
"Return valid values for face attribute ATTRIBUTE.
The optional argument FRAME is used to determine available fonts
and colors. If it is nil or not specified, the selected frame is
used. Value is an alist of (NAME . VALUE) if ATTRIBUTE expects a value
out of a set of discrete values. Value is `integerp' if ATTRIBUTE expects
and colors. If it is nil or not specified, the selected frame is used.
Value is an alist of (NAME . VALUE) if ATTRIBUTE expects a value out
of a set of discrete values. Value is `integerp' if ATTRIBUTE expects
an integer value."
(let ((valid
(case attribute

View file

@ -1,3 +1,11 @@
2010-03-24 Juanma Barranquero <lekktu@gmail.com>
* message.el (message-interactive): Doc fix.
(message-qmail-inject-args): Reflow.
(message-kill-to-signature): Fix typo in docstring.
* smiley.el (smiley-buffer): Fix typo in docstring.
2010-03-24 Glenn Morris <rgm@gnu.org>
* mail-source.el (gnus-message): Declare.

View file

@ -440,7 +440,7 @@ whitespace)."
;; Default to the value of `mail-interactive', available in all Emacsen
;; that Gnus supports.
"Non-nil means when sending a message wait for and display errors.
nil means let mailer mail back a message to report errors."
A value of nil means let mailer mail back a message to report errors."
:version "23.2"
:group 'message-sending
:group 'message-mail
@ -861,8 +861,8 @@ If this is nil, use `user-mail-address'. If it is the symbol
(defcustom message-qmail-inject-args nil
"Arguments passed to qmail-inject programs.
This should be a list of strings, one string for each argument. It
may also be a function.
This should be a list of strings, one string for each argument.
It may also be a function.
For e.g., if you wish to set the envelope sender address so that bounces
go to the right place or to deal with listserv's usage of that address, you
@ -3254,7 +3254,7 @@ or in the synonym headers, defined by `message-header-synonyms'."
(defun message-kill-to-signature (&optional arg)
"Kill all text up to the signature.
If a numberic argument or prefix arg is given, leave that number
If a numeric argument or prefix arg is given, leave that number
of lines before the signature intact."
(interactive "P")
(save-excursion

View file

@ -196,8 +196,8 @@ A list of images is returned."
;;;###autoload
(defun smiley-buffer (&optional buffer)
"Run `smiley-region' at the buffer, specified in the argument or
interactively. If there's no argument, do it at the current buffer"
"Run `smiley-region' at the BUFFER, specified in the argument or
interactively. If there's no argument, do it at the current buffer."
(interactive "bBuffer to run smiley-region: ")
(save-excursion
(if buffer

View file

@ -801,7 +801,7 @@ you have the dired buffer in the left window and the
With optional argument APPEND, append thumbnail to thumbnail buffer
instead of erasing it first.
Option argument DO-NOT-POP controls if `pop-to-buffer' should be
Optional argument DO-NOT-POP controls if `pop-to-buffer' should be
used or not. If non-nil, use `display-buffer' instead of
`pop-to-buffer'. This is used from functions like
`image-dired-next-line-and-display' and
@ -2113,8 +2113,7 @@ FILE-COMMENTS is an alist on the following form:
(defun image-dired-read-comment (&optional file)
"Read comment for an image.
Read comment for an image, optionally using old comment from FILE
as initial value."
Optionally use old comment from FILE as initial value."
(let ((comment
(read-string
"Comment: "

View file

@ -85,8 +85,10 @@ special; we don't actually use them here."
(defun indent-for-tab-command (&optional arg)
"Indent line or region in proper way for current major mode or insert a tab.
Depending on `tab-always-indent', either insert a tab or indent.
If initial point was within line's indentation, position after
the indentation. Else stay at same point in text.
In most major modes, if point was in the current line's indentation,
it is moved to the first non-whitespace character after indenting;
otherwise it stays at the same position in the text.
If a prefix argument is given, also rigidly indent the entire
balanced expression which starts at the beginning of the current

View file

@ -62,12 +62,12 @@
(defvar json-object-type 'alist
"Type to convert JSON objects to.
Must be one of `alist', `plist', or `hash-table'. Consider let-binding
Must be one of `alist', `plist', or `hash-table'. Consider let-binding
this around your call to `json-read' instead of `setq'ing it.")
(defvar json-array-type 'vector
"Type to convert JSON arrays to.
Must be one of `vector' or `list'. Consider let-binding this around
Must be one of `vector' or `list'. Consider let-binding this around
your call to `json-read' instead of `setq'ing it.")
(defvar json-key-type nil
@ -83,19 +83,19 @@ If nil, `json-read' will guess the type based on the value of
`plist' `keyword'
Note that values other than `string' might behave strangely for
Sufficiently Weird keys. Consider let-binding this around your call to
Sufficiently Weird keys. Consider let-binding this around your call to
`json-read' instead of `setq'ing it.")
(defvar json-false :json-false
"Value to use when reading JSON `false'.
If this has the same value as `json-null', you might not be able to tell
the difference between `false' and `null'. Consider let-binding this
the difference between `false' and `null'. Consider let-binding this
around your call to `json-read' instead of `setq'ing it.")
(defvar json-null nil
"Value to use when reading JSON `null'.
If this has the same value as `json-false', you might not be able to
tell the difference between `false' and `null'. Consider let-binding
tell the difference between `false' and `null'. Consider let-binding
this around your call to `json-read' instead of `setq'ing it.")
@ -218,7 +218,7 @@ KEYWORD is the keyword expected."
(defun json-read-number (&optional sign)
"Read the JSON number following point.
The optional SIGN argument is for internal use.
The optional SIGN argument is for internal use.
N.B.: Only numbers which can fit in Emacs Lisp's native number
representation will be parsed correctly."

View file

@ -141,7 +141,7 @@ South Indian language Malayalam is supported in this language environment."))
(defconst devanagari-composable-pattern
(let ((table
'(("V" . "[\u0904-\u0914\u0960-\u0961\u0972]") ; independent vowel
("C" . "[\u0915-\u0939]") ; consonant
("C" . "[\u0915-\u0939\u0958-\u095F\u097B-\u097C\u097E-\u097F]") ; consonant
("R" . "\u0930") ; RA
("n" . "\u093C") ; NUKTA
("H" . "\u094D") ; HALANT

View file

@ -381,6 +381,20 @@ The variable `rmail-highlighted-headers' specifies which headers."
:group 'rmail-headers
:version "22.1")
;; This was removed in Emacs 23.1 with no notification, an unnecessary
;; incompatible change.
(defcustom rmail-highlight-face 'rmail-highlight
"Face used by Rmail for highlighting headers."
;; Note that nil doesn't actually mean use the default face, it
;; means use either bold or highlight. It's not worth fixing this
;; now that this is obsolete.
:type '(choice (const :tag "Default" nil)
face)
:group 'rmail-headers)
(make-obsolete-variable 'rmail-highlight-face
"customize the face `rmail-highlight' instead."
"23.2")
(defface rmail-header-name
'((t (:inherit font-lock-function-name-face)))
"Face to use for highlighting the header names.
@ -2883,7 +2897,7 @@ using the coding system CODING."
(defun rmail-highlight-headers ()
"Highlight the headers specified by `rmail-highlighted-headers'.
Uses the face `rmail-highlight'."
Uses the face specified by `rmail-highlight-face'."
(if rmail-highlighted-headers
(save-excursion
(search-forward "\n\n" nil 'move)
@ -2891,6 +2905,11 @@ Uses the face `rmail-highlight'."
(narrow-to-region (point-min) (point))
(let ((case-fold-search t)
(inhibit-read-only t)
;; When rmail-highlight-face is removed, just
;; use 'rmail-highlight here.
(face (or rmail-highlight-face
(if (face-differs-from-default-p 'bold)
'bold 'highlight)))
;; List of overlays to reuse.
(overlays rmail-overlay-list))
(goto-char (point-min))
@ -2909,12 +2928,12 @@ Uses the face `rmail-highlight'."
(progn
(setq overlay (car overlays)
overlays (cdr overlays))
(overlay-put overlay 'face 'rmail-highlight)
(overlay-put overlay 'face face)
(move-overlay overlay beg (point)))
;; Make a new overlay and add it to
;; rmail-overlay-list.
(setq overlay (make-overlay beg (point)))
(overlay-put overlay 'face 'rmail-highlight)
(overlay-put overlay 'face face)
(setq rmail-overlay-list
(cons overlay rmail-overlay-list))))))))))

View file

@ -1,3 +1,15 @@
2010-03-24 Juanma Barranquero <lekktu@gmail.com>
* mh-scan.el (mh-scan-cmd-note-width): Doc fix.
(mh-scan-format-mh, mh-scan-body-regexp, mh-scan-cur-msg-number-regexp)
(mh-scan-cur-msg-number-regexp, mh-scan-date-regexp)
(mh-scan-deleted-msg-regexp, mh-scan-good-msg-regexp)
(mh-scan-msg-format-regexp, mh-scan-msg-format-string)
(mh-scan-msg-number-regexp, mh-scan-rcpt-regexp)
(mh-scan-refiled-msg-regexp, mh-scan-sent-to-me-sender-regexp)
(mh-scan-subject-regexp, mh-update-scan-format)
(mh-msg-num-width-to-column): Fix typos in docstrings.
2010-03-10 Chong Yidong <cyd@stupidchicken.com>
* Branch for 23.2.

View file

@ -61,7 +61,7 @@
"%{subject}%<{body}<<%{body}%>")
"*Scan format string for MH.
This string is passed to the scan program via the -format
argument. This format is identical to the default except that
argument. This format is identical to the default except that
additional hints for fontification have been added to the fifth
column (remember that in Emacs, the first column is 0).
@ -109,14 +109,14 @@ non-empty Newsgroups: field is present.")
Note that the default setting of `mh-folder-font-lock-keywords'
expects this expression to contain at least one parenthesized
expression which matches the body text as in the default of
\"\\\\(<<\\\\([^\\n]+\\\\)?\\\\)\". If this regular expression is
\"\\\\(<<\\\\([^\\n]+\\\\)?\\\\)\". If this regular expression is
not correct, the body fragment will not be highlighted with the
face `mh-folder-body'.")
(defvar mh-scan-cur-msg-number-regexp "^\\( *[0-9]+\\+\\).*"
"This regular expression matches the current message.
It must match from the beginning of the line. Note that the
It must match from the beginning of the line. Note that the
default setting of `mh-folder-font-lock-keywords' expects this
expression to contain at least one parenthesized expression which
matches the message number as in the default of
@ -125,9 +125,9 @@ matches the message number as in the default of
This expression includes the leading space and current message
marker \"+\" within the parenthesis since it looks better to
highlight these items as well. The highlighting is done with the
face `mh-folder-cur-msg-number'. This regular expression should
be correct as it is needed by non-fontification functions. See
highlight these items as well. The highlighting is done with the
face `mh-folder-cur-msg-number'. This regular expression should
be correct as it is needed by non-fontification functions. See
also `mh-note-cur'.")
(defvar mh-scan-date-regexp "\\([0-9][0-9]/[0-9][0-9]\\)"
@ -137,14 +137,14 @@ It must not be anchored to the beginning or the end of the line.
Note that the default setting of `mh-folder-font-lock-keywords'
expects this expression to contain only one parenthesized
expression which matches the date field as in the default of
\"\\\\([0-9][0-9]/[0-9][0-9]\\\\)\"}. If this regular expression
\"\\\\([0-9][0-9]/[0-9][0-9]\\\\)\"}. If this regular expression
is not correct, the date will not be highlighted with the face
`mh-folder-date'.")
(defvar mh-scan-deleted-msg-regexp "^\\( *[0-9]+\\)D"
"This regular expression matches deleted messages.
It must match from the beginning of the line. Note that the
It must match from the beginning of the line. Note that the
default setting of `mh-folder-font-lock-keywords' expects this
expression to contain at least one parenthesized expression which
matches the message number as in the default of
@ -152,15 +152,15 @@ matches the message number as in the default of
\"^\\\\( *[0-9]+\\\\)D\".
This expression includes the leading space within the parenthesis
since it looks better to highlight it as well. The highlighting
is done with the face `mh-folder-deleted'. This regular
since it looks better to highlight it as well. The highlighting
is done with the face `mh-folder-deleted'. This regular
expression should be correct as it is needed by non-fontification
functions. See also `mh-note-deleted'.")
functions. See also `mh-note-deleted'.")
(defvar mh-scan-good-msg-regexp "^\\( *[0-9]+\\)[^D^0-9]"
"This regular expression matches \"good\" messages.
It must match from the beginning of the line. Note that the
It must match from the beginning of the line. Note that the
default setting of `mh-folder-font-lock-keywords' expects this
expression to contain at least one parenthesized expression which
matches the message number as in the default of
@ -168,8 +168,8 @@ matches the message number as in the default of
\"^\\\\( *[0-9]+\\\\)[^D^0-9]\".
This expression includes the leading space within the parenthesis
since it looks better to highlight it as well. The highlighting
is done with the face `mh-folder-msg-number'. This regular
since it looks better to highlight it as well. The highlighting
is done with the face `mh-folder-msg-number'. This regular
expression should be correct as it is needed by non-fontification
functions.")
@ -177,21 +177,21 @@ functions.")
"This regular expression finds the message number width in a scan format.
Note that the message number must be placed in a parenthesized
expression as in the default of \"%\\\\([0-9]*\\\\)(msg)\". This
expression as in the default of \"%\\\\([0-9]*\\\\)(msg)\". This
variable is only consulted if `mh-scan-format-file' is set to
\"Use MH-E scan Format\".")
(defvar mh-scan-msg-format-string "%d"
"This is a format string for width of the message number in a scan format.
Use \"0%d\" for zero-filled message numbers. This variable is only
Use \"0%d\" for zero-filled message numbers. This variable is only
consulted if `mh-scan-format-file' is set to \"Use MH-E scan
Format\".")
(defvar mh-scan-msg-number-regexp "^ *\\([0-9]+\\)"
"This regular expression extracts the message number.
It must match from the beginning of the line. Note that the
It must match from the beginning of the line. Note that the
message number must be placed in a parenthesized expression as in
the default of \"^ *\\\\([0-9]+\\\\)\".")
@ -211,9 +211,9 @@ message number within the expression as in the default of
Note that the default setting of `mh-folder-font-lock-keywords'
expects this expression to contain two parenthesized expressions.
The first is expected to match the \"To:\" that the default scan
format file generates. The second is expected to match the
format file generates. The second is expected to match the
recipient's name as in the default of
\"\\\\(To:\\\\)\\\\(..............\\\\)\". If this regular
\"\\\\(To:\\\\)\\\\(..............\\\\)\". If this regular
expression is not correct, the \"To:\" string will not be
highlighted with the face `mh-folder-to' and the recipient will
not be highlighted with the face `mh-folder-address'")
@ -221,7 +221,7 @@ not be highlighted with the face `mh-folder-address'")
(defvar mh-scan-refiled-msg-regexp "^\\( *[0-9]+\\)\\^"
"This regular expression matches refiled messages.
It must match from the beginning of the line. Note that the
It must match from the beginning of the line. Note that the
default setting of `mh-folder-font-lock-keywords' expects this
expression to contain at least one parenthesized expression which
matches the message number as in the default of
@ -229,10 +229,10 @@ matches the message number as in the default of
\"^\\\\( *[0-9]+\\\\)\\\\^\".
This expression includes the leading space within the parenthesis
since it looks better to highlight it as well. The highlighting
is done with the face `mh-folder-refiled'. This regular
since it looks better to highlight it as well. The highlighting
is done with the face `mh-folder-refiled'. This regular
expression should be correct as it is needed by non-fontification
functions. See also `mh-note-refiled'.")
functions. See also `mh-note-refiled'.")
(defvar mh-scan-sent-to-me-sender-regexp
"^ *[0-9]+.\\([bct]\\).....[ ]*\\(..................\\)"
@ -240,7 +240,7 @@ functions. See also `mh-note-refiled'.")
Note that the default setting of `mh-folder-font-lock-keywords'
expects this expression to contain at least two parenthesized
expressions. The first should match the fontification hint (see
expressions. The first should match the fontification hint (see
`mh-scan-format-nmh') and the second should match the user name
as in the default of
@ -255,15 +255,15 @@ highlighted with the face `mh-folder-sent-to-me-sender'.")
"^ *[0-9]+........[ ]*...................\\([Rr][Ee]\\(\\[[0-9]+\\]\\)?:\\s-*\\)*\\([^<\n]*\\)"
"This regular expression matches the subject.
It must match from the beginning of the line. Note that the
It must match from the beginning of the line. Note that the
default setting of `mh-folder-font-lock-keywords' expects this
expression to contain at least three parenthesized expressions.
The first is expected to match the \"Re:\" string, if any, and is
highlighted with the face `mh-folder-followup'. The second
highlighted with the face `mh-folder-followup'. The second
matches an optional bracketed number after \"Re:\", such as in
\"Re[2]:\" (and is thus a sub-expression of the first expression)
and the third is expected to match the subject line itself which
is highlighted with the face `mh-folder-subject'. For example,
is highlighted with the face `mh-folder-subject'. For example,
the default (broken on multiple lines for readability) is
^ *[0-9]+........[ ]*...................
@ -296,9 +296,9 @@ Note that columns in Emacs start with 0.")
(defvar mh-scan-cmd-note-width 1
"Number of columns consumed by the cmd-note field in `mh-scan-format'.
This column will have one of the values: \" \", \"D\", \"^\", \"+\" and
where \" \" is the default value,
This column will have one of the values: \" \", \"D\", \"^\", \"+\", where
\" \" is the default value,
\"D\" is the `mh-note-deleted' character,
\"^\" is the `mh-note-refiled' character, and
\"+\" is the `mh-note-cur' character.")
@ -434,7 +434,7 @@ Note that columns in Emacs start with 0."
"Return a scan format with the (msg) width in the FMT replaced with WIDTH.
The message number width portion of the format is discovered
using `mh-scan-msg-format-regexp'. Its replacement is controlled
using `mh-scan-msg-format-regexp'. Its replacement is controlled
with `mh-scan-msg-format-string'."
(or (and
(string-match mh-scan-msg-format-regexp fmt)
@ -469,7 +469,7 @@ Note that columns in Emacs start with 0.
If `mh-scan-format-file' is set to \"Use MH-E scan Format\" this
means that either `mh-scan-format-mh' or `mh-scan-format-nmh' are
in use. This function therefore assumes that the first column is
in use. This function therefore assumes that the first column is
empty (to provide room for the cursor), the following WIDTH
columns contain the message number, and the column for notations
comes after that."

View file

@ -1102,12 +1102,12 @@ variables.")
(exit-minibuffer))
(defvar completion-in-region-functions nil
"Wrapper hook around `complete-in-region'.
"Wrapper hook around `completion-in-region'.
The functions on this special hook are called with 5 arguments:
NEXT-FUN START END COLLECTION PREDICATE.
NEXT-FUN is a function of four arguments (START END COLLECTION PREDICATE)
that performs the default operation. The other four argument are like
the ones passed to `complete-in-region'. The functions on this hook
that performs the default operation. The other four arguments are like
the ones passed to `completion-in-region'. The functions on this hook
are expected to perform completion on START..END using COLLECTION
and PREDICATE, either by calling NEXT-FUN or by doing it themselves.")

View file

@ -6295,7 +6295,7 @@ only in DIRLIST.
Returns the absolute file name of PROGNAME, if found, and nil otherwise.
This function expects to be in the right *tramp* buffer."
(with-current-buffer (tramp-get-buffer vec)
(with-current-buffer (tramp-get-connection-buffer vec)
(let (result)
;; Check whether the executable is in $PATH. "which(1)" does not
;; report always a correct error code; therefore we check the
@ -6303,7 +6303,7 @@ This function expects to be in the right *tramp* buffer."
(unless ignore-path
(tramp-send-command vec (format "which \\%s | wc -w" progname))
(goto-char (point-min))
(if (looking-at "^1$")
(if (looking-at "^\\s-*1$")
(setq result (concat "\\" progname))))
(unless result
(when ignore-tilde
@ -6404,12 +6404,15 @@ file exists and nonzero exit status otherwise."
(with-current-buffer (tramp-get-buffer vec)
(tramp-send-command vec "echo ~root" t)
(cond
((string-match "^~root$" (buffer-string))
((or (string-match "^~root$" (buffer-string))
;; The default shell (ksh93) of OpenSolaris is buggy.
(string-equal (tramp-get-connection-property vec "uname" "")
"SunOS 5.11"))
(setq shell
(or (tramp-find-executable
vec "bash" (tramp-get-remote-path vec) t)
vec "bash" (tramp-get-remote-path vec) t t)
(tramp-find-executable
vec "ksh" (tramp-get-remote-path vec) t)))
vec "ksh" (tramp-get-remote-path vec) t t)))
(unless shell
(tramp-error
vec 'file-error
@ -6838,9 +6841,11 @@ process to set up. VEC specifies the connection."
;; "test foo; echo $?" to check if various conditions hold, and
;; there are buggy /bin/sh implementations which don't execute the
;; "echo $?" part if the "test" part has an error. In particular,
;; the Solaris /bin/sh is a problem. I'm betting that all systems
;; with buggy /bin/sh implementations will have a working bash or
;; ksh. Whee...
;; the OpenSolaris /bin/sh is a problem. There are also other
;; problems with /bin/sh of OpenSolaris, like redirection of stderr
;; in in function declarations, or changing HISTFILE in place.
;; Therefore, OpenSolaris' /bin/sh is replaced by bash, when
;; detected.
(tramp-find-shell vec)
;; Disable unexpected output.
@ -6849,12 +6854,6 @@ process to set up. VEC specifies the connection."
;; Set the environment.
(tramp-message vec 5 "Setting default environment")
;; On OpenSolaris, there is a bug when HISTFILE is changed in place
;; <http://bugs.opensolaris.org/view_bug.do?bug_id=6834184>. We
;; apply the workaround.
(if (string-equal (tramp-get-connection-property vec "uname" "") "SunOS 5.11")
(tramp-send-command vec "unset HISTFILE" t))
(let ((env (copy-sequence tramp-remote-process-environment))
unset item)
(while env

View file

@ -29,7 +29,7 @@
;; "autoconf && ./configure" to change them. (X)Emacs version check is defined
;; in macro AC_EMACS_INFO of aclocal.m4; should be changed only there.
(defconst tramp-version "2.1.18-pre"
(defconst tramp-version "2.1.18-23.2"
"This version of Tramp.")
(defconst tramp-bug-report-address "tramp-devel@gnu.org"

View file

@ -61,7 +61,7 @@
(put 'timeout 'event-symbol-elements '(eval))
(defun allocate-event ()
"Returns an empty event structure.
"Return an empty event structure.
In this emulation, it returns nil."
nil)
@ -142,7 +142,7 @@ It will be the next event read after all pending events."
(nth 1 event))
(defun event-key (event)
"Returns the KeySym of the given key-press event.
"Return the KeySym of the given key-press event.
The value is an ASCII printing character (not upper case) or a symbol."
(if (symbolp event)
(car (get event 'event-symbol-elements))
@ -150,11 +150,11 @@ The value is an ASCII printing character (not upper case) or a symbol."
(downcase (if (< base 32) (logior base 64) base)))))
(defun event-object (event)
"Returns the function argument of the given timeout, menu, or eval event."
"Return the function argument of the given timeout, menu, or eval event."
(nth 2 event))
(defun event-point (event)
"Returns the character position of the given mouse-related event.
"Return the character position of the given mouse-related event.
If the event did not occur over a window, or did
not occur over text, then this returns nil. Otherwise, it returns an index
into the buffer visible in the event's window."
@ -201,18 +201,18 @@ or for window WINDOW if that is specified."
(window-start start-window)))))
(defun event-process (event)
"Returns the process of the given process-output event."
"Return the process of the given process-output event."
(nth 1 event))
(defun event-timestamp (event)
"Returns the timestamp of the given event object.
"Return the timestamp of the given event object.
In Lucid Emacs, this works for any kind of event.
In this emulation, it returns nil for non-mouse-related events."
(and (listp event)
(posn-timestamp (event-end event))))
(defun event-to-character (event &optional lenient)
"Returns the closest ASCII approximation to the given event object.
"Return the closest ASCII approximation to the given event object.
If the event isn't a keypress, this returns nil.
If the second argument is non-nil, then this is lenient in its
translation; it will ignore modifier keys other than control and meta,
@ -229,25 +229,25 @@ will be returned for events which have no direct ASCII equivalent."
event nil)))
(defun event-window (event)
"Returns the window of the given mouse-related event object."
"Return the window of the given mouse-related event object."
(posn-window (event-end event)))
(defun event-x (event)
"Returns the X position in characters of the given mouse-related event."
"Return the X position in characters of the given mouse-related event."
(/ (car (posn-col-row (event-end event)))
(frame-char-width (window-frame (event-window event)))))
(defun event-x-pixel (event)
"Returns the X position in pixels of the given mouse-related event."
"Return the X position in pixels of the given mouse-related event."
(car (posn-col-row (event-end event))))
(defun event-y (event)
"Returns the Y position in characters of the given mouse-related event."
"Return the Y position in characters of the given mouse-related event."
(/ (cdr (posn-col-row (event-end event)))
(frame-char-height (window-frame (event-window event)))))
(defun event-y-pixel (event)
"Returns the Y position in pixels of the given mouse-related event."
"Return the Y position in pixels of the given mouse-related event."
(cdr (posn-col-row (event-end event))))
(defun key-press-event-p (obj)

View file

@ -2624,7 +2624,7 @@ comment at the start of cc-engine.el for more info."
(< (point-max) c-state-old-cpp-end)))
(point-max)
(min (point-max) c-state-old-cpp-beg)))
(while (and c-state-cache (> (c-state-cache-top-lparen) upper-lim))
(while (and c-state-cache (>= (c-state-cache-top-lparen) upper-lim))
(setq c-state-cache (cdr c-state-cache)))
;; If `upper-lim' is inside the last recorded brace pair, remove its
;; RBrace and indicate we'll need to search backwards for a previous

View file

@ -272,7 +272,7 @@ not be enclosed in { } or ( )."
"Characters to skip to find a line that might be a dependency.")
(defvar makefile-rule-action-regex
"^\t[ \t]*\\([-@]*\\)[ \t]*\\(\\(?:.*\\\\\n\\)*.*\\)"
"^\t[ \t]*\\(?:\\([-@]+\\)[ \t]*\\)\\(.*\\(?:\\\\\n.*\\)*\\)"
"Regex used to highlight rule action lines in font lock mode.")
(defconst makefile-makepp-rule-action-regex
@ -355,8 +355,9 @@ not be enclosed in { } or ( )."
(3 'font-lock-string-face prepend t))
;; Rule actions.
;; FIXME: When this spans multiple lines we need font-lock-multiline.
(makefile-match-action
(1 font-lock-type-face)
(1 font-lock-type-face nil t)
(2 'makefile-shell prepend)
;; Only makepp has builtin commands.
(3 font-lock-builtin-face prepend t))

View file

@ -359,7 +359,7 @@ property of the major mode name.")
(put 'html-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify)
(put 'nxml-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify)
(declare-function sgml-lexical-context "sgml-mode" &optional limit)
(autoload 'sgml-lexical-context "sgml-mode")
(defun sgml-mode-flyspell-verify ()
"Function used for `flyspell-generic-check-word-predicate' in SGML mode.

View file

@ -100,22 +100,22 @@
("enumerate" ?i "item:" "~\\ref{%s}" item
(regexp "items?" "Punkte?"))
("equation" ?e "eq:" "~(\\ref{%s})" t
(regexp "equations?" "eqs?\\." "eqn\\." "Gleichung\\(en\\)?" "Gl\\."))
("eqnarray" ?e "eq:" nil eqnarray-like)
("figure" ?f "fig:" "~\\ref{%s}" caption
(regexp "figure?[sn]?" "figs?\\." "Abbildung\\(en\\)?" "Abb\\."))
("figure*" ?f nil nil caption)
("table" ?t "tab:" "~\\ref{%s}" caption
(regexp "tables?" "tab\\." "Tabellen?"))
("table*" ?t nil nil caption)
("\\footnote[]{}" ?n "fn:" "~\\ref{%s}" 2
(regexp "footnotes?" "Fussnoten?"))
("any" ?\ " " "~\\ref{%s}" nil)
;; The label macro is hard coded, but it *could* be defined like this:
@ -207,7 +207,7 @@ The following conventions are valid for all alist entries:
`?t' should point to a textual citation (citation as a noun).
`?p' should point to a parenthetical citation.")
(defconst reftex-index-macros-builtin
(defconst reftex-index-macros-builtin
'((default "Default \\index and \\glossary macros"
(("\\index{*}" "idx" ?i "" nil t)
("\\glossary{*}" "glo" ?g "" nil t)))
@ -219,9 +219,9 @@ The following conventions are valid for all alist entries:
(Index-Shortcut "index.sty with \\shortindexingon"
(("\\index[]{*}" 1 ?i "" nil t)
("\\index*[]{*}" 1 ?I "" nil nil)
("^[]{*}" 1 ?^ "" texmathp t)
("^[]{*}" 1 ?^ "" texmathp t)
("_[]{*}" 1 ?_ "" texmathp nil))))
"Builtin stuff for reftex-index-macros.
"Builtin stuff for `reftex-index-macros'.
Lower-case symbols correspond to a style file of the same name in the LaTeX
distribution. Mixed-case symbols are convenience aliases.")
)
@ -231,7 +231,7 @@ distribution. Mixed-case symbols are convenience aliases.")
(defgroup reftex nil
"LaTeX label and citation support."
:tag "RefTeX"
:link '(url-link :tag "Home Page"
:link '(url-link :tag "Home Page"
"http://staff.science.uva.nl/~dominik/Tools/reftex/")
:link '(emacs-commentary-link :tag "Commentary in reftex.el" "reftex.el")
:link '(custom-manual "(reftex)Top")
@ -280,7 +280,7 @@ the backslash). The cdr is a number indicating its level. A negative
level means the same level as the positive value, but the section will
never get a number. The cdr may also be a function which will be called
to after the section-re matched to determine the level.
This list is also used for promotion and demption of sectioning commands.
This list is also used for promotion and demotion of sectioning commands.
If you are using a document class which has several sets of sectioning
commands, promotion only works correctly if this list is sorted first
by set, then within each set by level. The promotion commands always
@ -318,7 +318,7 @@ are currently working in. Recentering happens whenever Emacs is idle for
more than `reftex-idle-time' seconds.
Value t means, turn on immediately when RefTeX gets started. Then,
recentering will work for any toc window created during the session.
recentering will work for any TOC window created during the session.
Value 'frame (the default) means, turn automatic recentering on only while the
dedicated TOC frame does exist, and do the recentering only in that frame. So
@ -326,14 +326,14 @@ when creating that frame (with \"d\" key in an ordinary TOC window), the
automatic recentering is turned on. When the frame gets destroyed, automatic
recentering is turned off again.
This feature can be turned on and off from the menu
This feature can be turned on and off from the menu
\(Ref->Options)."
:group 'reftex-table-of-contents-browser
:type '(choice
(const :tag "never" nil)
(const :tag "always" t)
(const :tag "in dedicated frame only" frame)))
(defcustom reftex-toc-split-windows-horizontally nil
"*Non-nil means, create TOC window by splitting window horizontally."
:group 'reftex-table-of-contents-browser
@ -407,7 +407,7 @@ When nil, follow-mode will be suspended for stuff in unvisited files."
:type 'boolean)
(defcustom reftex-toc-mode-hook nil
"Mode hook for reftex-toc-mode."
"Mode hook for `reftex-toc-mode'."
:group 'reftex-table-of-contents-browser
:type 'hook)
@ -425,7 +425,7 @@ When nil, follow-mode will be suspended for stuff in unvisited files."
'(amsmath endnotes fancybox floatfig longtable picinpar
rotating sidecap subfigure supertab wrapfig LaTeX)
"Default label alist specifications. LaTeX should always be the last entry.
The value of this variable is a list of symbols with associations in the
The value of this variable is a list of symbols with associations in the
constant `reftex-label-alist-builtin'. Check that constant for a full list
of options."
:group 'reftex-defining-label-environments
@ -624,7 +624,7 @@ list. However, builtin defaults should normally be set with the variable
(defcustom reftex-section-prefixes '((0 . "part:") (1 . "cha:") (t . "sec:"))
"Prefixes for section labels.
When the label prefix given in an entry in `reftex-label-alist' contains `%S',
this list is used to determine the correct prefix string depending on the
this list is used to determine the correct prefix string depending on the
current section level.
The list is an alist, with each entry of the form (KEY . PREFIX)
Possible keys are sectioning macro names like `chapter', section levels
@ -686,7 +686,7 @@ non-footnote labels."
(regexp)
(repeat :tag "List"
(string :tag "prefix (with colon)"))))
(defcustom reftex-special-environment-functions nil
"List of functions to be called when trying to figure out current environment.
These are special functions to detect \"environments\" which do not
@ -732,7 +732,7 @@ And here is the setup for RefTeX:
(let ((pos (point)) p1)
(save-excursion
;; Search for any of the linguex item macros at the beginning of a line
(if (re-search-backward
(if (re-search-backward
\"^[ \\t]*\\\\(\\\\\\\\\\\\(ex\\\\|a\\\\|b\\\\|c\\\\|d\\\\|e\\\\|f\\\\)g?\\\\.\\\\)\" bound t)
(progn
(setq p1 (match-beginning 1))
@ -742,7 +742,7 @@ And here is the setup for RefTeX:
nil
;; OK, we got it
(cons \"linguex\" p1)))
;; Return nil for not found
;; Return nil for not found
nil))))
3. Tell RefTeX to use this function
@ -941,7 +941,7 @@ This is used to string together whole reference sets, like
(defcustom reftex-vref-is-default nil
"*Non-nil means, the varioref macro \\vref is used as default.
In the selection buffer, the `v' key toggles the reference macro between
In the selection buffer, the `v' key toggles the reference macro between
`\\ref' and `\\vref'. The value of this variable determines the default
which is active when entering the selection process.
Instead of nil or t, this may also be a string of type letters indicating
@ -952,7 +952,7 @@ the label types for which it should be true."
(defcustom reftex-fref-is-default nil
"*Non-nil means, the fancyref macro \\fref is used as default.
In the selection buffer, the `V' key toggles the reference macro between
In the selection buffer, the `V' key toggles the reference macro between
`\\ref', `\\fref' and `\\Fref'. The value of this variable determines
the default which is active when entering the selection process.
Instead of nil or t, this may also be a string of type letters indicating
@ -979,7 +979,7 @@ a label type. If you set this variable to nil, RefTeX will always prompt."
(defcustom reftex-format-ref-function nil
"Function which produces the string to insert as a reference.
Normally should be nil, because the format to insert a reference can
Normally should be nil, because the format to insert a reference can
already be specified in `reftex-label-alist'.
This hook also is used by the special commands to insert `\\vref' and `\\fref'
references, so even if you set this, your setting will be ignored by
@ -1060,13 +1060,13 @@ It is also possible to access all other BibTeX database fields:
%i institution %j journal %k key %m month
%n number %o organization %p pages %P first page
%r address %s school %u publisher %t title
%v volume %y year
%v volume %y year
%B booktitle, abbreviated %T title, abbreviated
Usually, only %l is needed. The other stuff is mainly for the echo area
display, and for (setq reftex-comment-citations t).
%< as a special operator kills punctuation and space around it after the
%< as a special operator kills punctuation and space around it after the
string has been formatted.
A pair of square brackets indicates an optional argument, and RefTeX
@ -1081,7 +1081,7 @@ will be prompted for a character to select one of the possible format
strings.
In order to configure this variable, you can either set
`reftex-cite-format' directly yourself or set it to the SYMBOL of one of
the predefined styles. The predefined symbols are those which have an
the predefined styles. The predefined symbols are those which have an
association in the constant `reftex-cite-format-builtin'.
E.g.: (setq reftex-cite-format 'natbib)"
:group 'reftex-citation-support
@ -1164,8 +1164,8 @@ possible percent escapes."
(defcustom reftex-cite-punctuation '(", " " \\& " " {\\it et al.}")
"Punctuation for formatting of name lists in citations.
This is a list of 3 strings.
1. normal names separator, like \", \" in Jones, Brown and Miller
2. final names separator, like \" and \" in Jones, Brown and Miller
1. Normal names separator, like \", \" in Jones, Brown and Miller
2. Final names separator, like \" and \" in Jones, Brown and Miller
3. The \"et al\" string, like \" {\\it et al.}\" in Jones {\\it et al.}"
:group 'reftex-citation-support
:type '(list
@ -1175,7 +1175,7 @@ This is a list of 3 strings.
(defcustom reftex-format-cite-function nil
"Function which produces the string to insert as a citation.
Normally should be nil, because the format to insert a reference can
Normally should be nil, because the format to insert a reference can
already be specified in `reftex-cite-format'.
The function will be called with two arguments, the CITATION KEY and the
DEFAULT FORMAT, which is taken from `reftex-cite-format'. The function
@ -1258,7 +1258,7 @@ package here."
:group 'reftex-index-support
:set 'reftex-set-dirty
:type `(list
(repeat
(repeat
:inline t
(list :value ("" "idx" ?a "" nil)
(string :tag "Macro with args")
@ -1285,7 +1285,7 @@ package here."
This is a list with (MACRO-KEY DEFAULT-TAG).
MACRO-KEY: Character identifying an index macro - see `reftex-index-macros'.
DEFAULT-TAG: This is the tag to be used if the macro requires a TAG argument.
DEFAULT-TAG: This is the tag to be used if the macro requires a TAG argument.
When this is nil and a TAG is needed, RefTeX will ask for it.
When this is the empty string and the TAG argument of the index
macro is optional, the TAG argument will be omitted."
@ -1426,7 +1426,7 @@ to that section."
(defcustom reftex-index-include-context nil
"*Non-nil means, display the index definition context in the index buffer.
This flag may also be toggled from the index buffer with the `c' key."
This flag may also be toggled from the index buffer with the `c' key."
:group 'reftex-index-support
:type 'boolean)
@ -1449,7 +1449,7 @@ This is used when `reftex-view-crossref' is called with point in an
argument of a macro. Note that crossref viewing for citations,
references (both ways) and index entries is hard-coded. This variable
is only to configure additional structures for which crossreference
viewing can be useful. Each entry has the structure
viewing can be useful. Each entry has the structure
\(MACRO-RE SEARCH-RE HIGHLIGHT).
@ -1470,7 +1470,7 @@ argument of a \\ref or \\cite macro, and no other message is being
displayed, the echo area will display information about that cross
reference. You can also set the variable to the symbol `window'. In
this case a small temporary window is used for the display.
This feature can be turned on and off from the menu
This feature can be turned on and off from the menu
\(Ref->Options)."
:group 'reftex-viewing-cross-references
:type '(choice (const :tag "off" nil)
@ -1516,7 +1516,7 @@ Several entries are possible.
- If an element is the name of an environment variable, its content is used.
- If an element starts with an exclamation mark, it is used as a command
to retrieve the path. A typical command with the kpathsearch library would
be `!kpsewhich -show-path=.tex'.
be `!kpsewhich -show-path=.tex'.
- Otherwise the element itself is interpreted as a path.
Multiple directories can be separated by the system dependent `path-separator'.
Directories ending in `//' or `!!' will be expanded recursively.
@ -1531,7 +1531,7 @@ Several entries are possible.
- If an element is the name of an environment variable, its content is used.
- If an element starts with an exclamation mark, it is used as a command
to retrieve the path. A typical command with the kpathsearch library would
be `!kpsewhich -show-path=.bib'.
be `!kpsewhich -show-path=.bib'.
- Otherwise the element itself is interpreted as a path.
Multiple directories can be separated by the system dependent `path-separator'.
Directories ending in `//' or `!!' will be expanded recursively.
@ -1575,7 +1575,7 @@ Note that if you are using external file finders, this option has no effect."
"*Non-nil means, search all specified directories before trying recursion.
Thus, in a path \".//:/tex/\", search first \"./\", then \"/tex/\" and then
all subdirectories of \"./\". If this option is nil, the subdirectories of
\"./\" are searched before \"/tex/\". This is mainly for speed - most of the
\"./\" are searched before \"/tex/\". This is mainly for speed - most of the
time the recursive path is for the system files and not for the user files.
Set this to nil if the default makes RefTeX finding files with equal names
in wrong sequence."
@ -1588,7 +1588,7 @@ Normally, RefTeX searches the paths given in the environment variables
TEXINPUTS and BIBINPUTS to find TeX files and BibTeX database files.
With this option turned on, it calls an external program specified in the
option `reftex-external-file-finders' instead. As a side effect,
the variables `reftex-texpath-environment-variables' and
the variables `reftex-texpath-environment-variables' and
`reftex-bibpath-environment-variables' will be ignored."
:group 'reftex-finding-files
:type 'boolean)
@ -1679,7 +1679,7 @@ list."
(defcustom reftex-save-parse-info nil
"*Non-nil means, save information gathered with parsing in a file.
The file MASTER.rel in the same directory as MASTER.tex is used to save the
information. When this variable is t,
information. When this variable is t,
- accessing the parsing information for the first time in an editing session
will read that file (if available) instead of parsing the document.
- exiting Emacs or killing a buffer in reftex-mode will cause a new version
@ -1753,7 +1753,7 @@ Normally, the text near the cursor is the selected text, and it is
highlighted. This is the entry most keys in the selction and *toc*
buffers act on. However, if you mainly use the mouse to select an
item, you may find it nice to have mouse-triggered highlighting
instead or as well. The variable may have one of these values:
instead or as well. The variable may have one of these values:
nil No highlighting.
cursor Highlighting is cursor driven.
@ -1882,7 +1882,7 @@ RefTeX uses `fset' to take over the function calls. Changing the variable
may require a restart of Emacs in order to become effective."
:group 'reftex-miscellaneous-configurations
:group 'LaTeX
:type '(choice
:type '(choice
(const :tag "No plug-ins" nil)
(const :tag "All possible plug-ins" t)
(list

View file

@ -3876,10 +3876,14 @@ Optional argument NUMERIC, if non-nil, means the argument is numeric."
;; The first two cases below could be merged (maybe)!
(let ((from (point)))
;; Discard zero width filler character used to hide leading dots
;; and zero width characters. If on a line by itself, consume the
;; newline as well, as this may interfere with (Bug#3651).
(while (re-search-forward "\\\\[&|^]\n?" to t)
(woman-delete-match 0))
;; and zero width characters.
(while (re-search-forward "\\\\[&|^]" to t)
(woman-delete-match 0)
;; If on a line by itself, consume newline as well (Bug#3651).
(and (eq (char-before (match-beginning 0)) ?\n)
(eq (char-after (match-beginning 0)) ?\n)
(delete-char 1)))
(goto-char from)
;; Interrupt text processing -- CONTINUE current text with the
;; next text line (after any control lines, unless processing to

View file

@ -1,5 +1,5 @@
<!--
Copyright (C) 2008, 2009 Free Software Foundation, Inc.
Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GNU Emacs.

View file

@ -1,3 +1,29 @@
2010-03-24 Jan Djärv <jan.h.d@swipnet.se>
* frame.c (x_get_arg): Handle RES_TYPE_BOOLEAN_NUMBER (bug #5736).
* xfns.c (Fx_create_frame): Make menuBar a RES_TYPE_BOOLEAN_NUMBER.
* dispextern.h (resource_types): RES_TYPE_BOOLEAN_NUMBER is new.
2010-03-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* xfns.c (Fx_create_frame) [USE_LUCID]: Add BLOCK_INPUT around
XLoadQueryFont.
2010-03-24 Kenichi Handa <handa@m17n.org>
* coding.c (decode_coding_ccl): Fix previous change for the
multibyte case.
(encode_coding_ccl): Don't setup ccl program here. Fix for the
case that the output buffer is fullfilled.
(encode_coding): Setup ccl program here.
2010-03-24 Andreas Politz <politza@fh-trier.de> (tiny change)
* editfns.c (Fformat): Account for string precision when computing
field width (Bug#5710).
2010-03-23 Dan Nicolaescu <dann@ics.uci.edu>
* s/gnu-linux.h (LIBS_SYSTEM): Remove, same as default.

View file

@ -7154,9 +7154,9 @@
(ENCODE_ISO_CHARACTER): Bug of handling return value of unify_char
fixed.
(DECODE_SJIS_BIG5_CHARACTER): New macro.
(decode_coding_sjis_big5): Handle character unificatoin table.
(decode_coding_sjis_big5): Handle character unification table.
Use macro DECODE_SJIS_BIG5_CHARACTER.
(encode_coding_sjis_big5): Handle character unificatoin table.
(encode_coding_sjis_big5): Handle character unification table.
Use macro ENCODE_SJIS_BIG5_CHARACTER.
(setup_coding_system): Handle members
character_unification_table_for_decode and

View file

@ -5245,7 +5245,7 @@ decode_coding_ccl (coding)
int multibytep = coding->src_multibyte;
struct ccl_program *ccl = &coding->spec.ccl->ccl;
int source_charbuf[1024];
int source_byteidx[1024];
int source_byteidx[1025];
Lisp_Object attrs, charset_list;
CODING_GET_INFO (coding, attrs, charset_list);
@ -5256,11 +5256,14 @@ decode_coding_ccl (coding)
int i = 0;
if (multibytep)
while (i < 1024 && p < src_end)
{
source_byteidx[i] = p - src;
source_charbuf[i++] = STRING_CHAR_ADVANCE (p);
}
{
while (i < 1024 && p < src_end)
{
source_byteidx[i] = p - src;
source_charbuf[i++] = STRING_CHAR_ADVANCE (p);
}
source_byteidx[i] = p - src;
}
else
while (i < 1024 && p < src_end)
source_charbuf[i++] = *p++;
@ -5270,7 +5273,7 @@ decode_coding_ccl (coding)
ccl_driver (ccl, source_charbuf, charbuf, i, charbuf_end - charbuf,
charset_list);
charbuf += ccl->produced;
if (multibytep && ccl->consumed < i)
if (multibytep)
src += source_byteidx[ccl->consumed];
else
src += ccl->consumed;
@ -5304,7 +5307,7 @@ static int
encode_coding_ccl (coding)
struct coding_system *coding;
{
struct ccl_program ccl;
struct ccl_program *ccl = &coding->spec.ccl->ccl;
int multibytep = coding->dst_multibyte;
int *charbuf = coding->charbuf;
int *charbuf_end = charbuf + coding->charbuf_used;
@ -5315,35 +5318,34 @@ encode_coding_ccl (coding)
Lisp_Object attrs, charset_list;
CODING_GET_INFO (coding, attrs, charset_list);
setup_ccl_program (&ccl, CODING_CCL_ENCODER (coding));
ccl.last_block = coding->mode & CODING_MODE_LAST_BLOCK;
ccl.dst_multibyte = coding->dst_multibyte;
if (coding->consumed_char == coding->src_chars
&& coding->mode & CODING_MODE_LAST_BLOCK)
ccl->last_block = 1;
while (charbuf < charbuf_end)
{
ccl_driver (&ccl, charbuf, destination_charbuf,
ccl_driver (ccl, charbuf, destination_charbuf,
charbuf_end - charbuf, 1024, charset_list);
if (multibytep)
{
ASSURE_DESTINATION (ccl.produced * 2);
for (i = 0; i < ccl.produced; i++)
ASSURE_DESTINATION (ccl->produced * 2);
for (i = 0; i < ccl->produced; i++)
EMIT_ONE_BYTE (destination_charbuf[i] & 0xFF);
}
else
{
ASSURE_DESTINATION (ccl.produced);
for (i = 0; i < ccl.produced; i++)
ASSURE_DESTINATION (ccl->produced);
for (i = 0; i < ccl->produced; i++)
*dst++ = destination_charbuf[i] & 0xFF;
produced_chars += ccl.produced;
produced_chars += ccl->produced;
}
charbuf += ccl.consumed;
if (ccl.status == CCL_STAT_QUIT
|| ccl.status == CCL_STAT_INVALID_CMD)
charbuf += ccl->consumed;
if (ccl->status == CCL_STAT_QUIT
|| ccl->status == CCL_STAT_INVALID_CMD)
break;
}
switch (ccl.status)
switch (ccl->status)
{
case CCL_STAT_SUSPEND_BY_SRC:
record_conversion_result (coding, CODING_RESULT_INSUFFICIENT_SRC);
@ -7534,6 +7536,7 @@ encode_coding (coding)
Lisp_Object attrs;
Lisp_Object translation_table;
int max_lookup;
struct ccl_spec cclspec;
attrs = CODING_ID_ATTRS (coding->id);
if (coding->encoder == encode_coding_raw_text)
@ -7555,6 +7558,11 @@ encode_coding (coding)
ALLOC_CONVERSION_WORK_AREA (coding);
if (coding->encoder == encode_coding_ccl)
{
coding->spec.ccl = &cclspec;
setup_ccl_program (&cclspec.ccl, CODING_CCL_ENCODER (coding));
}
do {
coding_set_source (coding);
consume_chars (coding, translation_table, max_lookup);

View file

@ -318,10 +318,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the <kerberos/krb.h> header file. */
#undef HAVE_KERBEROS_KRB_H
/* Define to 1 if `e_text' is member of `krb5_error'. */
/* Define to 1 if `e_text' is a member of `krb5_error'. */
#undef HAVE_KRB5_ERROR_E_TEXT
/* Define to 1 if `text' is member of `krb5_error'. */
/* Define to 1 if `text' is a member of `krb5_error'. */
#undef HAVE_KRB5_ERROR_TEXT
/* Define to 1 if you have the <krb5.h> header file. */
@ -615,25 +615,25 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the `strsignal' function. */
#undef HAVE_STRSIGNAL
/* Define to 1 if `ifr_addr' is member of `struct ifreq'. */
/* Define to 1 if `ifr_addr' is a member of `struct ifreq'. */
#undef HAVE_STRUCT_IFREQ_IFR_ADDR
/* Define to 1 if `ifr_broadaddr' is member of `struct ifreq'. */
/* Define to 1 if `ifr_broadaddr' is a member of `struct ifreq'. */
#undef HAVE_STRUCT_IFREQ_IFR_BROADADDR
/* Define to 1 if `ifr_flags' is member of `struct ifreq'. */
/* Define to 1 if `ifr_flags' is a member of `struct ifreq'. */
#undef HAVE_STRUCT_IFREQ_IFR_FLAGS
/* Define to 1 if `ifr_hwaddr' is member of `struct ifreq'. */
/* Define to 1 if `ifr_hwaddr' is a member of `struct ifreq'. */
#undef HAVE_STRUCT_IFREQ_IFR_HWADDR
/* Define to 1 if `ifr_netmask' is member of `struct ifreq'. */
/* Define to 1 if `ifr_netmask' is a member of `struct ifreq'. */
#undef HAVE_STRUCT_IFREQ_IFR_NETMASK
/* Define to 1 if `n_un.n_name' is member of `struct nlist'. */
/* Define to 1 if `n_un.n_name' is a member of `struct nlist'. */
#undef HAVE_STRUCT_NLIST_N_UN_N_NAME
/* Define to 1 if `tm_zone' is member of `struct tm'. */
/* Define to 1 if `tm_zone' is a member of `struct tm'. */
#undef HAVE_STRUCT_TM_TM_ZONE
/* Define to 1 if `struct utimbuf' is declared by <utime.h>. */
@ -860,6 +860,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
@ -919,6 +922,28 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if using the Motif X toolkit. */
#undef USE_MOTIF
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Define to 1 if we should use toolkit scroll bars. */
#undef USE_TOOLKIT_SCROLL_BARS
@ -954,28 +979,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Define to rpl_ if the getopt replacement functions and variables should be
used. */
#undef __GETOPT_PREFIX

View file

@ -3122,7 +3122,8 @@ enum resource_types
RES_TYPE_FLOAT,
RES_TYPE_BOOLEAN,
RES_TYPE_STRING,
RES_TYPE_SYMBOL
RES_TYPE_SYMBOL,
RES_TYPE_BOOLEAN_NUMBER
};
extern Lisp_Object x_get_arg P_ ((Display_Info *, Lisp_Object,

View file

@ -4005,6 +4005,13 @@ x_get_arg (dpyinfo, alist, param, attribute, class, type)
case RES_TYPE_NUMBER:
return make_number (atoi (SDATA (tem)));
case RES_TYPE_BOOLEAN_NUMBER:
if (!strcmp (SDATA (tem), "on")
|| !strcmp (SDATA (tem), "true"))
return make_number (1);
return make_number (atoi (SDATA (tem)));
break;
case RES_TYPE_FLOAT:
return make_float (atof (SDATA (tem)));

View file

@ -3347,7 +3347,9 @@ This function is an internal primitive--use `make-frame' instead. */)
#ifdef USE_LUCID
/* Prevent lwlib/xlwmenu.c from crashing because of a bug
whereby it fails to get any font. */
BLOCK_INPUT;
xlwmenu_default_font = XLoadQueryFont (FRAME_X_DISPLAY (f), "fixed");
UNBLOCK_INPUT;
#endif
/* Frame contents get displaced if an embedded X window has a border. */
@ -3421,7 +3423,7 @@ This function is an internal primitive--use `make-frame' instead. */)
init_frame_faces (f);
x_default_parameter (f, parms, Qmenu_bar_lines, make_number (1),
"menuBar", "MenuBar", RES_TYPE_NUMBER);
"menuBar", "MenuBar", RES_TYPE_BOOLEAN_NUMBER);
x_default_parameter (f, parms, Qtool_bar_lines, make_number (1),
"toolBar", "ToolBar", RES_TYPE_NUMBER);
x_default_parameter (f, parms, Qbuffer_predicate, Qnil,

View file

@ -1,23 +1,23 @@
/** testjavacomp.java ---
*
* Copyright (C) 2009 Eric M. Ludlam
* Copyright (C) 2009, 2010 Free Software Foundation, Inc.
*
* Author: Eric M. Ludlam <eric@siege-engine.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* This file is part of GNU Emacs.
*
* GNU Emacs is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GNU Emacs is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
* along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
*/
package tests.testjavacomp;

View file

@ -1,23 +1,23 @@
/** testpolymorph.cpp --- A sequence of polymorphism examples.
*
* Copyright (C) 2009 Eric M. Ludlam
* Copyright (C) 2009, 2010 Free Software Foundation, Inc.
*
* Author: Eric M. Ludlam <eric@siege-engine.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2, or (at
* your option) any later version.
* This file is part of GNU Emacs.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
* GNU Emacs is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GNU Emacs is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
* along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
*/
#include <cmath>