Merge from emacs-23

This commit is contained in:
Stefan Monnier 2010-05-08 14:47:07 -04:00
commit 0235128c15
68 changed files with 1155 additions and 419 deletions

View file

@ -1,9 +1,21 @@
2010-05-08 Štěpán Němec <stepnem@gmail.com> (tiny change)
* INSTALL: Fix typos.
2010-05-08 Chong Yidong <cyd@stupidchicken.com>
* configure.in: Add check for buggy version of GCC (Bug#6031).
2010-05-08 Glenn Morris <rgm@gnu.org>
* configure.in (HAVE_LIBNCURSES): New local variable.
(TERMINFO, LIBS_TERMCAP, TERMCAP_OBJ): New output variables,
replacing cpp in src/s/*.h and src/Makefile.in.
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
* configure.in: Add tests for `isnan' and `copysign'.

View file

@ -408,7 +408,7 @@ to look in `/bar/mylib' for libraries, pass the -O3 optimization
switch to the compiler, and link against libfoo.a and libbar.a
libraries in addition to the standard ones.
For some libraries, like Gtk+, fontconfig and ALSA, `configure' use
For some libraries, like Gtk+, fontconfig and ALSA, `configure' uses
pkg-config to find where those libraries are installed.
If you want pkg-config to look in special directories, you have to set
the environment variable PKG_CONFIG_PATH to point to the directories
@ -466,7 +466,7 @@ site-load.el for additional libraries if you arrange for their
documentation strings to be in the etc/DOC file (see
src/Makefile.in if you wish to figure out how to do that). For all
else, use site-init.el. Do not load byte-compiled code which
was build with a non-nil value of `byte-compile-dynamic'.
was built with a non-nil value of `byte-compile-dynamic'.
If you set load-path to a different value in site-init.el or
site-load.el, Emacs will use *precisely* that value when it starts up
@ -491,7 +491,7 @@ named `src/emacs'. You can execute this file "in place" without
copying it, if you wish; then it automatically uses the sibling
directories ../lisp, ../lib-src, ../info.
Or you can "install" the executable and the other Emacs into their
Or you can "install" the executable and the other files into their
installed locations, with `make install'. By default, Emacs's files
are installed in the following directories:

View file

@ -1,3 +1,7 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-04-01 Eli Zaretskii <eliz@gnu.org>
* CPP-DEFINES (__DJGPP__, __GO32__): Remove, no longer used.

10
configure vendored
View file

@ -26209,6 +26209,16 @@ fi
CFLAGS="$REAL_CFLAGS"
CPPFLAGS="$REAL_CPPFLAGS"
## Hack to detect a buggy GCC version.
if test "x$GCC" = xyes \
&& test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \
&& test x"`echo $CFLAGS | grep '\-O[23]'`" != x \
&& test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then
{ { $as_echo "$as_me:$LINENO: error: GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." >&5
$as_echo "$as_me: error: GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." >&2;}
{ (exit 1); exit 1; }; }
fi
#### Find out which version of Emacs this is.
version=`grep 'defconst[ ]*emacs-version' ${srcdir}/lisp/version.el \
| sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`

View file

@ -2923,6 +2923,14 @@ dnl Fixme: Use AC_FUNC_MEMCMP since memcmp is used. (Needs libobj replacement.)
CFLAGS="$REAL_CFLAGS"
CPPFLAGS="$REAL_CPPFLAGS"
## Hack to detect a buggy GCC version.
if test "x$GCC" = xyes \
&& test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \
&& test x"`echo $CFLAGS | grep '\-O@<:@23@:>@'`" != x \
&& test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then
AC_MSG_ERROR([GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'.])
fi
#### Find out which version of Emacs this is.
[version=`grep 'defconst[ ]*emacs-version' ${srcdir}/lisp/version.el \
| sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`]

View file

@ -1,3 +1,28 @@
2010-05-08 Chong Yidong <cyd@stupidchicken.com>
* building.texi (GDB Graphical Interface): Remove misleading comparison
to an IDE (Bug#6128).
2010-05-08 Štěpán Němec <stepnem@gmail.com> (tiny change)
* programs.texi (Man Page):
* misc.texi (Invoking emacsclient):
* mini.texi (Repetition):
* mark.texi (Setting Mark): Fix typos.
2010-05-08 Chong Yidong <cyd@stupidchicken.com>
* misc.texi (Printing): Document htmlfontify-buffer.
2010-05-08 Glenn Morris <rgm@gnu.org>
* calendar.texi (Displaying the Diary, Format of Diary File):
Fix external cross-references for TeX format output.
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-02 Jan Djärv <jan.h.d@swipnet.se>
* cmdargs.texi (Initial Options): Mention --chdir.

View file

@ -836,12 +836,11 @@ Fully qualified class name derived from the expression surrounding point
@subsection GDB Graphical Interface
The command @code{gdb} starts GDB in a graphical interface, using
Emacs windows for display program state information. In effect, this
makes Emacs into an IDE (interactive development environment). With
it, you do not need to use textual GDB commands; you can control the
debugging session with the mouse. For example, you can click in the
fringe of a source buffer to set a breakpoint there, or on a stack
frame in the stack buffer to select that frame.
Emacs windows for display program state information. With it, you do
not need to use textual GDB commands; you can control the debugging
session with the mouse. For example, you can click in the fringe of a
source buffer to set a breakpoint there, or on a stack frame in the
stack buffer to select that frame.
This mode requires telling GDB that its ``screen size'' is
unlimited, so it sets the height and width accordingly. For correct

View file

@ -1082,7 +1082,7 @@ of the new window shows the date of the diary entries. Holidays are
shown either in the buffer or in the mode line, depending on the display
method you choose
@iftex
(@pxref{Diary Display,, emacs-xtra}).
(@pxref{Diary Display,,, emacs-xtra, Specialized Emacs Features}).
@end iftex
@ifnottex
(@pxref{Diary Display}).
@ -1186,7 +1186,7 @@ punctuation). For example:
This entry will have a different appearance if you use the simple diary
display
@iftex
(@pxref{Diary Display,, emacs-xtra}).
(@pxref{Diary Display,,, emacs-xtra, Specialized Emacs Features}).
@end iftex
@ifnottex
(@pxref{Diary Display}).

View file

@ -80,7 +80,7 @@ Set the mark at point if the mark is inactive, then move point.
character in @acronym{ASCII}; usually, typing @kbd{C-@key{SPC}} on a
text terminal gives the character @kbd{C-@@}. This key is also bound
to @code{set-mark-command}, so unless you are unlucky enough to have
an text terminal that behaves differently, you might as well think of
a text terminal that behaves differently, you might as well think of
@kbd{C-@@} as @kbd{C-@key{SPC}}.}. This sets the mark where point is,
and activates it. You can then move point away, leaving the mark
behind.

View file

@ -601,7 +601,7 @@ repetition. If you type just @key{RET}, that repeats the command
unchanged. You can also change the command by editing the Lisp
expression before you execute it. The repeated command is added to
the front of the command history unless it is identical to the most
recently item.
recent item.
Once inside the minibuffer for @kbd{C-x @key{ESC} @key{ESC}}, you can
use the minibuffer history commands (@kbd{M-p}, @kbd{M-n}, @kbd{M-r},

View file

@ -1528,7 +1528,7 @@ still use Emacs to edit the file.
@kbd{C-x #} (@code{server-edit}) in its buffer. This saves the file
and sends a message back to the @command{emacsclient} program, telling
it to exit. Programs that use @env{EDITOR} usually wait for the
``editor''---in the case @command{emacsclient}---to exit before doing
``editor''---in this case @command{emacsclient}---to exit before doing
something else.
You can also call @command{emacsclient} with multiple file name
@ -1701,8 +1701,14 @@ process, type @kbd{M-x kill-emacs}.
Emacs provides commands for printing hard copies of either an entire
buffer or just part of one, with or without page headers. You can
invoke the printing commands directly, as detailed in the following
section, or using the @samp{File} menu on the menu bar. See also the
hardcopy commands of Dired (@pxref{Misc File Ops}) and the diary
section, or using the @samp{File} menu on the menu bar.
@findex htmlfontify-buffer
Aside from the commands described in this section, you can also
``print'' an Emacs buffer to HTML with @kbd{M-x htmlfontify-buffer}.
This command converts the current buffer to a HTML file, replacing
Emacs faces with CSS-based markup. In addition, see the hardcopy
commands of Dired (@pxref{Misc File Ops}) and the diary
(@pxref{Displaying the Diary}).
@table @kbd

View file

@ -1202,7 +1202,7 @@ completion based on the list of manual pages that are installed on
your machine; the list of available manual pages is computed
automatically the first time you invoke @code{woman}. The word at
point in the current buffer is used to suggest the default for the
name the manual page.
name of the manual page.
With a numeric argument, @kbd{M-x woman} recomputes the list of the
manual pages used for completion. This is useful if you add or delete

View file

@ -1,3 +1,7 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-03-10 Chong Yidong <cyd@stupidchicken.com>
* Branch for 23.2.
@ -13,8 +17,7 @@
2009-12-09 David Robinow <drobinow@gmail.com> (tiny change)
* makefile.w32-in: Use parenthesis for macros for nmake
compatibility.
* makefile.w32-in: Use parenthesis for macros for nmake compatibility.
2009-12-03 Glenn Morris <rgm@gnu.org>
@ -72,7 +75,7 @@
2009-02-22 Karl Berry <karl@gnu.org>
* emacs-lisp-intro.texi (Default Configuration): fix dup word "by by".
* emacs-lisp-intro.texi (Default Configuration): Fix dup word "by by".
2009-02-20 Juanma Barranquero <lekktu@gmail.com>

View file

@ -1,8 +1,37 @@
2010-05-08 Štěpán Němec <stepnem@gmail.com> (tiny change)
* windows.texi (Textual Scrolling):
* tips.texi (Coding Conventions):
* minibuf.texi (Minibuffer History):
* maps.texi (Standard Keymaps):
* loading.texi (Where Defined):
* edebug.texi (Instrumenting): Fix typos.
2010-05-08 Chong Yidong <cyd@stupidchicken.com>
* keymaps.texi (Menu Bar): Document :advertised-binding property.
* functions.texi (Obsolete Functions):
Document set-advertised-calling-convention.
* minibuf.texi (Basic Completion): Document completion-in-region.
(Programmed Completion): Document completion-annotate-function.
* commands.texi (Reading One Event): Document read-key.
(Distinguish Interactive): Document KIND arg to
called-interactively-p. Delete obsolete interactive-p.
* elisp.texi (Top): Update node description.
2010-05-08 Eli Zaretskii <eliz@gnu.org>
* nonascii.texi (Character Properties): Document
unicode-category-table. Add an index entry for Unicode general
category.
* nonascii.texi (Character Properties):
Document unicode-category-table. Add an index entry for Unicode
general category.
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-04-20 Juanma Barranquero <lekktu@gmail.com>

View file

@ -696,71 +696,67 @@ message when called from a keyboard macro.
because it allows callers to say ``treat this call as interactive.''
But you can also do the job by testing @code{called-interactively-p}.
@defun called-interactively-p
@defun called-interactively-p kind
This function returns @code{t} when the calling function was called
using @code{call-interactively}.
If the containing function was called by Lisp evaluation (or with
@code{apply} or @code{funcall}), then it was not called interactively.
The argument @var{kind} should be either the symbol @code{interactive}
or the symbol @code{any}. If it is @code{interactive}, then
@code{called-interactively-p} returns @code{t} only if the call was
made directly by the user---e.g., if the user typed a key sequence
bound to the calling function, but @emph{not} if the user ran a
keyboard macro that called the function (@pxref{Keyboard Macros}). If
@var{kind} is @code{any}, @code{called-interactively-p} returns
@code{t} for any kind of interactive call, including keyboard macros.
If in doubt, use @code{any}; the only known proper use of
@code{interactive} is if you need to decide whether to display a
helpful message while a function is running.
A function is never considered to be called interactively if it was
called via Lisp evaluation (or with @code{apply} or @code{funcall}).
@end defun
Here's an example of using @code{called-interactively-p}:
@noindent
Here is an example of using @code{called-interactively-p}:
@example
@group
(defun foo ()
(interactive)
(when (called-interactively-p)
(message "foo"))
'haha)
@result{} foo
(when (called-interactively-p 'any)
(message "Interactive!")
'foo-called-interactively))
@end group
@group
;; @r{Type @kbd{M-x foo}.}
@print{} foo
@print{} Interactive!
@end group
@group
(foo)
@result{} haha
@result{} nil
@end group
@end example
Here is another example that contrasts direct and indirect
calls to @code{called-interactively-p}.
@noindent
Here is another example that contrasts direct and indirect calls to
@code{called-interactively-p}.
@example
@group
(defun bar ()
(interactive)
(setq foobar (list (foo) (called-interactively-p))))
@result{} bar
(message "%s" (list (foo) (called-interactively-p 'any))))
@end group
@group
;; @r{Type @kbd{M-x bar}.}
;; @r{This does not display a message.}
@end group
@group
foobar
@result{} (nil t)
@print{} (nil t)
@end group
@end example
If you want to treat commands run in keyboard macros just like calls
from Lisp programs, test @code{interactive-p} instead of
@code{called-interactively-p}.
@defun interactive-p
This function returns @code{t} if the containing function (the one
whose code includes the call to @code{interactive-p}) was called in
direct response to user input. This means that it was called with the
function @code{call-interactively}, and that a keyboard macro is
not running, and that Emacs is not running in batch mode.
@end defun
@node Command Loop Info
@comment node-name, next, previous, up
@section Information from the Command Loop
@ -2309,10 +2305,8 @@ and key sequences read from keyboard macros being executed.
@cindex reading a single event
@cindex event, reading only one
The lowest level functions for command input are those that read a
single event.
None of the three functions below suppresses quitting.
The lowest level functions for command input are @code{read-event},
@code{read-char}, and @code{read-char-exclusive}.
@defun read-event &optional prompt inherit-input-method seconds
This function reads and returns the next event of command input, waiting
@ -2409,11 +2403,31 @@ user generates an event which is not a character,
gets a character. The arguments work as in @code{read-event}.
@end defun
None of the above functions suppress quitting.
@defvar num-nonmacro-input-events
This variable holds the total number of input events received so far
from the terminal---not counting those generated by keyboard macros.
@end defvar
We emphasize that, unlike @code{read-key-sequence}, the functions
@code{read-event}, @code{read-char}, and @code{read-char-exclusive} do
not perform the translations described in @ref{Translation Keymaps}.
If you wish to read a single key taking these translations into
account, use the function @code{read-key}:
@defun read-key &optional prompt
This function reads a single key. It is ``intermediate'' between
@code{read-key-sequence} and @code{read-event}. Unlike the former, it
reads a single key, not a key sequence. Unlike the latter, it does
not return a raw event, but decodes and translates the user input
according to @code{input-decode-map}, @code{local-function-key-map},
and @code{key-translation-map} (@pxref{Translation Keymaps}).
The argument @var{prompt} is either a string to be displayed in the
echo area as a prompt, or @code{nil}, meaning not to display a prompt.
@end defun
@node Event Mod
@subsection Modifying and Translating Input Events

View file

@ -186,7 +186,7 @@ instrument any top-level form regardless of the values of
While Edebug is active, the command @kbd{I}
(@code{edebug-instrument-callee}) instruments the definition of the
function or macro called by the list form after point, if is not already
function or macro called by the list form after point, if it is not already
instrumented. This is possible only if Edebug knows where to find the
source for that function; for this reason, after loading Edebug,
@code{eval-region} records the position of every definition it

View file

@ -649,7 +649,6 @@ Minibuffers
Completion
* Basic Completion:: Low-level functions for completing strings.
(These are too low level to use the minibuffer.)
* Minibuffer Completion:: Invoking the minibuffer with completion.
* Completion Commands:: Minibuffer commands that do completion.
* High-Level Completion:: Convenient special cases of completion

View file

@ -1197,7 +1197,7 @@ was first made obsolete---for example, a date or a release number.
@end defun
You can define a function as an alias and declare it obsolete at the
same time using the macro @code{define-obsolete-function-alias}.
same time using the macro @code{define-obsolete-function-alias}:
@defmac define-obsolete-function-alias obsolete-name current-name &optional when docstring
This macro marks the function @var{obsolete-name} obsolete and also
@ -1210,6 +1210,33 @@ equivalent to the following:
@end example
@end defmac
In addition, you can mark a certain a particular calling convention
for a function as obsolete:
@defun set-advertised-calling-convention function signature
This function specifies the argument list @var{signature} as the
correct way to call @var{function}. This causes the Emacs byte
compiler to issue a warning whenever it comes across an Emacs Lisp
program that calls @var{function} any other way (however, it will
still allow the code to be byte compiled).
For instance, in old versions of Emacs the @code{sit-for} function
accepted three arguments, like this
@smallexample
(sit-for seconds milliseconds nodisp)
@end smallexample
However, calling @code{sit-for} this way is considered obsolete
(@pxref{Waiting}). The old calling convention is deprecated like
this:
@smallexample
(set-advertised-calling-convention
'sit-for '(seconds &optional nodisp))
@end smallexample
@end defun
@node Inline Functions
@section Inline Functions
@cindex inline functions

View file

@ -2470,9 +2470,13 @@ can do it this way:
@cindex menu bar
Most window systems allow each frame to have a @dfn{menu bar}---a
permanently displayed menu stretching horizontally across the top of the
frame. The items of the menu bar are the subcommands of the fake
``function key'' @code{menu-bar}, as defined in the active keymaps.
permanently displayed menu stretching horizontally across the top of
the frame. (In order for a frame to display a menu bar, its
@code{menu-bar-lines} parameter must be greater than zero.
@xref{Layout Parameters}.)
The items of the menu bar are the subcommands of the fake ``function
key'' @code{menu-bar}, as defined in the active keymaps.
To add an item to the menu bar, invent a fake ``function key'' of your
own (let's call it @var{key}), and make a binding for the key sequence
@ -2490,13 +2494,6 @@ determining the menu bar contents. That is, the menu bar is computed
from the keymaps that would be active if @code{overriding-local-map}
were @code{nil}. @xref{Active Keymaps}.
In order for a frame to display a menu bar, its @code{menu-bar-lines}
parameter must be greater than zero. Emacs uses just one line for the
menu bar itself; if you specify more than one line, the other lines
serve to separate the menu bar from the windows in the frame. We
recommend 1 or 2 as the value of @code{menu-bar-lines}. @xref{Layout
Parameters}.
Here's an example of setting up a menu bar item:
@example
@ -2535,8 +2532,8 @@ bar item:
@end example
@noindent
@code{edit} is the fake function key used by the global map for the
@samp{Edit} menu bar item. The main reason to suppress a global
Here, @code{edit} is the fake function key used by the global map for
the @samp{Edit} menu bar item. The main reason to suppress a global
menu bar item is to regain space for mode-specific items.
@defvar menu-bar-final-items
@ -2557,6 +2554,23 @@ advise you to ensure that the functions it calls do not take much time
in the usual case.
@end defvar
Next to every menu bar item, Emacs displays a key binding that runs
the same command (if such a key binding exists). This serves as a
convenient hint for users who do not know the key binding. If a
command has multiple bindings, Emacs normally displays the first one
it finds. You can specify one particular key binding by assigning an
@code{:advertised-binding} symbol property to the command. For
instance, the following tells Emacs to show @kbd{C-/} for the
@code{undo} menu item:
@smallexample
(put 'undo :advertised-binding [?\C-/])
@end smallexample
@noindent
If the @code{:advertised-binding} property specifies a key binding
that the command does not actually have, it is ignored.
@node Tool Bar
@subsection Tool bars
@cindex tool bar

View file

@ -823,7 +823,7 @@ without extension.
@code{load-history}.
@defvar load-history
This value of this variable is an alist that associates the names of
The value of this variable is an alist that associates the names of
loaded library files with the names of the functions and variables
they defined, as well as the features they provided or required.

View file

@ -85,6 +85,9 @@ Minor mode variables will not be listed here.
@item case-fold-search
@xref{Searching and Case}.
@item comment-column
@xref{Comments,,, emacs, The GNU Emacs Manual}.
@item ctl-arrow
@xref{Usual Display}.
@ -94,9 +97,6 @@ Minor mode variables will not be listed here.
@item cursor-type
@xref{Cursor Parameters}.
@item comment-column
@xref{Comments,,, emacs, The GNU Emacs Manual}.
@item default-directory
@xref{File Name Expansion}.

View file

@ -163,7 +163,7 @@ search.
@item key-translation-map
A keymap for translating keys. This one overrides ordinary key
bindings, unlike @code{local- function-key-map}. @xref{Translation
bindings, unlike @code{local-function-key-map}. @xref{Translation
Keymaps}.
@item kmacro-map

View file

@ -511,7 +511,7 @@ set to a non-@code{nil} value.
@defopt history-length
The value of this variable specifies the maximum length for all
history lists that don't specify their own maximum lengths. If the
value is @code{t}, that means there no maximum (don't delete old
value is @code{t}, that means there is no maximum (don't delete old
elements). The value of @code{history-length} property of the history
list variable's symbol, if set, overrides this variable for that
particular history list.
@ -626,7 +626,6 @@ for reading certain kinds of names with completion.
@menu
* Basic Completion:: Low-level functions for completing strings.
(These are too low level to use the minibuffer.)
* Minibuffer Completion:: Invoking the minibuffer with completion.
* Completion Commands:: Minibuffer commands that do completion.
* High-Level Completion:: Convenient special cases of completion
@ -640,31 +639,23 @@ for reading certain kinds of names with completion.
@node Basic Completion
@subsection Basic Completion Functions
The completion functions @code{try-completion},
@code{all-completions} and @code{test-completion} have nothing in
themselves to do with minibuffers. We describe them in this chapter
so as to keep them near the higher-level completion features that do
use the minibuffer.
If you store a completion alist in a variable, you should mark the
variable as ``risky'' with a non-@code{nil}
@code{risky-local-variable} property.
The following completion functions have nothing in themselves to do
with minibuffers. We describe them here to keep them near the
higher-level completion features that do use the minibuffer.
@defun try-completion string collection &optional predicate
This function returns the longest common substring of all possible
completions of @var{string} in @var{collection}. The value of
@var{collection} must be a list of strings or symbols, an alist, an
obarray, a hash table, or a function that implements a virtual set of
strings (see below).
obarray, a hash table, or a completion function (@pxref{Programmed
Completion}).
Completion compares @var{string} against each of the permissible
completions specified by @var{collection}; if the beginning of the
permissible completion equals @var{string}, it matches. If no permissible
completions match, @code{try-completion} returns @code{nil}. If only
one permissible completion matches, and the match is exact, then
@code{try-completion} returns @code{t}. Otherwise, the value is the
longest initial sequence common to all the permissible completions that
match.
completions specified by @var{collection}. If no permissible
completions match, @code{try-completion} returns @code{nil}. If there
is just one matching completion, and the match is exact, it returns
@code{t}. Otherwise, it returns the longest initial sequence common
to all possible matching completions.
If @var{collection} is an alist (@pxref{Association Lists}), the
permissible completions are the elements of the alist that are either
@ -688,13 +679,13 @@ Also, you cannot intern a given symbol in more than one obarray.
If @var{collection} is a hash table, then the keys that are strings
are the possible completions. Other keys are ignored.
You can also use a symbol that is a function as @var{collection}. Then
the function is solely responsible for performing completion;
You can also use a symbol that is a function as @var{collection}.
Then the function is solely responsible for performing completion;
@code{try-completion} returns whatever this function returns. The
function is called with three arguments: @var{string}, @var{predicate}
and @code{nil}. (The reason for the third argument is so that the same
and @code{nil} (the reason for the third argument is so that the same
function can be used in @code{all-completions} and do the appropriate
thing in either case.) @xref{Programmed Completion}.
thing in either case). @xref{Programmed Completion}.
If the argument @var{predicate} is non-@code{nil}, then it must be a
function of one argument, unless @var{collection} is a hash table, in
@ -823,6 +814,10 @@ the values @var{string}, @var{predicate} and @code{lambda}; whatever
it returns, @code{test-completion} returns in turn.
@end defun
If you store a completion alist in a variable, you should mark the
variable as ``risky'' with a non-@code{nil}
@code{risky-local-variable} property. @xref{File Local Variables}.
@defvar completion-ignore-case
If the value of this variable is non-@code{nil}, Emacs does not
consider case significant in completion. Note, however, that this
@ -855,6 +850,23 @@ Here is an example of use:
@end smallexample
@end defmac
The function @code{completion-in-region} provides a convenient way to
perform completion on an arbitrary stretch of text in an Emacs buffer:
@defun completion-in-region start end collection &optional predicate
This function completes the text in the current buffer between the
positions @var{start} and @var{end}, using @var{collection}. The
argument @var{collection} has the same meaning as in
@code{try-completion} (@pxref{Basic Completion}).
This function inserts the completion text directly into the current
buffer. Unlike @code{completing-read} (@pxref{Minibuffer
Completion}), it does not activate the minibuffer.
For this function to work, point must be somewhere between @var{start}
and @var{end}.
@end defun
@node Minibuffer Completion
@subsection Completion and the Minibuffer
@cindex minibuffer completion
@ -869,12 +881,12 @@ providing completion. It activates the minibuffer with prompt
@var{prompt}, which must be a string.
The actual completion is done by passing @var{collection} and
@var{predicate} to the function @code{try-completion}. This happens
in certain commands bound in the local keymaps used for completion.
Some of these commands also call @code{test-completion}. Thus, if
@var{predicate} is non-@code{nil}, it should be compatible with
@var{collection} and @code{completion-ignore-case}. @xref{Definition
of test-completion}.
@var{predicate} to the function @code{try-completion} (@pxref{Basic
Completion}). This happens in certain commands bound in the local
keymaps used for completion. Some of these commands also call
@code{test-completion}. Thus, if @var{predicate} is non-@code{nil},
it should be compatible with @var{collection} and
@code{completion-ignore-case}. @xref{Definition of test-completion}.
The value of the optional argument @var{require-match} determines how
the user may exit the minibuffer:
@ -1603,8 +1615,10 @@ which performs completion according to the rules used in Emacs 21; and
Sometimes it is not possible to create an alist or an obarray
containing all the intended possible completions. In such a case, you
can supply your own function to compute the completion of a given string.
This is called @dfn{programmed completion}.
can supply your own function to compute the completion of a given
string. This is called @dfn{programmed completion}. Emacs uses
programmed completion when completing file names (@pxref{File Name
Completion}).
To use this feature, pass a symbol with a function definition as the
@var{collection} argument to @code{completing-read}. The function
@ -1659,9 +1673,6 @@ unreliable to treat one differently just because it is also a possible
function. So you must arrange for any function you wish to use for
completion to be encapsulated in a symbol.
Emacs uses programmed completion when completing file names.
@xref{File Name Completion}.
@defun completion-table-dynamic function
This function is a convenient way to write a function that can act as
programmed completion function. The argument @var{function} should be
@ -1671,6 +1682,19 @@ possible completions of it. You can think of
and the interface for programmed completion functions.
@end defun
@defvar completion-annotate-function
The value of this variable, if non-@code{nil}, should be a function
for ``annotating'' the entries in the @samp{*Completions*} buffer.
The function should accept a single argument, the completion string
for an entry. It should return an additional string to display next
to that entry in the @samp{*Completions*} buffer, or @code{nil} if no
additional string is to be displayed.
The function can determine the collection used for the current
completion via the variable @code{minibuffer-completion-table}
(@pxref{Completion Commands}).
@end defvar
@node Yes-or-No Queries
@section Yes-or-No Queries
@cindex asking the user questions

View file

@ -90,7 +90,7 @@ Put a call to @code{provide} at the end of each separate Lisp file.
If a file requires certain other Lisp programs to be loaded
beforehand, then the comments at the beginning of the file should say
so. Also, use @code{require} to make sure they are loaded.
x@xref{Named Features}.
@xref{Named Features}.
@item
If a file @var{foo} uses a macro defined in another file @var{bar},

View file

@ -1661,8 +1661,8 @@ point should be placed from the bottom of the window; thus, as with
@end defopt
@defopt scroll-step
This variable is an older variant of @code{scroll-conservatively}. The
difference is that it if its value is @var{n}, that permits scrolling
This variable is an older variant of @code{scroll-conservatively}.
The difference is that if its value is @var{n}, that permits scrolling
only by precisely @var{n} lines, not a smaller number. This feature
does not work with @code{scroll-margin}. The default value is zero.
@end defopt

View file

@ -1,11 +1,15 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-03-10 Chong Yidong <cyd@stupidchicken.com>
* Branch for 23.2.
2010-01-09 Chong Yidong <cyd@stupidchicken.com>
* emacs.1: Copyedits. Update options -Q, -mm and --daemon. Remove
deprecated --unibyte option.
* emacs.1: Copyedits. Update options -Q, -mm and --daemon.
Remove deprecated --unibyte option.
2009-06-21 Chong Yidong <cyd@stupidchicken.com>

View file

@ -1,11 +1,28 @@
2010-05-08 Štěpán Němec <stepnem@gmail.com> (tiny change)
* url.texi (HTTP language/coding, Customization):
* message.texi (Header Commands, Responses):
* cl.texi (Argument Lists): Fix typos.
2010-05-08 Chong Yidong <cyd@stupidchicken.com>
* ede.texi (EDE Mode): Refer to init file rather than `.emacs'.
Note that Development menu is always available.
(Creating a project): Fix terminology.
(Add/Remove files): Fix typo.
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-01 Daniel E. Doherty <ddoherty03@gmail.com> (tiny change)
* calc.texi (Tutorial): Use "^{\prime}" to indicate primes.
2010-05-01 Michael Albinus <michael.albinus@gmx.de>
* tramp.texi (Inline methods, Default Method): Mention
`tramp-inline-compress-start-size'.
* tramp.texi (Inline methods, Default Method):
Mention `tramp-inline-compress-start-size'.
2010-04-18 Teodor Zlatanov <tzz@lifelogs.com>

View file

@ -356,7 +356,7 @@ is defined is automatically proclaimed @code{inline}, i.e.,
calls to it may be expanded into in-line code by the byte compiler.
This is analogous to the @code{defsubst} form;
@code{defsubst*} uses a different method (compiler macros) which
works in all version of Emacs, and also generates somewhat more
works in all versions of Emacs, and also generates somewhat more
efficient inline expansions. In particular, @code{defsubst*}
arranges for the processing of keyword arguments, default values,
etc., to be done at compile-time whenever possible.

View file

@ -129,27 +129,26 @@ information.
@node EDE Mode, Creating a project, EDE Project Concepts, top
@chapter @ede{} Mode
@ede{} is implemented as a minor-mode, which augments other modes such
@ede{} is implemented as a minor mode, which augments other modes such
as C mode, and Texinfo mode. You can enable @ede{} for all buffers by
running the command @code{global-ede-mode}, or by putting this in your
@file{~/.emacs} file:
init file:
@example
(global-ede-mode t)
@end example
When @ede{} is active for a given buffer, the menu item
``Development'' appears. This menu provides several menu items for
high-level @ede{} commands. These menu items, and their corresponding
keybindings, are independent of the type of project you are actually
working on.
Activating @ede{} adds a menu named @samp{Development} to the menu
bar. This menu provides several menu items for high-level @ede{}
commands. These menu items, and their corresponding keybindings, are
independent of the type of project you are actually working on.
@node Creating a project, Modifying your project, EDE Mode, top
@chapter Creating a project
To create a new project, first visit a file that you want to include
in that project. If you have a hierarchy of directories, choose a
file in the topmost directory first. From this buffer, type @kbd{M-x
in that project. If you have a hierarchy of directories, first visit
a file in the topmost directory. From this buffer, type @kbd{M-x
ede-new}, or click on the @samp{Create Project} item in the
@samp{Development} menu.
@ -220,8 +219,8 @@ detailed information about exactly what these features do.
@node Add/Remove target, Add/Remove files, Modifying your project, Modifying your project
@section Add/Remove target
To create a new target, type @kbd{C-c . t} (@code{M-x ede-new-target})
or use the @samp{Add Target} menu item in the @samp{Project Options}
To create a new target, type @kbd{C-c . t} (@code{ede-new-target}) or
use the @samp{Add Target} menu item in the @samp{Project Options}
submenu. This prompts for a target name, and adds the current buffer
to that target.
@ -237,7 +236,7 @@ Options} submenu.
@section Add/Remove files
To add the current file to an existing target, type @kbd{C-c . a}
(@code{ede-add-file}), or or use the @samp{Add File} menu item in the
(@code{ede-add-file}), or use the @samp{Add File} menu item in the
@samp{Target Options} submenu.
You can add a file to more than one target; this is OK.

View file

@ -659,7 +659,7 @@ address from @code{To:} and @code{Cc:} headers.
@findex message-insert-disposition-notification-to
Insert a request for a disposition
notification. (@code{message-insert-disposition-notification-to}).
This means that if the recipient support RFC 2298 she might send you a
This means that if the recipient supports RFC 2298 she might send you a
notification that she received the message.
@item M-x message-insert-importance-high
@ -2387,7 +2387,7 @@ consulted, in turn:
@item wide reply
A @dfn{wide reply} is a mail response that includes @emph{all} entities
mentioned in the message you are responded to. All mailboxes from the
mentioned in the message you are responding to. All mailboxes from the
following headers will be concatenated to form the outgoing
@code{To}/@code{Cc} headers:

View file

@ -313,7 +313,7 @@ encoding of documents which servers may honor. For each of these
variables, the value is a string; it can specify a single choice, or
it can be a comma-separated list.
Normally this list ordered by descending preference. However, each
Normally, this list is ordered by descending preference. However, each
element can be followed by @samp{;q=@var{priority}} to specify its
preference level, a decimal number from 0 to 1; e.g., for
@code{url-mime-language-string}, @w{@code{"de, en-gb;q=0.8,
@ -1120,11 +1120,11 @@ general operation of the package.
@defopt url-debug
@cindex debugging
Specifies the types of debug messages the library which are logged to
Specifies the types of debug messages which are logged to
the @code{*URL-DEBUG*} buffer.
@code{t} means log all messages.
A number means log all messages and show them with @code{message}.
If may also be a list of the types of messages to be logged.
It may also be a list of the types of messages to be logged.
@end defopt
@defopt url-personal-mail-address
@end defopt

View file

@ -92,7 +92,7 @@ Alex Shinn: changed files.el
Alexander Becher: changed vc-annotate.el
Alexander Klimov: changed man.el
Alexander Klimov: changed calc-graph.el man.el
Alexander Kreuzer: changed nnrss.el
@ -167,9 +167,9 @@ Andreas Luik: changed xfns.c xterm.c
Andreas Politz: changed editfns.c elp.el ido.el term.el
Andreas Schwab: changed Makefile.in configure.in lisp.h xdisp.c files.el
coding.c alloc.c process.c print.c editfns.c fileio.c fns.c dired.el
coding.c alloc.c process.c fileio.c print.c editfns.c fns.c dired.el
xterm.c keyboard.c simple.el eval.c info.el buffer.c sysdep.c emacs.c
and 483 other files
and 485 other files
Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus.el
nnslashdot.el gnus-util.el mm-url.el mm-uu.el url-http.el xterm.c
@ -435,8 +435,8 @@ Chong Yidong: wrote redisplay-testsuite.el
and co-wrote longlines.el
and changed xdisp.c simple.el files.el display.texi frames.texi
files.texi emacs.texi keyboard.c cus-edit.el faces.el xterm.c
Makefile.in xfaces.c font.c startup.el xfns.c misc.texi image.c
compile.el custom.texi text.texi and 633 other files
Makefile.in misc.texi xfaces.c font.c startup.el xfns.c compile.el
image.c custom.texi configure.in and 635 other files
Chris Chase: co-wrote idlw-shell.el idlwave.el
@ -868,7 +868,7 @@ Eli Zaretskii: wrote rxvt.el tty-colors.el
and changed msdos.c makefile.w32-in Makefile.in files.el info.el rmail.el
fileio.c mainmake.v2 pc-win.el startup.el config.bat simple.el msdos.h
dired.c w32.c frame.c internal.el menu-bar.el process.c INSTALL
xfaces.c and 602 other files
xfaces.c and 603 other files
Elias Oltmanns: changed tls.el gnus-agent.el gnus-int.el gnus-srvr.el
gnus.el
@ -1002,7 +1002,7 @@ Flemming Hoejstrup Hansen: changed forms.el
Florian Weimer: changed message.el gnus.el coding.c gnus-sum.el gnus.texi
mm-decode.el mm-util.el
Francesc Rocher: changed startup.el MORE.STUFF cus-start.el gnus.el
Francesc Rocher: changed MORE.STUFF startup.el cus-start.el gnus.el
gnus.png gnus.svg macterm.c splash.png splash.svg splash8.xpm w32term.c
xdisp.c xterm.c
@ -1131,9 +1131,9 @@ Giuseppe Scrivano: changed buffer.c configure.in sysdep.c xsmfns.c
Glenn Morris: wrote check-declare.el
and changed Makefile.in calendar.el diary-lib.el rmail.el f90.el
cal-menu.el cal-hebrew.el fortran.el holidays.el configure.in
cal-islam.el bytecomp.el calendar.texi cal-bahai.el files.el appt.el
cal-china.el emacs.texi rmailsum.el simple.el startup.el
and 975 other files
cal-islam.el bytecomp.el calendar.texi cal-bahai.el emacs.texi files.el
appt.el cal-china.el rmailsum.el simple.el startup.el
and 976 other files
Glynn Clements: wrote gamegrid.el snake.el tetris.el
@ -1346,7 +1346,7 @@ Jan Djärv: wrote dnd.el font-setting.el x-dnd.el
and changed gtkutil.c xterm.c xfns.c configure.in xterm.h xmenu.c
x-win.el Makefile.in gtkutil.h keyboard.c frame.c frames.texi config.in
emacs.c xselect.c xresources.texi startup.el alloc.c cus-start.el
xlwmenu.c process.c and 203 other files
xlwmenu.c frame.h and 203 other files
Jan Moringen: co-wrote cpp.el
@ -1635,7 +1635,7 @@ and changed files.el perl-mode.el
Juanma Barranquero: changed makefile.w32-in subr.el files.el faces.el
bs.el help-fns.el w32fns.c org.el server.el simple.el emacsclient.c
desktop.el buffer.c mule-cmds.el ido.el window.c xdisp.c allout.el
keyboard.c replace.el eval.c and 930 other files
keyboard.c replace.el eval.c and 932 other files
Juergen Hoetzel: changed url-handlers.el
@ -1657,7 +1657,7 @@ Juri Linkov: wrote files-x.el misearch.el
and changed info.el isearch.el simple.el replace.el dired-aux.el
startup.el grep.el compile.el dired.el files.el faces.el display.texi
menu-bar.el descr-text.el cus-edit.el bindings.el man.el image-mode.el
ispell.el text.texi dired-x.el and 280 other files
ispell.el text.texi dired-x.el and 281 other files
Justin Bogner: changed fortune.el
@ -1770,7 +1770,7 @@ Kenichi Handa: wrote composite.el cyrillic.el isearch-x.el ps-bdf.el
and co-wrote ps-def.el ps-mule.el ps-print.el ps-samp.el quail.el
and changed coding.c mule-cmds.el mule.el fontset.c charset.c fontset.el
xdisp.c xterm.c font.c fileio.c Makefile.in mule-conf.el characters.el
fns.c mule-diag.el ccl.c charset.h ftfont.c xfaces.c coding.h
fns.c mule-diag.el ftfont.c ccl.c charset.h xfaces.c coding.h
japanese.el and 377 other files
Kenichi Okada: co-wrote sasl-cram.el sasl-digest.el
@ -1969,7 +1969,7 @@ Maciek Pasternacki: changed nnrss.el
Magnus Henoch: changed url-http.el ispell.el url.el dbusbind.c dns.el
url-gw.el url-parse.el url-proxy.el autoinsert.el cl.texi configure.in
cyrillic.el dbus.el gnus.texi hashcash.el log-edit.el message.el
org-latex.el org-table.el process.c rcirc.el and 7 other files
org-latex.el org-table.el process.c rcirc.el and 8 other files
Malcolm Purvis: changed spam-stat.el
@ -2432,7 +2432,7 @@ Oscar Figueiredo: wrote eudc-bob.el eudc-export.el eudc-hotlist.el
eudc-vars.el eudc.el eudcb-bbdb.el eudcb-ldap.el eudcb-ph.el ldap.el
and changed ph.el
Óscar Fuentes: changed emacsclient.c ido.el vc-bzr.el
Óscar Fuentes: changed ido.el emacsclient.c vc-bzr.el
P. E. Jareth Hein: changed gnus-util.el
@ -2951,7 +2951,9 @@ Stefan Wiens: changed gnus-sum.el
Steinar Bang: changed imap.el
Štěpán Němec: changed subr.el vc-git.el
Štěpán Němec: changed INSTALL cl.texi edebug.texi loading.texi maps.texi
mark.texi message.texi mini.texi minibuf.texi misc.texi programs.texi
subr.el tips.texi url.texi vc-git.el windows.texi
Stephan Stahl: changed which-func.el buff-menu.el buffer.c dired-x.texi
ediff-mult.el
@ -3080,7 +3082,7 @@ Teodor Zlatanov: wrote auth-source.el gnus-registry.el imap-hash.el
and changed spam.el gnus.el gnus-sum.el gnus.texi nnimap.el netrc.el
spam-stat.el gnus-start.el gnus-util.el nnmail.el encrypt.el message.el
gnus-encrypt.el mail-source.el assistant.el auth.texi imap.el
nnbabyl.el nnfolder.el nnmbox.el nnmh.el and 48 other files
nnbabyl.el nnfolder.el nnmbox.el nnmh.el and 51 other files
Terje Rosten: changed xfns.c version.el xterm.c xterm.h

View file

@ -1,3 +1,15 @@
2010-05-08 Chong Yidong <cyd@stupidchicken.com>
* PROBLEMS: Document gcc-4.5 bug (Bug#6031).
2010-05-08 Kenichi Handa <handa@m17n.org>
* HELLO: Adjust Burmese for Unicode 5.2 encoding.
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-07 Eli Zaretskii <eliz@gnu.org>
* HELLO: Reorder Arabic greetings into logical order (they were

View file

@ -7,7 +7,7 @@ Non-ASCII examples:
Middle/Near East: ,Hylem(B, ,GGdSqdGe(B ,GYdjce(B
South Asia: $,19h9n9x:-9d:'(B, $,15h5n5x6-5d6'(B, $,1?(?.?8?M>u?>?0(B, $,1@H@N@X@m@5@^@P@"(B, $,1;6;A;#;?;,;G(B,
$,1AFAzB4AvB=B AqB*(B, $,1<U<C<5<m<5<N<m(B, $,1=h=n=x>-=U=~=p=B(B, $(7"7"!#C!;"E"S"G!;"7"2"[!;"D"["#"G!>(B
South East Asia: $,1\'\f\:\V\4\?\]\:(B, (1JP:R-4U(B, $,1H9H$HYrmH"H<HLH5HL(B, ,TJGQJ4U$CQ:(B, Ch,1`(Bo b,1U(Bn
South East Asia: $,1\'\f\:\V\4\?\]\:(B, (1JP:R-4U(B, $,1H9H$HZHYH"H<HLH5HK(B, ,TJGQJ4U$CQ:(B, Ch,1`(Bo b,1U(Bn
East Asia: $ADc:C(B, $(0*/=((B, $B$3$s$K$A$O(B, $(C>H3gGO<<?d(B
Misc: E,C6(Bo,C~(Ban,Cx(Bo ,Cf(Biu,C<(Ba,C}(Bde, $,2(3(1('('(5(B, $,1x (B p $,1x((B world $,1s"(B hello p $,2!a(B
CJK variety: GB($AT*Fx(B,$A?*7"(B), BIG5($(0&x86(B,$(0DeBv(B), JIS($B855$(B,$B3+H/(B), KSC($(Cj*Q((B,$(CKR[!(B)
@ -19,7 +19,7 @@ Amharic ($,1O M[MmN{(B) $,1M`MKM](B
Arabic $,1ro(B(,GGdYQHjqI(B) ,GGdSqdGe(B ,GYdjce(B
Bengali ($,17,7>6b727>(B) $,17(7.787M6u7>70(B
Braille $,2(3(1('('(5(B
Burmese ($,1H9HYH;H4HYrlH9HL(B) $,1H9H$HYrmH"H<HLH5HL(B
Burmese ($,1H9H\H4HZH9HL(B) $,1H9H$HZHYH"H<HLH5HK(B
C printf ("Hello, world!\n");
Czech (,Bh(Be,B9(Btina) Dobr,A}(B den
Danish (dansk) Hej / Goddag / Hall,Ax(Bj

View file

@ -14,97 +14,80 @@ for changes in older Emacs versions.
You can narrow news to a specific version by calling `view-emacs-news'
with a prefix argument or by typing C-u C-h C-n.
Temporary note:
+++ indicates that the appropriate manual has already been updated.
--- means no change in the manuals is called for.
When you add a new item, please add it without either +++ or ---
so we will look at it and add it to the manual.
* Installation Changes in Emacs 23.2
---
** New configure options for Emacs developers
** New configure options for Emacs developers.
These are not new features; only the configure flags are new.
---
*** --enable-profiling builds Emacs with profiling enabled.
This might not work on all platforms.
---
*** --enable-checking[=OPTIONS] builds emacs with extra runtime checks.
---
** `make install' now consistently ignores umask, creating a
world-readable install.
+++
** Emacs compiles with Gconf support, if it is detected.
Use the configure option --without-gconf to disable this.
This is used by the `font-use-system-font' feature (see below).
* Startup Changes in Emacs 23.2
+++
** The command-line option -Q (--quick) also inhibits loading X resources.
However, if Emacs is compiled with the Lucid or Motif toolkit, X
resource settings for the graphical widgets are still applied.
On Windows, the -Q option causes Emacs to ignore Registry settings,
but environment variables set on the Registry are still honored.
+++
*** The new variable `inhibit-x-resources' shows whether X resources
were loaded.
+++
** New command-line option -mm (--maximized) maximizes the initial frame.
* Changes in Emacs 23.2
+++
** The maximum size of buffers (and the largest fixnum) is doubled.
On typical 32bit systems, buffers can now be up to 512MB.
---
** The default value of `trash-directory' is now nil.
This means that `move-file-to-trash' trashes files according to
freedesktop.org specifications, the same method used by the Gnome,
KDE, and XFCE desktops. (This change has no effect on Windows, which
uses `system-move-file-to-trash' for trashing.)
+++
** The pointer now becomes invisible when typing.
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.
+++
** Killing a buffer with a running process now asks for confirmation.
To remove this query, remove `process-kill-buffer-query-function' from
`kill-buffer-query-functions', or set the appropriate process flag
with `set-process-query-on-exit-flag'.
** File-local variable changes
+++
*** Specifying a minor mode as a local variables enables that mode,
unconditionally. The previous behavior, toggling the mode, was
neither reliable nor generally desirable.
+++
*** There are new commands for adding and removing file-local variables:
`add-file-local-variable', `delete-file-local-variable',
`add-file-local-variable-prop-line', and
`delete-file-local-variable-prop-line'.
+++
*** There are new commands for adding and removing directory-local variables,
and copying them to and from file-local variable lists:
`add-dir-local-variable', `delete-dir-local-variable',
@ -113,55 +96,63 @@ and copying them to and from file-local variable lists:
`copy-file-locals-to-dir-locals'.
** Internationalization changes
+++
*** Unibyte sessions are now considered obsolete.
This refers to the EMACS_UNIBYTE environment variable as well as the
--unibyte, --multibyte, --no-multibyte, and --no-unibyte command line
arguments. Customizing enable-multibyte-characters and setting
default-enable-multibyte-characters are also deprecated.
---
*** New coding system `utf-8-hfs'.
This is suitable for default-file-name-coding-system on Mac OS X; see
international/ucs-normalize.el.
---
** Function arguments in *Help* buffers are now shown in upper-case.
Customize `help-downcase-arguments' to t to show them in lower-case.
** New command `async-shell-command', bound globally to `M-&'.
This executes the command asynchronously, similar to calling `M-!' and
manually adding an ampersand to the end of the command. With `M-&',
you don't need the ampersand. The output appears in the buffer
`*Async Shell Command*'.
** 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).
* Editing Changes in Emacs 23.2
** Kill-ring and selection changes
+++
*** If `select-active-regions' is t, any active region automatically
becomes the primary selection (for interaction with other window
applications). If you enable this, you might want to bind
`mouse-yank-primary' to Mouse-2.
+++
*** When `save-interprogram-paste-before-kill' is non-nil, the kill
commands save the interprogram-paste selection into the kill ring
before doing anything else. This avoids losing the selection.
+++
*** When `kill-do-not-save-duplicates' is non-nil, identical
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.
For instance, this can complete M-x lch to list-command-history.
---
*** The new variable `completions-format' determines how completions
are displayed in the *Completions* buffer. If you set it to
`vertical', completions are sorted vertically in columns.
+++
** The default value of `blink-matching-paren-distance' is increased.
---
** M-n provides more default values in the minibuffer for commands
that read file names. These include the file name at point (when ffap
is loaded without ffap-bindings), the file name on the current line
@ -169,59 +160,44 @@ is loaded without ffap-bindings), the file name on the current line
(for Dired commands that operate on several directories, such as copy,
rename, or diff).
+++
** M-r is bound to the new `move-to-window-line-top-bottom'.
This moves point to the window center, top and bottom on successive
invocations, in the same spirit as the C-l (recenter-top-bottom)
command.
+++
** The new variable `recenter-positions' determines the default
cycling order of C-l (`recenter-top-bottom').
+++
** The abbrevs file is now a file named abbrev_defs in
user-emacs-directory; but the old location, ~/.abbrev_defs, is used if
that file exists.
* Changes in Specialized Modes and Packages in Emacs 23.2
---
** The bookmark menu has a narrowing search via bookmark-bmenu-search.
** LaTeX mode now provides completion (via completion-at-point).
---
** sym-comp.el is now declared obsolete, superseded by completion-at-point.
---
** lucid.el and levents.el are now declared obsolete.
---
** pcomplete provides a new command `pcomplete-std-completion' which
is similar to `pcomplete' but using the standard completion UI code.
** Calc
+++
*** 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.
** Desktop
---
*** The default value for `desktop-buffers-not-to-save' is nil.
This means Desktop will try restoring all buffers, when you restart
your Emacs session. Also, `desktop-buffers-not-to-save' is only
@ -230,37 +206,50 @@ 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', if non-nil, causes
Dired buffers to be reverted automatically on revisiting them.
** DocView
+++
*** When `doc-view-continuous' is non-nil, scrolling a line
on the page edge advances to the next/previous page.
** 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.
** GDB-UI
+++
*** Toolbar functionality for reverse debugging. Display of STL
collections as watch expressions. These features require GDB 7.0 or later.
** Grep
+++
*** A new command `zrgrep' searches recursively in gzipped files.
** Info
+++
*** The new command `Info-virtual-index' bound to "I" displays a menu of
matched topics found in the index.
+++
*** The new command `info-finder' replaces finder.el with a virtual Info
manual that generates an Info file which gives the same information
through a menu structure.
+++
** LaTeX mode now provides completion (via completion-at-point).
** Message mode is now the default mode for composing mail.
The default for `mail-user-agent' is now message-user-agent, so the
@ -270,7 +259,6 @@ Message mode has been included in Emacs, as part of the Gnus package,
for several years. It provides several features that are absent in
Mail mode, such as MIME handling.
---
*** If the user has not customized mail-user-agent, `compose-mail'
checks for Mail mode customizations, and issues a warning if these
customizations are found. This alerts users who may otherwise be
@ -278,110 +266,87 @@ unaware that their mail configuration has changed.
To disable this check, set compose-mail-user-agent-warnings to nil.
---
** The default value of mail-interactive is t, since Emacs 23.1.
(This was not announced at the time.) It means that when sending mail,
Emacs will wait for the process sending mail to return. If you
experience delays when sending mail, you may wish to set this to nil.
+++
** nXML mode is now the default for editing XML files.
** pcomplete provides a new command `pcomplete-std-completion' which
is similar to `pcomplete' but using the standard completion UI code.
** Shell (and other comint modes)
+++
*** M-s is no longer bound to `comint-next-matching-input'.
+++
*** M-r is now bound to `comint-history-isearch-backward-regexp'.
This starts an incremental search of the comint/shell input history.
+++
*** ansi-color is now enabled by default in Shell mode.
To disable it, set ansi-color-for-comint-mode to nil.
** Tramp
+++
*** New connection methods "rsyncc", "imap" and "imaps".
On systems which support GVFS-Fuse, Tramp offers also the new
connection methods "dav", "davs", "obex" and "synce".
** VC and related modes
+++
*** When using C-x v v or C-x v i on a unregistered file that is in a
directory not controlled by any VCS, ask the user what VC backend to
use to create a repository, create a new repository and register the
file.
+++
*** New command `vc-root-print-log', bound to `C-x v L'.
This displays a `*vc-change-log*' buffer showing the history of the
version-controlled directory tree as a whole.
+++
*** New command `vc-root-diff', bound to `C-x v D'.
This is similar to `vc-diff', but compares the entire directory tree
of the current VC directory with its working revision.
+++
*** `C-x v l' and `C-x v L' do not show the full log by default.
The number of entries shown can be chosen interactively with a prefix
argument, or by customizing vc-log-show-limit. The `*vc-change-log*'
buffer now contains buttons at the end of the buffer, which can be
used to increase the number of entries shown. RCS, SCCS, and CVS do
not support this feature.
---
*** vc-annotate supports annotations through file copies and renames,
it displays the old names for the files and it can show logs/diffs for
the corresponding lines. Currently only Git and Mercurial take
advantage of this feature.
---
*** The log command in vc-annotate can display a single log entry
instead of redisplaying the full log. The RCS, CVS and SCCS VC
backends do not support this.
---
*** When a file is not found, VC will not try to check it out of RCS anymore.
+++
*** Diff and log operations can be used from Dired buffers.
*** vc-git changes
---
**** The short log format for git makes use of the graph display,
so it's not supported on git versions earlier than 1.5.6.
---
**** vc-dir uses the --relative option of git, and so requires at least
git version 1.5.5.
+++
**** Support for operating with stashes has been added to vc-dir:
the stash list is displayed in the *vc-dir* header, stashes can be
created, removed, applied and their content displayed.
+++
*** vc-bzr supports operating with shelves: the shelve list is
displayed in the *vc-dir* header, shelves can be created, removed and applied.
---
*** log-edit-strip-single-file-name controls whether or not single filenames
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.
** Miscellaneous
+++
*** The new command `async-shell-command' bound globally to `M-&' executes
the command asynchronously without the need to manually add ampersand to
the end of the command. Its output appears in the buffer `*Async Shell
Command*'.
+++
*** 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
@ -389,19 +354,20 @@ 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
*** The new eshell built-in commands `su' and `sudo' support Tramp.
Thus, they change `default-directory' to reflect the new user id, and
let commands run under that user's permissions. This works even when
`default-directory' is already remote. Calling the external commands
is possible by `*su' or `*sudo', respectively.
---
*** 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).
is possible via `*su' or `*sudo', respectively.
** Obsolete packages
*** sym-comp.el is now obsolete, superseded by completion-at-point.
*** lucid.el and levents.el are now obsolete.
* New Modes and Packages in Emacs 23.2
@ -410,7 +376,6 @@ consider the background light).
This is a collection of packages to aid with using Emacs as an IDE
(integrated development environment):
+++
*** The Semantic package allows the use of parsers to intelligently
edit and navigate source code. Parsers for C/C++, Java, Javascript,
and several other languages are included by default, and Semantic can
@ -419,7 +384,6 @@ also interface with external tools such as GNU Global and GNU Idutils.
To enable Semantic, use the global minor mode `semantic-mode'.
See the Semantic manual for details.
+++
*** EDE (Emacs Development Environment) is a package for managing code
projects, including features such as automatic Makefile generation.
@ -430,25 +394,20 @@ See the EDE manual for details.
code. It is currently used by some parts of Semantic and EDE; in the
future, it may be used for code generation features.
+++
*** The EIEIO library implements a subset of the Common Lisp Object
System (CLOS). It is used by the other CEDET packages.
---
** mpc.el is a front end for the Music Player Daemon. Run it with M-x mpc.
** htmlfontify.el turns a fontified Emacs buffer into an HTML page.
+++
** js.el is a new major mode for JavaScript files.
---
** imap-hash.el is a new library to address IMAP mailboxes as hashtables.
* Incompatible Lisp Changes in Emacs 23.2
+++
** The Lisp reader turns integers that are too large/small into floats.
For instance, on machines where `536870911' is the largest integer,
reading `536870912' gives the floating-point object `536870912.0'.
@ -456,7 +415,6 @@ reading `536870912' gives the floating-point object `536870912.0'.
This change only concerns the Lisp reader; it does not affect how
actual integer objects overflow.
---
** Several obsolete functions removed.
The functions have been obsolete since Emacs 19, and are unlikely to
be in use:
@ -466,11 +424,9 @@ be in use:
time-stamp-yyyy-mm-dd, time-stamp-yymmdd, time-stamp-hh:mm:ss,
time-stamp-hhmm, baud-rate
---
** Support for generating Emacs 18 compatible bytecode (by setting
the variable `byte-compile-compatibility') has been removed.
---
** In image-mode.el `image-mode-maybe' is obsolete.
Instead, you can either use `image-mode' (which displays an image file
as the actual image initially), or `image-mode-as-text' (when you want
@ -484,7 +440,7 @@ key binding to toggle image display.
* Lisp changes in Emacs 23.2
---
** All the default-FOO variables that hold the default value of the FOO
variable, are now declared obsolete.
@ -492,10 +448,10 @@ variable, are now declared obsolete.
It reads a single key, but obeys input and escape sequence decoding.
** 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.
@ -509,23 +465,23 @@ 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
@ -540,34 +496,33 @@ 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.
@ -580,17 +535,14 @@ 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.
+++
** Face aliases can now be marked as obsolete, using the macro
`define-obsolete-face-alias'.
+++
** New function `window-full-height-p', analogous to the full-width version.
* Changes in Emacs 23.2 on non-free operating systems
---
** On MS-Windows, `display-time' now displays the system load average
as well as the time, as it does on GNU and Unix.
@ -1398,11 +1350,11 @@ rather than fortran-indent-comment.
** Gnus
*** The Gnus package has been updated
There are many news features, bug fixes and improvements; see the file
There are many new features, bug fixes and improvements; see the file
GNUS-NEWS or the node "No Gnus" in the Gnus manual for details.
*** In Emacs 23, Gnus uses Emacs' new internal coding system `utf-8-emacs' for
saving articles drafts and ~/.newsrc.eld. These file may not be read
saving articles, drafts, and ~/.newsrc.eld. These file may not be read
correctly in Emacs 22 and below. If you want to Gnus across different Emacs
versions, you may set `mm-auto-save-coding-system' to `emacs-mule'.
@ -1455,8 +1407,8 @@ for buff-menu.el and ibuffer.el are bound to the keys `M-s a C-s' and
*** `C-h C-h' in Isearch mode displays isearch-specific Help screen,
`C-h b' displays all Isearch key bindings, `C-h k' displays the full
documentation of the given Isearch key sequence, `C-h m' displays
documentation of Isearch mode. All the rest Help commands exit Isearch mode
and execute their global definitions.
documentation for Isearch mode. All the other Help commands exit
Isearch mode and execute their global definitions.
*** When started in the minibuffer, Isearch searches in the minibuffer
history. See `Minibuffer changes', above.

View file

@ -167,6 +167,17 @@ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=239344
* Crash bugs
** Emacs crashes when running in a terminal, if compiled with GCC 4.5.0
This version of GCC is buggy: see
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6031
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43904
You can work around this error in gcc-4.5 by omitting sibling call
optimization. To do this, configure Emacs with
CFLAGS="-g -O2 -fno-optimize-sibling-calls" ./configure
** Emacs crashes in x-popup-dialog.
This can happen if the dialog widget cannot find the font it wants to

View file

@ -219,7 +219,7 @@ in the distribution.</indent>
paragraph properly filled all the time, without slowing down
editing too much. Refill mode is a start at this, but needs
</indent></indent> <indent>improvment.
</indent></indent> <indent>improvement.
+ Refill after yank. [Refill mode does that.]
@ -272,4 +272,4 @@ COPYING PERMISSIONS:
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <<http://www.gnu.org/licenses/>.

View file

@ -1,3 +1,7 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-04-06 Chong Yidong <cyd@stupidchicken.com>
* quail/vntelex.el: Fix "af" rule (Bug#5836).

View file

@ -1,7 +1,16 @@
2010-05-08 Christoph <cschol2112@googlemail.com> (tiny change)
* makefile.w32-in (OTHER_PLATFORM_SUPPORT): Use parenthesis
for macros for nmake compatibility.
2010-05-08 Glenn Morris <rgm@gnu.org>
* Makefile.in (THIS_IS_MAKEFILE): Remove, unused.
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-06 Glenn Morris <rgm@gnu.org>
* Makefile.in: Minimize blessmail-related cpp usage.

View file

@ -1,3 +1,95 @@
2010-05-08 Chong Yidong <cyd@stupidchicken.com>
* international/mule.el (auto-coding-alist): Only purecopy
car of each item, not the whole list (Bug#6083).
2010-05-08 Chong Yidong <cyd@stupidchicken.com>
* progmodes/js.el (js-mode): Make paragraph variables local before
calling c-setup-paragraph-variables (Bug#6071).
2010-05-08 Eli Zaretskii <eliz@gnu.org>
* composite.el (compose-region, reference-point-alist): Fix typos
in the doc strings.
2010-05-08 Alexander Klimov <alserkli@inbox.ru> (tiny change)
* calc/calc-graph.el (calc-graph-plot): Use the proper form for
gnuplot's "set" command.
2010-05-08 Juanma Barranquero <lekktu@gmail.com>
* abbrev.el (last-abbrev-text): Doc fix.
(abbrev-prefix-mark): Don't escape parenthesis.
2010-05-08 Andreas Schwab <schwab@linux-m68k.org>
* composite.el (find-composition): Doc fix.
2010-05-08 Juanma Barranquero <lekktu@gmail.com>
* progmodes/sql.el (sql-electric-stuff): Fix typo in tag.
(sql-oracle-program, sql-sqlite-options)
(sql-query-placeholders-and-send): Doc fixes.
(sql-set-product, sql-interactive-mode): Reflow docstrings.
(sql-imenu-generic-expression, sql-buffer)
(sql-mode-ansi-font-lock-keywords, sql-mode-oracle-font-lock-keywords)
(sql-mode-postgres-font-lock-keywords, sql-mode-ms-font-lock-keywords)
(sql-mode-sybase-font-lock-keywords)
(sql-mode-informix-font-lock-keywords)
(sql-mode-interbase-font-lock-keywords)
(sql-mode-ingres-font-lock-keywords, sql-mode-solid-font-lock-keywords)
(sql-mode-mysql-font-lock-keywords, sql-mode-sqlite-font-lock-keywords)
(sql-mode-db2-font-lock-keywords, sql-mode-font-lock-keywords)
(sql-product-feature, sql-highlight-product)
(comint-line-beginning-position, sql-rename-buffer)
(sql-toggle-pop-to-buffer-after-send-region sql-oracle)
(sql-sybase, sql-informix, sql-sqlite, sql-mysql, sql-solid)
(sql-ingres, sql-ms, sql-postgres, sql-interbase, sql-db2, sql-linter):
Fix typos in docstrings.
2010-05-08 Juri Linkov <juri@jurta.org>
* info.el (Info-fontify-node): Put Info-breadcrumbs to the `display'
property instead of `invisible' and `after-string' (bug#5998).
2010-05-08 Juri Linkov <juri@jurta.org>
* image-mode.el (image-mode-as-text): Fix typo in docstring.
2010-05-08 Juanma Barranquero <lekktu@gmail.com>
* filecache.el (file-cache-add-directory-list)
(file-cache-add-directory-recursively): Fix typos in docstrings.
2010-05-08 Kenichi Handa <handa@m17n.org>
* language/indian.el (gurmukhi-composable-pattern): Fix typo.
(gujarati-composable-pattern): Fix typo.
2010-05-08 Kenichi Handa <handa@m17n.org>
* language/indian.el (oriya-composable-pattern)
(tamil-composable-pattern, malayalam-composable-pattern):
Add two-part vowels to "v" (vowel sign).
2010-05-08 Chong Yidong <cyd@stupidchicken.com>
* files.el (copy-directory): Handle symlinks (Bug#5982).
2010-05-08 Dan Nicolaescu <dann@ics.uci.edu>
* vc-hg.el (vc-hg-state): Use HGRCPATH, not HGRC.
(vc-hg-working-revision): Likewise. Use hg parents, not hg parent
(Bug#5846).
2010-05-08 Glenn Morris <rgm@gnu.org>
* emacs-lisp/lisp.el (lisp-completion-at-point): Give it a doc string.
* minibuffer.el (completion-at-point): Doc fix.
2010-05-08 Stefan Monnier <monnier@iro.umontreal.ca>
* electric.el (Electric-command-loop): Minor tweak.
@ -5,6 +97,10 @@
* ebuff-menu.el (electric-buffer-list): Try and make it behave a bit
better with dedicated windows.
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-07 Deniz Dogan <deniz.a.m.dogan@gmail.com> (tiny change)
Stefan Monnier <monnier@iro.umontreal.ca>

View file

@ -338,7 +338,7 @@ Expands the abbreviation after defining it."
Abbrev to be expanded starts here rather than at beginning of word.
This way, you can expand an abbrev with a prefix: insert the prefix,
use this command, then insert the abbrev. This command inserts a
temporary hyphen after the prefix \(until the intended abbrev
temporary hyphen after the prefix (until the intended abbrev
expansion occurs).
If the prefix is itself an abbrev, this command expands it, unless
ARG is non-nil. Interactively, ARG is the prefix argument."
@ -460,7 +460,7 @@ Trying to expand an abbrev in any other buffer clears `abbrev-start-location'.")
(defvar last-abbrev-text nil
"The exact text of the last abbrev expanded.
nil if the abbrev has already been unexpanded.")
It is nil if the abbrev has already been unexpanded.")
(defvar last-abbrev-location 0
"The location of the start of the last abbrev expanded.")

View file

@ -345,7 +345,7 @@
"set xlabel\nset ylabel\nset title\n"
"set noclip points\nset clip one\nset clip two\n"
"set format \"%g\"\nset tics\nset xtics\nset ytics\n"
"set data style linespoints\n"
"set style data linespoints\n"
"set nogrid\nset nokey\nset nopolar\n"))
(if (>= ver 3)
(insert "set surface\nset nocontour\n"

View file

@ -628,11 +628,12 @@ considered."
(minibuffer-message "Nothing to complete")
(let ((completion-annotate-function
(plist-get plist :annotate-function)))
(completion-in-region (nth 0 data) (nth 1 data) (nth 2 data)
(completion-in-region (nth 0 data) (nth 1 data) (nth 2 data)
(plist-get plist :predicate))))))
(defun lisp-completion-at-point (&optional predicate)
"Function used for `completion-at-point-functions' in `emacs-lisp-mode'."
;; FIXME: the `end' could be after point?
(let* ((pos (point))
(beg (with-syntax-table emacs-lisp-mode-syntax-table

View file

@ -1,3 +1,7 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-03-10 Chong Yidong <cyd@stupidchicken.com>
* Branch for 23.2.
@ -12,8 +16,8 @@
(erc-server-reconnect): Use it to reconnect via old
connector (Bug#4958).
* erc.el (erc-determine-parameters): Save
erc-server-connect-function to erc-session-connector.
* erc.el (erc-determine-parameters):
Save erc-server-connect-function to erc-session-connector.
2009-11-03 Stefan Monnier <monnier@iro.umontreal.ca>

View file

@ -296,8 +296,8 @@ be added to the cache."
(defun file-cache-add-directory-list (directory-list &optional regexp)
"Add DIRECTORY-LIST (a list of directory names) to the file cache.
If the optional REGEXP argument is non-nil, only files which match it
will be added to the cache. Note that the REGEXP is applied to the files
in each directory, not to the directory list itself."
will be added to the cache. Note that the REGEXP is applied to the
files in each directory, not to the directory list itself."
(interactive "XAdd files from directory list: ")
(mapcar
(lambda (dir) (file-cache-add-directory dir regexp))
@ -370,10 +370,10 @@ STRING is passed as an argument to the locate command."
;;;###autoload
(defun file-cache-add-directory-recursively (dir &optional regexp)
"Adds DIR and any subdirectories to the file-cache.
This function does not use any external programs
This function does not use any external programs.
If the optional REGEXP argument is non-nil, only files which match it
will be added to the cache. Note that the REGEXP is applied to the files
in each directory, not to the directory list itself."
will be added to the cache. Note that the REGEXP is applied to the
files in each directory, not to the directory list itself."
(interactive "DAdd directory: ")
(require 'find-lisp)
(mapcar

View file

@ -4753,10 +4753,14 @@ this happens by default."
(mapc
(lambda (file)
(let ((target (expand-file-name
(file-name-nondirectory file) newname)))
(if (file-directory-p file)
(copy-directory file target keep-time parents)
(copy-file file target t keep-time))))
(file-name-nondirectory file) newname))
(attrs (file-attributes file)))
(cond ((file-directory-p file)
(copy-directory file target keep-time parents))
((stringp (car attrs)) ; Symbolic link
(make-symbolic-link (car attrs) target t))
(t
(copy-file file target t keep-time)))))
;; We do not want to copy "." and "..".
(directory-files directory 'full directory-files-no-dot-files-regexp))

View file

@ -392,7 +392,7 @@ displays an image file as text. `image-minor-mode' provides the key
to display an image file as the actual image.
You can use `image-mode-as-text' in `auto-mode-alist' when you want
to display an image file as text inititally.
to display an image file as text initially.
See commands `image-mode' and `image-minor-mode' for more information
on these modes."

View file

@ -4343,8 +4343,7 @@ the variable `Info-file-list-for-emacs'."
(cond
((> Info-breadcrumbs-depth 0)
(let ((ov (make-overlay (point-min) (1+ header-end))))
(overlay-put ov 'invisible t)
(overlay-put ov 'after-string (Info-breadcrumbs))
(overlay-put ov 'display (Info-breadcrumbs))
(overlay-put ov 'evaporate t)))
((not (bobp))
;; Hide the punctuation at the end, too.

View file

@ -1690,7 +1690,8 @@ and convert it in the temporary buffer. Otherwise, convert in-place."
(defcustom auto-coding-alist
;; .exe and .EXE are added to support archive-mode looking at DOS
;; self-extracting exe archives.
(purecopy '(("\\.\\(\
(mapcar (lambda (arg) (cons (purecopy (car arg)) (cdr arg)))
'(("\\.\\(\
arc\\|zip\\|lzh\\|lha\\|zoo\\|[jew]ar\\|xpi\\|rar\\|7z\\|\
ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\|7Z\\)\\'"
. no-conversion-multibyte)

View file

@ -198,15 +198,14 @@ South Indian language Malayalam is supported in this language environment."))
(defconst gurmukhi-composable-pattern
(let ((table
'(("a" . "[\u0A01-\u0A02]") ; SIGN ADAK BINDI .. BINDI
("A" . "\u0A03]") ; SIGN VISARGA
'(("a" . "[\u0A01-\u0A02\u0A70]") ; SIGN ADAK BINDI .. BINDI, TIPPI
("A" . "\u0A03") ; SIGN VISARGA
("V" . "[\u0A05-\u0A14]") ; independent vowel
("C" . "[\u0A15-\u0A39\u0A59-\u0A5E]") ; consonant
("Y" . "[\u0A2F\u0A30\u0A35\u0A39]") ; YA, RA, VA, HA
("Y" . "[\u0A2F-u0A30\u0A35\u0A39]") ; YA, RA, VA, HA
("n" . "\u0A3C") ; NUKTA
("v" . "[\u0A3E-\u0A4C]") ; vowel sign
("H" . "\u0A4D") ; VIRAMA
("a" . "\u0A70") ; TIPPI
("N" . "\u200C") ; ZWNJ
("J" . "\u200D") ; ZWJ
("X" . "[\u0A00-\u0A7F]")))) ; all coverage
@ -226,7 +225,7 @@ South Indian language Malayalam is supported in this language environment."))
(defconst gujarati-composable-pattern
(let ((table
'(("a" . "[\u0A81-\u0A82]") ; SIGN CANDRABINDU .. ANUSVARA
("A" . "\u0A83]") ; SIGN VISARGA
("A" . "\u0A83") ; SIGN VISARGA
("V" . "[\u0A85-\u0A94\u0AE0-\u0AE1]") ; independent vowel
("C" . "[\u0A95-\u0AB9]") ; consonant
("R" . "\u0AB0") ; RA
@ -258,7 +257,7 @@ South Indian language Malayalam is supported in this language environment."))
("B" . "[\u0B15-\u0B17\u0B1B-\u0B1D\u0B1F-\u0B21\u0B23-\u0B24\u0B27-\u0B30\u0B32-\u0B35\u0B38-\u0B39]") ; consonant with below form
("R" . "\u0B30") ; RA
("n" . "\u0B3C") ; NUKTA
("v" . "[\u0B3E-\u0B44\u0B47\u0B56-\u0B57\u0B62-\u0B63]") ; vowel sign
("v" . "[\u0B3E-\u0B4C\u0B56-\u0B57\u0B62-\u0B63]") ; vowel sign
("H" . "\u0B4D") ; VIRAMA
("N" . "\u200C") ; ZWNJ
("J" . "\u200D") ; ZWJ
@ -281,7 +280,7 @@ South Indian language Malayalam is supported in this language environment."))
'(("a" . "\u0B82") ; SIGN ANUSVARA
("V" . "[\u0B85-\u0B94]") ; independent vowel
("C" . "[\u0B95-\u0BB9]") ; consonant
("v" . "[\u0BBE-\u0BC8\u0BD7]") ; vowel sign
("v" . "[\u0BBE-\u0BCC\u0BD7]") ; vowel sign
("H" . "\u0BCD") ; VIRAMA
("N" . "\u200C") ; ZWNJ
("J" . "\u200D") ; ZWJ
@ -351,7 +350,7 @@ South Indian language Malayalam is supported in this language environment."))
("V" . "[\u0D05-\u0D14\u0D60-\u0D61]") ; independent vowel
("C" . "[\u0D15-\u0D39]") ; consonant
("Y" . "[\u0D2F-\u0D30\u0D32\u0D35]") ; YA, RA, LA, VA
("v" . "[\u0D3E-\u0D48\u0D57\u0D62-\u0D63]") ; postbase matra
("v" . "[\u0D3E-\u0D4C\u0D57\u0D62-\u0D63]") ; postbase matra
("H" . "\u0D4D") ; SIGN VIRAMA
("N" . "\u200C") ; ZWNJ
("J" . "\u200D") ; ZWJ

View file

@ -1,3 +1,7 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
* mh-show.el (mh-showing-mode): Move function to mh-e.el.

View file

@ -1169,7 +1169,7 @@ Currently supported properties are:
`:predicate' a predicate that completion candidates need to satisfy.
`:annotation-function' the value to use for `completion-annotate-function'.")
(defun complete-symbol (&optional arg)
(defun completion-at-point (&optional arg)
"Perform completion on the text around point.
The completion method is determined by `completion-at-point-functions'.
@ -1193,7 +1193,7 @@ language you are using."
(completion-in-region start end (nth 2 res)
(plist-get plist :predicate))))))))
(defalias 'completion-at-point 'complete-symbol)
(define-obsolete-function-alias 'complete-symbol 'completion-at-point "24.1")
;;; Key bindings.

View file

@ -1,3 +1,7 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
* org-table.el (orgtbl-setup):
@ -40,8 +44,7 @@
* org-latex.el (org-export-latex-classes): Update docstring.
* org.el (org-format-latex-header): Add cookies to the header.
(org-splice-latex-header): Implement placement according to
cookies.
(org-splice-latex-header): Implement placement according to cookies.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
@ -54,8 +57,8 @@
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-make-header): Use
`org-splice-latex-header' to build the header.
* org-latex.el (org-export-latex-make-header):
Use `org-splice-latex-header' to build the header.
(org-export-latex-classes): Update docstring.
* org.el (org-splice-latex-header): New function.

View file

@ -3327,6 +3327,13 @@ Key bindings:
comment-start-skip "\\(//+\\|/\\*+\\)\\s *")
(let ((c-buffer-is-cc-mode t))
;; FIXME: These are normally set by `c-basic-common-init'. Should
;; we call it instead? (Bug#6071)
(make-local-variable 'paragraph-start)
(make-local-variable 'paragraph-separate)
(make-local-variable 'paragraph-ignore-fill-prefix)
(make-local-variable 'adaptive-fill-mode)
(make-local-variable 'adaptive-fill-regexp)
(c-setup-paragraph-variables))
(set (make-local-variable 'syntax-begin-function)

View file

@ -419,7 +419,7 @@ send current input in the SQLi buffer to the process.
If set to nil, then you must use \\[comint-send-input] in order to send
current input in the SQLi buffer to the process."
:type '(choice (const :tag "Nothing" nil)
(const :tag "The semikolon `;'" semicolon)
(const :tag "The semicolon `;'" semicolon)
(const :tag "The string `go' by itself" go))
:version "20.8"
:group 'SQL)
@ -450,9 +450,9 @@ buffer is shown using `display-buffer'."
"Define interesting points in the SQL buffer for `imenu'.
This is used to set `imenu-generic-expression' when SQL mode is
entered. Subsequent changes to sql-imenu-generic-expression will not
affect existing SQL buffers because imenu-generic-expression is a
local variable.")
entered. Subsequent changes to `sql-imenu-generic-expression' will
not affect existing SQL buffers because imenu-generic-expression is
a local variable.")
;; history file
@ -516,7 +516,7 @@ is changed."
Starts `sql-interactive-mode' after doing some setup.
Under NT, \"sqlplus\" usually starts the sqlplus \"GUI\". In order to
On Windows, \"sqlplus\" usually starts the sqlplus \"GUI\". In order to
start the sqlplus console, use \"plus33\" or something similar. You
will find the file in your Orant\\bin directory.
@ -542,9 +542,7 @@ The program can also specify a TCP connection. See `make-comint'."
:group 'SQL)
(defcustom sql-sqlite-options nil
"*List of additional options for `sql-sqlite-program'.
The following list of options is reported to make things work
on Windows: \"-C\" \"-t\" \"-f\" \"-n\"."
"*List of additional options for `sql-sqlite-program'."
:type '(repeat string)
:version "20.8"
:group 'SQL)
@ -727,7 +725,7 @@ Starts `sql-interactive-mode' after doing some setup."
(defvar sql-buffer nil
"Current SQLi buffer.
The global value of sql-buffer is the name of the latest SQLi buffer
The global value of `sql-buffer' is the name of the latest SQLi buffer
created. Any SQL buffer created will make a local copy of this value.
See `sql-interactive-mode' for more on multiple sessions. If you want
to change the SQLi buffer a SQL mode sends its SQL strings to, change
@ -992,8 +990,8 @@ statement. The format of variable should be a valid
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
you define your own sql-mode-ansi-font-lock-keywords. You may want to
add functions and PL/SQL keywords.")
you define your own `sql-mode-ansi-font-lock-keywords'. You may want
to add functions and PL/SQL keywords.")
(defvar sql-mode-oracle-font-lock-keywords
(let ((oracle-functions (sql-keywords-re
@ -1208,7 +1206,7 @@ add functions and PL/SQL keywords.")
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
you define your own sql-mode-oracle-font-lock-keywords. You may want
you define your own `sql-mode-oracle-font-lock-keywords'. You may want
to add functions and PL/SQL keywords.")
(defvar sql-mode-postgres-font-lock-keywords
@ -1296,7 +1294,7 @@ to add functions and PL/SQL keywords.")
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
you define your own sql-mode-postgres-font-lock-keywords.")
you define your own `sql-mode-postgres-font-lock-keywords'.")
(defvar sql-mode-linter-font-lock-keywords
(let ((linter-keywords (sql-keywords-re
@ -1482,7 +1480,7 @@ function `regexp-opt'.")
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
you define your own sql-mode-ms-font-lock-keywords.")
you define your own `sql-mode-ms-font-lock-keywords'.")
(defvar sql-mode-sybase-font-lock-keywords nil
"Sybase SQL keywords used by font-lock.
@ -1490,7 +1488,7 @@ you define your own sql-mode-ms-font-lock-keywords.")
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
you define your own sql-mode-sybase-font-lock-keywords.")
you define your own `sql-mode-sybase-font-lock-keywords'.")
(defvar sql-mode-informix-font-lock-keywords nil
"Informix SQL keywords used by font-lock.
@ -1498,7 +1496,7 @@ you define your own sql-mode-sybase-font-lock-keywords.")
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
you define your own sql-mode-informix-font-lock-keywords.")
you define your own `sql-mode-informix-font-lock-keywords'.")
(defvar sql-mode-interbase-font-lock-keywords nil
"Interbase SQL keywords used by font-lock.
@ -1506,7 +1504,7 @@ you define your own sql-mode-informix-font-lock-keywords.")
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
you define your own sql-mode-interbase-font-lock-keywords.")
you define your own `sql-mode-interbase-font-lock-keywords'.")
(defvar sql-mode-ingres-font-lock-keywords nil
"Ingres SQL keywords used by font-lock.
@ -1514,7 +1512,7 @@ you define your own sql-mode-interbase-font-lock-keywords.")
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
you define your own sql-mode-interbase-font-lock-keywords.")
you define your own `sql-mode-interbase-font-lock-keywords'.")
(defvar sql-mode-solid-font-lock-keywords nil
"Solid SQL keywords used by font-lock.
@ -1522,7 +1520,7 @@ you define your own sql-mode-interbase-font-lock-keywords.")
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
you define your own sql-mode-solid-font-lock-keywords.")
you define your own `sql-mode-solid-font-lock-keywords'.")
(defvar sql-mode-mysql-font-lock-keywords
(let ((mysql-funcs (sql-keywords-re
@ -1599,7 +1597,7 @@ you define your own sql-mode-solid-font-lock-keywords.")
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
you define your own sql-mode-mysql-font-lock-keywords.")
you define your own `sql-mode-mysql-font-lock-keywords'.")
(defvar sql-mode-sqlite-font-lock-keywords nil
"SQLite SQL keywords used by font-lock.
@ -1607,7 +1605,7 @@ you define your own sql-mode-mysql-font-lock-keywords.")
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
you define your own sql-mode-sqlite-font-lock-keywords.")
you define your own `sql-mode-sqlite-font-lock-keywords'.")
(defvar sql-mode-db2-font-lock-keywords nil
"DB2 SQL keywords used by font-lock.
@ -1615,14 +1613,14 @@ you define your own sql-mode-sqlite-font-lock-keywords.")
This variable is used by `sql-mode' and `sql-interactive-mode'. The
regular expressions are created during compilation by calling the
function `regexp-opt'. Therefore, take a look at the source before
you define your own sql-mode-db2-font-lock-keywords.")
you define your own `sql-mode-db2-font-lock-keywords'.")
(defvar sql-mode-font-lock-keywords nil
"SQL keywords used by font-lock.
Setting this variable directly no longer has any affect. Use
`sql-product' and `sql-add-product-keywords' to control the
highlighting rules in sql-mode.")
highlighting rules in SQL mode.")
@ -1631,7 +1629,7 @@ highlighting rules in sql-mode.")
(defun sql-product-feature (feature &optional product)
"Lookup `feature' needed to support the current SQL product.
See \[sql-product-alist] for a list of products and supported features."
See `sql-product-alist' for a list of products and supported features."
(plist-get
(cdr (assoc (or product sql-product)
sql-product-alist))
@ -1720,8 +1718,7 @@ adds a fontification pattern to fontify identifiers ending in
;;; Functions to switch highlighting
(defun sql-highlight-product ()
"Turns on the appropriate font highlighting for the SQL product
selected."
"Turn on the appropriate font highlighting for the SQL product selected."
(when (derived-mode-p 'sql-mode)
;; Setup font-lock
(sql-product-font-lock nil t)
@ -1730,8 +1727,7 @@ selected."
(setq mode-name (concat "SQL[" (prin1-to-string sql-product) "]"))))
(defun sql-set-product (product)
"Set `sql-product' to product and enable appropriate
highlighting."
"Set `sql-product' to product and enable appropriate highlighting."
(interactive
(list (completing-read "Enter SQL product: "
(mapcar (lambda (info) (symbol-name (car info)))
@ -1752,7 +1748,7 @@ highlighting."
(if (not (fboundp 'comint-line-beginning-position))
;; comint-line-beginning-position is defined in Emacs 21
(defun comint-line-beginning-position ()
"Returns the buffer position of the beginning of the line, after any prompt.
"Return the buffer position of the beginning of the line, after any prompt.
The prompt is assumed to be any text at the beginning of the line matching
the regular expression `comint-prompt-regexp', a buffer local variable."
(save-excursion (comint-bol nil) (point))))
@ -1974,7 +1970,7 @@ This is used to set `sql-alternate-buffer-name' within
sql-database)))
(defun sql-rename-buffer ()
"Renames a SQLi buffer."
"Rename a SQLi buffer."
(interactive)
(rename-buffer (format "*SQL: %s*" sql-alternate-buffer-name) t))
@ -2007,8 +2003,8 @@ Inserts SELECT or commas if appropriate."
(insert column)
(message "%s" column))))
;; On NT, SQL*Plus for Oracle turns on full buffering for stdout if it
;; is not attached to a character device; therefore placeholder
;; On Windows, SQL*Plus for Oracle turns on full buffering for stdout
;; if it is not attached to a character device; therefore placeholder
;; replacement by SQL*Plus is fully buffered. The workaround lets
;; Emacs query for the placeholders.
@ -2017,8 +2013,9 @@ Inserts SELECT or commas if appropriate."
(defun sql-query-placeholders-and-send (proc string)
"Send to PROC input STRING, maybe replacing placeholders.
Placeholders are words starting with and ampersand like &this.
This function is used for `comint-input-sender' if using `sql-oracle' on NT."
Placeholders are words starting with an ampersand like &this.
This function is used for `comint-input-sender' if using
`sql-oracle' on Windows."
(while (string-match "&\\(\\sw+\\)" string)
(setq string (replace-match
(read-from-minibuffer
@ -2104,7 +2101,7 @@ Every newline in STRING will be preceded with a space and a backslash."
"Toggle `sql-pop-to-buffer-after-send-region'.
If given the optional parameter VALUE, sets
sql-toggle-pop-to-buffer-after-send-region to VALUE."
`sql-toggle-pop-to-buffer-after-send-region' to VALUE."
(interactive "P")
(if value
(setq sql-pop-to-buffer-after-send-region value)
@ -2187,8 +2184,8 @@ you must tell Emacs. Here's how to do that in your `~/.emacs' file:
"Major mode to use a SQL interpreter interactively.
Do not call this function by yourself. The environment must be
initialized by an entry function specific for the SQL interpreter. See
`sql-help' for a list of available entry functions.
initialized by an entry function specific for the SQL interpreter.
See `sql-help' for a list of available entry functions.
\\[comint-send-input] after the end of the process' output sends the
text from the end of process to the end of the current line.
@ -2360,7 +2357,7 @@ the variables `sql-user', `sql-password', and `sql-database' as
defaults, if set. Additional command line parameters can be stored in
the list `sql-oracle-options'.
The buffer is put in sql-interactive-mode, giving commands for sending
The buffer is put in SQL interactive mode, giving commands for sending
input. See `sql-interactive-mode'.
To specify a coding system for converting non-ASCII characters
@ -2392,7 +2389,7 @@ parameters and command options."
(nconc (list parameter) sql-oracle-options)
sql-oracle-options))
(set-buffer (apply 'make-comint "SQL" sql-oracle-program nil parameter))
;; SQL*Plus is buffered on WindowsNT; this handles &placeholders.
;; SQL*Plus is buffered on Windows; this handles &placeholders.
(if (eq window-system 'w32)
(setq comint-input-sender 'sql-query-placeholders-and-send))))
@ -2411,7 +2408,7 @@ the variables `sql-server', `sql-user', `sql-password', and
`sql-database' as defaults, if set. Additional command line parameters
can be stored in the list `sql-sybase-options'.
The buffer is put in sql-interactive-mode, giving commands for sending
The buffer is put in SQL interactive mode, giving commands for sending
input. See `sql-interactive-mode'.
To specify a coding system for converting non-ASCII characters
@ -2455,7 +2452,7 @@ If buffer exists and a process is running, just switch to buffer
Interpreter used comes from variable `sql-informix-program'. Login uses
the variable `sql-database' as default, if set.
The buffer is put in sql-interactive-mode, giving commands for sending
The buffer is put in SQL interactive mode, giving commands for sending
input. See `sql-interactive-mode'.
To specify a coding system for converting non-ASCII characters
@ -2494,7 +2491,7 @@ the variables `sql-user', `sql-password', `sql-database', and
`sql-server' as defaults, if set. Additional command line parameters
can be stored in the list `sql-sqlite-options'.
The buffer is put in sql-interactive-mode, giving commands for sending
The buffer is put in SQL interactive mode, giving commands for sending
input. See `sql-interactive-mode'.
To specify a coding system for converting non-ASCII characters
@ -2538,7 +2535,7 @@ the variables `sql-user', `sql-password', `sql-database', and
`sql-server' as defaults, if set. Additional command line parameters
can be stored in the list `sql-mysql-options'.
The buffer is put in sql-interactive-mode, giving commands for sending
The buffer is put in SQL interactive mode, giving commands for sending
input. See `sql-interactive-mode'.
To specify a coding system for converting non-ASCII characters
@ -2585,7 +2582,7 @@ Interpreter used comes from variable `sql-solid-program'. Login uses
the variables `sql-user', `sql-password', and `sql-server' as
defaults, if set.
The buffer is put in sql-interactive-mode, giving commands for sending
The buffer is put in SQL interactive mode, giving commands for sending
input. See `sql-interactive-mode'.
To specify a coding system for converting non-ASCII characters
@ -2627,7 +2624,7 @@ If buffer exists and a process is running, just switch to buffer
Interpreter used comes from variable `sql-ingres-program'. Login uses
the variable `sql-database' as default, if set.
The buffer is put in sql-interactive-mode, giving commands for sending
The buffer is put in SQL interactive mode, giving commands for sending
input. See `sql-interactive-mode'.
To specify a coding system for converting non-ASCII characters
@ -2664,7 +2661,7 @@ variables `sql-user', `sql-password', `sql-database', and `sql-server'
as defaults, if set. Additional command line parameters can be stored
in the list `sql-ms-options'.
The buffer is put in sql-interactive-mode, giving commands for sending
The buffer is put in SQL interactive mode, giving commands for sending
input. See `sql-interactive-mode'.
To specify a coding system for converting non-ASCII characters
@ -2717,7 +2714,7 @@ the variables `sql-database' and `sql-server' as default, if set.
Additional command line parameters can be stored in the list
`sql-postgres-options'.
The buffer is put in sql-interactive-mode, giving commands for sending
The buffer is put in SQL interactive mode, giving commands for sending
input. See `sql-interactive-mode'.
To specify a coding system for converting non-ASCII characters
@ -2768,7 +2765,7 @@ Interpreter used comes from variable `sql-interbase-program'. Login
uses the variables `sql-user', `sql-password', and `sql-database' as
defaults, if set.
The buffer is put in sql-interactive-mode, giving commands for sending
The buffer is put in SQL interactive mode, giving commands for sending
input. See `sql-interactive-mode'.
To specify a coding system for converting non-ASCII characters
@ -2810,7 +2807,7 @@ If buffer exists and a process is running, just switch to buffer
Interpreter used comes from variable `sql-db2-program'. There is not
automatic login.
The buffer is put in sql-interactive-mode, giving commands for sending
The buffer is put in SQL interactive mode, giving commands for sending
input. See `sql-interactive-mode'.
If you use \\[sql-accumulate-and-indent] to send multiline commands to
@ -2859,7 +2856,7 @@ local connections, `sql-server' refers to the server name from the
for this to work). If `sql-password' is an empty string, inl will use
an empty password.
The buffer is put in sql-interactive-mode, giving commands for sending
The buffer is put in SQL interactive mode, giving commands for sending
input. See `sql-interactive-mode'.
\(Type \\[describe-mode] in the SQL buffer for a list of commands.)"

View file

@ -1,3 +1,7 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
* url-dired.el (url-dired-minor-mode): Use define-minor-mode.
@ -62,8 +66,8 @@
2009-09-12 Chong Yidong <cyd@stupidchicken.com>
* url-methods.el (url-scheme--registering-proxy): New variable.
(url-scheme-register-proxy, url-scheme-get-property): Avoid
calling url-scheme-register-proxy in an infloop (Bug#4191).
(url-scheme-register-proxy, url-scheme-get-property):
Avoid calling url-scheme-register-proxy in an infloop (Bug#4191).
2009-08-22 Glenn Morris <rgm@gnu.org>

View file

@ -168,12 +168,13 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
(condition-case nil
;; Ignore all errors.
(let ((process-environment
;; Avoid localization of messages so we can parse the output.
(append (list "TERM=dumb" "LANGUAGE=C" "HGRC=") process-environment)))
(process-file
"hg" nil t nil
"status" "-A" (file-relative-name file)))
;; Avoid localization of messages so we
;; can parse the output.
(append (list "TERM=dumb" "LANGUAGE=C" "HGRCPATH=")
process-environment)))
(process-file
"hg" nil t nil
"status" "-A" (file-relative-name file)))
;; Some problem happened. E.g. We can't find an `hg'
;; executable.
(error nil)))))))
@ -197,7 +198,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
((status nil)
(default-directory (file-name-directory file))
;; Avoid localization of messages so we can parse the output.
(avoid-local-env (append (list "TERM=dumb" "LANGUAGE=C" "HGRC=")
(avoid-local-env (append (list "TERM=dumb" "LANGUAGE=C" "HGRCPATH=")
process-environment))
(out
(with-output-to-string
@ -209,7 +210,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
;; Ignore all errors.
(process-file
"hg" nil t nil
"parent" "--template" "{rev}" (file-relative-name file)))
"parents" "--template" "{rev}" (file-relative-name file)))
;; Some problem happened. E.g. We can't find an `hg'
;; executable.
(error nil)))))))

View file

@ -3,6 +3,10 @@
* xlwmenu.c (XlwMenuDestroy): Remove XtDestroyWidget on subwidgets
(Bug #6127).
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-06 Glenn Morris <rgm@gnu.org>
* Makefile.in (CPP, LN_S, TOP, LN): Remove unused variables.
@ -28,17 +32,16 @@
XlwMenuRedisplay.
(display_menu_item): Replace ws->window with ws->pixmap, remove
call to XftDrawRect.
(display_menu): Remove this and that argument. Remove
just_compute_this_one_p. Fill pixmap at start and copy it to window
at end.
(display_menu): Remove this and that argument.
Remove just_compute_this_one_p. Fill pixmap at start and copy it to
window at end.
(expose_cb): New function.
(make_windows_if_needed): Replace XCreateWindow with XtCreatePopup.
Add eventhandler for expose to expose_cb. Remove creation of
xft_draw.
Add eventhandler for expose to expose_cb. Remove creation of xft_draw.
(create_pixmap_for_menu): New function.
(remap_menubar): Pop down menus that aren't the same as in old_stack.
Set width, heigh, x, y on widget with XtVaSetValues. Call
create_pixmap_for_menu.
Set width, heigh, x, y on widget with XtVaSetValues.
Call create_pixmap_for_menu.
Replace XUnmapWindow with XtPopdown.
Remowe two last parameters to display_menu.
(map_event_to_widget_value, XlwMenuRedisplay, Key, Select)

View file

@ -1,3 +1,7 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-08 Glenn Morris <rgm@gnu.org>
* sed1v2.inp (LIBS_TERMCAP): Edit to empty.

View file

@ -1,3 +1,7 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-03-10 Chong Yidong <cyd@stupidchicken.com>
* Branch for 23.2.

View file

@ -1,3 +1,7 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-04 Glenn Morris <rgm@gnu.org>
* config.nt (LD_SWITCH_X_SITE_AUX): Remove.
@ -55,8 +59,8 @@
2009-01-26 Jason Rumney <jasonr@gnu.org>
* emacsclient.rc, emacs.rc: Swap name and description. Remove
Windows versions.
* emacsclient.rc, emacs.rc: Swap name and description.
Remove Windows versions.
2009-01-15 Jason Rumney <jasonr@gnu.org>

View file

@ -1,15 +1,19 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-06 Glenn Morris <rgm@gnu.org>
* Makefile.in (RANLIB): Let configure set it.
(libXMenu11.a): configure sets RANLIB = : on systems without it.
(libXMenu11.a): Configure sets RANLIB = : on systems without it.
* Makefile.in (CPP, LN_S, AS, LD, MV, LS, LINTOPTS, LINTLIBFLAG, MAKE)
(STD_DEFINES, CDEBUGFLAGS, RM_CMD): Remove unused variables.
2010-05-04 Glenn Morris <rgm@gnu.org>
* Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE): Use
@C_SWITCH_SYSTEM@, @C_SWITCH_MACHINE@ rather than
* Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE):
Use @C_SWITCH_SYSTEM@, @C_SWITCH_MACHINE@ rather than
@c_switch_system@, @c_switch_machine@.
2010-04-27 Dan Nicolaescu <dann@ics.uci.edu>

View file

@ -1,3 +1,31 @@
2010-05-08 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-05-08 Andreas Schwab <schwab@linux-m68k.org>
* composite.c (autocmp_chars): Save point as marker before calling
auto-composition-function (Bug#5984).
* lisp.h (restore_point_unwind): Add prototype.
* fileio.c (restore_point_unwind): Remove static attribute.
2010-05-08 Kenichi Handa <handa@m17n.org>
* ftfont.c (M17N_FLT_USE_NEW_FEATURE): Define it if we can use the
new feature of libotf and m17n-flt.
(ftfont_check_otf) [M17N_FLT_USE_NEW_FEATURE]:
Call OTF_check_features even if no specific feature is given.
(PACK_OTF_TAG) [M17N_FLT_USE_NEW_FEATURE]: New macro.
(ftfont_drive_otf) [M17N_FLT_USE_NEW_FEATURE]: Handle the case
that OUT is NULL. Use OTF_drive_gsub_with_log and
OTF_drive_gpos_with_log instead of OTF_drive_gsub and
OTF_drive_gpos.
(ftfont_try_otf) [M17N_FLT_USE_NEW_FEATURE]: New function.
(ftfont_shape_by_flt) [M17N_FLT_USE_NEW_FEATURE]:
Setup mflt_enable_new_feature and mflt_try_otf.
2010-05-08 Jan Djärv <jan.h.d@swipnet.se>
* xsettings.c (Ftool_bar_get_system_style): Correct comment.

View file

@ -990,6 +990,14 @@ autocmp_chars (cft_element, charpos, bytepos, limit, win, face, string)
{
Lisp_Object args[6];
/* Save point as marker before calling out to lisp. */
if (NILP (string))
{
Lisp_Object m = Fmake_marker ();
set_marker_both (m, Qnil, pt, pt_byte);
record_unwind_protect (restore_point_unwind, m);
}
args[0] = Vauto_composition_function;
args[1] = AREF (elt, 2);
args[2] = pos;
@ -998,8 +1006,10 @@ autocmp_chars (cft_element, charpos, bytepos, limit, win, face, string)
args[5] = string;
gstring = safe_call (6, args);
}
if (NILP (string))
TEMP_SET_PT_BOTH (pt, pt_byte);
else if (NILP (string))
{
TEMP_SET_PT_BOTH (pt, pt_byte);
}
return unbind_to (count, gstring);
}
}

View file

@ -299,7 +299,7 @@ close_file_unwind (fd)
/* Restore point, having saved it as a marker. */
static Lisp_Object
Lisp_Object
restore_point_unwind (location)
Lisp_Object location;
{

View file

@ -1578,6 +1578,14 @@ ftfont_otf_capability (font)
#ifdef HAVE_M17N_FLT
#if ((LIBOTF_MAJOR_VERSION > 1) || (LIBOTF_RELEASE_NUMBER >= 10) \
&& (M17NLIB_MAJOR_VERSION > 1) || (M17NLIB_MINOR_VERSION >= 6))
/* We can use the new feature of libotf and m17n-flt to handle the
character encoding scheme introduced in Unicode 5.1 and 5.2 for
some Agian scripts. */
#define M17N_FLT_USE_NEW_FEATURE
#endif
struct MFLTFontFT
{
MFLTFont flt_font;
@ -1696,10 +1704,16 @@ ftfont_check_otf (MFLTFont *font, MFLTOtfSpec *spec)
else
tags[n] = spec->features[i][n];
}
#ifdef M17N_FLT_USE_NEW_FEATURE
if (OTF_check_features (otf, i == 0, spec->script, spec->langsys,
tags, n - negative) != 1)
return 0;
#else /* not M17N_FLT_USE_NEW_FEATURE */
if (n - negative > 0
&& OTF_check_features (otf, i == 0, spec->script, spec->langsys,
tags, n - negative) != 1)
return 0;
#endif /* not M17N_FLT_USE_NEW_FEATURE */
}
return 1;
}
@ -1757,6 +1771,356 @@ setup_otf_gstring (int size)
memset (otf_gstring.glyphs, 0, sizeof (OTF_Glyph) * size);
}
#ifdef M17N_FLT_USE_NEW_FEATURE
/* Pack 32-bit OTF tag (0x7F7F7F7F) into 28-bit (0x0FFFFFFF). */
#define PACK_OTF_TAG(TAG) \
((((TAG) & 0x7F000000) >> 3) \
| (((TAG) & 0x7F0000) >> 2) \
| (((TAG) & 0x7F00) >> 1) \
| ((TAG) & 0x7F))
/* Assuming that FONT is an OpenType font, apply OpenType features
specified in SPEC on glyphs between FROM and TO of IN, and record
the lastly applied feature in each glyph of IN. If OUT is not
NULL, append the resulting glyphs to OUT while storing glyph
position adjustment information in ADJUSTMENT. */
static int
ftfont_drive_otf (font, spec, in, from, to, out, adjustment)
MFLTFont *font;
MFLTOtfSpec *spec;
MFLTGlyphString *in;
int from, to;
MFLTGlyphString *out;
MFLTGlyphAdjustment *adjustment;
{
struct MFLTFontFT *flt_font_ft = (struct MFLTFontFT *) font;
FT_Face ft_face = flt_font_ft->ft_face;
OTF *otf = flt_font_ft->otf;
int len = to - from;
int i, j, gidx;
OTF_Glyph *otfg;
char script[5], *langsys = NULL;
char *gsub_features = NULL, *gpos_features = NULL;
OTF_Feature *features;
if (len == 0)
return from;
OTF_tag_name (spec->script, script);
if (spec->langsys)
{
langsys = alloca (5);
OTF_tag_name (spec->langsys, langsys);
}
for (i = 0; i < 2; i++)
{
char *p;
if (spec->features[i] && spec->features[i][1] != 0xFFFFFFFF)
{
for (j = 0; spec->features[i][j]; j++);
if (i == 0)
p = gsub_features = alloca (6 * j);
else
p = gpos_features = alloca (6 * j);
for (j = 0; spec->features[i][j]; j++)
{
if (spec->features[i][j] == 0xFFFFFFFF)
*p++ = '*', *p++ = ',';
else
{
OTF_tag_name (spec->features[i][j], p);
p[4] = ',';
p += 5;
}
}
*--p = '\0';
}
}
setup_otf_gstring (len);
for (i = 0; i < len; i++)
{
otf_gstring.glyphs[i].c = in->glyphs[from + i].c;
otf_gstring.glyphs[i].glyph_id = in->glyphs[from + i].code;
}
OTF_drive_gdef (otf, &otf_gstring);
gidx = out ? out->used : from;
if (gsub_features && out)
{
if (OTF_drive_gsub_with_log (otf, &otf_gstring, script, langsys,
gsub_features) < 0)
goto simple_copy;
if (out->allocated < out->used + otf_gstring.used)
return -2;
features = otf->gsub->FeatureList.Feature;
for (i = 0, otfg = otf_gstring.glyphs; i < otf_gstring.used; )
{
MFLTGlyph *g;
int min_from, max_to;
int j;
int feature_idx = otfg->positioning_type >> 4;
g = out->glyphs + out->used;
*g = in->glyphs[from + otfg->f.index.from];
if (g->code != otfg->glyph_id)
{
g->c = 0;
g->code = otfg->glyph_id;
g->measured = 0;
}
out->used++;
min_from = g->from;
max_to = g->to;
if (otfg->f.index.from < otfg->f.index.to)
{
/* OTFG substitutes multiple glyphs in IN. */
for (j = from + otfg->f.index.from + 1;
j <= from + otfg->f.index.to; j++)
{
if (min_from > in->glyphs[j].from)
min_from = in->glyphs[j].from;
if (max_to < in->glyphs[j].to)
max_to = in->glyphs[j].to;
}
g->from = min_from;
g->to = max_to;
}
if (feature_idx)
{
unsigned int tag = features[feature_idx - 1].FeatureTag;
tag = PACK_OTF_TAG (tag);
g->internal = (g->internal & ~0x1FFFFFFF) | tag;
}
for (i++, otfg++; (i < otf_gstring.used
&& otfg->f.index.from == otfg[-1].f.index.from);
i++, otfg++)
{
g = out->glyphs + out->used;
*g = in->glyphs[from + otfg->f.index.to];
if (g->code != otfg->glyph_id)
{
g->c = 0;
g->code = otfg->glyph_id;
g->measured = 0;
}
feature_idx = otfg->positioning_type >> 4;
if (feature_idx)
{
unsigned int tag = features[feature_idx - 1].FeatureTag;
tag = PACK_OTF_TAG (tag);
g->internal = (g->internal & ~0x1FFFFFFF) | tag;
}
out->used++;
}
}
}
else if (gsub_features)
{
/* Just for checking which features will be applied. */
if (OTF_drive_gsub_with_log (otf, &otf_gstring, script, langsys,
gsub_features) < 0)
goto simple_copy;
features = otf->gsub->FeatureList.Feature;
for (i = 0, otfg = otf_gstring.glyphs; i < otf_gstring.used; i++,
otfg++)
{
int feature_idx = otfg->positioning_type >> 4;
if (feature_idx)
{
unsigned int tag = features[feature_idx - 1].FeatureTag;
tag = PACK_OTF_TAG (tag);
for (j = otfg->f.index.from; j <= otfg->f.index.to; j++)
{
MFLTGlyph *g = in->glyphs + (from + j);
g->internal = (g->internal & ~0x1FFFFFFF) | tag;
}
}
}
}
else if (out)
{
if (out->allocated < out->used + len)
return -2;
for (i = 0; i < len; i++)
out->glyphs[out->used++] = in->glyphs[from + i];
}
if (gpos_features && out)
{
MFLTGlyph *base = NULL, *mark = NULL, *g;
int x_ppem, y_ppem, x_scale, y_scale;
if (OTF_drive_gpos_with_log (otf, &otf_gstring, script, langsys,
gpos_features) < 0)
return to;
features = otf->gpos->FeatureList.Feature;
x_ppem = ft_face->size->metrics.x_ppem;
y_ppem = ft_face->size->metrics.y_ppem;
x_scale = ft_face->size->metrics.x_scale;
y_scale = ft_face->size->metrics.y_scale;
for (i = 0, otfg = otf_gstring.glyphs, g = out->glyphs + gidx;
i < otf_gstring.used; i++, otfg++, g++)
{
MFLTGlyph *prev;
int feature_idx = otfg->positioning_type >> 4;
if (feature_idx)
{
unsigned int tag = features[feature_idx - 1].FeatureTag;
tag = PACK_OTF_TAG (tag);
g->internal = (g->internal & ~0x1FFFFFFF) | tag;
}
if (! otfg->glyph_id)
continue;
switch (otfg->positioning_type & 0xF)
{
case 0:
break;
case 1: /* Single */
case 2: /* Pair */
{
int format = otfg->f.f1.format;
if (format & OTF_XPlacement)
adjustment[i].xoff
= otfg->f.f1.value->XPlacement * x_scale / 0x10000;
if (format & OTF_XPlaDevice)
adjustment[i].xoff
+= DEVICE_DELTA (otfg->f.f1.value->XPlaDevice, x_ppem);
if (format & OTF_YPlacement)
adjustment[i].yoff
= - (otfg->f.f1.value->YPlacement * y_scale / 0x10000);
if (format & OTF_YPlaDevice)
adjustment[i].yoff
-= DEVICE_DELTA (otfg->f.f1.value->YPlaDevice, y_ppem);
if (format & OTF_XAdvance)
adjustment[i].xadv
+= otfg->f.f1.value->XAdvance * x_scale / 0x10000;
if (format & OTF_XAdvDevice)
adjustment[i].xadv
+= DEVICE_DELTA (otfg->f.f1.value->XAdvDevice, x_ppem);
if (format & OTF_YAdvance)
adjustment[i].yadv
+= otfg->f.f1.value->YAdvance * y_scale / 0x10000;
if (format & OTF_YAdvDevice)
adjustment[i].yadv
+= DEVICE_DELTA (otfg->f.f1.value->YAdvDevice, y_ppem);
adjustment[i].set = 1;
}
break;
case 3: /* Cursive */
/* Not yet supported. */
break;
case 4: /* Mark-to-Base */
case 5: /* Mark-to-Ligature */
if (! base)
break;
prev = base;
goto label_adjust_anchor;
default: /* i.e. case 6 Mark-to-Mark */
if (! mark)
break;
prev = mark;
label_adjust_anchor:
{
int base_x, base_y, mark_x, mark_y;
int this_from, this_to;
base_x = otfg->f.f4.base_anchor->XCoordinate * x_scale / 0x10000;
base_y = otfg->f.f4.base_anchor->YCoordinate * y_scale / 0x10000;
mark_x = otfg->f.f4.mark_anchor->XCoordinate * x_scale / 0x10000;
mark_y = otfg->f.f4.mark_anchor->YCoordinate * y_scale / 0x10000;
if (otfg->f.f4.base_anchor->AnchorFormat != 1)
adjust_anchor (ft_face, otfg->f.f4.base_anchor,
prev->code, x_ppem, y_ppem, &base_x, &base_y);
if (otfg->f.f4.mark_anchor->AnchorFormat != 1)
adjust_anchor (ft_face, otfg->f.f4.mark_anchor, g->code,
x_ppem, y_ppem, &mark_x, &mark_y);
adjustment[i].xoff = (base_x - mark_x);
adjustment[i].yoff = - (base_y - mark_y);
adjustment[i].back = (g - prev);
adjustment[i].xadv = 0;
adjustment[i].advance_is_absolute = 1;
adjustment[i].set = 1;
this_from = g->from;
this_to = g->to;
for (j = 0; prev + j < g; j++)
{
if (this_from > prev[j].from)
this_from = prev[j].from;
if (this_to < prev[j].to)
this_to = prev[j].to;
}
for (; prev <= g; prev++)
{
prev->from = this_from;
prev->to = this_to;
}
}
}
if (otfg->GlyphClass == OTF_GlyphClass0)
base = mark = g;
else if (otfg->GlyphClass == OTF_GlyphClassMark)
mark = g;
else
base = g;
}
}
else if (gpos_features)
{
if (OTF_drive_gpos_with_log (otf, &otf_gstring, script, langsys,
gpos_features) < 0)
return to;
features = otf->gpos->FeatureList.Feature;
for (i = 0, otfg = otf_gstring.glyphs; i < otf_gstring.used;
i++, otfg++)
if (otfg->positioning_type & 0xF)
{
int feature_idx = otfg->positioning_type >> 4;
if (feature_idx)
{
unsigned int tag = features[feature_idx - 1].FeatureTag;
tag = PACK_OTF_TAG (tag);
for (j = otfg->f.index.from; j <= otfg->f.index.to; j++)
{
MFLTGlyph *g = in->glyphs + (from + j);
g->internal = (g->internal & ~0x1FFFFFFF) | tag;
}
}
}
}
return to;
simple_copy:
if (! out)
return to;
if (out->allocated < out->used + len)
return -2;
font->get_metrics (font, in, from, to);
memcpy (out->glyphs + out->used, in->glyphs + from,
sizeof (MFLTGlyph) * len);
out->used += len;
return to;
}
static int
ftfont_try_otf (MFLTFont *font, MFLTOtfSpec *spec,
MFLTGlyphString *in, int from, int to)
{
return ftfont_drive_otf (font, spec, in, from, to, NULL, NULL);
}
#else /* not M17N_FLT_USE_NEW_FEATURE */
static int
ftfont_drive_otf (font, spec, in, from, to, out, adjustment)
@ -2011,6 +2375,8 @@ ftfont_drive_otf (font, spec, in, from, to, out, adjustment)
return to;
}
#endif /* not M17N_FLT_USE_NEW_FEATURE */
static MFLTGlyphString gstring;
static int m17n_flt_initialized;
@ -2034,6 +2400,10 @@ ftfont_shape_by_flt (lgstring, font, ft_face, otf, matrix)
if (! m17n_flt_initialized)
{
M17N_INIT ();
#ifdef M17N_FLT_USE_NEW_FEATURE
mflt_enable_new_feature = 1;
mflt_try_otf = ftfont_try_otf;
#endif /* M17N_FLT_USE_NEW_FEATURE */
m17n_flt_initialized = 1;
}

View file

@ -3059,6 +3059,7 @@ EXFUN (Ffile_readable_p, 1);
EXFUN (Ffile_executable_p, 1);
EXFUN (Fread_file_name, 6);
extern Lisp_Object close_file_unwind P_ ((Lisp_Object));
extern Lisp_Object restore_point_unwind P_ ((Lisp_Object));
extern void report_file_error P_ ((const char *, Lisp_Object)) NO_RETURN;
extern int internal_delete_file P_ ((Lisp_Object, Lisp_Object));
extern void syms_of_fileio P_ ((void));

View file

@ -1,3 +1,7 @@
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
2010-03-29 Chong Yidong <cyd@stupidchicken.com>
* cedet/semantic-ia-utest.el