1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-22 21:50:45 -08:00

Merge from trunk

This commit is contained in:
Stefan Monnier 2010-07-23 17:23:09 +02:00
commit 0ee81a0ce0
577 changed files with 37222 additions and 26609 deletions

View file

@ -1,3 +1,78 @@
2010-07-12 Andreas Schwab <schwab@linux-m68k.org>
* configure.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Substitute, don't add them to CFLAGS/LDFLAGS.
(C_OPTIMIZE_SWITCH): Remove.
(TEMACS_LDFLAGS2): Add ${PROFILING_LDFLAGS}.
2010-07-11 Andreas Schwab <schwab@linux-m68k.org>
* configure.in: Don't check for index and rindex, check for strchr
and strrchr. Define strchr and strrchr as index and rindex,
resp., in src/config.h if not available.
2010-07-08 Dan Nicolaescu <dann@ics.uci.edu>
* configure.in: Use -Wold-style-definition if available.
This helps with the transition to standard C code, it can be
removed when done.
* configure.in (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove.
* configure.in (UNEXEC_OBJ): Add comment about values for MSDOS
and MSWindows.
2010-07-07 Andreas Schwab <schwab@linux-m68k.org>
* configure.in: Don't check for bcopy, bcmp, bzero. Don't include
<strings.h> and don't define bcopy, bzero, BCMP in config.h.
2010-07-07 Dan Nicolaescu <dann@ics.uci.edu>
* configure.in (getenv): Remove K&R declaration.
2010-07-02 Jan Djärv <jan.h.d@swipnet.se>
* configure.in: Remove define __P.
2010-07-02 Dan Nicolaescu <dann@ics.uci.edu>
* configure.in (--enable-use-lisp-union-type): New flag.
2010-06-30 Dan Nicolaescu <dann@ics.uci.edu>
Fix CFLAGS for non-GCC compilers.
* configure.in (CFLAGS): Always use -g like it was done before the
2010-03-30 change.
(REAL_CFLAGS): Use CFLAGS for non-GCC to get optimization flags.
(Bug#6538)
2010-06-30 Glenn Morris <rgm@gnu.org>
* configure.in (HAVE_SOUND, HAVE_X_I18N, HAVE_X11R6_XIM):
Set with AC_DEFINE rather than AH_BOTTOM.
* configure.in (C_OPTIMIZE_SWITCH, CANNOT_DUMP, SYSTEM_MALLOC):
(USE_MMAP_FOR_BUFFERS, C_WARNING_SWITCH, CFLAGS, REAL_CFLAGS):
Set with shell, not cpp.
(LIBX): Remove, just use -lX11 in the one place this was used.
(cannot_dump): Replace with CANNOT_DUMP.
2010-06-28 Jan Djärv <jan.h.d@swipnet.se>
* configure.in: Add --with-x-toolkit=gtk3. Remove HAVE_GTK_MULTIDISPLAY,
check for gtk_file_chooser_dialog_new, and HAVE_GTK_FILE_BOTH (implied
by minimum required Gtk+ 2.6). Add checks for functions introduced
in Gtk+ 2.14 or newer (bug#6505).
2010-06-26 Eli Zaretskii <eliz@gnu.org>
* config.bat: Remove white space around "+" in COPY commands.
2010-06-23 Glenn Morris <rgm@gnu.org>
* info/dir: Start descriptions in column 32, per Texinfo convention.
2010-06-16 Chong Yidong <cyd@stupidchicken.com> 2010-06-16 Chong Yidong <cyd@stupidchicken.com>
* INSTALL: Update font information (Bug#6389). * INSTALL: Update font information (Bug#6389).
@ -8,8 +83,7 @@
2010-06-12 Glenn Morris <rgm@gnu.org> 2010-06-12 Glenn Morris <rgm@gnu.org>
* Makefile.in (install-arch-indep): Delete any old info .gz files * Makefile.in (install-arch-indep): Delete any old info .gz files first.
first.
2010-06-11 Glenn Morris <rgm@gnu.org> 2010-06-11 Glenn Morris <rgm@gnu.org>

View file

@ -105,8 +105,7 @@ sections if you need to.
Note that the install automatically saves space by compressing Note that the install automatically saves space by compressing
(provided you have the `gzip' program) those installed Lisp source (.el) (provided you have the `gzip' program) those installed Lisp source (.el)
files that have corresponding .elc versions. You may also wish files that have corresponding .elc versions, as well as the Info files.
to compress the installed Info files.
ADDITIONAL DISTRIBUTION FILES ADDITIONAL DISTRIBUTION FILES

View file

@ -60,10 +60,8 @@ NARROWPROTO
SEPCHAR SEPCHAR
SIGTYPE SIGTYPE
SYSTEM_TYPE SYSTEM_TYPE
USE_MMAP_FOR_BUFFERS
** Machine specific macros, decribed in detail in src/m/template.h ** Machine specific macros, decribed in detail in src/m/template.h
CANNOT_DUMP
EXPLICIT_SIGN_EXTEND EXPLICIT_SIGN_EXTEND
LOAD_AVE_CVT LOAD_AVE_CVT
LOAD_AVE_TYPE LOAD_AVE_TYPE
@ -81,8 +79,6 @@ USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at t
AIX AIX
AMPERSAND_FULL_NAME AMPERSAND_FULL_NAME
BCOPY_DOWNWARD_SAFE
BCOPY_UPWARD_SAFE
BITS_PER_EMACS_INT BITS_PER_EMACS_INT
BITS_PER_LONG BITS_PER_LONG
BITS_PER_CHAR BITS_PER_CHAR
@ -120,7 +116,6 @@ EMACS_UINT
FILE_SYSTEM_CASE FILE_SYSTEM_CASE
FLOAT_CHECK_DOMAIN FLOAT_CHECK_DOMAIN
FSCALE FSCALE
GAP_USE_BCOPY
GC_LISP_OBJECT_ALIGNMENT GC_LISP_OBJECT_ALIGNMENT
GC_MARK_SECONDARY_STACK GC_MARK_SECONDARY_STACK
GC_MARK_STACK GC_MARK_STACK
@ -130,8 +125,6 @@ GNU_LIBRARY_PENDING_OUTPUT_COUNT
GNU_LINUX GNU_LINUX
GNU_MALLOC GNU_MALLOC
HAVE_AIX_SMT_EXP HAVE_AIX_SMT_EXP
HAVE_BCMP
HAVE_BCOPY
HAVE_CBRT HAVE_CBRT
HAVE_CLOSEDIR HAVE_CLOSEDIR
HAVE_DUP2 HAVE_DUP2
@ -150,7 +143,6 @@ HAVE_GETPT
HAVE_GETTIMEOFDAY HAVE_GETTIMEOFDAY
HAVE_GETWD HAVE_GETWD
HAVE_H_ERRNO HAVE_H_ERRNO
HAVE_INDEX
HAVE_INET_SOCKETS HAVE_INET_SOCKETS
HAVE_INVERSE_HYPERBOLIC HAVE_INVERSE_HYPERBOLIC
HAVE_LIBKSTAT HAVE_LIBKSTAT
@ -169,7 +161,6 @@ HAVE_PWD_H
HAVE_RANDOM HAVE_RANDOM
HAVE_RENAME HAVE_RENAME
HAVE_RES_INIT HAVE_RES_INIT
HAVE_RINDEX
HAVE_RINT HAVE_RINT
HAVE_RMDIR HAVE_RMDIR
HAVE_SELECT HAVE_SELECT
@ -193,7 +184,6 @@ HAVE_SYS_TIMEB_H
HAVE_SYS_TIME_H HAVE_SYS_TIME_H
HAVE_TCATTR HAVE_TCATTR
HAVE_TERMIOS_H HAVE_TERMIOS_H
HAVE_TEXT_START
HAVE_TIMEVAL HAVE_TIMEVAL
HAVE_TM_ZONE HAVE_TM_ZONE
HAVE_TZSET HAVE_TZSET
@ -205,7 +195,6 @@ HAVE_WINDOW_SYSTEM
HAVE_WORKING_VFORK HAVE_WORKING_VFORK
HAVE_XRMSETDATABASE HAVE_XRMSETDATABASE
HPUX HPUX
INHIBIT_X11R6_XIM
INTERNAL_TERMINAL INTERNAL_TERMINAL
IS_ANY_SEP IS_ANY_SEP
IS_DIRECTORY_SEP IS_DIRECTORY_SEP
@ -270,7 +259,6 @@ SYSV_SYSTEM_DIR
TAB3 TAB3
TABDLY TABDLY
TERM TERM
TEXT_START
THIS_IS_CONFIGURE THIS_IS_CONFIGURE
TIME_WITH_SYS_TIME TIME_WITH_SYS_TIME
TIOCSIGSEND TIOCSIGSEND
@ -322,10 +310,7 @@ _start
abort abort
access access
alloca alloca
bcmp
bcopy
brk brk
bzero
calloc calloc
chdir chdir
chmod chmod

View file

@ -1,3 +1,17 @@
2010-07-11 Andreas Schwab <schwab@linux-m68k.org>
* CPP-DEFINES (HAVE_INDEX, HAVE_RINDEX): Remove.
2010-07-08 Eli Zaretskii <eliz@gnu.org>
* MAINTAINERS: Update my responsibilities.
2010-07-07 Andreas Schwab <schwab@linux-m68k.org>
* CPP-DEFINES (BCOPY_DOWNWARD_SAFE, BCOPY_UPWARD_SAFE)
(GAP_USE_BCOPY, HAVE_BCMP, HAVE_BCOPY, bcmp, bcopy, bzero):
Remove.
2010-06-12 Eli Zaretskii <eliz@gnu.org> 2010-06-12 Eli Zaretskii <eliz@gnu.org>
* unidata/bidimirror.awk: New file. * unidata/bidimirror.awk: New file.

View file

@ -23,6 +23,11 @@ Jason Rumney
W32 W32
Eli Zaretskii Eli Zaretskii
src/bidi.c
bidirectional editing support in xdisp.c and elsewhere
lisp/term/tty-colors.el
The MS-DOS (a.k.a. DJGPP) port: The MS-DOS (a.k.a. DJGPP) port:
config.bat config.bat
msdos/* msdos/*
@ -35,10 +40,6 @@ Eli Zaretskii
lisp/dos-fns.el lisp/dos-fns.el
lisp/dos-w32.el lisp/dos-w32.el
lisp/dos-vars.el lisp/dos-vars.el
lisp/term/tty-colors.el
lisp/international/codepage.el
doc/emacs/msdog.texi doc/emacs/msdog.texi
Kenichi Handa Kenichi Handa
@ -91,6 +92,7 @@ Eli Zaretskii
info/dir info/dir
src/xfaces.c src/xfaces.c
src/xdisp.c
src/term.c src/term.c
src/frame.c src/frame.c
src/dired.c src/dired.c

View file

@ -191,7 +191,7 @@ if exist dir.h ren dir.h vmsdir.h
rem Create "makefile" from "makefile.in". rem Create "makefile" from "makefile.in".
rm -f Makefile makefile.tmp rm -f Makefile makefile.tmp
copy Makefile.in + deps.mk makefile.tmp copy Makefile.in+deps.mk makefile.tmp
sed -f ../msdos/sed1v2.inp <makefile.tmp >Makefile sed -f ../msdos/sed1v2.inp <makefile.tmp >Makefile
rm -f makefile.tmp rm -f makefile.tmp

857
configure vendored

File diff suppressed because it is too large Load diff

View file

@ -129,7 +129,7 @@ dnl This should be the last --with option, because --with-x is
dnl added later on when we find the path of X, and it's best to dnl added later on when we find the path of X, and it's best to
dnl keep them together visually. dnl keep them together visually.
AC_ARG_WITH([x-toolkit],[AS_HELP_STRING([--with-x-toolkit=KIT], AC_ARG_WITH([x-toolkit],[AS_HELP_STRING([--with-x-toolkit=KIT],
[use an X toolkit (KIT one of: yes or gtk, lucid or athena, motif, no)])], [use an X toolkit (KIT one of: yes or gtk, gtk3, lucid or athena, motif, no)])],
[ case "${withval}" in [ case "${withval}" in
y | ye | yes ) val=gtk ;; y | ye | yes ) val=gtk ;;
n | no ) val=no ;; n | no ) val=no ;;
@ -137,10 +137,11 @@ AC_ARG_WITH([x-toolkit],[AS_HELP_STRING([--with-x-toolkit=KIT],
a | at | ath | athe | athen | athena ) val=athena ;; a | at | ath | athe | athen | athena ) val=athena ;;
m | mo | mot | moti | motif ) val=motif ;; m | mo | mot | moti | motif ) val=motif ;;
g | gt | gtk ) val=gtk ;; g | gt | gtk ) val=gtk ;;
gtk3 ) val=gtk3 ;;
* ) * )
AC_MSG_ERROR([`--with-x-toolkit=$withval' is invalid; AC_MSG_ERROR([`--with-x-toolkit=$withval' is invalid;
this option's value should be `yes', `no', `lucid', `athena', `motif' or `gtk'. this option's value should be `yes', `no', `lucid', `athena', `motif', `gtk' or
`yes' and `gtk' are synonyms. `athena' and `lucid' are synonyms.]) `gtk3'. `yes' and `gtk' are synonyms. `athena' and `lucid' are synonyms.])
;; ;;
esac esac
with_x_toolkit=$val with_x_toolkit=$val
@ -304,6 +305,16 @@ if test x$ac_gc_check_cons_list != x ; then
[Define this to check for errors in cons list.]) [Define this to check for errors in cons list.])
fi fi
AC_ARG_ENABLE(use-lisp-union-type,
[AS_HELP_STRING([--enable-use-lisp-union-type],
[use a union for the Lisp_Object data type.
This is only useful for development for catching certain types of bugs.])],
if test "${enableval}" != "no"; then
AC_DEFINE(USE_LISP_UNION_TYPE, 1,
[Define this to use a lisp union for the Lisp_Object data type.])
fi)
AC_ARG_ENABLE(profiling, AC_ARG_ENABLE(profiling,
[AS_HELP_STRING([--enable-profiling], [AS_HELP_STRING([--enable-profiling],
[build emacs with profiling support. [build emacs with profiling support.
@ -316,6 +327,8 @@ else
PROFILING_CFLAGS= PROFILING_CFLAGS=
PROFILING_LDFLAGS= PROFILING_LDFLAGS=
fi fi
AC_SUBST(PROFILING_CFLAGS)
AC_SUBST(PROFILING_LDFLAGS)
AC_ARG_ENABLE(autodepend, AC_ARG_ENABLE(autodepend,
[AS_HELP_STRING([--enable-autodepend], [AS_HELP_STRING([--enable-autodepend],
@ -709,16 +722,6 @@ then
CC="$NON_GNU_CC" CC="$NON_GNU_CC"
fi fi
if test x$GCC = xyes && test "x$GCC_TEST_OPTIONS" != x
then
CC="$CC $GCC_TEST_OPTIONS"
fi
if test x$GCC = x && test "x$NON_GCC_TEST_OPTIONS" != x
then
CC="$CC $NON_GCC_TEST_OPTIONS"
fi
dnl checks for Unix variants dnl checks for Unix variants
AC_USE_SYSTEM_EXTENSIONS AC_USE_SYSTEM_EXTENSIONS
@ -748,6 +751,22 @@ CFLAGS="$SAVE_CFLAGS"
unset has_option unset has_option
unset SAVE_CFLAGS unset SAVE_CFLAGS
### Use -Wold-style-definition if the compiler supports it
# This can be removed when conversion to standard C is finished.
AC_MSG_CHECKING([whether gcc understands -Wold-style-definition])
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wold-style-definition"
AC_TRY_COMPILE([], [], has_option=yes, has_option=no,)
if test $has_option = yes; then
C_WARNINGS_SWITCH="-Wold-style-definition $C_WARNINGS_SWITCH"
fi
AC_MSG_RESULT($has_option)
CFLAGS="$SAVE_CFLAGS"
unset has_option
unset SAVE_CFLAGS
AC_SUBST(C_WARNINGS_SWITCH)
#### Some other nice autoconf tests. #### Some other nice autoconf tests.
dnl checks for programs dnl checks for programs
@ -837,104 +856,29 @@ AC_LINK_IFELSE([main(){return 0;}],
LDFLAGS=$late_LDFLAGS LDFLAGS=$late_LDFLAGS
[AC_MSG_RESULT(no)]) [AC_MSG_RESULT(no)])
#### Extract some information from the operating system and machine files.
AC_CHECKING([the machine- and system-dependent files to find out
- which libraries the lib-src programs will want, and
- whether the GNU malloc routines are usable])
### First figure out CFLAGS (which we use for running the compiler here)
### and REAL_CFLAGS (which we use for real compilation).
### The two are the same except on a few systems, where they are made
### different to work around various lossages. For example,
### GCC 2.5 on GNU/Linux needs them to be different because it treats -g
### as implying static linking.
### If the CFLAGS env var is specified, we use that value
### instead of the default.
### It's not important that this name contain the PID; you can't run
### two configures in the same directory and have anything work
### anyway.
tempcname="conftest.c"
echo '
#include "'${srcdir}'/src/'${opsysfile}'"
#include "'${srcdir}'/src/'${machfile}'"
configure___ LIBX=-lX11
#ifdef CANNOT_DUMP
configure___ cannot_dump=yes
#else
configure___ cannot_dump=no
#endif
#ifdef SYSTEM_MALLOC
configure___ system_malloc=yes
#else
configure___ system_malloc=no
#endif
#ifdef USE_MMAP_FOR_BUFFERS
configure___ use_mmap_for_buffers=yes
#else
configure___ use_mmap_for_buffers=no
#endif
#ifndef C_OPTIMIZE_SWITCH
#ifdef __GNUC__
#define C_OPTIMIZE_SWITCH -O2
#else
#define C_OPTIMIZE_SWITCH -O
#endif
#endif
#ifndef C_WARNINGS_SWITCH
#define C_WARNINGS_SWITCH ${C_WARNINGS_SWITCH}
#endif
#ifdef THIS_IS_CONFIGURE
/* Get the CFLAGS for tests in configure. */
#ifdef __GNUC__
configure___ CFLAGS=-g C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}'
#else
configure___ CFLAGS='${SPECIFIED_CFLAGS}'
#endif
#else /* not THIS_IS_CONFIGURE */
/* Get the CFLAGS for real compilation. */
#ifdef __GNUC__
configure___ REAL_CFLAGS=-g C_OPTIMIZE_SWITCH C_WARNINGS_SWITCH ${PROFILING_CFLAGS} '${SPECIFIED_CFLAGS}'
#else
configure___ REAL_CFLAGS='${SPECIFIED_CFLAGS}'
#endif
#endif /* not THIS_IS_CONFIGURE */
' > ${tempcname}
LDFLAGS="${LDFLAGS} ${PROFILING_LDFLAGS}"
# The value of CPP is a quoted variable reference, so we need to do this # The value of CPP is a quoted variable reference, so we need to do this
# to get its actual value... # to get its actual value...
CPP=`eval "echo $CPP"` CPP=`eval "echo $CPP"`
[eval `${CPP} -Isrc ${tempcname} \
| sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
if test "x$SPECIFIED_CFLAGS" = x; then
eval `${CPP} -Isrc -DTHIS_IS_CONFIGURE ${tempcname} \
| sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
else
REAL_CFLAGS="$CFLAGS"
fi]
rm ${tempcname}
AC_SUBST(cannot_dump) dnl Not used by any currently supported platform.
dnl The function dump-emacs will not be defined and temacs will do
dnl (load "loadup") automatically unless told otherwise.
CANNOT_DUMP=no
case "$opsys" in
your-opsys-here)
CANNOT_DUMP=yes
AC_DEFINE(CANNOT_DUMP, 1, [Define if Emacs cannot be dumped on your system.])
;;
esac
AC_SUBST(CANNOT_DUMP)
UNEXEC_OBJ=unexelf.o UNEXEC_OBJ=unexelf.o
case "$opsys" in case "$opsys" in
# MSDOS uses unexec.o
# MSWindows uses unexw32.o
aix4-2) aix4-2)
UNEXEC_OBJ=unexaix.o UNEXEC_OBJ=unexaix.o
;; ;;
@ -1205,7 +1149,8 @@ AC_DEFUN([PKG_CHECK_MODULES], [
if test "${with_sound}" != "no"; then if test "${with_sound}" != "no"; then
# Sound support for GNU/Linux and the free BSDs. # Sound support for GNU/Linux and the free BSDs.
AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h soundcard.h) AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h soundcard.h,
have_sound_header=yes)
# Emulation library used on NetBSD. # Emulation library used on NetBSD.
AC_CHECK_LIB(ossaudio, _oss_ioctl, LIBSOUND=-lossaudio, LIBSOUND=) AC_CHECK_LIB(ossaudio, _oss_ioctl, LIBSOUND=-lossaudio, LIBSOUND=)
AC_SUBST(LIBSOUND) AC_SUBST(LIBSOUND)
@ -1238,6 +1183,19 @@ if test "${with_sound}" != "no"; then
CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS" CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS"
AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if ALSA is available.]) AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if ALSA is available.])
fi fi
dnl Define HAVE_SOUND if we have sound support. We know it works and
dnl compiles only on the specified platforms. For others, it
dnl probably doesn't make sense to try.
if test x$have_sound_header = xyes || test $HAVE_ALSA = yes; then
case "$opsys" in
dnl defined __FreeBSD__ || defined __NetBSD__ || defined __linux__
gnu-linux|freebsd|netbsd)
AC_DEFINE(HAVE_SOUND, 1, [Define to 1 if you have sound support.])
;;
esac
fi
AC_SUBST(CFLAGS_SOUND) AC_SUBST(CFLAGS_SOUND)
fi fi
@ -1511,7 +1469,7 @@ tmp_CPPFLAGS="$CPPFLAGS"
tmp_CFLAGS="$CFLAGS" tmp_CFLAGS="$CFLAGS"
CPPFLAGS="$CPPFLAGS -x objective-c" CPPFLAGS="$CPPFLAGS -x objective-c"
CFLAGS="$CFLAGS -x objective-c" CFLAGS="$CFLAGS -x objective-c"
TEMACS_LDFLAGS2="\${LDFLAGS}" TEMACS_LDFLAGS2="\${LDFLAGS} \${PROFILING_LDFLAGS}"
dnl I don't think it's especially important, but src/Makefile.in dnl I don't think it's especially important, but src/Makefile.in
dnl (now the only user of ns_appdir) used to go to the trouble of adding a dnl (now the only user of ns_appdir) used to go to the trouble of adding a
dnl trailing "/" to it, so now we do it here. dnl trailing "/" to it, so now we do it here.
@ -1540,7 +1498,6 @@ if test "${with_ns}" != no; then
GNUSTEP_LOCAL_LIBRARIES="-L${GNUSTEP_LOCAL_LIBRARIES}" GNUSTEP_LOCAL_LIBRARIES="-L${GNUSTEP_LOCAL_LIBRARIES}"
CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES} ${GNUSTEP_LOCAL_LIBRARIES}" LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES} ${GNUSTEP_LOCAL_LIBRARIES}"
LIB_STANDARD= LIB_STANDARD=
START_FILES= START_FILES=
@ -1594,6 +1551,8 @@ case "${window_system}" in
dnl Dont set this for GTK. A lot of tests below assumes Xt when dnl Dont set this for GTK. A lot of tests below assumes Xt when
dnl USE_X_TOOLKIT is set. dnl USE_X_TOOLKIT is set.
USE_X_TOOLKIT=none ;; USE_X_TOOLKIT=none ;;
gtk3 ) with_gtk3=yes
USE_X_TOOLKIT=none ;;
no ) USE_X_TOOLKIT=none ;; no ) USE_X_TOOLKIT=none ;;
dnl If user did not say whether to use a toolkit, make this decision later: dnl If user did not say whether to use a toolkit, make this decision later:
dnl use the toolkit if we have gtk, or X11R5 or newer. dnl use the toolkit if we have gtk, or X11R5 or newer.
@ -1644,7 +1603,16 @@ if test $emacs_cv_var___after_morecore_hook = no; then
doug_lea_malloc=no doug_lea_malloc=no
fi fi
dnl See comments in aix4-2.h about maybe using system malloc there.
system_malloc=no
case "$opsys" in
## darwin ld insists on the use of malloc routines in the System framework.
darwin|sol2-10) system_malloc=yes ;;
esac
if test "${system_malloc}" = "yes"; then if test "${system_malloc}" = "yes"; then
AC_DEFINE(SYSTEM_MALLOC, 1, [Define to use system malloc.])
GNU_MALLOC=no GNU_MALLOC=no
GNU_MALLOC_reason=" GNU_MALLOC_reason="
(The GNU allocators don't work with this system configuration.)" (The GNU allocators don't work with this system configuration.)"
@ -1678,12 +1646,14 @@ if test x"${REL_ALLOC}" = x; then
REL_ALLOC=${GNU_MALLOC} REL_ALLOC=${GNU_MALLOC}
fi fi
dnl For now, need to use an explicit `#define USE_MMAP_FOR_BUFFERS 1' use_mmap_for_buffers=no
dnl the system configuration file (s/*.h) to turn the use of mmap case "$opsys" in
dnl in the relocating allocator on. freebsd|irix6-5) use_mmap_for_buffers=yes ;;
esac
AC_FUNC_MMAP AC_FUNC_MMAP
if test $use_mmap_for_buffers = yes; then if test $use_mmap_for_buffers = yes; then
AC_DEFINE(USE_MMAP_FOR_BUFFERS, 1, [Define to use mmap to allocate buffer text.])
REL_ALLOC=no REL_ALLOC=no
fi fi
@ -1733,12 +1703,13 @@ esac
# used for the tests that follow. We set them back to REAL_CFLAGS and # used for the tests that follow. We set them back to REAL_CFLAGS and
# REAL_CPPFLAGS later on. # REAL_CPPFLAGS later on.
REAL_CFLAGS="$CFLAGS"
REAL_CPPFLAGS="$CPPFLAGS" REAL_CPPFLAGS="$CPPFLAGS"
if test "${HAVE_X11}" = "yes"; then if test "${HAVE_X11}" = "yes"; then
DEFS="$C_SWITCH_X_SITE $DEFS" DEFS="$C_SWITCH_X_SITE $DEFS"
LDFLAGS="$LDFLAGS $LD_SWITCH_X_SITE" LDFLAGS="$LDFLAGS $LD_SWITCH_X_SITE"
LIBS="$LIBX $LIBS" LIBS="-lX11 $LIBS"
CFLAGS="$C_SWITCH_X_SITE $CFLAGS" CFLAGS="$C_SWITCH_X_SITE $CFLAGS"
CPPFLAGS="$C_SWITCH_X_SITE $CPPFLAGS" CPPFLAGS="$C_SWITCH_X_SITE $CPPFLAGS"
@ -1814,6 +1785,15 @@ fail;
AC_MSG_RESULT(6 or newer) AC_MSG_RESULT(6 or newer)
AC_DEFINE(HAVE_X11R6, 1, AC_DEFINE(HAVE_X11R6, 1,
[Define to 1 if you have the X11R6 or newer version of Xlib.]) [Define to 1 if you have the X11R6 or newer version of Xlib.])
AC_DEFINE(HAVE_X_I18N, 1, [Define if you have usable i18n support.])
## inoue@ainet.or.jp says Solaris has a bug related to X11R6-style
## XIM support.
case "$opsys" in
sol2-*) : ;;
*) AC_DEFINE(HAVE_X11R6_XIM, 1,
[Define if you have usable X11R6-style XIM support.])
;;
esac
else else
AC_MSG_RESULT(before 6) AC_MSG_RESULT(before 6)
fi fi
@ -1842,6 +1822,20 @@ fi
HAVE_GTK=no HAVE_GTK=no
if test "${with_gtk3}" = "yes"; then
GLIB_REQUIRED=2.6
GTK_REQUIRED=2.90
GTK_MODULES="gtk+-3.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED"
dnl Checks for libraries.
PKG_CHECK_MODULES(GTK, $GTK_MODULES, pkg_check_gtk=yes, pkg_check_gtk=no)
if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then
AC_MSG_ERROR($GTK_PKG_ERRORS)
fi
fi
if test "$pkg_check_gtk" != "yes"; then
HAVE_GTK=no
if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then
GLIB_REQUIRED=2.6 GLIB_REQUIRED=2.6
GTK_REQUIRED=2.6 GTK_REQUIRED=2.6
@ -1853,7 +1847,7 @@ if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then
AC_MSG_ERROR($GTK_PKG_ERRORS) AC_MSG_ERROR($GTK_PKG_ERRORS)
fi fi
fi fi
fi
GTK_OBJ= GTK_OBJ=
if test x"$pkg_check_gtk" = xyes; then if test x"$pkg_check_gtk" = xyes; then
@ -1898,15 +1892,6 @@ if test "${HAVE_GTK}" = "yes"; then
with_toolkit_scroll_bars=yes with_toolkit_scroll_bars=yes
fi fi
dnl Check if we can use multiple displays with this GTK version.
dnl If gdk_display_open exists, assume all others are there also.
HAVE_GTK_MULTIDISPLAY=no
AC_CHECK_FUNCS(gdk_display_open, HAVE_GTK_MULTIDISPLAY=yes)
if test "${HAVE_GTK_MULTIDISPLAY}" = "yes"; then
AC_DEFINE(HAVE_GTK_MULTIDISPLAY, 1,
[Define to 1 if GTK can handle more than one display.])
fi
dnl Check if we have the old file selection dialog declared and dnl Check if we have the old file selection dialog declared and
dnl in the link library. In 2.x it may be in the library, dnl in the link library. In 2.x it may be in the library,
dnl but not declared if deprecated featured has been selected out. dnl but not declared if deprecated featured has been selected out.
@ -1916,29 +1901,11 @@ if test "${HAVE_GTK}" = "yes"; then
HAVE_GTK_FILE_SELECTION=no, [AC_INCLUDES_DEFAULT HAVE_GTK_FILE_SELECTION=no, [AC_INCLUDES_DEFAULT
#include <gtk/gtk.h>]) #include <gtk/gtk.h>])
if test "$HAVE_GTK_FILE_SELECTION" = yes; then if test "$HAVE_GTK_FILE_SELECTION" = yes; then
AC_CHECK_FUNCS(gtk_file_selection_new, HAVE_GTK_FILE_SELECTION=yes, AC_CHECK_FUNCS(gtk_file_selection_new)
HAVE_GTK_FILE_SELECTION=no)
fi
dnl Check if we have the new file chooser dialog
HAVE_GTK_FILE_CHOOSER=no
AC_CHECK_DECL(GTK_TYPE_FILE_CHOOSER, HAVE_GTK_FILE_CHOOSER=yes,
HAVE_GTK_FILE_CHOOSER=no, [AC_INCLUDES_DEFAULT
#include <gtk/gtk.h>])
if test "$HAVE_GTK_FILE_CHOOSER" = yes; then
AC_CHECK_FUNCS(gtk_file_chooser_dialog_new, HAVE_GTK_FILE_CHOOSER=yes,
HAVE_GTK_FILE_CHOOSER=no)
fi
if test "$HAVE_GTK_FILE_SELECTION" = yes \
&& test "$HAVE_GTK_FILE_CHOOSER" = yes; then
AC_DEFINE(HAVE_GTK_FILE_BOTH, 1,
[Define to 1 if GTK has both file selection and chooser dialog.])
fi fi
dnl Check if pthreads are available. Emacs only needs this when using dnl Check if pthreads are available. Emacs only needs this when using
dnl gtk_file_chooser under Gnome. dnl gtk_file_chooser under Gnome.
if test "$HAVE_GTK_FILE_CHOOSER" = yes; then
HAVE_GTK_AND_PTHREAD=no HAVE_GTK_AND_PTHREAD=no
AC_CHECK_HEADERS(pthread.h) AC_CHECK_HEADERS(pthread.h)
if test "$ac_cv_header_pthread_h"; then if test "$ac_cv_header_pthread_h"; then
@ -1952,7 +1919,13 @@ if test "${HAVE_GTK}" = "yes"; then
AC_DEFINE(HAVE_GTK_AND_PTHREAD, 1, AC_DEFINE(HAVE_GTK_AND_PTHREAD, 1,
[Define to 1 if you have GTK and pthread (-lpthread).]) [Define to 1 if you have GTK and pthread (-lpthread).])
fi fi
fi
dnl Check for functions introduced in 2.14 and later.
AC_CHECK_FUNCS(gtk_widget_get_window gtk_widget_set_has_window \
gtk_dialog_get_action_area gtk_widget_get_sensitive \
gtk_widget_get_mapped gtk_adjustment_get_page_size \
gtk_orientable_set_orientation)
fi fi
dnl D-Bus has been tested under GNU/Linux only. Must be adapted for dnl D-Bus has been tested under GNU/Linux only. Must be adapted for
@ -2631,12 +2604,12 @@ AC_SUBST(BLESSMAIL_TARGET)
AC_CHECK_FUNCS(gethostname getdomainname dup2 \ AC_CHECK_FUNCS(gethostname getdomainname dup2 \
rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \ rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \
random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime setsid \ random lrand48 logb frexp fmod rint cbrt ftime setsid \
strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \ strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \
utimes getrlimit setrlimit setpgid getcwd getwd shutdown getaddrinfo \ utimes getrlimit setrlimit setpgid getcwd getwd shutdown getaddrinfo \
__fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \ __fpending mblen mbrlen mbsinit strsignal setitimer ualarm strchr strrchr \
sendto recvfrom getsockopt setsockopt getsockname getpeername \ sendto recvfrom getsockopt setsockopt getsockname getpeername \
gai_strerror mkstemp getline getdelim mremap memmove fsync sync bzero \ gai_strerror mkstemp getline getdelim mremap memmove fsync sync \
memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign \ memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign \
cfmakeraw cfsetspeed isnan copysign) cfmakeraw cfsetspeed isnan copysign)
@ -3374,8 +3347,6 @@ case "$opsys" in
esac esac
PRE_EDIT_LDFLAGS=
POST_EDIT_LDFLAGS=
if test "x$ORDINARY_LINK" = "xyes"; then if test "x$ORDINARY_LINK" = "xyes"; then
LINKER="\$(CC)" LINKER="\$(CC)"
@ -3394,17 +3365,7 @@ elif test "x$GCC" = "xyes" && test "x$LINKER" = "x"; then
## searching for libraries in its internal directories, so we have to ## searching for libraries in its internal directories, so we have to
## ask GCC explicitly where to find libgcc.a (LIB_GCC below). ## ask GCC explicitly where to find libgcc.a (LIB_GCC below).
LINKER="\$(CC) -nostdlib" LINKER="\$(CC) -nostdlib"
## GCC passes any argument prefixed with -Xlinker directly to the linker.
## See prefix-args.c for an explanation of why we do not do this with the
## shell''s ``for'' construct. Note that sane people do not have '.' in
## their paths, so we must use ./prefix-args.
## TODO either make prefix-args check ORDINARY_LINK internally,
## or remove it altogether (bug#6184), removing the need for this hack.
PRE_EDIT_LDFLAGS='`./prefix-args -Xlinker'
POST_EDIT_LDFLAGS='`'
fi fi
AC_SUBST(PRE_EDIT_LDFLAGS)
AC_SUBST(POST_EDIT_LDFLAGS)
test "x$LINKER" = "x" && LINKER=ld test "x$LINKER" = "x" && LINKER=ld
## FIXME? What setting of EDIT_LDFLAGS should this have? ## FIXME? What setting of EDIT_LDFLAGS should this have?
@ -3497,25 +3458,6 @@ AH_BOTTOM([
/* Turned on June 1996 supposing nobody will mind it. */ /* Turned on June 1996 supposing nobody will mind it. */
#define AMPERSAND_FULL_NAME #define AMPERSAND_FULL_NAME
/* Define HAVE_SOUND if we have sound support. We know it works
and compiles only on the specified platforms. For others,
it probably doesn't make sense to try. */
#if defined __FreeBSD__ || defined __NetBSD__ || defined __linux__
#ifdef HAVE_MACHINE_SOUNDCARD_H
#define HAVE_SOUND 1
#endif
#ifdef HAVE_SYS_SOUNDCARD_H
#define HAVE_SOUND 1
#endif
#ifdef HAVE_SOUNDCARD_H
#define HAVE_SOUND 1
#endif
#ifdef HAVE_ALSA
#define HAVE_SOUND 1
#endif
#endif /* __FreeBSD__ || __NetBSD__ || __linux__ */
/* If using GNU, then support inline function declarations. */ /* If using GNU, then support inline function declarations. */
/* Don't try to switch on inline handling as detected by AC_C_INLINE /* Don't try to switch on inline handling as detected by AC_C_INLINE
generally, because even if non-gcc compilers accept `inline', they generally, because even if non-gcc compilers accept `inline', they
@ -3575,11 +3517,6 @@ SYSTEM_PURESIZE_EXTRA seems like the least likely to cause problems. */
#define my_strftime nstrftime /* for strftime.c */ #define my_strftime nstrftime /* for strftime.c */
/* Some of the files of Emacs which are intended for use with other
programs assume that if you have a config.h file, you must declare
the type of getenv. */
extern char *getenv ();
/* These default definitions are good for almost all machines. /* These default definitions are good for almost all machines.
The exceptions override them in m/MACHINE.h. */ The exceptions override them in m/MACHINE.h. */
@ -3606,27 +3543,14 @@ extern char *getenv ();
#endif #endif
#endif #endif
/* Define if the compiler supports function prototypes. It may do so /* Define if the compiler supports function prototypes. It may do so but
but not define __STDC__ (e.g. DEC C by default) or may define it as not define __STDC__ (e.g. DEC C by default) or may define it as zero. */
zero. */
#undef PROTOTYPES #undef PROTOTYPES
/* For mktime.c: */
#ifndef __P
# if defined PROTOTYPES
# define __P(args) args
# else
# define __P(args) ()
# endif /* GCC. */
#endif /* __P */
#ifdef HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#endif #endif
#ifdef HAVE_STRINGS_H
#include <strings.h> /* May be needed for bcopy & al. */
#endif
#ifdef HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
@ -3649,16 +3573,12 @@ void *alloca (size_t);
typedef unsigned size_t; typedef unsigned size_t;
#endif #endif
/* Define HAVE_X_I18N if we have usable i18n support. */ #ifndef HAVE_STRCHR
#define strchr(a, b) index (a, b)
#ifdef HAVE_X11R6
#define HAVE_X_I18N
#endif #endif
/* Define HAVE_X11R6_XIM if we have usable X11R6-style XIM support. */ #ifndef HAVE_STRRCHR
#define strrchr(a, b) rindex (a, b)
#if defined HAVE_X11R6 && !defined INHIBIT_X11R6_XIM
#define HAVE_X11R6_XIM
#endif #endif
#if defined __GNUC__ && (__GNUC__ > 2 \ #if defined __GNUC__ && (__GNUC__ > 2 \
@ -3680,16 +3600,6 @@ typedef unsigned size_t;
# endif # endif
#endif #endif
#ifndef HAVE_BCOPY
#define bcopy(a,b,s) memcpy (b,a,s)
#endif
#ifndef HAVE_BZERO
#define bzero(a,s) memset (a,0,s)
#endif
#ifndef HAVE_BCMP
#define BCMP memcmp
#endif
#endif /* EMACS_CONFIG_H */ #endif /* EMACS_CONFIG_H */
/* /*

View file

@ -1,3 +1,13 @@
2010-06-23 Glenn Morris <rgm@gnu.org>
* abbrevs.texi, basic.texi, buffers.texi, building.texi, calendar.texi:
* custom.texi, dired.texi, display.texi, emacs.texi, emerge-xtra.texi:
* files.texi, fortran-xtra.texi, frames.texi, help.texi, killing.texi:
* maintaining.texi, mark.texi, mini.texi, misc.texi, msdog.texi:
* mule.texi, programs.texi, rmail.texi, screen.texi, search.texi:
* sending.texi, text.texi, trouble.texi, vc1-xtra.texi, xresources.texi:
Untabify Texinfo files.
2010-06-10 Glenn Morris <rgm@gnu.org> 2010-06-10 Glenn Morris <rgm@gnu.org>
* basic.texi (Inserting Text): Minor clarification. (Bug#6374) * basic.texi (Inserting Text): Minor clarification. (Bug#6374)

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Buffers, Windows, Files, Top @node Buffers, Windows, Files, Top
@chapter Using Multiple Buffers @chapter Using Multiple Buffers

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Building, Maintaining, Programs, Top @node Building, Maintaining, Programs, Top
@chapter Compiling and Testing Programs @chapter Compiling and Testing Programs

View file

@ -1,5 +1,6 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@c @c
@c This file is included either in emacs-xtra.texi (when producing the @c This file is included either in emacs-xtra.texi (when producing the

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
@c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Files, Buffers, Keyboard Macros, Top @node Files, Buffers, Keyboard Macros, Top
@chapter File Handling @chapter File Handling

View file

@ -1,5 +1,6 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@c @c
@c This file is included either in emacs-xtra.texi (when producing the @c This file is included either in emacs-xtra.texi (when producing the

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
@c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Frames, International, Windows, Top @node Frames, International, Windows, Top
@chapter Frames and Graphical Displays @chapter Frames and Graphical Displays

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Help, Mark, M-x, Top @node Help, Mark, M-x, Top
@chapter Help @chapter Help

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Killing, Yanking, Mark, Top @node Killing, Yanking, Mark, Top

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Mark, Killing, Help, Top @node Mark, Killing, Help, Top
@chapter The Mark and the Region @chapter The Mark and the Region

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Minibuffer, M-x, Basic, Top @node Minibuffer, M-x, Basic, Top
@chapter The Minibuffer @chapter The Minibuffer

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top @node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top
@appendix Emacs and Microsoft Windows/MS-DOS @appendix Emacs and Microsoft Windows/MS-DOS

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Rmail, Dired, Sending Mail, Top @node Rmail, Dired, Sending Mail, Top
@chapter Reading Mail with Rmail @chapter Reading Mail with Rmail

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Screen, User Input, Acknowledgments, Top @node Screen, User Input, Acknowledgments, Top
@chapter The Organization of the Screen @chapter The Organization of the Screen

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002,
@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Search, Fixit, Display, Top @node Search, Fixit, Display, Top
@chapter Searching and Replacement @chapter Searching and Replacement

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002,
@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Sending Mail @node Sending Mail
@chapter Sending Mail @chapter Sending Mail

View file

@ -1,6 +1,7 @@
@c This is part of the Emacs manual. @c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Text, Programs, Indentation, Top @node Text, Programs, Indentation, Top
@chapter Commands for Human Languages @chapter Commands for Human Languages
@ -404,8 +405,7 @@ Text}).
@menu @menu
* Auto Fill:: Auto Fill mode breaks long lines automatically. * Auto Fill:: Auto Fill mode breaks long lines automatically.
* Fill Commands:: Commands to refill paragraphs and center lines. * Fill Commands:: Commands to refill paragraphs and center lines.
* Fill Prefix:: Filling paragraphs that are indented * Fill Prefix:: Filling paragraphs that are indented or in a comment, etc.
or in a comment, etc.
* Adaptive Fill:: How Emacs can determine the fill prefix automatically. * Adaptive Fill:: How Emacs can determine the fill prefix automatically.
* Refill:: Keeping paragraphs filled. * Refill:: Keeping paragraphs filled.
* Longlines:: Editing text with very long lines. * Longlines:: Editing text with very long lines.

View file

@ -435,9 +435,10 @@ Emacs.pane.menubar.faceName: Courier-12
To specify a font, use fontconfig font names as values to the @code{faceName} To specify a font, use fontconfig font names as values to the @code{faceName}
resource. resource.
If Emacs is not built with the Xft library, Lucid menus and dialogs can only If Emacs is not built with the Xft library, Lucid menus and dialogs
display old style fonts. If Emacs is built with Xft and you prefer the old can only display old style fonts. If Emacs is built with Xft and you
fonts, you have to specify @samp{none} to @code{faceName}: prefer the old fonts, you have to specify @samp{none} to
@code{faceName}:
@example @example
Emacs.pane.menubar.faceName: none Emacs.pane.menubar.faceName: none

View file

@ -1,3 +1,7 @@
2010-06-23 Glenn Morris <rgm@gnu.org>
* emacs-lisp-intro.texi: Untabify.
2010-05-07 Chong Yidong <cyd@stupidchicken.com> 2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released. * Version 23.2 released.

View file

@ -1,3 +1,32 @@
2010-07-09 Eli Zaretskii <eliz@gnu.org>
* internals.texi (Writing Emacs Primitives): Adapt to ANSI C
calling sequences, which are now the standard.
2010-06-24 Chong Yidong <cyd@stupidchicken.com>
* text.texi (Undo): Clarify command loop behavior (Bug#2433).
* commands.texi (Command Overview): Mention undo-boundary call.
2010-06-23 Glenn Morris <rgm@gnu.org>
* abbrevs.texi, commands.texi, compile.texi, debugging.texi:
* display.texi, edebug.texi, elisp.texi, eval.texi, files.texi:
* frames.texi, functions.texi, internals.texi, keymaps.texi:
* loading.texi, minibuf.texi, numbers.texi, os.texi, processes.texi:
* searching.texi, sequences.texi, strings.texi, syntax.texi:
* text.texi, tips.texi, vol1.texi, vol2.texi, windows.texi:
Untabify Texinfo files.
2010-06-20 Chong Yidong <cyd@stupidchicken.com>
* modes.texi (Minor Mode Conventions): Fix typo (Bug#6477).
2010-06-19 Chong Yidong <cyd@stupidchicken.com>
* errors.texi (Standard Errors): Remove unnecessary markup (Bug#6461).
2010-06-02 Chong Yidong <cyd@stupidchicken.com> 2010-06-02 Chong Yidong <cyd@stupidchicken.com>
* searching.texi (Regexp Special): Remove obsolete information * searching.texi (Regexp Special): Remove obsolete information
@ -15,8 +44,7 @@
2010-05-22 Chong Yidong <cyd@stupidchicken.com> 2010-05-22 Chong Yidong <cyd@stupidchicken.com>
* display.texi (Image Cache): Update documentation about image * display.texi (Image Cache): Update documentation about image caching.
caching.
2010-05-08 Štěpán Němec <stepnem@gmail.com> (tiny change) 2010-05-08 Štěpán Němec <stepnem@gmail.com> (tiny change)

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/commands @setfilename ../../info/commands
@node Command Loop, Keymaps, Minibuffers, Top @node Command Loop, Keymaps, Minibuffers, Top
@ -52,16 +53,19 @@ function. If the key is @kbd{M-x}, then it reads the name of another
command, which it then calls. This is done by the command command, which it then calls. This is done by the command
@code{execute-extended-command} (@pxref{Interactive Call}). @code{execute-extended-command} (@pxref{Interactive Call}).
To execute a command requires first reading the arguments for it. Prior to executing the command, Emacs runs @code{undo-boundary} to
This is done by calling @code{command-execute} (@pxref{Interactive create an undo boundary. @xref{Maintaining Undo}.
Call}). For commands written in Lisp, the @code{interactive}
specification says how to read the arguments. This may use the prefix To execute a command, Emacs first reads its arguments by calling
argument (@pxref{Prefix Command Arguments}) or may read with prompting @code{command-execute} (@pxref{Interactive Call}). For commands
in the minibuffer (@pxref{Minibuffers}). For example, the command written in Lisp, the @code{interactive} specification says how to read
@code{find-file} has an @code{interactive} specification which says to the arguments. This may use the prefix argument (@pxref{Prefix
read a file name using the minibuffer. The command's function body does Command Arguments}) or may read with prompting in the minibuffer
not use the minibuffer; if you call this command from Lisp code as a (@pxref{Minibuffers}). For example, the command @code{find-file} has
function, you must supply the file name string as an ordinary Lisp an @code{interactive} specification which says to read a file name
using the minibuffer. The function body of @code{find-file} does not
use the minibuffer, so if you call @code{find-file} as a function from
Lisp code, you must supply the file name string as an ordinary Lisp
function argument. function argument.
If the command is a string or vector (i.e., a keyboard macro) then If the command is a string or vector (i.e., a keyboard macro) then

View file

@ -63,11 +63,11 @@ sequence or buffer.@*
@xref{Lisp and Coding Systems}. @xref{Lisp and Coding Systems}.
@item cyclic-function-indirection @item cyclic-function-indirection
@code{"Symbol's chain of function indirections\@* contains a loop"}@* @code{"Symbol's chain of function indirections contains a loop"}@*
@xref{Function Indirection}. @xref{Function Indirection}.
@item cyclic-variable-indirection @item cyclic-variable-indirection
@code{"Symbol's chain of variable indirections\@* contains a loop"}@* @code{"Symbol's chain of variable indirections contains a loop"}@*
@xref{Variable Aliases}. @xref{Variable Aliases}.
@item end-of-buffer @item end-of-buffer

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/files @setfilename ../../info/files
@node Files, Backups and Auto-Saving, Documentation, Top @node Files, Backups and Auto-Saving, Documentation, Top

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/functions @setfilename ../../info/functions
@node Functions, Macros, Variables, Top @node Functions, Macros, Variables, Top

View file

@ -518,8 +518,7 @@ If all args return nil, return nil.
@end group @end group
@group @group
usage: (or CONDITIONS ...) */) usage: (or CONDITIONS ...) */)
(args) (Lisp_Object args)
Lisp_Object args;
@{ @{
register Lisp_Object val = Qnil; register Lisp_Object val = Qnil;
struct gcpro gcpro1; struct gcpro gcpro1;
@ -618,15 +617,15 @@ All the usual rules for documentation strings in Lisp code
too. too.
@end table @end table
After the call to the @code{DEFUN} macro, you must write the argument After the call to the @code{DEFUN} macro, you must write the
name list that every C function must have, followed by ordinary C argument list that every C function must have, including the types for
declarations for the arguments. For a function with a fixed maximum the arguments. For a function with a fixed maximum number of
number of arguments, declare a C argument for each Lisp argument, and arguments, declare a C argument for each Lisp argument, and give them
give them all type @code{Lisp_Object}. When a Lisp function has no all type @code{Lisp_Object}. When a Lisp function has no upper limit
upper limit on the number of arguments, its implementation in C actually on the number of arguments, its implementation in C actually receives
receives exactly two arguments: the first is the number of Lisp exactly two arguments: the first is the number of Lisp arguments, and
arguments, and the second is the address of a block containing their the second is the address of a block containing their values. They
values. They have types @code{int} and @w{@code{Lisp_Object *}}. have types @code{int} and @w{@code{Lisp_Object *}}.
@cindex @code{GCPRO} and @code{UNGCPRO} @cindex @code{GCPRO} and @code{UNGCPRO}
@cindex protect C variables from garbage collection @cindex protect C variables from garbage collection

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2001, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/keymaps @setfilename ../../info/keymaps
@node Keymaps, Modes, Command Loop, Top @node Keymaps, Modes, Command Loop, Top

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/loading @setfilename ../../info/loading
@node Loading, Byte Compilation, Customization, Top @node Loading, Byte Compilation, Customization, Top

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/minibuf @setfilename ../../info/minibuf
@node Minibuffers, Command Loop, Read and Print, Top @node Minibuffers, Command Loop, Read and Print, Top

View file

@ -1342,7 +1342,7 @@ or like this, using @code{add-to-list} (@pxref{List Variables}):
Global minor modes distributed with Emacs should if possible support Global minor modes distributed with Emacs should if possible support
enabling and disabling via Custom (@pxref{Customization}). To do this, enabling and disabling via Custom (@pxref{Customization}). To do this,
the first step is to define the mode variable with @code{defcustom}, and the first step is to define the mode variable with @code{defcustom}, and
specify @code{:type boolean}. specify @code{:type 'boolean}.
If just setting the variable is not sufficient to enable the mode, you If just setting the variable is not sufficient to enable the mode, you
should also specify a @code{:set} method which enables the mode by should also specify a @code{:set} method which enables the mode by

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/os @setfilename ../../info/os
@node System Interface, Antinews, Display, Top @node System Interface, Antinews, Display, Top

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/processes @setfilename ../../info/processes
@node Processes, Display, Abbrevs, Top @node Processes, Display, Abbrevs, Top
@ -57,7 +58,7 @@ Processes}.
* Datagrams:: UDP network connections. * Datagrams:: UDP network connections.
* Low-Level Network:: Lower-level but more general function * Low-Level Network:: Lower-level but more general function
to create connections and servers. to create connections and servers.
* Misc Network:: Additional relevant functions for network connections. * Misc Network:: Additional relevant functions for net connections.
* Serial Ports:: Communicating with serial ports. * Serial Ports:: Communicating with serial ports.
* Byte Packing:: Using bindat to pack and unpack binary data. * Byte Packing:: Using bindat to pack and unpack binary data.
@end menu @end menu

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/searching @setfilename ../../info/searching
@node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top @node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top
@ -609,8 +610,8 @@ maximum.
For example, @samp{c[ad]\@{1,2\@}r} matches the strings @samp{car}, For example, @samp{c[ad]\@{1,2\@}r} matches the strings @samp{car},
@samp{cdr}, @samp{caar}, @samp{cadr}, @samp{cdar}, and @samp{cddr}, and @samp{cdr}, @samp{caar}, @samp{cadr}, @samp{cdar}, and @samp{cddr}, and
nothing else.@* nothing else.@*
@samp{\@{0,1\@}} or @samp{\@{,1\@}} is equivalent to @samp{?}. @* @samp{\@{0,1\@}} or @samp{\@{,1\@}} is equivalent to @samp{?}.@*
@samp{\@{0,\@}} or @samp{\@{,\@}} is equivalent to @samp{*}. @* @samp{\@{0,\@}} or @samp{\@{,\@}} is equivalent to @samp{*}.@*
@samp{\@{1,\@}} is equivalent to @samp{+}. @samp{\@{1,\@}} is equivalent to @samp{+}.
@item \( @dots{} \) @item \( @dots{} \)

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/sequences @setfilename ../../info/sequences
@node Sequences Arrays Vectors, Hash Tables, Lists, Top @node Sequences Arrays Vectors, Hash Tables, Lists, Top

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/strings @setfilename ../../info/strings
@node Strings and Characters, Lists, Numbers, Top @node Strings and Characters, Lists, Numbers, Top

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/syntax @setfilename ../../info/syntax
@node Syntax Tables, Abbrevs, Searching and Matching, Top @node Syntax Tables, Abbrevs, Searching and Matching, Top

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/text @setfilename ../../info/text
@node Text, Non-ASCII Characters, Markers, Top @node Text, Non-ASCII Characters, Markers, Top
@ -1298,13 +1299,16 @@ This function places a boundary element in the undo list. The undo
command stops at such a boundary, and successive undo commands undo command stops at such a boundary, and successive undo commands undo
to earlier and earlier boundaries. This function returns @code{nil}. to earlier and earlier boundaries. This function returns @code{nil}.
The editor command loop automatically creates an undo boundary before The editor command loop automatically calls @code{undo-boundary} just
each key sequence is executed. Thus, each undo normally undoes the before executing each key sequence, so that each undo normally undoes
effects of one command. Self-inserting input characters are an the effects of one command. As an exception, the command
exception. The command loop makes a boundary for the first such @code{self-insert-command}, which produces self-inserting input
character; the next 19 consecutive self-inserting input characters do characters (@pxref{Commands for Insertion}), may remove the boundary
not make boundaries, and then the 20th does, and so on as long as inserted by the command loop: a boundary is accepted for the first
self-inserting characters continue. such character, the next 19 consecutive self-inserting input
characters do not have boundaries, and then the 20th does; and so on
as long as the self-inserting characters continue. Hence, sequences
of consecutive character insertions can be undone as a group.
All buffer modifications add a boundary whenever the previous undoable All buffer modifications add a boundary whenever the previous undoable
change was made in some other buffer. This is to ensure that change was made in some other buffer. This is to ensure that

View file

@ -1,7 +1,8 @@
@c -*-texinfo-*- @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual. @c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2001, 2002, @c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2001, 2002,
@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions. @c See the file elisp.texi for copying conditions.
@setfilename ../../info/tips @setfilename ../../info/tips
@node Tips, GNU Emacs Internals, GPL, Top @node Tips, GNU Emacs Internals, GPL, Top

View file

@ -1,3 +1,74 @@
2010-07-19 Juanma Barranquero <lekktu@gmail.com>
* org.texi: Fix typo in previous change (2010-07-19T09:47:27Z!carsten.dominik@gmail.com).
2010-07-19 Carsten Dominik <carsten.dominik@gmail.com>
* org.texi: Add macros to get plain quotes in PDF output.
List additional contributors.
(Capture): New section, replaces the section about remember.
(Working With Source Code): New chapter, focused on documenting Org
Babel.
(Code evaluation security): New section.
(MobileOrg): Document DropBox support.
(TaskJuggler export): Document taskjuggler and Gantt chart support.
(Special symbols): Show how to display UTF8 characters for entities.
(Global TODO list): Clarify the use of the "M" key and the differences
to the "m" key.
(RSS Feeds): Mention Atom feeds as well.
(Setting tags): Remove paragraph about
`org-complete-tags-always-offer-all-agenda-tags'.
2010-07-17 Michael Albinus <michael.albinus@gmx.de>
* tramp.texi (Inline methods): Remove remark about doubled "-t"
argument.
(Frequently Asked Questions): Recommend "sshx" and "scpx" for
echoing shells.
2010-07-10 Michael Albinus <michael.albinus@gmx.de>
* tramp.texi (Inline methods): Remove "kludgy" phrase.
(Filename Syntax): Describe port numbers.
2010-07-09 Michael Albinus <michael.albinus@gmx.de>
* dbus.texi (Top): Introduce Index. Emphasize "nil" whereever
forgotten.
(Type Conversion): Precise conversion of natural numbers.
(Errors and Events): Add "debugging" to concept index. Add variable
`dbus-debug'.
2010-07-04 Michael Albinus <michael.albinus@gmx.de>
* dbus.texi (Receiving Method Calls): Add optional argument
EMITS-SIGNAL to `dbus-register-property'.
2010-06-27 Alex Schroeder <alex@gnu.org>
* nxml-mode.texi (Commands for locating a schema): Fix typo.
2010-06-24 Glenn Morris <rgm@gnu.org>
* ada-mode.texi, auth.texi, autotype.texi, calc.texi, cc-mode.texi:
* dired-x.texi, ebrowse.texi, ede.texi, edt.texi, eieio.texi:
* emacs-mime.texi, epa.texi, erc.texi, eshell.texi, eudc.texi:
* flymake.texi, gnus.texi, info.texi, mairix-el.texi, message.texi:
* newsticker.texi, org.texi, pgg.texi, rcirc.texi, reftex.texi:
* remember.texi, sasl.texi, semantic.texi, ses.texi, smtpmail.texi:
* speedbar.texi, tramp.texi, url.texi, viper.texi, widget.texi:
* woman.texi: Start direntry descriptions in column 32, per Texinfo
convention. Make them end with a period.
2010-06-23 Glenn Morris <rgm@gnu.org>
* autotype.texi, cl.texi, dired-x.texi, ebrowse.texi, ede.texi:
* eieio.texi, epa.texi, faq.texi, flymake.texi, forms.texi:
* gnus-faq.texi, idlwave.texi, mh-e.texi, nxml-mode.texi, org.texi:
* pcl-cvs.texi, pgg.texi, reftex.texi, sasl.texi, sc.texi,
* sem-user.texi, semantic.texi, sieve.texi, smtpmail.texi,
* speedbar.texi, vip.texi, viper.texi, widget.texi: Untabify.
2010-06-10 Glenn Morris <rgm@gnu.org> 2010-06-10 Glenn Morris <rgm@gnu.org>
* idlwave.texi (Load-Path Shadows): * idlwave.texi (Load-Path Shadows):
@ -6451,10 +6522,6 @@
(INFO_TARGETS): Add ../info/cc-mode. (INFO_TARGETS): Add ../info/cc-mode.
(DVI_TARGETS): Add cc-mode.dvi. (DVI_TARGETS): Add cc-mode.dvi.
1996-05-25 Karl Heuer <kwzh@gnu.ai.mit.edu>
* Version 19.31 released.
1995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> 1995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
* Version 19.30 released. * Version 19.30 released.

View file

@ -3,8 +3,8 @@
@settitle Ada Mode @settitle Ada Mode
@copying @copying
Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document

View file

@ -10,8 +10,8 @@
@c @cindex autotypist @c @cindex autotypist
@copying @copying
Copyright @copyright{} 1994, 1995, 1999, 2001, 2002, 2003, 2004, Copyright @copyright{} 1994, 1995, 1999, 2001, 2002, 2003, 2004, 2005,
2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
@ -29,8 +29,8 @@ developing GNU and promoting software freedom.''
@dircategory Emacs @dircategory Emacs
@direntry @direntry
* Autotype: (autotype). Convenient features for text that you enter frequently * Autotype: (autotype). Convenient features for text that you
in Emacs. enter frequently in Emacs.
@end direntry @end direntry
@titlepage @titlepage

View file

@ -5,6 +5,9 @@
@c @setchapternewpage odd @c @setchapternewpage odd
@c %**end of header @c %**end of header
@syncodeindex vr cp
@syncodeindex fn cp
@copying @copying
Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
@ -51,6 +54,8 @@ another. An overview of D-Bus can be found at
* Receiving Method Calls:: Offering own methods. * Receiving Method Calls:: Offering own methods.
* Signals:: Sending and receiving signals. * Signals:: Sending and receiving signals.
* Errors and Events:: Errors and events. * Errors and Events:: Errors and events.
* Index:: Index including concepts, functions, variables.
* GNU Free Documentation License:: The license for this documentation. * GNU Free Documentation License:: The license for this documentation.
@end menu @end menu
@ -418,7 +423,8 @@ Example:
@result{} "/org/freedesktop/SystemToolsBackends/UsersConfig" @result{} "/org/freedesktop/SystemToolsBackends/UsersConfig"
@end lisp @end lisp
If @var{object} has no @var{attribute}, the function returns nil. If @var{object} has no @var{attribute}, the function returns
@code{nil}.
@end defun @end defun
@ -669,7 +675,7 @@ A @var{property} value can be retrieved by the function
@defun dbus-get-property bus service path interface property @defun dbus-get-property bus service path interface property
This function returns the value of @var{property} of @var{interface}. This function returns the value of @var{property} of @var{interface}.
It will be checked at @var{bus}, @var{service}, @var{path}. The It will be checked at @var{bus}, @var{service}, @var{path}. The
result can be any valid D-Bus value, or nil if there is no result can be any valid D-Bus value, or @code{nil} if there is no
@var{property}. Example: @var{property}. Example:
@lisp @lisp
@ -863,12 +869,12 @@ Lisp function call. The following mapping to D-Bus types is
applied, when the corresponding D-Bus message is created: applied, when the corresponding D-Bus message is created:
@example @example
@multitable {@code{t} and @code{nil}} {@expansion{}} {DBUS_TYPE_BOOLEAN} @multitable {negative integer} {@expansion{}} {DBUS_TYPE_BOOLEAN}
@item Lisp type @tab @tab D-Bus type @item Lisp type @tab @tab D-Bus type
@item @item
@item @code{t} and @code{nil} @tab @expansion{} @tab DBUS_TYPE_BOOLEAN @item @code{t} and @code{nil} @tab @expansion{} @tab DBUS_TYPE_BOOLEAN
@item number @tab @expansion{} @tab DBUS_TYPE_UINT32 @item natural number @tab @expansion{} @tab DBUS_TYPE_UINT32
@item integer @tab @expansion{} @tab DBUS_TYPE_INT32 @item negative integer @tab @expansion{} @tab DBUS_TYPE_INT32
@item float @tab @expansion{} @tab DBUS_TYPE_DOUBLE @item float @tab @expansion{} @tab DBUS_TYPE_DOUBLE
@item string @tab @expansion{} @tab DBUS_TYPE_STRING @item string @tab @expansion{} @tab DBUS_TYPE_STRING
@item list @tab @expansion{} @tab DBUS_TYPE_ARRAY @item list @tab @expansion{} @tab DBUS_TYPE_ARRAY
@ -889,19 +895,19 @@ types are represented by the type symbols @code{:byte},
Example: Example:
@lisp @lisp
(dbus-call-method @dots{} @var{NUMBER} @var{STRING}) (dbus-call-method @dots{} @var{NAT-NUMBER} @var{STRING})
@end lisp @end lisp
is equivalent to is equivalent to
@lisp @lisp
(dbus-call-method @dots{} :uint32 @var{NUMBER} :string @var{STRING}) (dbus-call-method @dots{} :uint32 @var{NAT-NUMBER} :string @var{STRING})
@end lisp @end lisp
but different to but different to
@lisp @lisp
(dbus-call-method @dots{} :int32 @var{NUMBER} :signature @var{STRING}) (dbus-call-method @dots{} :int32 @var{NAT-NUMBER} :signature @var{STRING})
@end lisp @end lisp
The value for a byte D-Bus type can be any integer in the range 0 The value for a byte D-Bus type can be any integer in the range 0
@ -994,17 +1000,17 @@ Output parameters of D-Bus methods and signals are mapped to Lisp
objects. objects.
@example @example
@multitable {DBUS_TYPE_OBJECT_PATH} {@expansion{}} {@code{t} or @code{nil}} @multitable {DBUS_TYPE_OBJECT_PATH} {@expansion{}} {natural number or float}
@item D-Bus type @tab @tab Lisp type @item D-Bus type @tab @tab Lisp type
@item @item
@item DBUS_TYPE_BOOLEAN @tab @expansion{} @tab @code{t} or @code{nil} @item DBUS_TYPE_BOOLEAN @tab @expansion{} @tab @code{t} or @code{nil}
@item DBUS_TYPE_BYTE @tab @expansion{} @tab number @item DBUS_TYPE_BYTE @tab @expansion{} @tab natural number
@item DBUS_TYPE_UINT16 @tab @expansion{} @tab number @item DBUS_TYPE_UINT16 @tab @expansion{} @tab natural number
@item DBUS_TYPE_INT16 @tab @expansion{} @tab number @item DBUS_TYPE_INT16 @tab @expansion{} @tab integer
@item DBUS_TYPE_UINT32 @tab @expansion{} @tab number or float @item DBUS_TYPE_UINT32 @tab @expansion{} @tab natural number or float
@item DBUS_TYPE_INT32 @tab @expansion{} @tab number or float @item DBUS_TYPE_INT32 @tab @expansion{} @tab integer or float
@item DBUS_TYPE_UINT64 @tab @expansion{} @tab number or float @item DBUS_TYPE_UINT64 @tab @expansion{} @tab natural number or float
@item DBUS_TYPE_INT64 @tab @expansion{} @tab number or float @item DBUS_TYPE_INT64 @tab @expansion{} @tab integer or float
@item DBUS_TYPE_DOUBLE @tab @expansion{} @tab float @item DBUS_TYPE_DOUBLE @tab @expansion{} @tab float
@item DBUS_TYPE_STRING @tab @expansion{} @tab string @item DBUS_TYPE_STRING @tab @expansion{} @tab string
@item DBUS_TYPE_OBJECT_PATH @tab @expansion{} @tab string @item DBUS_TYPE_OBJECT_PATH @tab @expansion{} @tab string
@ -1030,7 +1036,7 @@ The signal @code{PropertyModified}, discussed as example in
(@var{BOOL} stands here for either @code{nil} or @code{t}): (@var{BOOL} stands here for either @code{nil} or @code{t}):
@lisp @lisp
(@var{NUMBER} ((@var{STRING} @var{BOOL} @var{BOOL}) (@var{STRING} @var{BOOL} @var{BOOL}) @dots{})) (@var{INTEGER} ((@var{STRING} @var{BOOL} @var{BOOL}) (@var{STRING} @var{BOOL} @var{BOOL}) @dots{}))
@end lisp @end lisp
@defun dbus-byte-array-to-string byte-array @defun dbus-byte-array-to-string byte-array
@ -1359,7 +1365,7 @@ The test runs then
@end example @end example
@end defun @end defun
@defun dbus-register-property bus service path interface property access value @defun dbus-register-property bus service path interface property access value &optional emits-signal
With this function, an application declares a @var{property} on the D-Bus With this function, an application declares a @var{property} on the D-Bus
@var{bus}. @var{bus}.
@ -1387,7 +1393,12 @@ only way to change their values. Properties with access type
The interface @samp{org.freedesktop.DBus.Properties} is added to The interface @samp{org.freedesktop.DBus.Properties} is added to
@var{path}, including a default handler for the @samp{Get}, @var{path}, including a default handler for the @samp{Get},
@samp{GetAll} and @samp{Set} methods of this interface. Example: @samp{GetAll} and @samp{Set} methods of this interface. When
@var{emits-signal} is non-@code{nil}, the signal
@samp{PropertiesChanged} is sent when the property is changed by
@code{dbus-set-property}.
@noindent Example:
@lisp @lisp
(dbus-register-property (dbus-register-property
@ -1399,7 +1410,7 @@ The interface @samp{org.freedesktop.DBus.Properties} is added to
(dbus-register-property (dbus-register-property
:session "org.freedesktop.TextEditor" "/org/freedesktop/TextEditor" :session "org.freedesktop.TextEditor" "/org/freedesktop/TextEditor"
"org.freedesktop.TextEditor" "version" :readwrite emacs-version) "org.freedesktop.TextEditor" "version" :readwrite emacs-version t)
@result{} ((:session "org.freedesktop.TextEditor" "version") @result{} ((:session "org.freedesktop.TextEditor" "version")
("org.freedesktop.TextEditor" "/org/freedesktop/TextEditor")) ("org.freedesktop.TextEditor" "/org/freedesktop/TextEditor"))
@ -1570,9 +1581,16 @@ which objects the GNU/Linux @code{hal} daemon adds.
@node Errors and Events @node Errors and Events
@chapter Errors and events. @chapter Errors and events.
@cindex debugging
@cindex errors @cindex errors
@cindex events @cindex events
The internal actions can be traced by running in a debug mode.
@defvar dbus-debug
If this variable is non-@code{nil}, D-Bus specific debug messages are raised.
@end defvar
Input parameters of @code{dbus-call-method}, Input parameters of @code{dbus-call-method},
@code{dbus-call-method-non-blocking}, @code{dbus-call-method-non-blocking},
@code{dbus-call-method-asynchronously}, and @code{dbus-call-method-asynchronously}, and
@ -1587,8 +1605,7 @@ appended to the @code{dbus-error}.
@defspec dbus-ignore-errors forms@dots{} @defspec dbus-ignore-errors forms@dots{}
This executes @var{forms} exactly like a @code{progn}, except that This executes @var{forms} exactly like a @code{progn}, except that
@code{dbus-error} errors are ignored during the @var{forms}. These @code{dbus-error} errors are ignored during the @var{forms}. These
errors can be made visible when variable @code{dbus-debug} is set to errors can be made visible when @code{dbus-debug} is set to @code{t}.
@code{t}.
@end defspec @end defspec
Incoming D-Bus messages are handled as Emacs events, see @pxref{Misc Incoming D-Bus messages are handled as Emacs events, see @pxref{Misc
@ -1636,12 +1653,12 @@ The result is either the symbol @code{:system} or the symbol @code{:session}.
@defun dbus-event-message-type event @defun dbus-event-message-type event
Returns the message type of the corresponding D-Bus message. The Returns the message type of the corresponding D-Bus message. The
result is a number. result is a natural number.
@end defun @end defun
@defun dbus-event-serial-number event @defun dbus-event-serial-number event
Returns the serial number of the corresponding D-Bus message. Returns the serial number of the corresponding D-Bus message.
The result is a number. The result is a natural number.
@end defun @end defun
@defun dbus-event-service-name event @defun dbus-event-service-name event
@ -1691,6 +1708,12 @@ D-Bus applications running. Therefore, they shall check carefully,
whether a given D-Bus error is related to them. whether a given D-Bus error is related to them.
@node Index
@unnumbered Index
@printindex cp
@node GNU Free Documentation License @node GNU Free Documentation License
@appendix GNU Free Documentation License @appendix GNU Free Documentation License
@include doclicense.texi @include doclicense.texi

View file

@ -634,8 +634,6 @@ Here is an example of a tree buffer with file names displayed.
@end example @end example
@node Expanding and Collapsing, Tree Indentation, File Name Display, Tree Buffers @node Expanding and Collapsing, Tree Indentation, File Name Display, Tree Buffers
@comment node-name, next, previous, up @comment node-name, next, previous, up
@section Expanding and Collapsing a Tree @section Expanding and Collapsing a Tree

View file

@ -5,8 +5,8 @@
@copying @copying
This file describes EDE, the Emacs Development Environment. This file describes EDE, the Emacs Development Environment.
Copyright @copyright{} 1998, 1999, 2000, 2001, 2004, 2005, 2008, 2009, 2010 Copyright @copyright{} 1998, 1999, 2000, 2001, 2004, 2005, 2008, 2009,
Free Software Foundation, Inc. 2010 Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
@ -24,7 +24,7 @@ developing GNU and promoting software freedom.''
@dircategory Emacs @dircategory Emacs
@direntry @direntry
* ede: (ede). Project management for Emacs * ede: (ede). Project management for Emacs.
@end direntry @end direntry
@titlepage @titlepage

View file

@ -29,7 +29,7 @@ developing GNU and promoting software freedom.''
@dircategory Emacs @dircategory Emacs
@direntry @direntry
* eieio: (eieio). Objects for Emacs * eieio: (eieio). Objects for Emacs.
@end direntry @end direntry
@titlepage @titlepage

View file

@ -8,7 +8,8 @@
@copying @copying
This manual is for ERC version 5.3. This manual is for ERC version 5.3.
Copyright @copyright{} 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Copyright @copyright{} 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
@ -29,7 +30,7 @@ and modified without restriction.
@dircategory Emacs @dircategory Emacs
@direntry @direntry
* ERC: (erc). Powerful, modular, and extensible IRC client for Emacs. * ERC: (erc). Powerful and extensible IRC client for Emacs.
@end direntry @end direntry
@titlepage @titlepage

View file

@ -8,8 +8,8 @@
@copying @copying
This manual is for Eshell, the Emacs shell. This manual is for Eshell, the Emacs shell.
Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document

View file

@ -31,7 +31,7 @@ developing GNU and promoting software freedom.''
@dircategory Emacs @dircategory Emacs
@direntry @direntry
* EUDC: (eudc). An Emacs client for directory servers (LDAP, PH). * EUDC: (eudc). Emacs client for directory servers (LDAP, PH).
@end direntry @end direntry
@footnotestyle end @footnotestyle end

View file

@ -11,8 +11,8 @@
This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}), This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}),
which is a universal on-the-fly syntax checker for GNU Emacs. which is a universal on-the-fly syntax checker for GNU Emacs.
Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010
Foundation, Inc. Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document

View file

@ -1,8 +1,8 @@
@c \input texinfo @c -*-texinfo-*- @c \input texinfo @c -*-texinfo-*-
@c Uncomment 1st line before texing this file alone. @c Uncomment 1st line before texing this file alone.
@c %**start of header @c %**start of header
@c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, @c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
@c 2008, 2009, 2010 Free Software Foundation, Inc. @c 2009, 2010 Free Software Foundation, Inc.
@c @c
@c Do not modify this file, it was generated from gnus-faq.xml, available from @c Do not modify this file, it was generated from gnus-faq.xml, available from
@c <URL:http://my.gnus.org/FAQ/>. @c <URL:http://my.gnus.org/FAQ/>.

View file

@ -27,7 +27,8 @@ developing GNU and promoting software freedom.''
@dircategory Emacs @dircategory Emacs
@direntry @direntry
* Message: (message). Mail and news composition mode that goes with Gnus. * Message: (message). Mail and news composition mode that
goes with Gnus.
@end direntry @end direntry
@iftex @iftex
@finalout @finalout

View file

@ -24,8 +24,8 @@
This is version @value{VERSION}@value{EDITION} of @cite{The MH-E This is version @value{VERSION}@value{EDITION} of @cite{The MH-E
Manual}, last updated @value{UPDATED}. Manual}, last updated @value{UPDATED}.
Copyright @copyright{} 1995, 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010 Copyright @copyright{} 1995, 2001, 2002, 2003, 2005, 2006, 2007, 2008,
Free Software Foundation, Inc. 2009, 2010 Free Software Foundation, Inc.
@c This dual license has been agreed upon by the FSF. @c This dual license has been agreed upon by the FSF.

View file

@ -520,7 +520,7 @@ enough.
If you want to use a schema that has not yet been added to the If you want to use a schema that has not yet been added to the
schema locating files, you can use the command @kbd{C-c C-s C-f} schema locating files, you can use the command @kbd{C-c C-s C-f}
to manually select the file contaiing the schema for the document in to manually select the file containing the schema for the document in
current buffer. Emacs will read the file-name of the schema from the current buffer. Emacs will read the file-name of the schema from the
minibuffer. After reading the file-name, Emacs will ask whether you minibuffer. After reading the file-name, Emacs will ask whether you
wish to add a rule to a schema locating file that persistently wish to add a rule to a schema locating file that persistently

File diff suppressed because it is too large Load diff

View file

@ -8,8 +8,8 @@
This file describes PGG @value{VERSION}, an Emacs interface to various This file describes PGG @value{VERSION}, an Emacs interface to various
PGP implementations. PGP implementations.
Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
Free Software Foundation, Inc. 2010 Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document

View file

@ -5,7 +5,8 @@
@c %**end of header @c %**end of header
@copying @copying
Copyright @copyright{} 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Copyright @copyright{} 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document

View file

@ -46,7 +46,8 @@ developing GNU and promoting software freedom.''
@dircategory Emacs @dircategory Emacs
@direntry @direntry
* RefTeX: (reftex). Emacs support for LaTeX cross-references and citations. * RefTeX: (reftex). Emacs support for LaTeX cross-references
and citations.
@end direntry @end direntry
@finalout @finalout

View file

@ -27,7 +27,7 @@ developing GNU and promoting software freedom.''
@dircategory Emacs @dircategory Emacs
@direntry @direntry
* Remember: (remember). Simple information manager for Emacs * Remember: (remember). Simple information manager for Emacs.
@end direntry @end direntry
@titlepage @titlepage

View file

@ -35,8 +35,8 @@ developing GNU and promoting software freedom.''
@dircategory Emacs @dircategory Emacs
@direntry @direntry
* SC: (sc). Supercite lets you cite parts of messages you're * SC: (sc). Supercite lets you cite parts of messages
replying to, in flexible ways. you're replying to, in flexible ways.
@end direntry @end direntry
@titlepage @titlepage

View file

@ -1,7 +1,7 @@
@c This file is included by semantic.texi @c This file is included by semantic.texi
@c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010 @c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009,
@c Free Software Foundation, Inc. @c 2010 Free Software Foundation, Inc.
@c Permission is granted to copy, distribute and/or modify this @c Permission is granted to copy, distribute and/or modify this
@c document under the terms of the GNU Free Documentation License, @c document under the terms of the GNU Free Documentation License,

View file

@ -11,8 +11,8 @@
@copying @copying
This file documents SES: the Simple Emacs Spreadsheet. This file documents SES: the Simple Emacs Spreadsheet.
Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
Free Software Foundation, Inc. 2010 Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
@ -30,7 +30,7 @@ developing GNU and promoting software freedom.''
@dircategory Emacs @dircategory Emacs
@direntry @direntry
* SES: (ses). Simple Emacs Spreadsheet * SES: (ses). Simple Emacs Spreadsheet.
@end direntry @end direntry
@finalout @finalout

View file

@ -8,8 +8,8 @@
@copying @copying
This file documents the Emacs Sieve package, for server-side mail filtering. This file documents the Emacs Sieve package, for server-side mail filtering.
Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
Free Software Foundation, Inc. 2009, 2010 Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document

View file

@ -629,11 +629,11 @@ Two other variants, @option{ssh1_old} and @option{ssh2_old}, use the
@command{ssh1} and @command{ssh2} commands explicitly. If you don't @command{ssh1} and @command{ssh2} commands explicitly. If you don't
know what these are, you do not need these options. know what these are, you do not need these options.
All the methods based on @command{ssh} have an additional kludgy All the methods based on @command{ssh} have an additional feature: you
feature: you can specify a host name which looks like @file{host#42} can specify a host name which looks like @file{host#42} (the real host
(the real host name, then a hash sign, then a port number). This name, then a hash sign, then a port number). This means to connect to
means to connect to the given host but to also pass @code{-p 42} as the given host but to also pass @code{-p 42} as arguments to the
arguments to the @command{ssh} command. @command{ssh} command.
@item @option{telnet} @item @option{telnet}
@ -693,8 +693,6 @@ This is also useful for Windows users where @command{ssh}, when
invoked from an @value{emacsname} buffer, tells them that it is not invoked from an @value{emacsname} buffer, tells them that it is not
allocating a pseudo tty. When this happens, the login shell is wont allocating a pseudo tty. When this happens, the login shell is wont
to not print any shell prompt, which confuses @value{tramp} mightily. to not print any shell prompt, which confuses @value{tramp} mightily.
For reasons unknown, some Windows ports for @command{ssh} require the
doubled @samp{-t} option.
This supports the @samp{-p} argument. This supports the @samp{-p} argument.
@ -2310,6 +2308,11 @@ using the @option{ssh} method to transfer files, and edit
@file{.emacs} in my home directory I would specify the filename @file{.emacs} in my home directory I would specify the filename
@file{@trampfn{ssh, daniel, melancholia, .emacs}}. @file{@trampfn{ssh, daniel, melancholia, .emacs}}.
Finally, for some methods it is possible to specify a different port
number than the default one, given by the method. This is specified
by adding @file{#<port>} to the host name, like in @file{@trampfn{ssh,
daniel, melancholia#42, .emacs}}.
@node Alternative Syntax @node Alternative Syntax
@section URL-like filename syntax @section URL-like filename syntax
@ -2798,7 +2801,7 @@ increase this level only temporarily, hunting bugs.
@item @item
@value{tramp} does not connect to the remote host @value{tramp} does not connect to the remote host
When @value{tramp} does not connect to the remote host, there are two When @value{tramp} does not connect to the remote host, there are three
reasons heading the bug mailing list: reasons heading the bug mailing list:
@itemize @minus @itemize @minus
@ -2832,6 +2835,17 @@ the following command:
[ $TERM = "dumb" ] && unsetopt zle && PS1='$ ' [ $TERM = "dumb" ] && unsetopt zle && PS1='$ '
@end example @end example
@item
Echoed characters after login
When the remote machine opens an echoing shell, there might be control
characters in the welcome message. @value{tramp} tries to suppress
such echoes via the @code{stty -echo} command, but sometimes this
command is not reached, because the echoed output has confused
@value{tramp} already. In such situations it might be helpful to use
the @option{sshx} or @option{scpx} methods, which allocate a pseudo tty.
@xref{Inline methods}.
@item @item
@value{tramp} doesn't transfer strings with more than 500 characters @value{tramp} doesn't transfer strings with more than 500 characters
correctly correctly

View file

@ -3,8 +3,8 @@
@settitle VIP @settitle VIP
@copying @copying
Copyright @copyright{} 1987, 2001, 2002, 2003, 2004, Copyright @copyright{} 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 2008, 2009, 2010 Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document

View file

@ -8,8 +8,8 @@
@c %**end of header @c %**end of header
@copying @copying
Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005, Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 2008, 2009, 2010 Free Software Foundation, Inc.
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
@ -27,8 +27,8 @@ developing GNU and promoting software freedom.''
@dircategory Emacs @dircategory Emacs
@direntry @direntry
* Widget: (widget). The "widget" package used by the Emacs Customization * Widget: (widget). The "widget" package used by the Emacs
facility. Customization facility.
@end direntry @end direntry
@contents @contents

View file

@ -4,7 +4,7 @@
@settitle WoMan: Browse Unix Manual Pages ``W.O. (without) Man'' @settitle WoMan: Browse Unix Manual Pages ``W.O. (without) Man''
@c FIXME @c FIXME
@c Manual last updated: @c Manual last updated:
@set UPDATED Time-stamp: <Sat 16-Jan-2010 19:18:43 gm on grasmoor> @set UPDATED Time-stamp: <Thu 24-Jun-2010 00:06:54 gm on grasmoor>
@c Software version: @c Software version:
@set VERSION 0.54 (beta) @set VERSION 0.54 (beta)
@afourpaper @afourpaper

View file

@ -1,3 +1,21 @@
2010-07-20 Juanma Barranquero <lekktu@gmail.com>
* PROBLEMS: Add note about use of backslashes in Windows paths.
2010-07-19 Juanma Barranquero <lekktu@gmail.com>
* NEWS: Mention --enable-checking is now supported on Windows.
2010-07-19 Carsten Dominik <carsten.dominik@gmail.com>
* refcards/orgcard.tex: Remove the key for the TODO sparse tree
and add the new key. Document new keys for image and entity
display. Document the Org Babel keys.
2010-06-19 Ken Brown <kbrown@cornell.edu>
* PROBLEMS: Update Cygwin GCC information. (Bug#6458)
2010-06-12 Glenn Morris <rgm@gnu.org> 2010-06-12 Glenn Morris <rgm@gnu.org>
* tutorials/TUTORIAL.bg, tutorials/TUTORIAL.es: Fix typos. * tutorials/TUTORIAL.bg, tutorials/TUTORIAL.es: Fix typos.

View file

@ -5,9 +5,8 @@ Copyright (C) 1985, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
See the end of the file for license conditions. See the end of the file for license conditions.
[People who debug Emacs on Windows using Microsoft debuggers [People who debug Emacs on Windows using Microsoft debuggers should
should read the Windows-specific section near the end of this read the Windows-specific section near the end of this document.]
document.]
** When you debug Emacs with GDB, you should start it in the directory ** When you debug Emacs with GDB, you should start it in the directory
where the executable was made. That directory has a .gdbinit file where the executable was made. That directory has a .gdbinit file
@ -50,8 +49,7 @@ On modern POSIX systems, you can override that with this command:
handle SIGINT stop nopass handle SIGINT stop nopass
After this `handle' command, SIGINT will return control to GDB. If After this `handle' command, SIGINT will return control to GDB. If
you want the C-g to cause a QUIT within Emacs as well, omit the you want the C-g to cause a QUIT within Emacs as well, omit the `nopass'.
`nopass'.
A technique that can work when `handle SIGINT' does not is to store A technique that can work when `handle SIGINT' does not is to store
the code for some character into the variable stop_character. Thus, the code for some character into the variable stop_character. Thus,
@ -443,10 +441,9 @@ It is necessary to refer to the file `nmout' to convert
numeric addresses into symbols and vice versa. numeric addresses into symbols and vice versa.
It is useful to be running under a window system. It is useful to be running under a window system.
Then, if Emacs becomes hopelessly wedged, you can create Then, if Emacs becomes hopelessly wedged, you can create another
another window to do kill -9 in. kill -ILL is often window to do kill -9 in. kill -ILL is often useful too, since that
useful too, since that may make Emacs dump core or return may make Emacs dump core or return to adb.
to adb.
** Debugging incorrect screen updating. ** Debugging incorrect screen updating.
@ -483,16 +480,14 @@ suitable for Unix and GNU systems, to build such a debugging version:
Building Emacs like that activates many assertions which scrutinize Building Emacs like that activates many assertions which scrutinize
display code operation more than Emacs does normally. (To see the display code operation more than Emacs does normally. (To see the
code which tests these assertions, look for calls to the `xassert' code which tests these assertions, look for calls to the `xassert'
macros.) Any assertion that is reported to fail should be macros.) Any assertion that is reported to fail should be investigated.
investigated.
Building with GLYPH_DEBUG defined also defines several helper Building with GLYPH_DEBUG defined also defines several helper
functions which can help debugging display code. One such function is functions which can help debugging display code. One such function is
`dump_glyph_matrix'. If you run Emacs under GDB, you can print the `dump_glyph_matrix'. If you run Emacs under GDB, you can print the
contents of any glyph matrix by just calling that function with the contents of any glyph matrix by just calling that function with the
matrix as its argument. For example, the following command will print matrix as its argument. For example, the following command will print
the contents of the current matrix of the window whose pointer is in the contents of the current matrix of the window whose pointer is in `w':
`w':
(gdb) p dump_glyph_matrix (w->current_matrix, 2) (gdb) p dump_glyph_matrix (w->current_matrix, 2)
@ -621,13 +616,9 @@ Emacs compiled with such packages might not run without some hacking,
because Emacs replaces the system's memory allocation functions with because Emacs replaces the system's memory allocation functions with
its own versions, and because the dumping process might be its own versions, and because the dumping process might be
incompatible with the way these packages use to track allocated incompatible with the way these packages use to track allocated
memory. Here are some of the changes you might find necessary memory. Here are some of the changes you might find necessary:
(SYSTEM-NAME and MACHINE-NAME are the names of your OS- and
CPU-specific headers in the subdirectories of `src'):
- In src/s/SYSTEM-NAME.h add "#define SYSTEM_MALLOC". - Edit configure, to set system_malloc and CANNOT_DUMP to "yes".
- In src/m/MACHINE-NAME.h add "#define CANNOT_DUMP"
- Configure with a different --prefix= option. If you use GCC, - Configure with a different --prefix= option. If you use GCC,
version 2.7.2 is preferred, as some malloc debugging packages version 2.7.2 is preferred, as some malloc debugging packages

128
etc/NEWS
View file

@ -41,6 +41,16 @@ lib-src/Makefile by hand in order to use the associated features.
** There is a new configure option --with-crt-dir. ** There is a new configure option --with-crt-dir.
This is only useful if your crt*.o files are in a non-standard location. This is only useful if your crt*.o files are in a non-standard location.
---
** Emacs can be compiled against Gtk+ 3.0 if you pass --with-x-toolkit=gtk3
to configure. Note that other libraries used by Emacs, RSVG and GConf,
also depend on Gtk+. You can disable them with --without-rsvg and
--without-gconf.
** There is a new configure option --enable-use-lisp-union-type.
This is only useful for Emacs developers to debug certain types of bugs.
These is not a new feature; only the configure flag is new.
* Startup Changes in Emacs 24.1 * Startup Changes in Emacs 24.1
@ -144,6 +154,41 @@ loaded, customize `package-load-list'.
** completion-at-point is now an alias for complete-symbol. ** completion-at-point is now an alias for complete-symbol.
** mouse-region-delete-keys has been deleted. ** mouse-region-delete-keys has been deleted.
** Deletion changes
*** New option `delete-active-region'.
If non-nil, C-d, [delete], and DEL delete the region if it is active
and no prefix argument is given. If set to `kill', these commands
kill instead.
*** New command `delete-forward-char', bound to C-d and [delete].
This is meant for interactive use, and obeys `delete-active-region';
delete-char, meant for Lisp, does not obey `delete-active-region'.
*** `delete-backward-char' is now a Lisp function.
Apart from obeying `delete-active-region', its behavior is unchanged.
However, the byte compiler now warns if it is called from Lisp; you
should use delete-char with a negative argument instead.
*** The option `mouse-region-delete-keys' has been deleted.
** Selection changes.
The way Emacs interacts with the clipboard and primary selection, by
default, is now similar to other X applications. In particular, kill
and yank use the clipboard, in addition to the primary selection.
*** `select-active-regions' now defaults to t.
*** `x-select-enable-clipboard' now defaults to t.
*** `x-select-enable-primary' now defaults to nil.
*** `mouse-drag-copy-region' now defaults to nil.
*** `mouse-2' is now bound to `mouse-yank-primary'.
* Changes in Specialized Modes and Packages in Emacs 24.1 * Changes in Specialized Modes and Packages in Emacs 24.1
@ -211,9 +256,9 @@ For example, adding "(diff-mode . ((mode . whitespace)))" to your
** SQL Mode enhancements. ** SQL Mode enhancements.
*** Several variables have been marked as safe local variables. *** Several variables have been marked as safe local variables. The
The variables `sql-product', `sql-user', `sql-server', and variables `sql-product', `sql-user', `sql-server', `sql-database' and
`sql-database' can now be safely used as local variables. `sql-port' can now be safely used as local variables.
*** Added ability to login with a port on MySQL. *** Added ability to login with a port on MySQL.
The custom variable `sql-port' can be specified for connection to The custom variable `sql-port' can be specified for connection to
@ -224,15 +269,69 @@ Each supported product has a custom variable `sql-*-login-params'
which is a list of the parameters to be prompted for before a which is a list of the parameters to be prompted for before a
connection is established. connection is established.
By default, the value of the parameter is simply prompted for. For
`server' and `database', they can be specified in a list as shown
below:
(server :file ARG)
(database :file ARG)
(server :completion ARG)
(database :completion ARG)
The ARG when :file is specified is a regexp that will match valid file
names (without the directory portion). Generally these strings will
be of the form ".+\.SUF" where SUF is the desired file suffix.
When :completion is specified, the ARG corresponds to the PREDICATE
argument to the `completing-read' function.
*** Added `sql-connection-alist' to record login parameter values.
An alist for recording different username, database and server
values. If there are multiple databases that you connect to the
parameters needed can be stored in this alist.
For example, the following might be set in the user's init.el:
(setq sql-connection-alist
'((dev (sql-product 'sqlite)
(sql-database "/home/mmaug/dev.db"))
(prd (sql-product 'oracle)
(sql-user "mmaug")
(sql-database "iprd2a"))))
This defines two connections named "dev" and "prd".
*** Added `sql-connect' to use predefined connections.
Sets the login parameters based on the values in the
`sql-connection-alist' and start a SQL interactive session. Any
values specified in the connection will not be prompted for.
In the example above, if the user were to invoke M-x sql-connect, they
would be prompted for the connection. The user can respond with
either "dev" or "prd". The "dev" connection would connect to the
SQLite database without prompting; the "prd" connection would prompt
for the users password and then connect to the Oracle database.
**** Added SQL->Start... submenu when connections are defined.
When connections have been defined, There is a submenu available that
allows the user to select one to start a SQLi session. The "Start
SQLi Session" item moves to the "Start..." submenu when cnnections
have been defined.
**** Added "Save Connection" menu item in SQLi buffers.
When a SQLi session is not started by a connection then
`sql-save-connection' will gather the login params specified for the
session and save them as a new connection.
*** Added option `sql-send-terminator'. *** Added option `sql-send-terminator'.
When set makes sure that each command sent with `sql-send-*' commands When set makes sure that each command sent with `sql-send-*' commands
are properly terminated and submitted to the SQL processor. are properly terminated and submitted to the SQL processor.
*** Added option `sql-oracle-scan-on'. *** Added option `sql-oracle-scan-on'.
When set commands sent to Oracle's SQL*Plus are scanned for strings When set commands sent to Oracle's SQL*Plus are scanned for strings
starting with an ampersand and the user is asked for replacement starting with an ampersand and the user is asked for replacement text.
text. In general, the SQL*Plus option SCAN should be set OFF under In general, the SQL*Plus option SCAN should always be set OFF under
SQL interactive mode. SQL interactive mode and this option used in its place.
*** SQL interactive mode will replace tabs with spaces. *** SQL interactive mode will replace tabs with spaces.
This prevents the comand interpretter for MySQL and Postgres from This prevents the comand interpretter for MySQL and Postgres from
@ -275,6 +374,20 @@ programmer-visible consequences.
** Passing a nil argument to a minor mode function now turns the mode ** Passing a nil argument to a minor mode function now turns the mode
ON unconditionally. ON unconditionally.
** During startup, Emacs no longer adds entries for `menu-bar-lines'
and `tool-bar-lines' to `default-frame-alist' and
`initial-frame-alist'. With these alist entries omitted, `make-frame'
checks the value of the variable `menu-bar-mode'/`tool-bar-mode' to
determine whether to create a menu-bar or tool-bar, respectively.
If the alist entries are added, they override the value of
`menu-bar-mode'/`tool-bar-mode'.
** Regions created by mouse dragging are now normal active regions,
similar to the ones created by shift-selection. In previous Emacs
versions, these regions were delineated by `mouse-drag-overlay', which
has now been removed.
* Lisp changes in Emacs 24.1 * Lisp changes in Emacs 24.1
@ -316,6 +429,9 @@ displayed with a "spinning bar".
* Changes in Emacs 24.1 on non-free operating systems * Changes in Emacs 24.1 on non-free operating systems
** New configure.bat option --enable-checking builds emacs with extra
runtime checks.
---------------------------------------------------------------------- ----------------------------------------------------------------------
This file is part of GNU Emacs. This file is part of GNU Emacs.

View file

@ -2339,17 +2339,10 @@ files are installed. Then use:
(using the location of the 32-bit X libraries on your system). (using the location of the 32-bit X libraries on your system).
*** Building the Cygwin port for MS-Windows can fail with some GCC versions *** Building Emacs for Cygwin can fail with GCC 3
Building Emacs 22 with Cygwin builds of GCC 3.4.4-1 and 3.4.4-2 is As of Emacs 22.1, there have been stability problems with Cygwin
reported to either fail or cause Emacs to segfault at run time. In builds of Emacs using GCC 3. Cygwin users are advised to use GCC 4.
addition, the Cygwin GCC 3.4.4-2 has problems with generating debug
info. Cygwin users are advised not to use these versions of GCC for
compiling Emacs. GCC versions 4.0.3, 4.0.4, 4.1.1, and 4.1.2
reportedly build a working Cygwin binary of Emacs, so we recommend
these GCC versions. Note that these versions of GCC, 4.0.3, 4.0.4,
4.1.1, and 4.1.2, are currently the _only_ versions known to succeed
in building Emacs (as of v22.1).
*** Building the native MS-Windows port fails due to unresolved externals *** Building the native MS-Windows port fails due to unresolved externals
@ -2440,6 +2433,20 @@ several workarounds for this problem:
2. Install the latest Windows SDK. 2. Install the latest Windows SDK.
3. Replace emacs.ico with an older or edited icon. 3. Replace emacs.ico with an older or edited icon.
*** Building the MS-Windows port complains about unknown escape sequences.
Errors and warnings can look like this:
w32.c:1959:27: error: \x used with no following hex digits
w32.c:1959:27: warning: unknown escape sequence '\i'
This happens when paths using backslashes are passed to the compiler or
linker (via -I and possibly other compiler flags); when these paths are
included in source code, the backslashes are interpreted as escape sequences.
See http://lists.gnu.org/archive/html/emacs-devel/2010-07/msg00995.html
The fix is to use forward slashes in all paths passed to the compiler.
** Linking ** Linking
*** Building Emacs with a system compiler fails to link because of an *** Building Emacs with a system compiler fails to link because of an

View file

@ -93,6 +93,55 @@ symbol: comma
"foo.adb", line 2(11): warning: file name does not match ... "foo.adb", line 2(11): warning: file name does not match ...
"src/swapping.c", line 30.34: 1506-342 (W) "/*" detected in comment. "src/swapping.c", line 30.34: 1506-342 (W) "/*" detected in comment.
* Cucumber
symbol: cucumber
Feature: This is an example for backtrace.
Scenario: undefined step # features/cucumber.feature:3
Given this is undefined # features/cucumber.feature:4
Scenario: assertion false (Test::Unit) # features/cucumber.feature:6
Given this will generate 'assert false' # features/step_definitions/default_steps.rb:1
<false> is not true. (Test::Unit::AssertionFailedError)
/home/gusev/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/1.8/test/unit/assertions.rb:48:in `assert_block'
/home/gusev/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/1.8/test/unit/assertions.rb:500:in `_wrap_assertion'
/home/gusev/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/1.8/test/unit/assertions.rb:46:in `assert_block'
/home/gusev/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/1.8/test/unit/assertions.rb:63:in `assert'
/home/gusev/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/1.8/test/unit/assertions.rb:495:in `_wrap_assertion'
/home/gusev/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/1.8/test/unit/assertions.rb:61:in `assert'
./features/step_definitions/default_steps.rb:2:in `/^this will generate 'assert false'$/'
features/cucumber.feature:7:in `Given this will generate 'assert false''
Scenario: assertion false (RSpec) # features/cucumber.feature:9
Given this will generate 'should be_true' # features/step_definitions/default_steps.rb:5
expected true to be false (Spec::Expectations::ExpectationNotMetError)
./features/step_definitions/default_steps.rb:6:in `/^this will generate 'should be_true'$/'
features/cucumber.feature:10:in `Given this will generate 'should be_true''
Scenario: backtrace in step definition # features/cucumber.feature:12
Given this will generate backtrace # features/step_definitions/default_steps.rb:9
(RuntimeError)
./features/step_definitions/default_steps.rb:10:in `/^this will generate backtrace$/'
features/cucumber.feature:13:in `Given this will generate backtrace'
Scenario: deeep backtrace in step definition # features/cucumber.feature:15
Given this will generate deep backtrace # features/step_definitions/default_steps.rb:13
(RuntimeError)
./features/step_definitions/default_steps.rb:18:in `deep'
./features/step_definitions/default_steps.rb:14:in `/^this will generate deep backtrace$/'
features/cucumber.feature:16:in `Given this will generate deep backtrace'
Failing Scenarios:
cucumber features/cucumber.feature:6 # Scenario: assertion false (Test::Unit)
cucumber features/cucumber.feature:9 # Scenario: assertion false (RSpec)
cucumber features/cucumber.feature:12 # Scenario: backtrace in step definition
cucumber features/cucumber.feature:15 # Scenario: deeep backtrace in step definition
5 scenarios (4 failed, 1 undefined)
5 steps (4 failed, 1 undefined)
0m0.007s
* EDG C/C++ * EDG C/C++
@ -318,6 +367,51 @@ symbol: php
Parse error: parse error, unexpected $ in main.php on line 59 Parse error: parse error, unexpected $ in main.php on line 59
Fatal error: Call to undefined function: mysql_pconnect() in db.inc on line 66 Fatal error: Call to undefined function: mysql_pconnect() in db.inc on line 66
* Ruby
symbol: ruby
plain-exception.rb:7:in `fun': unhandled exception
from plain-exception.rb:3:in `proxy'
from plain-exception.rb:12
* Ruby (Test::Unit)
symbol: ruby-Test::Unit
Loaded suite examples/test-unit
Started
FFFE
Finished in 0.023173 seconds.
1) Failure:
test_a_deep_assert(BacktracesTest)
[examples/test-unit.rb:28:in `here_is_a_deep_assert'
examples/test-unit.rb:19:in `test_a_deep_assert']:
<false> is not true.
2) Failure:
test_assert(BacktracesTest) [examples/test-unit.rb:5]:
<false> is not true.
3) Failure:
test_assert_raise(BacktracesTest) [examples/test-unit.rb:9]:
Exception raised:
Class: <RuntimeError>
Message: <"">
---Backtrace---
examples/test-unit.rb:10:in `test_assert_raise'
examples/test-unit.rb:9:in `test_assert_raise'
---------------
4) Error:
test_backtrace(BacktracesTest):
NoMethodError: undefined method `not_exists' for nil:NilClass
examples/test-unit.rb:24:in `some_function_call_from_nil'
examples/test-unit.rb:15:in `test_backtrace'
4 tests, 3 assertions, 3 failures, 1 errors
* RXP * RXP
symbol: rxp symbol: rxp

View file

@ -1,5 +1,5 @@
% Reference Card for Org Mode % Reference Card for Org Mode
\def\orgversionnumber{6.35i} \def\orgversionnumber{7.01}
\def\versionyear{2010} % latest update \def\versionyear{2010} % latest update
\def\year{2010} % latest copyright year \def\year{2010} % latest copyright year
@ -329,7 +329,7 @@ are preserved on all copies.
\section{Filtering and Sparse Trees} \section{Filtering and Sparse Trees}
\key{construct a sparse tree by various criteria}{C-c /} \key{construct a sparse tree by various criteria}{C-c /}
\key{view TODO's in sparse tree}{C-c C-v} \key{view TODO's in sparse tree}{C-c / t/T}
\key{global TODO list in agenda mode}{C-c a t$^1$} \key{global TODO list in agenda mode}{C-c a t$^1$}
\key{time sorted view of current org file}{C-c a L} \key{time sorted view of current org file}{C-c a L}
@ -442,36 +442,53 @@ formula, \kbd{:=} a field formula.
\key{find next link}{C-c C-x C-n} \key{find next link}{C-c C-x C-n}
\key{find previous link}{C-c C-x C-p} \key{find previous link}{C-c C-x C-p}
\key{edit code snippet of file at point}{C-c '} \key{edit code snippet of file at point}{C-c '}
\key{toggle inline display of linked images}{C-c C-x C-v}
{\bf Internal Links} % {\bf Internal Links}
\key{\kbd{<<My Target>>}}{\rm target} % \key{\kbd{<<My Target>>}}{\rm target}
\key{\kbd{<<<My Target>>>}}{\rm radio target$^2$} % \key{\kbd{<<<My Target>>>}}{\rm radio target$^2$}
\key{\kbd{[[*this text]]}}{\rm find headline} % \key{\kbd{[[*this text]]}}{\rm find headline}
\metax{\kbd{[[this text]]}}{\rm find target or text in buffer} % \metax{\kbd{[[this text]]}}{\rm find target or text in buffer}
\metax{\kbd{[[this text][description]]}}{\rm optional link text} % \metax{\kbd{[[this text][description]]}}{\rm optional link text}
{\bf External Links} % {\bf External Links}
\key{\kbd{file:/home/dominik/img/mars.jpg}}{\rm file, absolute} % \key{\kbd{file:/home/dominik/img/mars.jpg}}{\rm file, absolute}
\key{\kbd{file:papers/last.pdf}}{\rm file, relative} % \key{\kbd{file:papers/last.pdf}}{\rm file, relative}
\key{\kbd{file:projects.org::*that text}}{\rm find headline} % \key{\kbd{file:projects.org::*that text}}{\rm find headline}
\key{\kbd{file:projects.org::find me}}{\rm find trgt/string} % \key{\kbd{file:projects.org::find me}}{\rm find trgt/string}
%\key{\kbd{file:projects.org::/regexp/}}{\rm regexp search} % %\key{\kbd{file:projects.org::/regexp/}}{\rm regexp search}
\key{\kbd{http://www.astro.uva.nl/~dominik}}{\rm on the web} % \key{\kbd{http://www.astro.uva.nl/~dominik}}{\rm on the web}
\key{\kbd{mailto:adent@galaxy.net}}{\rm Email address} % \key{\kbd{mailto:adent@galaxy.net}}{\rm Email address}
\key{\kbd{news:comp.emacs}}{\rm Usenet group} % \key{\kbd{news:comp.emacs}}{\rm Usenet group}
\key{\kbd{bbdb:Richard Stallman}}{\rm BBDB person} % \key{\kbd{bbdb:Richard Stallman}}{\rm BBDB person}
\key{\kbd{gnus:group}}{\rm GNUS group} % \key{\kbd{gnus:group}}{\rm GNUS group}
\key{\kbd{gnus:group\#id}}{\rm GNUS message} % \key{\kbd{gnus:group\#id}}{\rm GNUS message}
\key{\kbd{vm|wl|mhe|rmail:folder}}{\rm Mail folder} % \key{\kbd{vm|wl|mhe|rmail:folder}}{\rm Mail folder}
\key{\kbd{vm|wl|mhe|rmail:folder\#id}}{\rm Mail message} % \key{\kbd{vm|wl|mhe|rmail:folder\#id}}{\rm Mail message}
\key{\kbd{info:emacs:Regexps}}{\rm Info file:node} % \key{\kbd{info:emacs:Regexps}}{\rm Info file:node}
\key{\kbd{shell:ls *.org}}{\rm shell command} % \key{\kbd{shell:ls *.org}}{\rm shell command}
\key{\kbd{elisp:(calendar)}}{\rm elisp form} % \key{\kbd{elisp:(calendar)}}{\rm elisp form}
\metax{\kbd{[[external link][description]]}}{\rm optional link text} % \metax{\kbd{[[external link][description]]}}{\rm optional link text}
%\key{\kbd{vm://myself@some.where.org/folder\#id}}{\rm VM remote} % %\key{\kbd{vm://myself@some.where.org/folder\#id}}{\rm VM remote}
\section{Working with Code (Babel)}
\key{execute code block at point}{C-c C-c}
\key{open results of code block at point}{C-c C-o}
\key{view expanded body of code block at point}{C-c C-v v}
\key{go to named code block}{C-c C-v g}
\key{go to named result}{C-c C-v r}
\key{go to the next code block}{C-c C-v n}
\key{go to the previous code block}{C-c C-v p}
\key{execute all code blocks in current buffer}{C-c C-v b}
\key{execute all code blocks in current subtree}{C-c C-v s}
\key{tangle code blocks in current file}{C-c C-v t}
\key{tangle code blocks in supplied file}{C-c C-v f}
\key{ingest all code blocks in supplied file into the Library of Babel}{C-c C-v l}
\key{switch to the session of the current code block}{C-c C-v z}
\key{view sha1 hash of the current code block}{C-c C-v a}
% \section{Remember-mode Integration} % \section{Remember-mode Integration}
@ -690,6 +707,7 @@ some other place.
\key{export visible part only}{C-c C-e v} \key{export visible part only}{C-c C-e v}
\key{insert template of export options}{C-c C-e t} \key{insert template of export options}{C-c C-e t}
\key{toggle fixed width for entry or region}{C-c :} \key{toggle fixed width for entry or region}{C-c :}
\key{toggle pretty display of scripts, entities}{C-c C-x {\tt\char`\\}}
%{\bf HTML formatting} %{\bf HTML formatting}
@ -730,10 +748,8 @@ some other place.
{\bf Comments: Text not being exported} {\bf Comments: Text not being exported}
Text before the first headline is not considered part of the document Lines starting with \kbd{\#} and subtrees starting with COMMENT are
and is therefore never exported. never exported.
Lines starting with \kbd{\#} are comments and are not exported.
Subtrees whose header starts with COMMENT are never exported.
\key{toggle COMMENT keyword on entry}{C-c ;} \key{toggle COMMENT keyword on entry}{C-c ;}
@ -749,8 +765,8 @@ your own key as shown under INSTALLATION.
$^2$ After changing a \kbd{\#+KEYWORD} or \kbd{<<<target>>>} line, $^2$ After changing a \kbd{\#+KEYWORD} or \kbd{<<<target>>>} line,
press \kbd{C-c C-c} with the cursor still in the line to update. press \kbd{C-c C-c} with the cursor still in the line to update.
$^3$ Keybinding affected by {\tt org-support-shift-select} and {\tt $^3$ Keybinding affected by {\tt org-support-shift-select} and
org-replace-disputed-keys}. {\tt org-replace-disputed-keys}.
\copyrightnotice \copyrightnotice

View file

@ -26,8 +26,7 @@ Emacs
* Emacs FAQ: (efaq). Frequently Asked Questions about Emacs. * Emacs FAQ: (efaq). Frequently Asked Questions about Emacs.
GNU Emacs Lisp GNU Emacs Lisp
* Emacs Lisp Intro: (eintr). * Emacs Lisp Intro: (eintr). A simple introduction to Emacs Lisp programming.
A simple introduction to Emacs Lisp programming.
* Elisp: (elisp). The Emacs Lisp Reference Manual. * Elisp: (elisp). The Emacs Lisp Reference Manual.
Emacs editing modes Emacs editing modes
@ -39,31 +38,33 @@ Emacs editing modes
* Org Mode: (org). Outline-based notes management and organizer * Org Mode: (org). Outline-based notes management and organizer
Emacs network features Emacs network features
* EUDC: (eudc). An Emacs client for directory servers (LDAP, PH). * EUDC: (eudc). Emacs client for directory servers (LDAP, PH).
* Gnus: (gnus). The newsreader Gnus. * Gnus: (gnus). The newsreader Gnus.
* Mairix: (mairix-el). Emacs interface to the Mairix mail indexer. * Mairix: (mairix-el). Emacs interface to the Mairix mail indexer.
* MH-E: (mh-e). Emacs interface to the MH mail system. * MH-E: (mh-e). Emacs interface to the MH mail system.
* Message: (message). Mail and news composition mode that goes with Gnus. * Message: (message). Mail and news composition mode that
goes with Gnus.
* Newsticker: (newsticker). A Newsticker for Emacs. * Newsticker: (newsticker). A Newsticker for Emacs.
* PGG: (pgg). Emacs interface to various PGP implementations. * PGG: (pgg). Emacs interface to various PGP implementations.
* ERC: (erc). Powerful, modular, and extensible IRC client for Emacs. * ERC: (erc). Powerful and extensible IRC client for Emacs.
* Rcirc: (rcirc). Internet Relay Chat (IRC) client. * Rcirc: (rcirc). Internet Relay Chat (IRC) client.
* SASL: (sasl). The Emacs SASL library. * SASL: (sasl). The Emacs SASL library.
* SC: (sc). Supercite lets you cite parts of messages you're * SC: (sc). Supercite lets you cite parts of messages
replying to, in flexible ways. you're replying to, in flexible ways.
* Sieve: (sieve). Managing Sieve scripts in Emacs. * Sieve: (sieve). Managing Sieve scripts in Emacs.
* TRAMP: (tramp). Transparent Remote Access, Multiple Protocol * TRAMP: (tramp). Transparent Remote Access, Multiple Protocol
GNU Emacs remote file access via rsh and rcp. GNU Emacs remote file access via rsh and rcp.
Emacs misc features Emacs misc features
* Autotype: (autotype). Convenient features for text that you enter frequently * Autotype: (autotype). Convenient features for text that you enter
in Emacs. frequently in Emacs.
* Calc: (calc). Advanced desk calculator and mathematical tool. * Calc: (calc). Advanced desk calculator and mathematical tool.
* Dired-X: (dired-x). Dired Extra Features. * Dired-X: (dired-x). Dired Extra Features.
* EasyPG Assistant: (epa). An Emacs user interface to GNU Privacy Guard. * EasyPG Assistant: (epa). An Emacs user interface to GNU Privacy Guard.
* Ebrowse: (ebrowse). A C++ class browser for Emacs. * Ebrowse: (ebrowse). A C++ class browser for Emacs.
* EDE: (ede). The Emacs Development Environment. * EDE: (ede). The Emacs Development Environment.
* Ediff: (ediff). A visual interface for comparing and merging programs. * Ediff: (ediff). A visual interface for comparing and
merging programs.
* EDT: (edt). An Emacs emulation of the EDT editor. * EDT: (edt). An Emacs emulation of the EDT editor.
* EIEIO: (eieio). An object system for Emacs Lisp. * EIEIO: (eieio). An object system for Emacs Lisp.
* Eshell: (eshell). A command shell implemented in Emacs Lisp. * Eshell: (eshell). A command shell implemented in Emacs Lisp.
@ -71,7 +72,8 @@ Emacs misc features
* Forms: (forms). Emacs package for editing data bases * Forms: (forms). Emacs package for editing data bases
by filling in forms. by filling in forms.
* PCL-CVS: (pcl-cvs). Emacs front-end to CVS. * PCL-CVS: (pcl-cvs). Emacs front-end to CVS.
* RefTeX: (reftex). Emacs support for LaTeX cross-references and citations. * RefTeX: (reftex). Emacs support for LaTeX cross-references
and citations.
* Remember: (remember). Simple information manager for Emacs. * Remember: (remember). Simple information manager for Emacs.
* Semantic: (semantic). Source code parsing utilities for Emacs. * Semantic: (semantic). Source code parsing utilities for Emacs.
* SES: (ses). Simple Emacs Spreadsheet * SES: (ses). Simple Emacs Spreadsheet
@ -83,11 +85,12 @@ Emacs misc features
* WoMan: (woman). Browse UN*X Manual Pages "W.O. (without) Man". * WoMan: (woman). Browse UN*X Manual Pages "W.O. (without) Man".
Emacs lisp libraries Emacs lisp libraries
* Auth-source: (auth). A single configuration for multiple applications. * Auth-source: (auth). A single configuration for multiple
applications.
* CL: (cl). Partial Common Lisp support for Emacs Lisp. * CL: (cl). Partial Common Lisp support for Emacs Lisp.
* D-Bus: (dbus). Using D-Bus in Emacs. * D-Bus: (dbus). Using D-Bus in Emacs.
* Emacs MIME: (emacs-mime). Emacs MIME de/composition library. * Emacs MIME: (emacs-mime). Emacs MIME de/composition library.
* URL: (url). URL loading package. * URL: (url). URL loading package.
* Widget: (widget). The "widget" package used by the Emacs Customization * Widget: (widget). The "widget" package used by the Emacs
facility. Customization facility.
* SMTP: (smtpmail). Emacs library for sending mail via SMTP. * SMTP: (smtpmail). Emacs library for sending mail via SMTP.

View file

@ -1,3 +1,141 @@
2010-07-20 Juanma Barranquero <lekktu@gmail.com>
* emacsclient.c (get_current_dir_name, w32_get_resource)
(w32_getenv, w32_set_user_model_id, w32_window_app, w32_execvp)
(close_winsock, initialize_sockets, w32_find_emacs_process)
(w32_give_focus):
* ntlib.c (getlogin, getuid, getgid, getegid):
Convert definitions to standard C.
2010-07-12 Andreas Schwab <schwab@linux-m68k.org>
* Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Set from substitution.
(BASE_CFLAGS): Add ${C_WARNINGS_SWITCH}.
(ALL_CFLAGS, CPP_CFLAGS): Add ${PROFILING_CFLAGS}.
(LINK_CFLAGS): Add ${PROFILING_LDFLAGS}.
2010-07-12 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in (lisp2): Change hebrew.el to hebrew.elc (see
2010-07-12T05:25:46Z!handa@etlken).
2010-07-11 Andreas Schwab <schwab@linux-m68k.org>
* emacsclient.c (set_local_socket): Use strchr, strrchr instead of
index, rindex.
* movemail.c (mail_spool_name, popmail): Likewise.
* pop.c (pop_list): Likewise.
2010-07-11 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in (obj): Add menu.o, bidi.o, w32uniscribe.o,
and unexw32.o. (Bug#6603)
2010-07-10 Eli Zaretskii <eliz@gnu.org>
* Makefile.in ($(DESTDIR)${archlibdir}): Convert spaces to TABs.
2010-07-09 Andreas Schwab <schwab@linux-m68k.org>
* make-docfile.c (write_c_args): Restructure scanning loop.
2010-07-09 Dan Nicolaescu <dann@ics.uci.edu>
* make-docfile.c (write_c_args): Deal with type names in DEFUN
arguments.
2010-07-08 Dan Nicolaescu <dann@ics.uci.edu>
* update-game-score.c (P_): Remove macro.
* ebrowse.c: Remove include guards.
(P_): Remove macro.
2010-07-07 Andreas Schwab <schwab@linux-m68k.org>
* ebrowse.c (add_sym, make_namespace): Replace bcopy, bzero by
memcpy, memmove, memset.
* pop.c (pop_retrieve, socket_connection, pop_getline): Likewise.
2010-07-06 Andreas Schwab <schwab@linux-m68k.org>
* movemail.c: Add MAIL_USE_POP around prototypes.
Include <string.h> if HAVE_STRING_H.
(strerror): Only declare if !HAVE_STRERROR.
(fatal): Make static.
(error): Likewise.
(pfatal_with_name): Likewise.
(pfatal_and_delete). Likewise.
(concat): Likewise.
(xmalloc): Likewise.
(popmail): Likewise.
(pop_retr): Likewise.
(mbx_write): Likewise.
(mbx_delimit_begin): Likewise.
(mbx_delimit_end): Likewise.
2010-07-04 Dan Nicolaescu <dann@ics.uci.edu>
* fakemail.c (action): Convert function definitions to standard C.
(add_a_stream):
* test-distrib.c (cool_read):
(main): Likewise.
2010-07-03 Andreas Schwab <schwab@linux-m68k.org>
* sorted-doc.c (cmpdoc): Fix signature.
(qsort_compare): Delete.
(main): Remove cast.
2010-07-03 Juanma Barranquero <lekktu@gmail.com>
* ebrowse.c (match_qualified_namespace_alias): Check for null pointer.
2010-07-03 Juanma Barranquero <lekktu@gmail.com>
Fix prototype warnings.
* ebrowse.c (match_qualified_namespace_alias):
Pass sym* to find_namespace, not link*.
* emacsclient.c (send_to_emacs, quote_argument): Arg s is HSOCKET.
* sorted-doc.c (qsort_compare): New typedef.
(main): Use it to cast cmpdoc.
2010-07-03 Dan Nicolaescu <dann@ics.uci.edu>
* update-game-score.c: Convert function definitions to standard C.
* sorted-doc.c:
* profile.c:
* pop.c:
* movemail.c:
* make-docfile.c:
* hexl.c:
* fakemail.c:
* etags.c:
* ebrowse.c:
* digest-doc.c:
* b2m.c: Likewise.
2010-07-02 Dan Nicolaescu <dann@ics.uci.edu>
* make-docfile.c (xmalloc, xrealloc, concat, readline, fatal):
* b2m.c (scan_file, scan_lisp_file, scan_c_file): Convert to
standard C prototypes.
2010-07-02 Jan Djärv <jan.h.d@swipnet.se>
* ebrowse.c: Remove P_ and __P.
* etags.c:
* movemail.c:
* pop.c:
* update-game-score.c: Likewise.
2010-06-24 Juanma Barranquero <lekktu@gmail.com>
* movemail.c (error): Avoid warning when there are no args.
2010-06-11 Juanma Barranquero <lekktu@gmail.com> 2010-06-11 Juanma Barranquero <lekktu@gmail.com>
* makefile.w32-in (lisp2): Fix references to vc/vc-hooks.elc * makefile.w32-in (lisp2): Fix references to vc/vc-hooks.elc
@ -143,8 +281,7 @@
2010-01-29 Kester Habermann <kester@linuxtag.org> (tiny change) 2010-01-29 Kester Habermann <kester@linuxtag.org> (tiny change)
* etags.c (Fortran_functions): Handle recursive keyword * etags.c (Fortran_functions): Handle recursive keyword (Bug#5484).
(Bug#5484).
2010-01-11 Glenn Morris <rgm@gnu.org> 2010-01-11 Glenn Morris <rgm@gnu.org>

View file

@ -36,6 +36,9 @@ configuration=@configuration@
EXEEXT=@EXEEXT@ EXEEXT=@EXEEXT@
C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
C_SWITCH_MACHINE=@C_SWITCH_MACHINE@ C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
C_WARNINGS_SWITCH = @C_WARNINGS_SWITCH@
PROFILING_CFLAGS = @PROFILING_CFLAGS@
PROFILING_LDFLAGS = @PROFILING_LDFLAGS@
# Program name transformation. # Program name transformation.
TRANSFORM = @program_transform_name@ TRANSFORM = @program_transform_name@
@ -165,12 +168,12 @@ LIBS_SYSTEM = @LIBS_SYSTEM@
# Those files shared with other GNU utilities need HAVE_CONFIG_H # Those files shared with other GNU utilities need HAVE_CONFIG_H
# defined before they know they can take advantage of the information # defined before they know they can take advantage of the information
# in ../src/config.h. # in ../src/config.h.
BASE_CFLAGS = $(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) -DHAVE_CONFIG_H \ BASE_CFLAGS = $(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) ${C_WARNINGS_SWITCH} \
-I. -I../src -I${srcdir} -I${srcdir}/../src -DHAVE_CONFIG_H -I. -I../src -I${srcdir} -I${srcdir}/../src
ALL_CFLAGS = ${BASE_CFLAGS} ${LDFLAGS} ${CPPFLAGS} ${CFLAGS} ALL_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
LINK_CFLAGS = ${BASE_CFLAGS} ${LDFLAGS} ${CFLAGS} LINK_CFLAGS = ${BASE_CFLAGS} ${PROFILING_LDFLAGS} ${LDFLAGS} ${CFLAGS}
CPP_CFLAGS = ${BASE_CFLAGS} ${CPPFLAGS} ${CFLAGS} CPP_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${CPPFLAGS} ${CFLAGS}
LOADLIBES=$(LIBS_SYSTEM) LOADLIBES=$(LIBS_SYSTEM)

View file

@ -64,12 +64,13 @@ struct linebuffer
char *buffer; char *buffer;
}; };
extern char *strtok(); extern char *strtok(char *, const char *);
long *xmalloc (), *xrealloc (); long *xmalloc (unsigned int size);
char *concat (); long *xrealloc (char *ptr, unsigned int size);
long readline (); char *concat (char *s1, char *s2, char *s3);
void fatal (); long readline (struct linebuffer *linebuffer, register FILE *stream);
void fatal (char *message);
/* /*
* xnew -- allocate storage. SYNOPSIS: Type *xnew (int n, Type); * xnew -- allocate storage. SYNOPSIS: Type *xnew (int n, Type);
@ -90,9 +91,7 @@ struct option longopts[] =
extern int optind; extern int optind;
int int
main (argc, argv) main (int argc, char **argv)
int argc;
char **argv;
{ {
logical labels_saved, printing, header, first, last_was_blank_line; logical labels_saved, printing, header, first, last_was_blank_line;
time_t ltoday; time_t ltoday;
@ -219,8 +218,7 @@ main (argc, argv)
* concatenate those of s1, s2, s3. * concatenate those of s1, s2, s3.
*/ */
char * char *
concat (s1, s2, s3) concat (char *s1, char *s2, char *s3)
char *s1, *s2, *s3;
{ {
int len1 = strlen (s1), len2 = strlen (s2), len3 = strlen (s3); int len1 = strlen (s1), len2 = strlen (s2), len3 = strlen (s3);
char *result = xnew (len1 + len2 + len3 + 1, char); char *result = xnew (len1 + len2 + len3 + 1, char);
@ -239,9 +237,7 @@ concat (s1, s2, s3)
* which is the length of the line including the newline, if any. * which is the length of the line including the newline, if any.
*/ */
long long
readline (linebuffer, stream) readline (struct linebuffer *linebuffer, register FILE *stream)
struct linebuffer *linebuffer;
register FILE *stream;
{ {
char *buffer = linebuffer->buffer; char *buffer = linebuffer->buffer;
register char *p = linebuffer->buffer; register char *p = linebuffer->buffer;
@ -291,8 +287,7 @@ readline (linebuffer, stream)
* Like malloc but get fatal error if memory is exhausted. * Like malloc but get fatal error if memory is exhausted.
*/ */
long * long *
xmalloc (size) xmalloc (unsigned int size)
unsigned int size;
{ {
long *result = (long *) malloc (size); long *result = (long *) malloc (size);
if (result == NULL) if (result == NULL)
@ -301,9 +296,7 @@ xmalloc (size)
} }
long * long *
xrealloc (ptr, size) xrealloc (char *ptr, unsigned int size)
char *ptr;
unsigned int size;
{ {
long *result = (long *) realloc (ptr, size); long *result = (long *) realloc (ptr, size);
if (result == NULL) if (result == NULL)
@ -312,8 +305,7 @@ xrealloc (ptr, size)
} }
void void
fatal (message) fatal (char *message)
char *message;
{ {
fprintf (stderr, "%s: %s\n", progname, message); fprintf (stderr, "%s: %s\n", progname, message);
exit (EXIT_FAILURE); exit (EXIT_FAILURE);

View file

@ -31,7 +31,7 @@ but in texinfo format and sorted by function/variable name. */
#endif #endif
int int
main () main (void)
{ {
register int ch; register int ch;
register int notfirst = 0; register int notfirst = 0;

View file

@ -20,20 +20,14 @@ You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
#endif
#include <stdio.h> #include <stdio.h>
#ifdef HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#endif
#include <ctype.h> #include <ctype.h>
#include <assert.h> #include <assert.h>
#include "getopt.h" #include "getopt.h"
@ -45,12 +39,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Conditionalize function prototypes. */ /* Conditionalize function prototypes. */
#ifdef PROTOTYPES /* From config.h. */
#define P_(x) x
#else
#define P_(x) ()
#endif
/* Value is non-zero if strings X and Y compare equal. */ /* Value is non-zero if strings X and Y compare equal. */
#define streq(X, Y) (*(X) == *(Y) && strcmp ((X) + 1, (Y) + 1) == 0) #define streq(X, Y) (*(X) == *(Y) && strcmp ((X) + 1, (Y) + 1) == 0)
@ -479,62 +467,62 @@ struct search_path *search_path_tail;
/* Function prototypes. */ /* Function prototypes. */
int yylex P_ ((void)); int yylex (void);
void yyparse P_ ((void)); void yyparse (void);
void re_init_parser P_ ((void)); void re_init_parser (void);
char *token_string P_ ((int)); char *token_string (int);
char *matching_regexp P_ ((void)); char *matching_regexp (void);
void init_sym P_ ((void)); void init_sym (void);
struct sym *add_sym P_ ((char *, struct sym *)); struct sym *add_sym (char *, struct sym *);
void add_link P_ ((struct sym *, struct sym *)); void add_link (struct sym *, struct sym *);
void add_member_defn P_ ((struct sym *, char *, char *, void add_member_defn (struct sym *, char *, char *,
int, unsigned, int, int, int)); int, unsigned, int, int, int);
void add_member_decl P_ ((struct sym *, char *, char *, int, void add_member_decl (struct sym *, char *, char *, int,
unsigned, int, int, int, int)); unsigned, int, int, int, int);
void dump_roots P_ ((FILE *)); void dump_roots (FILE *);
void *xmalloc P_ ((int)); void *xmalloc (int);
void xfree P_ ((void *)); void xfree (void *);
void add_global_defn P_ ((char *, char *, int, unsigned, int, int, int)); void add_global_defn (char *, char *, int, unsigned, int, int, int);
void add_global_decl P_ ((char *, char *, int, unsigned, int, int, int)); void add_global_decl (char *, char *, int, unsigned, int, int, int);
void add_define P_ ((char *, char *, int)); void add_define (char *, char *, int);
void mark_inherited_virtual P_ ((void)); void mark_inherited_virtual (void);
void leave_namespace P_ ((void)); void leave_namespace (void);
void enter_namespace P_ ((char *)); void enter_namespace (char *);
void register_namespace_alias P_ ((char *, struct link *)); void register_namespace_alias (char *, struct link *);
void insert_keyword P_ ((char *, int)); void insert_keyword (char *, int);
void re_init_scanner P_ ((void)); void re_init_scanner (void);
void init_scanner P_ ((void)); void init_scanner (void);
void usage P_ ((int)); void usage (int);
void version P_ ((void)); void version (void);
void process_file P_ ((char *)); void process_file (char *);
void add_search_path P_ ((char *)); void add_search_path (char *);
FILE *open_file P_ ((char *)); FILE *open_file (char *);
int process_pp_line P_ ((void)); int process_pp_line (void);
int dump_members P_ ((FILE *, struct member *)); int dump_members (FILE *, struct member *);
void dump_sym P_ ((FILE *, struct sym *)); void dump_sym (FILE *, struct sym *);
int dump_tree P_ ((FILE *, struct sym *)); int dump_tree (FILE *, struct sym *);
struct member *find_member P_ ((struct sym *, char *, int, int, unsigned)); struct member *find_member (struct sym *, char *, int, int, unsigned);
struct member *add_member P_ ((struct sym *, char *, int, int, unsigned)); struct member *add_member (struct sym *, char *, int, int, unsigned);
void mark_virtual P_ ((struct sym *)); void mark_virtual (struct sym *);
void mark_virtual P_ ((struct sym *)); void mark_virtual (struct sym *);
struct sym *make_namespace P_ ((char *, struct sym *)); struct sym *make_namespace (char *, struct sym *);
char *sym_scope P_ ((struct sym *)); char *sym_scope (struct sym *);
char *sym_scope_1 P_ ((struct sym *)); char *sym_scope_1 (struct sym *);
int skip_to P_ ((int)); int skip_to (int);
void skip_matching P_ ((void)); void skip_matching (void);
void member P_ ((struct sym *, int)); void member (struct sym *, int);
void class_body P_ ((struct sym *, int)); void class_body (struct sym *, int);
void class_definition P_ ((struct sym *, int, int, int)); void class_definition (struct sym *, int, int, int);
void declaration P_ ((int)); void declaration (int);
unsigned parm_list P_ ((int *)); unsigned parm_list (int *);
char *operator_name P_ ((int *)); char *operator_name (int *);
struct sym *parse_classname P_ ((void)); struct sym *parse_classname (void);
struct sym *parse_qualified_ident_or_type P_ ((char **)); struct sym *parse_qualified_ident_or_type (char **);
void parse_qualified_param_ident_or_type P_ ((char **)); void parse_qualified_param_ident_or_type (char **);
int globals P_ ((int)); int globals (int);
void yyerror P_ ((char *, char *)); void yyerror (char *, char *);
void usage P_ ((int)) NO_RETURN; void usage (int) NO_RETURN;
void version P_ (()) NO_RETURN; void version (void) NO_RETURN;
@ -546,8 +534,7 @@ void version P_ (()) NO_RETURN;
name and line number. */ name and line number. */
void void
yyerror (format, s) yyerror (char *format, char *s)
char *format, *s;
{ {
fprintf (stderr, "%s:%d: ", filename, yyline); fprintf (stderr, "%s:%d: ", filename, yyline);
fprintf (stderr, format, s); fprintf (stderr, format, s);
@ -559,8 +546,7 @@ yyerror (format, s)
available. */ available. */
void * void *
xmalloc (nbytes) xmalloc (int nbytes)
int nbytes;
{ {
void *p = malloc (nbytes); void *p = malloc (nbytes);
if (p == NULL) if (p == NULL)
@ -575,9 +561,7 @@ xmalloc (nbytes)
/* Like realloc but print an error and exit if out of memory. */ /* Like realloc but print an error and exit if out of memory. */
void * void *
xrealloc (p, sz) xrealloc (void *p, int sz)
void *p;
int sz;
{ {
p = realloc (p, sz); p = realloc (p, sz);
if (p == NULL) if (p == NULL)
@ -593,8 +577,7 @@ xrealloc (p, sz)
available.. If S is null, return null. */ available.. If S is null, return null. */
char * char *
xstrdup (s) xstrdup (char *s)
char *s;
{ {
if (s) if (s)
s = strcpy (xmalloc (strlen (s) + 1), s); s = strcpy (xmalloc (strlen (s) + 1), s);
@ -611,7 +594,7 @@ xstrdup (s)
special symbol for globals (`*Globals*'). */ special symbol for globals (`*Globals*'). */
void void
init_sym () init_sym (void)
{ {
global_symbols = add_sym (GLOBALS_NAME, NULL); global_symbols = add_sym (GLOBALS_NAME, NULL);
} }
@ -625,9 +608,7 @@ init_sym ()
create a new symbol and set it to default values. */ create a new symbol and set it to default values. */
struct sym * struct sym *
add_sym (name, nested_in_class) add_sym (char *name, struct sym *nested_in_class)
char *name;
struct sym *nested_in_class;
{ {
struct sym *sym; struct sym *sym;
unsigned h; unsigned h;
@ -654,7 +635,7 @@ add_sym (name, nested_in_class)
} }
sym = (struct sym *) xmalloc (sizeof *sym + strlen (name)); sym = (struct sym *) xmalloc (sizeof *sym + strlen (name));
bzero (sym, sizeof *sym); memset (sym, 0, sizeof *sym);
strcpy (sym->name, name); strcpy (sym->name, name);
sym->namesp = scope; sym->namesp = scope;
sym->next = class_table[h]; sym->next = class_table[h];
@ -668,8 +649,7 @@ add_sym (name, nested_in_class)
/* Add links between superclass SUPER and subclass SUB. */ /* Add links between superclass SUPER and subclass SUB. */
void void
add_link (super, sub) add_link (struct sym *super, struct sym *sub)
struct sym *super, *sub;
{ {
struct link *lnk, *lnk2, *p, *prev; struct link *lnk, *lnk2, *p, *prev;
@ -709,11 +689,7 @@ add_link (super, sub)
found or null if not found. */ found or null if not found. */
struct member * struct member *
find_member (cls, name, var, sc, hash) find_member (struct sym *cls, char *name, int var, int sc, unsigned int hash)
struct sym *cls;
char *name;
int var, sc;
unsigned hash;
{ {
struct member **list; struct member **list;
struct member *p; struct member *p;
@ -763,16 +739,7 @@ find_member (cls, name, var, sc, hash)
F_* defines). */ F_* defines). */
void void
add_member_decl (cls, name, regexp, pos, hash, var, sc, vis, flags) add_member_decl (struct sym *cls, char *name, char *regexp, int pos, unsigned int hash, int var, int sc, int vis, int flags)
struct sym *cls;
char *name;
char *regexp;
int pos;
unsigned hash;
int var;
int sc;
int vis;
int flags;
{ {
struct member *m; struct member *m;
@ -820,15 +787,7 @@ add_member_decl (cls, name, regexp, pos, hash, var, sc, vis, flags)
F_* defines). */ F_* defines). */
void void
add_member_defn (cls, name, regexp, pos, hash, var, sc, flags) add_member_defn (struct sym *cls, char *name, char *regexp, int pos, unsigned int hash, int var, int sc, int flags)
struct sym *cls;
char *name;
char *regexp;
int pos;
unsigned hash;
int var;
int sc;
int flags;
{ {
struct member *m; struct member *m;
@ -870,9 +829,7 @@ add_member_defn (cls, name, regexp, pos, hash, var, sc, flags)
if it is non-null. POS is the position in the file. */ if it is non-null. POS is the position in the file. */
void void
add_define (name, regexp, pos) add_define (char *name, char *regexp, int pos)
char *name, *regexp;
int pos;
{ {
add_global_defn (name, regexp, pos, 0, 1, SC_FRIEND, F_DEFINE); add_global_defn (name, regexp, pos, 0, 1, SC_FRIEND, F_DEFINE);
add_global_decl (name, regexp, pos, 0, 1, SC_FRIEND, F_DEFINE); add_global_decl (name, regexp, pos, 0, 1, SC_FRIEND, F_DEFINE);
@ -890,13 +847,7 @@ add_define (name, regexp, pos)
F_* defines). */ F_* defines). */
void void
add_global_defn (name, regexp, pos, hash, var, sc, flags) add_global_defn (char *name, char *regexp, int pos, unsigned int hash, int var, int sc, int flags)
char *name, *regexp;
int pos;
unsigned hash;
int var;
int sc;
int flags;
{ {
int i; int i;
struct sym *sym; struct sym *sym;
@ -927,13 +878,7 @@ add_global_defn (name, regexp, pos, hash, var, sc, flags)
F_* defines). */ F_* defines). */
void void
add_global_decl (name, regexp, pos, hash, var, sc, flags) add_global_decl (char *name, char *regexp, int pos, unsigned int hash, int var, int sc, int flags)
char *name, *regexp;
int pos;
unsigned hash;
int var;
int sc;
int flags;
{ {
/* Add declaration only if not already declared. Header files must /* Add declaration only if not already declared. Header files must
be processed before source files for this to have the right effect. be processed before source files for this to have the right effect.
@ -972,12 +917,7 @@ add_global_decl (name, regexp, pos, hash, var, sc, flags)
Value is a pointer to the member's structure. */ Value is a pointer to the member's structure. */
struct member * struct member *
add_member (cls, name, var, sc, hash) add_member (struct sym *cls, char *name, int var, int sc, unsigned int hash)
struct sym *cls;
char *name;
int var;
int sc;
unsigned hash;
{ {
struct member *m = (struct member *) xmalloc (sizeof *m + strlen (name)); struct member *m = (struct member *) xmalloc (sizeof *m + strlen (name));
struct member **list; struct member **list;
@ -1048,8 +988,7 @@ add_member (cls, name, var, sc, hash)
in base classes. */ in base classes. */
void void
mark_virtual (r) mark_virtual (struct sym *r)
struct sym *r;
{ {
struct link *p; struct link *p;
struct member *m, *m2; struct member *m, *m2;
@ -1073,7 +1012,7 @@ mark_virtual (r)
are virtual because of a virtual declaration in a base class. */ are virtual because of a virtual declaration in a base class. */
void void
mark_inherited_virtual () mark_inherited_virtual (void)
{ {
struct sym *r; struct sym *r;
int i; int i;
@ -1088,12 +1027,10 @@ mark_inherited_virtual ()
/* Create and return a symbol for a namespace with name NAME. */ /* Create and return a symbol for a namespace with name NAME. */
struct sym * struct sym *
make_namespace (name, context) make_namespace (char *name, struct sym *context)
char *name;
struct sym *context;
{ {
struct sym *s = (struct sym *) xmalloc (sizeof *s + strlen (name)); struct sym *s = (struct sym *) xmalloc (sizeof *s + strlen (name));
bzero (s, sizeof *s); memset (s, 0, sizeof *s);
strcpy (s->name, name); strcpy (s->name, name);
s->next = all_namespaces; s->next = all_namespaces;
s->namesp = context; s->namesp = context;
@ -1105,9 +1042,7 @@ make_namespace (name, context)
/* Find the symbol for namespace NAME. If not found, retrun NULL */ /* Find the symbol for namespace NAME. If not found, retrun NULL */
struct sym * struct sym *
check_namespace (name, context) check_namespace (char *name, struct sym *context)
char *name;
struct sym *context;
{ {
struct sym *p = NULL; struct sym *p = NULL;
@ -1118,15 +1053,13 @@ check_namespace (name, context)
} }
return p; return p;
} }
/* Find the symbol for namespace NAME. If not found, add a new symbol /* Find the symbol for namespace NAME. If not found, add a new symbol
for NAME to all_namespaces. */ for NAME to all_namespaces. */
struct sym * struct sym *
find_namespace (name, context) find_namespace (char *name, struct sym *context)
char *name;
struct sym *context;
{ {
struct sym *p = check_namespace (name, context); struct sym *p = check_namespace (name, context);
@ -1140,8 +1073,7 @@ find_namespace (name, context)
/* Find namespace alias with name NAME. If not found return NULL. */ /* Find namespace alias with name NAME. If not found return NULL. */
struct link * struct link *
check_namespace_alias (name) check_namespace_alias (char *name)
char *name;
{ {
struct link *p = NULL; struct link *p = NULL;
struct alias *al; struct alias *al;
@ -1165,9 +1097,7 @@ check_namespace_alias (name)
/* Register the name NEW_NAME as an alias for namespace list OLD_NAME. */ /* Register the name NEW_NAME as an alias for namespace list OLD_NAME. */
void void
register_namespace_alias (new_name, old_name) register_namespace_alias (char *new_name, struct link *old_name)
char *new_name;
struct link *old_name;
{ {
unsigned h; unsigned h;
char *s; char *s;
@ -1195,8 +1125,7 @@ register_namespace_alias (new_name, old_name)
/* Enter namespace with name NAME. */ /* Enter namespace with name NAME. */
void void
enter_namespace (name) enter_namespace (char *name)
char *name;
{ {
struct sym *p = find_namespace (name, current_namespace); struct sym *p = find_namespace (name, current_namespace);
@ -1217,7 +1146,7 @@ enter_namespace (name)
/* Leave the current namespace. */ /* Leave the current namespace. */
void void
leave_namespace () leave_namespace (void)
{ {
assert (namespace_sp > 0); assert (namespace_sp > 0);
current_namespace = namespace_stack[--namespace_sp]; current_namespace = namespace_stack[--namespace_sp];
@ -1259,8 +1188,7 @@ int scope_buffer_len;
/* Make sure scope_buffer has enough room to add LEN chars to it. */ /* Make sure scope_buffer has enough room to add LEN chars to it. */
void void
ensure_scope_buffer_room (len) ensure_scope_buffer_room (int len)
int len;
{ {
if (scope_buffer_len + len >= scope_buffer_size) if (scope_buffer_len + len >= scope_buffer_size)
{ {
@ -1276,8 +1204,7 @@ ensure_scope_buffer_room (len)
scope name constructed. */ scope name constructed. */
char * char *
sym_scope_1 (p) sym_scope_1 (struct sym *p)
struct sym *p;
{ {
int len; int len;
@ -1311,8 +1238,7 @@ sym_scope_1 (p)
as it would appear in a C*+ source file. */ as it would appear in a C*+ source file. */
char * char *
sym_scope (p) sym_scope (struct sym *p)
struct sym *p;
{ {
if (!scope_buffer) if (!scope_buffer)
{ {
@ -1334,9 +1260,7 @@ sym_scope (p)
list. */ list. */
int int
dump_members (fp, m) dump_members (FILE *fp, struct member *m)
FILE *fp;
struct member *m;
{ {
int n; int n;
@ -1369,9 +1293,7 @@ dump_members (fp, m)
/* Dump class ROOT to stream FP. */ /* Dump class ROOT to stream FP. */
void void
dump_sym (fp, root) dump_sym (FILE *fp, struct sym *root)
FILE *fp;
struct sym *root;
{ {
fputs (CLASS_STRUCT, fp); fputs (CLASS_STRUCT, fp);
PUTSTR (root->name, fp); PUTSTR (root->name, fp);
@ -1397,9 +1319,7 @@ dump_sym (fp, root)
number of classes written. */ number of classes written. */
int int
dump_tree (fp, root) dump_tree (FILE *fp, struct sym *root)
FILE *fp;
struct sym *root;
{ {
struct link *lk; struct link *lk;
unsigned n = 0; unsigned n = 0;
@ -1446,8 +1366,7 @@ dump_tree (fp, root)
/* Dump the entire class tree to file FP. */ /* Dump the entire class tree to file FP. */
void void
dump_roots (fp) dump_roots (FILE *fp)
FILE *fp;
{ {
int i, n = 0; int i, n = 0;
struct sym *r; struct sym *r;
@ -1521,7 +1440,7 @@ do { \
input buffer not consumed. */ input buffer not consumed. */
int int
process_pp_line () process_pp_line (void)
{ {
int in_comment = 0, in_string = 0; int in_comment = 0, in_string = 0;
int c; int c;
@ -1592,7 +1511,7 @@ process_pp_line ()
/* Value is the next token from the input buffer. */ /* Value is the next token from the input buffer. */
int int
yylex () yylex (void)
{ {
int c; int c;
char end_char; char end_char;
@ -2009,7 +1928,7 @@ static char *matching_regexp_buffer, *matching_regexp_end_buf;
shorter than min_regexp. */ shorter than min_regexp. */
char * char *
matching_regexp () matching_regexp (void)
{ {
char *p; char *p;
char *s; char *s;
@ -2060,8 +1979,7 @@ matching_regexp ()
/* Return a printable representation of token T. */ /* Return a printable representation of token T. */
char * char *
token_string (t) token_string (int t)
int t;
{ {
static char b[3]; static char b[3];
@ -2178,7 +2096,7 @@ token_string (t)
/* Reinitialize the scanner for a new input file. */ /* Reinitialize the scanner for a new input file. */
void void
re_init_scanner () re_init_scanner (void)
{ {
in = inbuffer; in = inbuffer;
yyline = 1; yyline = 1;
@ -2196,9 +2114,7 @@ re_init_scanner ()
table. */ table. */
void void
insert_keyword (name, tk) insert_keyword (char *name, int tk)
char *name;
int tk;
{ {
char *s; char *s;
unsigned h = 0; unsigned h = 0;
@ -2219,7 +2135,7 @@ insert_keyword (name, tk)
character class vectors and fills the keyword hash table. */ character class vectors and fills the keyword hash table. */
void void
init_scanner () init_scanner (void)
{ {
int i; int i;
@ -2363,8 +2279,7 @@ init_scanner ()
the current lookahead token after skipping. */ the current lookahead token after skipping. */
int int
skip_to (token) skip_to (int token)
int token;
{ {
while (!LOOKING_AT2 (YYEOF, token)) while (!LOOKING_AT2 (YYEOF, token))
MATCH (); MATCH ();
@ -2375,7 +2290,7 @@ skip_to (token)
angle brackets, curly brackets) matching the current lookahead. */ angle brackets, curly brackets) matching the current lookahead. */
void void
skip_matching () skip_matching (void)
{ {
int open, close, n; int open, close, n;
@ -2418,7 +2333,7 @@ skip_matching ()
} }
void void
skip_initializer () skip_initializer (void)
{ {
for (;;) for (;;)
{ {
@ -2445,7 +2360,7 @@ skip_initializer ()
/* Build qualified namespace alias (A::B::c) and return it. */ /* Build qualified namespace alias (A::B::c) and return it. */
struct link * struct link *
match_qualified_namespace_alias () match_qualified_namespace_alias (void)
{ {
struct link *head = NULL; struct link *head = NULL;
struct link *cur = NULL; struct link *cur = NULL;
@ -2458,7 +2373,7 @@ match_qualified_namespace_alias ()
{ {
case IDENT: case IDENT:
tmp = (struct link *) xmalloc (sizeof *cur); tmp = (struct link *) xmalloc (sizeof *cur);
tmp->sym = find_namespace (yytext, cur); tmp->sym = find_namespace (yytext, cur ? cur->sym : NULL);
tmp->next = NULL; tmp->next = NULL;
if (head) if (head)
{ {
@ -2482,7 +2397,7 @@ match_qualified_namespace_alias ()
/* Re-initialize the parser by resetting the lookahead token. */ /* Re-initialize the parser by resetting the lookahead token. */
void void
re_init_parser () re_init_parser (void)
{ {
tk = -1; tk = -1;
} }
@ -2495,8 +2410,7 @@ re_init_parser ()
distinguish between overloaded functions. */ distinguish between overloaded functions. */
unsigned unsigned
parm_list (flags) parm_list (int *flags)
int *flags;
{ {
unsigned hash = 0; unsigned hash = 0;
int type_seen = 0; int type_seen = 0;
@ -2609,7 +2523,7 @@ parm_list (flags)
/* Print position info to stdout. */ /* Print position info to stdout. */
void void
print_info () print_info (void)
{ {
if (info_position >= 0 && BUFFER_POS () <= info_position) if (info_position >= 0 && BUFFER_POS () <= info_position)
if (info_cls) if (info_cls)
@ -2624,9 +2538,7 @@ print_info ()
public). */ public). */
void void
member (cls, vis) member (struct sym *cls, int vis)
struct sym *cls;
int vis;
{ {
char *id = NULL; char *id = NULL;
int sc = SC_MEMBER; int sc = SC_MEMBER;
@ -2835,9 +2747,7 @@ member (cls, vis)
union, class). */ union, class). */
void void
class_body (cls, tag) class_body (struct sym *cls, int tag)
struct sym *cls;
int tag;
{ {
int vis = tag == CLASS ? PRIVATE : PUBLIC; int vis = tag == CLASS ? PRIVATE : PUBLIC;
int temp; int temp;
@ -2898,7 +2808,7 @@ class_body (cls, tag)
symbol for that class. */ symbol for that class. */
struct sym * struct sym *
parse_classname () parse_classname (void)
{ {
struct sym *last_class = NULL; struct sym *last_class = NULL;
@ -2928,8 +2838,7 @@ parse_classname ()
a static buffer holding the constructed operator name string. */ a static buffer holding the constructed operator name string. */
char * char *
operator_name (sc) operator_name (int *sc)
int *sc;
{ {
static int id_size = 0; static int id_size = 0;
static char *id = NULL; static char *id = NULL;
@ -3019,8 +2928,7 @@ operator_name (sc)
symbol structure for the ident. */ symbol structure for the ident. */
struct sym * struct sym *
parse_qualified_ident_or_type (last_id) parse_qualified_ident_or_type (char **last_id)
char **last_id;
{ {
struct sym *cls = NULL; struct sym *cls = NULL;
char *id = NULL; char *id = NULL;
@ -3085,8 +2993,7 @@ parse_qualified_ident_or_type (last_id)
symbol structure for the ident. */ symbol structure for the ident. */
void void
parse_qualified_param_ident_or_type (last_id) parse_qualified_param_ident_or_type (char **last_id)
char **last_id;
{ {
struct sym *cls = NULL; struct sym *cls = NULL;
static char *id = NULL; static char *id = NULL;
@ -3128,11 +3035,7 @@ parse_qualified_param_ident_or_type (last_id)
Current lookahead is the class name. */ Current lookahead is the class name. */
void void
class_definition (containing, tag, flags, nested) class_definition (struct sym *containing, int tag, int flags, int nested)
struct sym *containing;
int tag;
int flags;
int nested;
{ {
struct sym *current; struct sym *current;
struct sym *base_class; struct sym *base_class;
@ -3229,10 +3132,7 @@ class_definition (containing, tag, flags, nested)
information about the member (see the F_* defines). */ information about the member (see the F_* defines). */
void void
add_declarator (cls, id, flags, sc) add_declarator (struct sym **cls, char **id, int flags, int sc)
struct sym **cls;
char **id;
int flags, sc;
{ {
if (LOOKING_AT2 (';', ',')) if (LOOKING_AT2 (';', ','))
{ {
@ -3275,8 +3175,7 @@ add_declarator (cls, id, flags, sc)
/* Parse a declaration. */ /* Parse a declaration. */
void void
declaration (flags) declaration (int flags)
int flags;
{ {
char *id = NULL; char *id = NULL;
struct sym *cls = NULL; struct sym *cls = NULL;
@ -3430,8 +3329,7 @@ declaration (flags)
otherwise. */ otherwise. */
int int
globals (start_flags) globals (int start_flags)
int start_flags;
{ {
int anonymous; int anonymous;
int class_tk; int class_tk;
@ -3549,7 +3447,7 @@ globals (start_flags)
/* Parse the current input file. */ /* Parse the current input file. */
void void
yyparse () yyparse (void)
{ {
while (globals (0) == 0) while (globals (0) == 0)
MATCH_IF ('}'); MATCH_IF ('}');
@ -3565,8 +3463,7 @@ yyparse ()
input files. */ input files. */
void void
add_search_path (path_list) add_search_path (char *path_list)
char *path_list;
{ {
while (*path_list) while (*path_list)
{ {
@ -3601,8 +3498,7 @@ add_search_path (path_list)
unchanged file name. */ unchanged file name. */
FILE * FILE *
open_file (file) open_file (char *file)
char *file;
{ {
FILE *fp = NULL; FILE *fp = NULL;
static char *buffer; static char *buffer;
@ -3661,8 +3557,7 @@ Usage: ebrowse [options] {files}\n\
" "
void void
usage (error) usage (int error)
int error;
{ {
puts (USAGE); puts (USAGE);
exit (error ? EXIT_FAILURE : EXIT_SUCCESS); exit (error ? EXIT_FAILURE : EXIT_SUCCESS);
@ -3677,7 +3572,7 @@ usage (error)
#endif #endif
void void
version () version (void)
{ {
/* Makes it easier to update automatically. */ /* Makes it easier to update automatically. */
char emacs_copyright[] = "Copyright (C) 2010 Free Software Foundation, Inc."; char emacs_copyright[] = "Copyright (C) 2010 Free Software Foundation, Inc.";
@ -3693,8 +3588,7 @@ version ()
table. */ table. */
void void
process_file (file) process_file (char *file)
char *file;
{ {
FILE *fp; FILE *fp;
@ -3749,8 +3643,7 @@ process_file (file)
is null when EOF is reached. */ is null when EOF is reached. */
char * char *
read_line (fp) read_line (FILE *fp)
FILE *fp;
{ {
static char *buffer; static char *buffer;
static int buffer_size; static int buffer_size;
@ -3786,9 +3679,7 @@ read_line (fp)
/* Main entry point. */ /* Main entry point. */
int int
main (argc, argv) main (int argc, char **argv)
int argc;
char **argv;
{ {
int i; int i;
int any_inputfiles = 0; int any_inputfiles = 0;

View file

@ -81,7 +81,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <errno.h> #include <errno.h>
char *getenv (), *getwd (); char *getenv (const char *), *getwd (char *);
char *(getcwd) (); char *(getcwd) ();
#ifdef WINDOWSNT #ifdef WINDOWSNT
@ -157,7 +157,7 @@ char *server_file = NULL;
/* PID of the Emacs server process. */ /* PID of the Emacs server process. */
int emacs_pid = 0; int emacs_pid = 0;
void print_help_and_exit () NO_RETURN; void print_help_and_exit (void) NO_RETURN;
struct option longopts[] = struct option longopts[] =
{ {
@ -184,8 +184,7 @@ struct option longopts[] =
/* Like malloc but get fatal error if memory is exhausted. */ /* Like malloc but get fatal error if memory is exhausted. */
long * long *
xmalloc (size) xmalloc (unsigned int size)
unsigned int size;
{ {
long *result = (long *) malloc (size); long *result = (long *) malloc (size);
if (result == NULL) if (result == NULL)
@ -236,7 +235,7 @@ xstrdup (const char *s)
Any other returned value must be freed with free. This is used Any other returned value must be freed with free. This is used
only when get_current_dir_name is not defined on the system. */ only when get_current_dir_name is not defined on the system. */
char* char*
get_current_dir_name () get_current_dir_name (void)
{ {
char *buf; char *buf;
char *pwd; char *pwd;
@ -312,10 +311,7 @@ get_current_dir_name ()
Return NULL if the variable was not found, or it was empty. Return NULL if the variable was not found, or it was empty.
This code is based on w32_get_resource (w32.c). */ This code is based on w32_get_resource (w32.c). */
char * char *
w32_get_resource (predefined, key, type) w32_get_resource (HKEY predefined, char *key, LPDWORD type)
HKEY predefined;
char *key;
LPDWORD type;
{ {
HKEY hrootkey = NULL; HKEY hrootkey = NULL;
char *result = NULL; char *result = NULL;
@ -348,8 +344,7 @@ w32_get_resource (predefined, key, type)
variables in the registry if they don't appear in the environment. variables in the registry if they don't appear in the environment.
*/ */
char * char *
w32_getenv (envvar) w32_getenv (char *envvar)
char *envvar;
{ {
char *value; char *value;
DWORD dwType; DWORD dwType;
@ -397,7 +392,7 @@ w32_getenv (envvar)
} }
void void
w32_set_user_model_id () w32_set_user_model_id (void)
{ {
HMODULE shell; HMODULE shell;
HRESULT (WINAPI * set_user_model) (wchar_t * id); HRESULT (WINAPI * set_user_model) (wchar_t * id);
@ -424,7 +419,7 @@ w32_set_user_model_id ()
} }
int int
w32_window_app () w32_window_app (void)
{ {
static int window_app = -1; static int window_app = -1;
char szTitle[MAX_PATH]; char szTitle[MAX_PATH];
@ -447,13 +442,11 @@ w32_window_app ()
This is necessary due to the broken implementation of exec* routines in This is necessary due to the broken implementation of exec* routines in
the Microsoft libraries: they concatenate the arguments together without the Microsoft libraries: they concatenate the arguments together without
quoting special characters, and pass the result to CreateProcess, with quoting special characters, and pass the result to CreateProcess, with
predictably bad results. By contrast, Posix execvp passes the arguments predictably bad results. By contrast, POSIX execvp passes the arguments
directly into the argv array of the child process. directly into the argv array of the child process.
*/ */
int int
w32_execvp (path, argv) w32_execvp (const char *path, char **argv)
char *path;
char **argv;
{ {
int i; int i;
@ -517,9 +510,7 @@ message (int is_error, char *message, ...)
The global variable `optind' will say how many arguments we used up. */ The global variable `optind' will say how many arguments we used up. */
void void
decode_options (argc, argv) decode_options (int argc, char **argv)
int argc;
char **argv;
{ {
alternate_editor = egetenv ("ALTERNATE_EDITOR"); alternate_editor = egetenv ("ALTERNATE_EDITOR");
@ -645,7 +636,7 @@ an empty string");
void void
print_help_and_exit () print_help_and_exit (void)
{ {
/* Spaces and tabs are significant in this message; they're chosen so the /* Spaces and tabs are significant in this message; they're chosen so the
message aligns properly both in a tty and in a Windows message box. message aligns properly both in a tty and in a Windows message box.
@ -732,7 +723,7 @@ main (argc, argv)
#define AUTH_KEY_LENGTH 64 #define AUTH_KEY_LENGTH 64
#define SEND_BUFFER_SIZE 4096 #define SEND_BUFFER_SIZE 4096
extern char *strerror (); extern char *strerror (int);
/* Buffer to accumulate data to send in TCP connections. */ /* Buffer to accumulate data to send in TCP connections. */
char send_buffer[SEND_BUFFER_SIZE + 1]; char send_buffer[SEND_BUFFER_SIZE + 1];
@ -743,8 +734,7 @@ HSOCKET emacs_socket = 0;
/* On Windows, the socket library was historically separate from the standard /* On Windows, the socket library was historically separate from the standard
C library, so errors are handled differently. */ C library, so errors are handled differently. */
void void
sock_err_message (function_name) sock_err_message (char *function_name)
char *function_name;
{ {
#ifdef WINDOWSNT #ifdef WINDOWSNT
char* msg = NULL; char* msg = NULL;
@ -768,9 +758,7 @@ sock_err_message (function_name)
- the buffer is full (but this shouldn't happen) - the buffer is full (but this shouldn't happen)
Otherwise, we just accumulate it. */ Otherwise, we just accumulate it. */
void void
send_to_emacs (s, data) send_to_emacs (HSOCKET s, char *data)
HSOCKET s;
char *data;
{ {
while (data) while (data)
{ {
@ -807,11 +795,9 @@ send_to_emacs (s, data)
any initial -. Change spaces to underscores, too, so that the any initial -. Change spaces to underscores, too, so that the
return value never contains a space. return value never contains a space.
Does not change the string. Outputs the result to STREAM. */ Does not change the string. Outputs the result to S. */
void void
quote_argument (s, str) quote_argument (HSOCKET s, char *str)
HSOCKET s;
char *str;
{ {
char *copy = (char *) xmalloc (strlen (str) * 2 + 1); char *copy = (char *) xmalloc (strlen (str) * 2 + 1);
char *p, *q; char *p, *q;
@ -851,8 +837,7 @@ quote_argument (s, str)
modifying the string in place. Returns STR. */ modifying the string in place. Returns STR. */
char * char *
unquote_argument (str) unquote_argument (char *str)
char *str;
{ {
char *p, *q; char *p, *q;
@ -883,8 +868,7 @@ unquote_argument (str)
int int
file_name_absolute_p (filename) file_name_absolute_p (const unsigned char *filename)
const unsigned char *filename;
{ {
/* Sanity check, it shouldn't happen. */ /* Sanity check, it shouldn't happen. */
if (! filename) return FALSE; if (! filename) return FALSE;
@ -910,15 +894,15 @@ file_name_absolute_p (filename)
#ifdef WINDOWSNT #ifdef WINDOWSNT
/* Wrapper to make WSACleanup a cdecl, as required by atexit. */ /* Wrapper to make WSACleanup a cdecl, as required by atexit. */
void void __cdecl
__cdecl close_winsock () close_winsock (void)
{ {
WSACleanup (); WSACleanup ();
} }
/* Initialize the WinSock2 library. */ /* Initialize the WinSock2 library. */
void void
initialize_sockets () initialize_sockets (void)
{ {
WSADATA wsaData; WSADATA wsaData;
@ -938,9 +922,7 @@ initialize_sockets ()
* the Emacs server: host, port, pid and authentication string. * the Emacs server: host, port, pid and authentication string.
*/ */
int int
get_server_config (server, authentication) get_server_config (struct sockaddr_in *server, char *authentication)
struct sockaddr_in *server;
char *authentication;
{ {
char dotted[32]; char dotted[32];
char *port; char *port;
@ -1005,7 +987,7 @@ get_server_config (server, authentication)
} }
HSOCKET HSOCKET
set_tcp_socket () set_tcp_socket (void)
{ {
HSOCKET s; HSOCKET s;
struct sockaddr_in server; struct sockaddr_in server;
@ -1119,8 +1101,7 @@ find_tty (char **tty_type, char **tty_name, int noabort)
0 - success: none of the above */ 0 - success: none of the above */
static int static int
socket_status (socket_name) socket_status (char *socket_name)
char *socket_name;
{ {
struct stat statbfr; struct stat statbfr;
@ -1223,7 +1204,7 @@ init_signals (void)
HSOCKET HSOCKET
set_local_socket () set_local_socket (void)
{ {
HSOCKET s; HSOCKET s;
struct sockaddr_un server; struct sockaddr_un server;
@ -1247,8 +1228,10 @@ set_local_socket ()
char *server_name = "server"; char *server_name = "server";
char *tmpdir; char *tmpdir;
if (socket_name && !index (socket_name, '/') && !index (socket_name, '\\')) if (socket_name && !strchr (socket_name, '/')
{ /* socket_name is a file name component. */ && !strchr (socket_name, '\\'))
{
/* socket_name is a file name component. */
server_name = socket_name; server_name = socket_name;
socket_name = NULL; socket_name = NULL;
default_sock = 1; /* Try both UIDs. */ default_sock = 1; /* Try both UIDs. */
@ -1419,9 +1402,7 @@ FARPROC set_fg; /* Pointer to AllowSetForegroundWindow. */
FARPROC get_wc; /* Pointer to RealGetWindowClassA. */ FARPROC get_wc; /* Pointer to RealGetWindowClassA. */
BOOL CALLBACK BOOL CALLBACK
w32_find_emacs_process (hWnd, lParam) w32_find_emacs_process (HWND hWnd, LPARAM lParam)
HWND hWnd;
LPARAM lParam;
{ {
DWORD pid; DWORD pid;
char class[6]; char class[6];
@ -1449,7 +1430,7 @@ w32_find_emacs_process (hWnd, lParam)
* process id = emacs_pid. If found, allow it to grab the focus. * process id = emacs_pid. If found, allow it to grab the focus.
*/ */
void void
w32_give_focus () w32_give_focus (void)
{ {
HANDLE user32; HANDLE user32;
@ -1526,9 +1507,7 @@ start_daemon_and_retry_set_socket (void)
} }
int int
main (argc, argv) main (int argc, char **argv)
int argc;
char **argv;
{ {
int i, rl, needlf = 0; int i, rl, needlf = 0;
char *cwd, *str; char *cwd, *str;

File diff suppressed because it is too large Load diff

View file

@ -100,7 +100,7 @@ typedef struct header_record *header;
struct stream_record struct stream_record
{ {
FILE *handle; FILE *handle;
int (*action)(); int (*action)(FILE *);
struct stream_record *rest_streams; struct stream_record *rest_streams;
}; };
typedef struct stream_record *stream_list; typedef struct stream_record *stream_list;
@ -147,8 +147,8 @@ static line_list file_preface;
static stream_list the_streams; static stream_list the_streams;
static boolean no_problems = true; static boolean no_problems = true;
extern FILE *popen (); extern FILE *popen (const char *, const char *);
extern int fclose (), pclose (); extern int fclose (FILE *), pclose (FILE *);
#ifdef CURRENT_USER #ifdef CURRENT_USER
extern struct passwd *getpwuid (); extern struct passwd *getpwuid ();
@ -164,8 +164,7 @@ static struct passwd *my_entry;
/* Print error message. `s1' is printf control string, `s2' is arg for it. */ /* Print error message. `s1' is printf control string, `s2' is arg for it. */
static void static void
error (s1, s2) error (char *s1, char *s2)
char *s1, *s2;
{ {
printf ("%s: ", my_name); printf ("%s: ", my_name);
printf (s1, s2); printf (s1, s2);
@ -176,8 +175,7 @@ error (s1, s2)
/* Print error message and exit. */ /* Print error message and exit. */
static void static void
fatal (s1) fatal (char *s1)
char *s1;
{ {
error ("%s", s1); error ("%s", s1);
exit (EXIT_FAILURE); exit (EXIT_FAILURE);
@ -186,8 +184,7 @@ fatal (s1)
/* Like malloc but get fatal error if memory is exhausted. */ /* Like malloc but get fatal error if memory is exhausted. */
static long * static long *
xmalloc (size) xmalloc (int size)
int size;
{ {
long *result = (long *) malloc (((unsigned) size)); long *result = (long *) malloc (((unsigned) size));
if (result == ((long *) NULL)) if (result == ((long *) NULL))
@ -196,9 +193,7 @@ xmalloc (size)
} }
static long * static long *
xrealloc (ptr, size) xrealloc (long int *ptr, int size)
long *ptr;
int size;
{ {
long *result = (long *) realloc (ptr, ((unsigned) size)); long *result = (long *) realloc (ptr, ((unsigned) size));
if (result == ((long *) NULL)) if (result == ((long *) NULL))
@ -209,8 +204,7 @@ xrealloc (ptr, size)
/* Initialize a linebuffer for use */ /* Initialize a linebuffer for use */
void void
init_linebuffer (linebuffer) init_linebuffer (struct linebuffer *linebuffer)
struct linebuffer *linebuffer;
{ {
linebuffer->size = INITIAL_LINE_SIZE; linebuffer->size = INITIAL_LINE_SIZE;
linebuffer->buffer = ((char *) xmalloc (INITIAL_LINE_SIZE)); linebuffer->buffer = ((char *) xmalloc (INITIAL_LINE_SIZE));
@ -220,9 +214,7 @@ init_linebuffer (linebuffer)
Return the length of the line. */ Return the length of the line. */
long long
readline (linebuffer, stream) readline (struct linebuffer *linebuffer, FILE *stream)
struct linebuffer *linebuffer;
FILE *stream;
{ {
char *buffer = linebuffer->buffer; char *buffer = linebuffer->buffer;
char *p = linebuffer->buffer; char *p = linebuffer->buffer;
@ -257,9 +249,7 @@ readline (linebuffer, stream)
If there is no keyword, return NULL and don't alter *REST. */ If there is no keyword, return NULL and don't alter *REST. */
char * char *
get_keyword (field, rest) get_keyword (register char *field, char **rest)
register char *field;
char **rest;
{ {
static char keyword[KEYWORD_SIZE]; static char keyword[KEYWORD_SIZE];
register char *ptr; register char *ptr;
@ -284,8 +274,7 @@ get_keyword (field, rest)
/* Nonzero if the string FIELD starts with a colon-terminated keyword. */ /* Nonzero if the string FIELD starts with a colon-terminated keyword. */
boolean boolean
has_keyword (field) has_keyword (char *field)
char *field;
{ {
char *ignored; char *ignored;
return (get_keyword (field, &ignored) != ((char *) NULL)); return (get_keyword (field, &ignored) != ((char *) NULL));
@ -302,9 +291,7 @@ has_keyword (field)
the caller has to make it big enough. */ the caller has to make it big enough. */
char * char *
add_field (the_list, field, where) add_field (line_list the_list, register char *field, register char *where)
line_list the_list;
register char *field, *where;
{ {
register char c; register char c;
while (true) while (true)
@ -360,7 +347,7 @@ add_field (the_list, field, where)
} }
line_list line_list
make_file_preface () make_file_preface (void)
{ {
char *the_string, *temp; char *the_string, *temp;
long idiotic_interface; long idiotic_interface;
@ -404,9 +391,7 @@ make_file_preface ()
} }
void void
write_line_list (the_list, the_stream) write_line_list (register line_list the_list, FILE *the_stream)
register line_list the_list;
FILE *the_stream;
{ {
for ( ; for ( ;
the_list != ((line_list) NULL) ; the_list != ((line_list) NULL) ;
@ -419,7 +404,7 @@ write_line_list (the_list, the_stream)
} }
int int
close_the_streams () close_the_streams (void)
{ {
register stream_list rem; register stream_list rem;
for (rem = the_streams; for (rem = the_streams;
@ -432,9 +417,7 @@ close_the_streams ()
} }
void void
add_a_stream (the_stream, closing_action) add_a_stream (FILE *the_stream, int (*closing_action) (FILE *))
FILE *the_stream;
int (*closing_action)();
{ {
stream_list old = the_streams; stream_list old = the_streams;
the_streams = new_stream (); the_streams = new_stream ();
@ -445,8 +428,7 @@ add_a_stream (the_stream, closing_action)
} }
int int
my_fclose (the_file) my_fclose (FILE *the_file)
FILE *the_file;
{ {
putc ('\n', the_file); putc ('\n', the_file);
fflush (the_file); fflush (the_file);
@ -454,8 +436,7 @@ my_fclose (the_file)
} }
boolean boolean
open_a_file (name) open_a_file (char *name)
char *name;
{ {
FILE *the_stream = fopen (name, "a"); FILE *the_stream = fopen (name, "a");
if (the_stream != ((FILE *) NULL)) if (the_stream != ((FILE *) NULL))
@ -470,8 +451,7 @@ open_a_file (name)
} }
void void
put_string (s) put_string (char *s)
char *s;
{ {
register stream_list rem; register stream_list rem;
for (rem = the_streams; for (rem = the_streams;
@ -482,8 +462,7 @@ put_string (s)
} }
void void
put_line (string) put_line (char *string)
char *string;
{ {
register stream_list rem; register stream_list rem;
for (rem = the_streams; for (rem = the_streams;
@ -543,9 +522,7 @@ put_line (string)
Call open_a_file for each file. */ Call open_a_file for each file. */
void void
setup_files (the_list, field) setup_files (register line_list the_list, register char *field)
register line_list the_list;
register char *field;
{ {
register char *start; register char *start;
register char c; register char c;
@ -581,8 +558,7 @@ setup_files (the_list, field)
The result says how big to make the buffer to pass to parse_header. */ The result says how big to make the buffer to pass to parse_header. */
int int
args_size (the_header) args_size (header the_header)
header the_header;
{ {
register header old = the_header; register header old = the_header;
register line_list rem; register line_list rem;
@ -613,9 +589,7 @@ args_size (the_header)
Also, if the header has any FCC fields, call setup_files for each one. */ Also, if the header has any FCC fields, call setup_files for each one. */
void void
parse_header (the_header, where) parse_header (header the_header, register char *where)
header the_header;
register char *where;
{ {
register header old = the_header; register header old = the_header;
do do
@ -647,7 +621,7 @@ parse_header (the_header, where)
Continuation lines are grouped in the headers they continue. */ Continuation lines are grouped in the headers they continue. */
header header
read_header () read_header (void)
{ {
register header the_header = ((header) NULL); register header the_header = ((header) NULL);
register line_list *next_line = ((line_list *) NULL); register line_list *next_line = ((line_list *) NULL);
@ -701,8 +675,7 @@ read_header ()
} }
void void
write_header (the_header) write_header (header the_header)
header the_header;
{ {
register header old = the_header; register header old = the_header;
do do
@ -719,9 +692,7 @@ write_header (the_header)
} }
int int
main (argc, argv) main (int argc, char **argv)
int argc;
char **argv;
{ {
char *command_line; char *command_line;
header the_header; header the_header;
@ -731,7 +702,7 @@ main (argc, argv)
register int size; register int size;
FILE *the_pipe; FILE *the_pipe;
extern char *getenv (); extern char *getenv (const char *);
mail_program_name = getenv ("FAKEMAILER"); mail_program_name = getenv ("FAKEMAILER");
if (!(mail_program_name && *mail_program_name)) if (!(mail_program_name && *mail_program_name))

View file

@ -49,12 +49,10 @@ int base = DEFAULT_BASE, un_flag = FALSE, iso_flag = FALSE, endian = 1;
int group_by = DEFAULT_GROUPING; int group_by = DEFAULT_GROUPING;
char *progname; char *progname;
void usage(); void usage(void);
int int
main (argc, argv) main (int argc, char **argv)
int argc;
char *argv[];
{ {
register long address; register long address;
char string[18]; char string[18];
@ -278,7 +276,7 @@ main (argc, argv)
} }
void void
usage () usage (void)
{ {
fprintf (stderr, "usage: %s [-de] [-iso]\n", progname); fprintf (stderr, "usage: %s [-de] [-iso]\n", progname);
exit (EXIT_FAILURE); exit (EXIT_FAILURE);

View file

@ -67,9 +67,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define IS_DIRECTORY_SEP(_c_) ((_c_) == DIRECTORY_SEP) #define IS_DIRECTORY_SEP(_c_) ((_c_) == DIRECTORY_SEP)
#endif #endif
int scan_file (); int scan_file (char *filename);
int scan_lisp_file (); int scan_lisp_file (char *filename, char *mode);
int scan_c_file (); int scan_c_file (char *filename, char *mode);
#ifdef MSDOS #ifdef MSDOS
/* s/msdos.h defines this as sys_chdir, but we're not linking with the /* s/msdos.h defines this as sys_chdir, but we're not linking with the
@ -91,8 +91,7 @@ char *progname;
/* VARARGS1 */ /* VARARGS1 */
void void
error (s1, s2) error (char *s1, char *s2)
char *s1, *s2;
{ {
fprintf (stderr, "%s: ", progname); fprintf (stderr, "%s: ", progname);
fprintf (stderr, s1, s2); fprintf (stderr, s1, s2);
@ -103,8 +102,7 @@ error (s1, s2)
/* VARARGS1 */ /* VARARGS1 */
void void
fatal (s1, s2) fatal (char *s1, char *s2)
char *s1, *s2;
{ {
error (s1, s2); error (s1, s2);
exit (EXIT_FAILURE); exit (EXIT_FAILURE);
@ -113,8 +111,7 @@ fatal (s1, s2)
/* Like malloc but get fatal error if memory is exhausted. */ /* Like malloc but get fatal error if memory is exhausted. */
void * void *
xmalloc (size) xmalloc (unsigned int size)
unsigned int size;
{ {
void *result = (void *) malloc (size); void *result = (void *) malloc (size);
if (result == NULL) if (result == NULL)
@ -123,9 +120,7 @@ xmalloc (size)
} }
int int
main (argc, argv) main (int argc, char **argv)
int argc;
char **argv;
{ {
int i; int i;
int err_count = 0; int err_count = 0;
@ -187,8 +182,7 @@ main (argc, argv)
/* Add a source file name boundary marker in the output file. */ /* Add a source file name boundary marker in the output file. */
void void
put_filename (filename) put_filename (char *filename)
char *filename;
{ {
char *tmp; char *tmp;
@ -207,8 +201,7 @@ put_filename (filename)
/* Return 1 if file is not found, 0 if it is found. */ /* Return 1 if file is not found, 0 if it is found. */
int int
scan_file (filename) scan_file (char *filename)
char *filename;
{ {
int len = strlen (filename); int len = strlen (filename);
@ -251,9 +244,7 @@ struct rcsoc_state
spaces are output first. */ spaces are output first. */
static INLINE void static INLINE void
put_char (ch, state) put_char (int ch, struct rcsoc_state *state)
int ch;
struct rcsoc_state *state;
{ {
int out_ch; int out_ch;
do do
@ -286,9 +277,7 @@ put_char (ch, state)
keyword, but were in fact not. */ keyword, but were in fact not. */
static void static void
scan_keyword_or_put_char (ch, state) scan_keyword_or_put_char (int ch, struct rcsoc_state *state)
int ch;
struct rcsoc_state *state;
{ {
if (state->keyword if (state->keyword
&& *state->cur_keyword_ptr == ch && *state->cur_keyword_ptr == ch
@ -359,11 +348,7 @@ scan_keyword_or_put_char (ch, state)
true if any were encountered. */ true if any were encountered. */
int int
read_c_string_or_comment (infile, printflag, comment, saw_usage) read_c_string_or_comment (FILE *infile, int printflag, int comment, int *saw_usage)
FILE *infile;
int printflag;
int *saw_usage;
int comment;
{ {
register int c; register int c;
struct rcsoc_state state; struct rcsoc_state state;
@ -451,15 +436,12 @@ read_c_string_or_comment (infile, printflag, comment, saw_usage)
MINARGS and MAXARGS are the minimum and maximum number of arguments. */ MINARGS and MAXARGS are the minimum and maximum number of arguments. */
void void
write_c_args (out, func, buf, minargs, maxargs) write_c_args (FILE *out, char *func, char *buf, int minargs, int maxargs)
FILE *out;
char *func, *buf;
int minargs, maxargs;
{ {
register char *p; register char *p;
int in_ident = 0; int in_ident = 0;
int just_spaced = 0; char *ident_start;
int need_space = 1; int ident_length;
fprintf (out, "(fn"); fprintf (out, "(fn");
@ -469,9 +451,8 @@ write_c_args (out, func, buf, minargs, maxargs)
for (p = buf; *p; p++) for (p = buf; *p; p++)
{ {
char c = *p; char c = *p;
int ident_start = 0;
/* Notice when we start printing a new identifier. */ /* Notice when a new identifier starts. */
if ((('A' <= c && c <= 'Z') if ((('A' <= c && c <= 'Z')
|| ('a' <= c && c <= 'z') || ('a' <= c && c <= 'z')
|| ('0' <= c && c <= '9') || ('0' <= c && c <= '9')
@ -481,55 +462,50 @@ write_c_args (out, func, buf, minargs, maxargs)
if (!in_ident) if (!in_ident)
{ {
in_ident = 1; in_ident = 1;
ident_start = 1; ident_start = p;
}
else
{
in_ident = 0;
ident_length = p - ident_start;
}
}
/* Found the end of an argument, write out the last seen
identifier. */
if (c == ',' || c == ')')
{
if (strncmp (ident_start, "void", ident_length) == 0)
continue;
if (need_space)
putc (' ', out); putc (' ', out);
if (minargs == 0 && maxargs > 0) if (minargs == 0 && maxargs > 0)
fprintf (out, "&optional "); fprintf (out, "&optional ");
just_spaced = 1;
minargs--; minargs--;
maxargs--; maxargs--;
}
else
in_ident = 0;
}
/* Print the C argument list as it would appear in lisp:
print underscores as hyphens, and print commas and newlines
as spaces. Collapse adjacent spaces into one. */
if (c == '_')
c = '-';
else if (c == ',' || c == '\n')
c = ' ';
/* In C code, `default' is a reserved word, so we spell it /* In C code, `default' is a reserved word, so we spell it
`defalt'; unmangle that here. */ `defalt'; unmangle that here. */
if (ident_start if (strncmp (ident_start, "defalt", ident_length) == 0)
&& strncmp (p, "defalt", 6) == 0
&& ! (('A' <= p[6] && p[6] <= 'Z')
|| ('a' <= p[6] && p[6] <= 'z')
|| ('0' <= p[6] && p[6] <= '9')
|| p[6] == '_'))
{
fprintf (out, "DEFAULT"); fprintf (out, "DEFAULT");
p += 5; else
in_ident = 0; while (ident_length-- > 0)
just_spaced = 0;
}
else if (c != ' ' || !just_spaced)
{ {
c = *ident_start++;
if (c >= 'a' && c <= 'z') if (c >= 'a' && c <= 'z')
/* Upcase the letter. */ /* Upcase the letter. */
c += 'A' - 'a'; c += 'A' - 'a';
else if (c == '_')
/* Print underscore as hyphen. */
c = '-';
putc (c, out); putc (c, out);
} }
just_spaced = c == ' ';
need_space = 0;
} }
}
putc (')', out);
} }
/* Read through a c file. If a .o file is named, /* Read through a c file. If a .o file is named,
@ -538,8 +514,7 @@ write_c_args (out, func, buf, minargs, maxargs)
Accepts any word starting DEF... so it finds DEFSIMPLE and DEFPRED. */ Accepts any word starting DEF... so it finds DEFSIMPLE and DEFPRED. */
int int
scan_c_file (filename, mode) scan_c_file (char *filename, char *mode)
char *filename, *mode;
{ {
FILE *infile; FILE *infile;
register int c; register int c;
@ -815,8 +790,7 @@ scan_c_file (filename, mode)
*/ */
void void
skip_white (infile) skip_white (FILE *infile)
FILE *infile;
{ {
char c = ' '; char c = ' ';
while (c == ' ' || c == '\t' || c == '\n' || c == '\r') while (c == ' ' || c == '\t' || c == '\n' || c == '\r')
@ -825,9 +799,7 @@ skip_white (infile)
} }
void void
read_lisp_symbol (infile, buffer) read_lisp_symbol (FILE *infile, char *buffer)
FILE *infile;
char *buffer;
{ {
char c; char c;
char *fillp = buffer; char *fillp = buffer;
@ -855,8 +827,7 @@ read_lisp_symbol (infile, buffer)
} }
int int
scan_lisp_file (filename, mode) scan_lisp_file (char *filename, char *mode)
char *filename, *mode;
{ {
FILE *infile; FILE *infile;
register int c; register int c;

View file

@ -143,11 +143,11 @@ $(BLD)/ctags.$(O): ctags.c
# #
obj = dosfns.o msdos.o \ obj = dosfns.o msdos.o \
xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \
fontset.o \ fontset.o menu.o \
w32.o w32console.o w32fns.o w32heap.o w32inevt.o \ w32.o w32console.o w32fns.o w32heap.o w32inevt.o \
w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \ w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \
font.o w32font.o \ font.o w32font.o w32uniscribe.o \
dispnew.o frame.o scroll.o xdisp.o window.o \ dispnew.o frame.o scroll.o xdisp.o window.o bidi.o \
charset.o coding.o category.o ccl.o character.o chartab.o \ charset.o coding.o category.o ccl.o character.o chartab.o \
cm.o term.o terminal.o xfaces.o \ cm.o term.o terminal.o xfaces.o \
emacs.o keyboard.o macros.o keymap.o sysdep.o \ emacs.o keyboard.o macros.o keymap.o sysdep.o \
@ -157,7 +157,7 @@ obj = dosfns.o msdos.o \
alloc.o data.o doc.o editfns.o callint.o \ alloc.o data.o doc.o editfns.o callint.o \
eval.o floatfns.o fns.o print.o lread.o \ eval.o floatfns.o fns.o print.o lread.o \
syntax.o bytecode.o \ syntax.o bytecode.o \
process.o callproc.o \ process.o callproc.o unexw32.o \
region-cache.o sound.o atimer.o \ region-cache.o sound.o atimer.o \
doprnt.o strftime.o intervals.o textprop.o composite.o md5.o doprnt.o strftime.o intervals.o textprop.o composite.o md5.o
@ -247,7 +247,7 @@ lisp2 = \
$(lispsource)language/slovak.el \ $(lispsource)language/slovak.el \
$(lispsource)language/romanian.el \ $(lispsource)language/romanian.el \
$(lispsource)language/greek.el \ $(lispsource)language/greek.el \
$(lispsource)language/hebrew.el \ $(lispsource)language/hebrew.elc \
$(lispsource)language/japanese.el \ $(lispsource)language/japanese.el \
$(lispsource)language/korean.el \ $(lispsource)language/korean.el \
$(lispsource)language/lao.el \ $(lispsource)language/lao.el \

View file

@ -69,6 +69,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef HAVE_FCNTL_H #ifdef HAVE_FCNTL_H
#include <fcntl.h> #include <fcntl.h>
#endif #endif
#ifdef HAVE_STRING_H
#include <string.h>
#endif
#include "syswait.h" #include "syswait.h"
#ifdef MAIL_USE_POP #ifdef MAIL_USE_POP
#include "pop.h" #include "pop.h"
@ -140,33 +143,29 @@ static char *mail_spool_name ();
#endif #endif
#endif #endif
char *strerror (); #ifndef HAVE_STRERROR
#ifdef HAVE_INDEX char *strerror (int);
extern char *index __P ((const char *, int));
#endif
#ifdef HAVE_RINDEX
extern char *rindex __P((const char *, int));
#endif #endif
void fatal (); static void fatal (char *s1, char *s2, char *s3);
void error (); static void error (char *s1, char *s2, char *s3);
void pfatal_with_name (); static void pfatal_with_name (char *name);
void pfatal_and_delete (); static void pfatal_and_delete (char *name);
char *concat (); static char *concat (char *s1, char *s2, char *s3);
long *xmalloc (); static long *xmalloc (unsigned int size);
int popmail (); #ifdef MAIL_USE_POP
int pop_retr (); static int popmail (char *mailbox, char *outfile, int preserve, char *password, int reverse_order);
int mbx_write (); static int pop_retr (popserver server, int msgno, FILE *arg);
int mbx_delimit_begin (); static int mbx_write (char *line, int len, FILE *mbf);
int mbx_delimit_end (); static int mbx_delimit_begin (FILE *mbf);
static int mbx_delimit_end (FILE *mbf);
#endif
/* Nonzero means this is name of a lock file to delete on fatal error. */ /* Nonzero means this is name of a lock file to delete on fatal error. */
char *delete_lockname; char *delete_lockname;
int int
main (argc, argv) main (int argc, char **argv)
int argc;
char **argv;
{ {
char *inname, *outname; char *inname, *outname;
int indesc, outdesc; int indesc, outdesc;
@ -559,7 +558,7 @@ mail_spool_name (inname)
char *indir, *fname; char *indir, *fname;
int status; int status;
if (! (fname = rindex (inname, '/'))) if (! (fname = strrchr (inname, '/')))
return NULL; return NULL;
fname++; fname++;
@ -589,9 +588,8 @@ mail_spool_name (inname)
/* Print error message and exit. */ /* Print error message and exit. */
void static void
fatal (s1, s2, s3) fatal (char *s1, char *s2, char *s3)
char *s1, *s2, *s3;
{ {
if (delete_lockname) if (delete_lockname)
unlink (delete_lockname); unlink (delete_lockname);
@ -602,9 +600,8 @@ fatal (s1, s2, s3)
/* Print error message. `s1' is printf control string, `s2' and `s3' /* Print error message. `s1' is printf control string, `s2' and `s3'
are args for it or null. */ are args for it or null. */
void static void
error (s1, s2, s3) error (char *s1, char *s2, char *s3)
char *s1, *s2, *s3;
{ {
fprintf (stderr, "movemail: "); fprintf (stderr, "movemail: ");
if (s3) if (s3)
@ -612,20 +609,18 @@ error (s1, s2, s3)
else if (s2) else if (s2)
fprintf (stderr, s1, s2); fprintf (stderr, s1, s2);
else else
fprintf (stderr, s1); fprintf (stderr, "%s", s1);
fprintf (stderr, "\n"); fprintf (stderr, "\n");
} }
void static void
pfatal_with_name (name) pfatal_with_name (char *name)
char *name;
{ {
fatal ("%s for %s", strerror (errno), name); fatal ("%s for %s", strerror (errno), name);
} }
void static void
pfatal_and_delete (name) pfatal_and_delete (char *name)
char *name;
{ {
char *s = strerror (errno); char *s = strerror (errno);
unlink (name); unlink (name);
@ -634,9 +629,8 @@ pfatal_and_delete (name)
/* Return a newly-allocated string whose contents concatenate those of s1, s2, s3. */ /* Return a newly-allocated string whose contents concatenate those of s1, s2, s3. */
char * static char *
concat (s1, s2, s3) concat (char *s1, char *s2, char *s3)
char *s1, *s2, *s3;
{ {
int len1 = strlen (s1), len2 = strlen (s2), len3 = strlen (s3); int len1 = strlen (s1), len2 = strlen (s2), len3 = strlen (s3);
char *result = (char *) xmalloc (len1 + len2 + len3 + 1); char *result = (char *) xmalloc (len1 + len2 + len3 + 1);
@ -651,9 +645,8 @@ concat (s1, s2, s3)
/* Like malloc but get fatal error if memory is exhausted. */ /* Like malloc but get fatal error if memory is exhausted. */
long * static long *
xmalloc (size) xmalloc (unsigned int size)
unsigned size;
{ {
long *result = (long *) malloc (size); long *result = (long *) malloc (size);
if (!result) if (!result)
@ -702,25 +695,20 @@ char Errmsg[200]; /* POP errors, at least, can exceed
* Return a value suitable for passing to `exit'. * Return a value suitable for passing to `exit'.
*/ */
int static int
popmail (mailbox, outfile, preserve, password, reverse_order) popmail (char *mailbox, char *outfile, int preserve, char *password, int reverse_order)
char *mailbox;
char *outfile;
int preserve;
char *password;
int reverse_order;
{ {
int nmsgs, nbytes; int nmsgs, nbytes;
register int i; register int i;
int mbfi; int mbfi;
FILE *mbf; FILE *mbf;
char *getenv (); char *getenv (const char *);
popserver server; popserver server;
int start, end, increment; int start, end, increment;
char *user, *hostname; char *user, *hostname;
user = mailbox; user = mailbox;
if ((hostname = index(mailbox, ':'))) if ((hostname = strchr (mailbox, ':')))
*hostname++ = '\0'; *hostname++ = '\0';
server = pop_open (hostname, user, password, POP_NO_GETPASS); server = pop_open (hostname, user, password, POP_NO_GETPASS);
@ -833,13 +821,9 @@ popmail (mailbox, outfile, preserve, password, reverse_order)
return EXIT_SUCCESS; return EXIT_SUCCESS;
} }
int static int
pop_retr (server, msgno, arg) pop_retr (popserver server, int msgno, FILE *arg)
popserver server;
int msgno;
FILE *arg;
{ {
extern char *strerror ();
char *line; char *line;
int ret; int ret;
@ -884,11 +868,8 @@ pop_retr (server, msgno, arg)
&& (a[3] == 'm') \ && (a[3] == 'm') \
&& (a[4] == ' ')) && (a[4] == ' '))
int static int
mbx_write (line, len, mbf) mbx_write (char *line, int len, FILE *mbf)
char *line;
int len;
FILE *mbf;
{ {
#ifdef MOVEMAIL_QUOTE_POP_FROM_LINES #ifdef MOVEMAIL_QUOTE_POP_FROM_LINES
if (IS_FROM_LINE (line)) if (IS_FROM_LINE (line))
@ -911,9 +892,8 @@ mbx_write (line, len, mbf)
return (OK); return (OK);
} }
int static int
mbx_delimit_begin (mbf) mbx_delimit_begin (FILE *mbf)
FILE *mbf;
{ {
time_t now; time_t now;
struct tm *ltime; struct tm *ltime;
@ -929,9 +909,8 @@ mbx_delimit_begin (mbf)
return (OK); return (OK);
} }
int static int
mbx_delimit_end (mbf) mbx_delimit_end (FILE *mbf)
FILE *mbf;
{ {
if (putc ('\n', mbf) == EOF) if (putc ('\n', mbf) == EOF)
return (NOTOK); return (NOTOK);

View file

@ -38,7 +38,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
would necessitate including windows.h in the files that used it. would necessitate including windows.h in the files that used it.
This is much easier. */ This is much easier. */
void void
sleep(unsigned long seconds) sleep (unsigned long seconds)
{ {
Sleep (seconds * 1000); Sleep (seconds * 1000);
} }
@ -56,7 +56,7 @@ static HANDLE getppid_parent;
static int getppid_ppid; static int getppid_ppid;
int int
getppid(void) getppid (void)
{ {
char *ppid; char *ppid;
DWORD result; DWORD result;
@ -64,7 +64,7 @@ getppid(void)
ppid = getenv ("EM_PARENT_PROCESS_ID"); ppid = getenv ("EM_PARENT_PROCESS_ID");
if (!ppid) if (!ppid)
{ {
printf("no pid.\n"); printf ("no pid.\n");
return 0; return 0;
} }
else else
@ -74,11 +74,11 @@ getppid(void)
if (!getppid_parent) if (!getppid_parent)
{ {
getppid_parent = OpenProcess (SYNCHRONIZE, FALSE, atoi(ppid)); getppid_parent = OpenProcess (SYNCHRONIZE, FALSE, atoi (ppid));
if (!getppid_parent) if (!getppid_parent)
{ {
printf ("Failed to open handle to parent process: %d\n", printf ("Failed to open handle to parent process: %d\n",
GetLastError()); GetLastError ());
exit (1); exit (1);
} }
} }
@ -94,13 +94,13 @@ getppid(void)
return 1; return 1;
case WAIT_FAILED: case WAIT_FAILED:
default: default:
printf ("Checking parent status failed: %d\n", GetLastError()); printf ("Checking parent status failed: %d\n", GetLastError ());
exit (1); exit (1);
} }
} }
char * char *
getlogin () getlogin (void)
{ {
static char user_name[256]; static char user_name[256];
DWORD length = sizeof (user_name); DWORD length = sizeof (user_name);
@ -120,19 +120,19 @@ cuserid (char * s)
} }
unsigned unsigned
getuid () getuid (void)
{ {
return 0; return 0;
} }
unsigned unsigned
getgid () getgid (void)
{ {
return 0; return 0;
} }
unsigned unsigned
getegid () getegid (void)
{ {
return 0; return 0;
} }
@ -219,7 +219,7 @@ sys_ctime (const time_t *t)
} }
FILE * FILE *
sys_fopen(const char * path, const char * mode) sys_fopen (const char * path, const char * mode)
{ {
return fopen (path, mode); return fopen (path, mode);
} }

View file

@ -108,24 +108,16 @@ extern int h_errno;
#endif #endif
#endif #endif
#ifndef __P static int socket_connection (char *, int);
# ifdef __STDC__ static int pop_getline (popserver, char **);
# define __P(a) a static int sendline (popserver, char *);
# else static int fullwrite (int, char *, int);
# define __P(a) () static int getok (popserver);
# endif /* __STDC__ */
#endif /* ! __P */
static int socket_connection __P((char *, int));
static int pop_getline __P((popserver, char **));
static int sendline __P((popserver, char *));
static int fullwrite __P((int, char *, int));
static int getok __P((popserver));
#if 0 #if 0
static int gettermination __P((popserver)); static int gettermination (popserver);
#endif #endif
static void pop_trash __P((popserver)); static void pop_trash (popserver);
static char *find_crlf __P((char *, int)); static char *find_crlf (char *, int);
#define ERROR_MAX 160 /* a pretty arbitrary size, but needs #define ERROR_MAX 160 /* a pretty arbitrary size, but needs
to be bigger than the original to be bigger than the original
@ -174,11 +166,7 @@ int pop_debug = 0;
* explanation of the error. * explanation of the error.
*/ */
popserver popserver
pop_open (host, username, password, flags) pop_open (char *host, char *username, char *password, int flags)
char *host;
char *username;
char *password;
int flags;
{ {
int sock; int sock;
popserver server; popserver server;
@ -345,10 +333,7 @@ pop_open (host, username, password, flags)
* connection impossible. * connection impossible.
*/ */
int int
pop_stat (server, count, size) pop_stat (popserver server, int *count, int *size)
popserver server;
int *count;
int *size;
{ {
char *fromserver; char *fromserver;
char *end_ptr; char *end_ptr;
@ -421,11 +406,7 @@ pop_stat (server, count, size)
* connection impossible. * connection impossible.
*/ */
int int
pop_list (server, message, IDs, sizes) pop_list (popserver server, int message, int **IDs, int **sizes)
popserver server;
int message;
int **IDs;
int **sizes;
{ {
int how_many, i; int how_many, i;
char *fromserver; char *fromserver;
@ -484,7 +465,7 @@ pop_list (server, message, IDs, sizes)
return (-1); return (-1);
} }
(*IDs)[0] = atoi (&fromserver[4]); (*IDs)[0] = atoi (&fromserver[4]);
fromserver = index (&fromserver[4], ' '); fromserver = strchr (&fromserver[4], ' ');
if (! fromserver) if (! fromserver)
{ {
strcpy (pop_error, strcpy (pop_error,
@ -515,7 +496,7 @@ pop_list (server, message, IDs, sizes)
return (-1); return (-1);
} }
(*IDs)[i] = atoi (fromserver); (*IDs)[i] = atoi (fromserver);
fromserver = index (fromserver, ' '); fromserver = strchr (fromserver, ' ');
if (! fromserver) if (! fromserver)
{ {
strcpy (pop_error, strcpy (pop_error,
@ -567,11 +548,7 @@ pop_list (server, message, IDs, sizes)
* Side effects: May kill connection on error. * Side effects: May kill connection on error.
*/ */
int int
pop_retrieve (server, message, markfrom, msg_buf) pop_retrieve (popserver server, int message, int markfrom, char **msg_buf)
popserver server;
int message;
int markfrom;
char **msg_buf;
{ {
int *IDs, *sizes, bufsize, fromcount = 0, cp = 0; int *IDs, *sizes, bufsize, fromcount = 0, cp = 0;
char *ptr, *fromserver; char *ptr, *fromserver;
@ -635,7 +612,7 @@ pop_retrieve (server, message, markfrom, msg_buf)
} }
ptr[cp++] = '>'; ptr[cp++] = '>';
} }
bcopy (fromserver, &ptr[cp], ret); memcpy (&ptr[cp], fromserver, ret);
cp += ret; cp += ret;
ptr[cp++] = '\n'; ptr[cp++] = '\n';
} }
@ -645,10 +622,7 @@ pop_retrieve (server, message, markfrom, msg_buf)
} }
int int
pop_retrieve_first (server, message, response) pop_retrieve_first (popserver server, int message, char **response)
popserver server;
int message;
char **response;
{ {
sprintf (pop_error, "RETR %d", message); sprintf (pop_error, "RETR %d", message);
return (pop_multi_first (server, pop_error, response)); return (pop_multi_first (server, pop_error, response));
@ -663,25 +637,19 @@ pop_retrieve_first (server, message, response)
*/ */
int int
pop_retrieve_next (server, line) pop_retrieve_next (popserver server, char **line)
popserver server;
char **line;
{ {
return (pop_multi_next (server, line)); return (pop_multi_next (server, line));
} }
int int
pop_retrieve_flush (server) pop_retrieve_flush (popserver server)
popserver server;
{ {
return (pop_multi_flush (server)); return (pop_multi_flush (server));
} }
int int
pop_top_first (server, message, lines, response) pop_top_first (popserver server, int message, int lines, char **response)
popserver server;
int message, lines;
char **response;
{ {
sprintf (pop_error, "TOP %d %d", message, lines); sprintf (pop_error, "TOP %d %d", message, lines);
return (pop_multi_first (server, pop_error, response)); return (pop_multi_first (server, pop_error, response));
@ -696,25 +664,19 @@ pop_top_first (server, message, lines, response)
*/ */
int int
pop_top_next (server, line) pop_top_next (popserver server, char **line)
popserver server;
char **line;
{ {
return (pop_multi_next (server, line)); return (pop_multi_next (server, line));
} }
int int
pop_top_flush (server) pop_top_flush (popserver server)
popserver server;
{ {
return (pop_multi_flush (server)); return (pop_multi_flush (server));
} }
int int
pop_multi_first (server, command, response) pop_multi_first (popserver server, char *command, char **response)
popserver server;
char *command;
char **response;
{ {
if (server->in_multi) if (server->in_multi)
{ {
@ -757,9 +719,7 @@ pop_multi_first (server, command, response)
0, LINE is set to null. */ 0, LINE is set to null. */
int int
pop_multi_next (server, line) pop_multi_next (popserver server, char **line)
popserver server;
char **line;
{ {
char *fromserver; char *fromserver;
int ret; int ret;
@ -797,8 +757,7 @@ pop_multi_next (server, line)
} }
int int
pop_multi_flush (server) pop_multi_flush (popserver server)
popserver server;
{ {
char *line; char *line;
int ret; int ret;
@ -829,9 +788,7 @@ pop_multi_flush (server)
* otherwise. * otherwise.
*/ */
int int
pop_delete (server, message) pop_delete (popserver server, int message)
popserver server;
int message;
{ {
if (server->in_multi) if (server->in_multi)
{ {
@ -861,8 +818,7 @@ pop_delete (server, message)
* Side effects: Closes connection on error. * Side effects: Closes connection on error.
*/ */
int int
pop_noop (server) pop_noop (popserver server)
popserver server;
{ {
if (server->in_multi) if (server->in_multi)
{ {
@ -891,8 +847,7 @@ pop_noop (server)
* Side effects: Closes the connection on error. * Side effects: Closes the connection on error.
*/ */
int int
pop_last (server) pop_last (popserver server)
popserver server;
{ {
char *fromserver; char *fromserver;
@ -949,8 +904,7 @@ pop_last (server)
* Side effects: Closes the connection on error. * Side effects: Closes the connection on error.
*/ */
int int
pop_reset (server) pop_reset (popserver server)
popserver server;
{ {
if (pop_retrieve_flush (server)) if (pop_retrieve_flush (server))
{ {
@ -978,8 +932,7 @@ pop_reset (server)
* function is called, even if an error occurs. * function is called, even if an error occurs.
*/ */
int int
pop_quit (server) pop_quit (popserver server)
popserver server;
{ {
int ret = 0; int ret = 0;
@ -1023,9 +976,7 @@ static int have_winsock = 0;
* into pop_error. * into pop_error.
*/ */
static int static int
socket_connection (host, flags) socket_connection (char *host, int flags)
char *host;
int flags;
{ {
#ifdef HAVE_GETADDRINFO #ifdef HAVE_GETADDRINFO
struct addrinfo *res, *it; struct addrinfo *res, *it;
@ -1069,7 +1020,7 @@ socket_connection (host, flags)
} }
#endif #endif
bzero ((char *) &addr, sizeof (addr)); memset (&addr, 0, sizeof (addr));
addr.sin_family = AF_INET; addr.sin_family = AF_INET;
/** "kpop" service is never used: look for 20060515 to see why **/ /** "kpop" service is never used: look for 20060515 to see why **/
@ -1145,8 +1096,7 @@ socket_connection (host, flags)
if (it->ai_addrlen == sizeof (addr)) if (it->ai_addrlen == sizeof (addr))
{ {
struct sockaddr_in *in_a = (struct sockaddr_in *) it->ai_addr; struct sockaddr_in *in_a = (struct sockaddr_in *) it->ai_addr;
bcopy (&in_a->sin_addr, (char *) &addr.sin_addr, memcpy (&addr.sin_addr, &in_a->sin_addr, sizeof (addr.sin_addr));
sizeof (addr.sin_addr));
if (! connect (sock, (struct sockaddr *) &addr, sizeof (addr))) if (! connect (sock, (struct sockaddr *) &addr, sizeof (addr)))
break; break;
} }
@ -1174,8 +1124,7 @@ socket_connection (host, flags)
while (*hostent->h_addr_list) while (*hostent->h_addr_list)
{ {
bcopy (*hostent->h_addr_list, (char *) &addr.sin_addr, memcpy (&addr.sin_addr, *hostent->h_addr_list, hostent->h_length);
hostent->h_length);
if (! connect (sock, (struct sockaddr *) &addr, sizeof (addr))) if (! connect (sock, (struct sockaddr *) &addr, sizeof (addr)))
break; break;
hostent->h_addr_list++; hostent->h_addr_list++;
@ -1335,9 +1284,7 @@ socket_connection (host, flags)
* THE RETURNED LINE MAY CONTAIN EMBEDDED NULLS! * THE RETURNED LINE MAY CONTAIN EMBEDDED NULLS!
*/ */
static int static int
pop_getline (server, line) pop_getline (popserver server, char **line)
popserver server;
char **line;
{ {
#define GETLINE_ERROR "Error reading from server: " #define GETLINE_ERROR "Error reading from server: "
@ -1369,8 +1316,8 @@ pop_getline (server, line)
} }
else else
{ {
bcopy (server->buffer + server->buffer_index, memmove (server->buffer, server->buffer + server->buffer_index,
server->buffer, server->data); server->data);
/* Record the fact that we've searched the data already in /* Record the fact that we've searched the data already in
the buffer for a CRLF, so that when we search below, we the buffer for a CRLF, so that when we search below, we
don't have to search the same data twice. There's a "- don't have to search the same data twice. There's a "-
@ -1467,9 +1414,7 @@ pop_getline (server, line)
* Side effects: Closes the connection on error. * Side effects: Closes the connection on error.
*/ */
static int static int
sendline (server, line) sendline (popserver server, char *line)
popserver server;
char *line;
{ {
#define SENDLINE_ERROR "Error writing to POP server: " #define SENDLINE_ERROR "Error writing to POP server: "
int ret; int ret;
@ -1516,10 +1461,7 @@ sendline (server, line)
* Return value: Same as write. Pop_error is not set. * Return value: Same as write. Pop_error is not set.
*/ */
static int static int
fullwrite (fd, buf, nbytes) fullwrite (int fd, char *buf, int nbytes)
int fd;
char *buf;
int nbytes;
{ {
char *cp; char *cp;
int ret = 0; int ret = 0;
@ -1549,8 +1491,7 @@ fullwrite (fd, buf, nbytes)
* Side effects: On failure, may make the connection unusable. * Side effects: On failure, may make the connection unusable.
*/ */
static int static int
getok (server) getok (popserver server)
popserver server;
{ {
char *fromline; char *fromline;
@ -1621,8 +1562,7 @@ gettermination (server)
* since the last pop_reset) may be lost. * since the last pop_reset) may be lost.
*/ */
void void
pop_close (server) pop_close (popserver server)
popserver server;
{ {
pop_trash (server); pop_trash (server);
free ((char *) server); free ((char *) server);
@ -1638,8 +1578,7 @@ pop_close (server)
* pop_close or pop_quit after this function has been called. * pop_close or pop_quit after this function has been called.
*/ */
static void static void
pop_trash (server) pop_trash (popserver server)
popserver server;
{ {
if (server->file >= 0) if (server->file >= 0)
{ {
@ -1671,9 +1610,7 @@ pop_trash (server)
null, or 0 if it does not contain one. */ null, or 0 if it does not contain one. */
static char * static char *
find_crlf (in_string, len) find_crlf (char *in_string, int len)
char *in_string;
int len;
{ {
while (len--) while (len--)
{ {

View file

@ -40,7 +40,7 @@ static char time_string[30];
/* Reset the stopwatch to zero. */ /* Reset the stopwatch to zero. */
void void
reset_watch () reset_watch (void)
{ {
EMACS_GET_TIME (TV1); EMACS_GET_TIME (TV1);
watch_not_started = 0; watch_not_started = 0;
@ -51,7 +51,7 @@ reset_watch ()
If reset_watch was not called yet, exit. */ If reset_watch was not called yet, exit. */
char * char *
get_time () get_time (void)
{ {
if (watch_not_started) if (watch_not_started)
exit (EXIT_FAILURE); /* call reset_watch first ! */ exit (EXIT_FAILURE); /* call reset_watch first ! */
@ -79,7 +79,7 @@ gettimeofday (tp, tzp)
#endif #endif
int int
main () main (void)
{ {
int c; int c;
while ((c = getchar ()) != EOF) while ((c = getchar ()) != EOF)

View file

@ -65,8 +65,7 @@ struct docstr /* Allocated thing for an entry. */
/* Print error message. `s1' is printf control string, `s2' is arg for it. */ /* Print error message. `s1' is printf control string, `s2' is arg for it. */
void void
error (s1, s2) error (char *s1, char *s2)
char *s1, *s2;
{ {
fprintf (stderr, "sorted-doc: "); fprintf (stderr, "sorted-doc: ");
fprintf (stderr, s1, s2); fprintf (stderr, s1, s2);
@ -76,8 +75,7 @@ error (s1, s2)
/* Print error message and exit. */ /* Print error message and exit. */
void void
fatal (s1, s2) fatal (char *s1, char *s2)
char *s1, *s2;
{ {
error (s1, s2); error (s1, s2);
exit (EXIT_FAILURE); exit (EXIT_FAILURE);
@ -86,8 +84,7 @@ fatal (s1, s2)
/* Like malloc but get fatal error if memory is exhausted. */ /* Like malloc but get fatal error if memory is exhausted. */
char * char *
xmalloc (size) xmalloc (int size)
int size;
{ {
char *result = malloc ((unsigned)size); char *result = malloc ((unsigned)size);
if (result == NULL) if (result == NULL)
@ -96,8 +93,7 @@ xmalloc (size)
} }
char * char *
xstrdup (str) xstrdup (char *str)
char * str;
{ {
char *buf = xmalloc (strlen (str) + 1); char *buf = xmalloc (strlen (str) + 1);
(void) strcpy (buf, str); (void) strcpy (buf, str);
@ -107,16 +103,15 @@ xstrdup (str)
/* Comparison function for qsort to call. */ /* Comparison function for qsort to call. */
int int
cmpdoc (a, b) cmpdoc (const void *va, const void *vb)
DOCSTR **a;
DOCSTR **b;
{ {
DOCSTR *const *a = va;
DOCSTR *const *b = vb;
register int val = strcmp ((*a)->name, (*b)->name); register int val = strcmp ((*a)->name, (*b)->name);
if (val) return val; if (val) return val;
return (*a)->type - (*b)->type; return (*a)->type - (*b)->type;
} }
enum state enum state
{ {
WAITING, BEG_NAME, NAME_GET, BEG_DESC, DESC_GET WAITING, BEG_NAME, NAME_GET, BEG_DESC, DESC_GET
@ -128,7 +123,7 @@ char *states[] =
}; };
int int
main () main (void)
{ {
register DOCSTR *dp = NULL; /* allocated DOCSTR */ register DOCSTR *dp = NULL; /* allocated DOCSTR */
register LINE *lp = NULL; /* allocated line */ register LINE *lp = NULL; /* allocated line */

View file

@ -52,10 +52,7 @@ char buf[300];
/* Like `read' but keeps trying until it gets SIZE bytes or reaches eof. */ /* Like `read' but keeps trying until it gets SIZE bytes or reaches eof. */
int int
cool_read (fd, buf, size) cool_read (int fd, char *buf, int size)
int fd;
char *buf;
int size;
{ {
int num, sofar = 0; int num, sofar = 0;
@ -70,9 +67,7 @@ cool_read (fd, buf, size)
} }
int int
main (argc, argv) main (int argc, char **argv)
int argc;
char **argv;
{ {
int fd; int fd;

View file

@ -64,21 +64,13 @@ extern int optind, opterr;
#define MAX_SCORES 200 #define MAX_SCORES 200
#define MAX_DATA_LEN 1024 #define MAX_DATA_LEN 1024
/* Declare the prototype for a general external function. */
#if defined (PROTOTYPES) || defined (WINDOWSNT)
#define P_(proto) proto
#else
#define P_(proto) ()
#endif
#ifndef HAVE_DIFFTIME #ifndef HAVE_DIFFTIME
/* OK on POSIX (time_t is arithmetic type) modulo overflow in subtraction. */ /* OK on POSIX (time_t is arithmetic type) modulo overflow in subtraction. */
#define difftime(t1, t0) (double)((t1) - (t0)) #define difftime(t1, t0) (double)((t1) - (t0))
#endif #endif
int int
usage (err) usage (int err)
int err;
{ {
fprintf (stdout, "Usage: update-game-score [-m MAX ] [ -r ] game/scorefile SCORE DATA\n"); fprintf (stdout, "Usage: update-game-score [-m MAX ] [ -r ] game/scorefile SCORE DATA\n");
fprintf (stdout, " update-game-score -h\n"); fprintf (stdout, " update-game-score -h\n");
@ -89,8 +81,8 @@ usage (err)
exit (err); exit (err);
} }
int lock_file P_ ((const char *filename, void **state)); int lock_file (const char *filename, void **state);
int unlock_file P_ ((const char *filename, void *state)); int unlock_file (const char *filename, void *state);
struct score_entry struct score_entry
{ {
@ -99,25 +91,24 @@ struct score_entry
char *data; char *data;
}; };
int read_scores P_ ((const char *filename, struct score_entry **scores, int read_scores (const char *filename, struct score_entry **scores,
int *count)); int *count);
int push_score P_ ((struct score_entry **scores, int *count, int push_score (struct score_entry **scores, int *count,
int newscore, char *username, char *newdata)); int newscore, char *username, char *newdata);
void sort_scores P_ ((struct score_entry *scores, int count, int reverse)); void sort_scores (struct score_entry *scores, int count, int reverse);
int write_scores P_ ((const char *filename, const struct score_entry *scores, int write_scores (const char *filename, const struct score_entry *scores,
int count)); int count);
void lose P_ ((const char *msg)) NO_RETURN; void lose (const char *msg) NO_RETURN;
void void
lose (msg) lose (const char *msg)
const char *msg;
{ {
fprintf (stderr, "%s\n", msg); fprintf (stderr, "%s\n", msg);
exit (EXIT_FAILURE); exit (EXIT_FAILURE);
} }
void lose_syserr P_ ((const char *msg)) NO_RETURN; void lose_syserr (const char *msg) NO_RETURN;
/* Taken from sysdep.c. */ /* Taken from sysdep.c. */
#ifndef HAVE_STRERROR #ifndef HAVE_STRERROR
@ -137,15 +128,14 @@ strerror (errnum)
#endif /* ! HAVE_STRERROR */ #endif /* ! HAVE_STRERROR */
void void
lose_syserr (msg) lose_syserr (const char *msg)
const char *msg;
{ {
fprintf (stderr, "%s: %s\n", msg, strerror (errno)); fprintf (stderr, "%s: %s\n", msg, strerror (errno));
exit (EXIT_FAILURE); exit (EXIT_FAILURE);
} }
char * char *
get_user_id P_ ((void)) get_user_id (void)
{ {
char *name; char *name;
struct passwd *buf = getpwuid (getuid ()); struct passwd *buf = getpwuid (getuid ());
@ -166,9 +156,7 @@ get_user_id P_ ((void))
} }
char * char *
get_prefix (running_suid, user_prefix) get_prefix (int running_suid, char *user_prefix)
int running_suid;
char *user_prefix;
{ {
if (!running_suid && user_prefix == NULL) if (!running_suid && user_prefix == NULL)
lose ("Not using a shared game directory, and no prefix given."); lose ("Not using a shared game directory, and no prefix given.");
@ -184,9 +172,7 @@ get_prefix (running_suid, user_prefix)
} }
int int
main (argc, argv) main (int argc, char **argv)
int argc;
char **argv;
{ {
int c, running_suid; int c, running_suid;
void *lockstate; void *lockstate;
@ -273,9 +259,7 @@ main (argc, argv)
} }
int int
read_score (f, score) read_score (FILE *f, struct score_entry *score)
FILE *f;
struct score_entry *score;
{ {
int c; int c;
if (feof (f)) if (feof (f))
@ -359,10 +343,7 @@ read_score (f, score)
} }
int int
read_scores (filename, scores, count) read_scores (const char *filename, struct score_entry **scores, int *count)
const char *filename;
struct score_entry **scores;
int *count;
{ {
int readval, scorecount, cursize; int readval, scorecount, cursize;
struct score_entry *ret; struct score_entry *ret;
@ -395,9 +376,7 @@ read_scores (filename, scores, count)
} }
int int
score_compare (a, b) score_compare (const void *a, const void *b)
const void *a;
const void *b;
{ {
const struct score_entry *sa = (const struct score_entry *) a; const struct score_entry *sa = (const struct score_entry *) a;
const struct score_entry *sb = (const struct score_entry *) b; const struct score_entry *sb = (const struct score_entry *) b;
@ -405,9 +384,7 @@ score_compare (a, b)
} }
int int
score_compare_reverse (a, b) score_compare_reverse (const void *a, const void *b)
const void *a;
const void *b;
{ {
const struct score_entry *sa = (const struct score_entry *) a; const struct score_entry *sa = (const struct score_entry *) a;
const struct score_entry *sb = (const struct score_entry *) b; const struct score_entry *sb = (const struct score_entry *) b;
@ -415,11 +392,7 @@ score_compare_reverse (a, b)
} }
int int
push_score (scores, count, newscore, username, newdata) push_score (struct score_entry **scores, int *count, int newscore, char *username, char *newdata)
struct score_entry **scores;
int *count; int newscore;
char *username;
char *newdata;
{ {
struct score_entry *newscores struct score_entry *newscores
= (struct score_entry *) realloc (*scores, = (struct score_entry *) realloc (*scores,
@ -435,20 +408,14 @@ push_score (scores, count, newscore, username, newdata)
} }
void void
sort_scores (scores, count, reverse) sort_scores (struct score_entry *scores, int count, int reverse)
struct score_entry *scores;
int count;
int reverse;
{ {
qsort (scores, count, sizeof (struct score_entry), qsort (scores, count, sizeof (struct score_entry),
reverse ? score_compare_reverse : score_compare); reverse ? score_compare_reverse : score_compare);
} }
int int
write_scores (filename, scores, count) write_scores (const char *filename, const struct score_entry *scores, int count)
const char *filename;
const struct score_entry * scores;
int count;
{ {
FILE *f; FILE *f;
int i; int i;
@ -477,9 +444,7 @@ write_scores (filename, scores, count)
} }
int int
lock_file (filename, state) lock_file (const char *filename, void **state)
const char *filename;
void **state;
{ {
int fd; int fd;
struct stat buf; struct stat buf;
@ -520,9 +485,7 @@ lock_file (filename, state)
} }
int int
unlock_file (filename, state) unlock_file (const char *filename, void *state)
const char *filename;
void *state;
{ {
char *lockpath = (char *) state; char *lockpath = (char *) state;
int ret = unlink (lockpath); int ret = unlink (lockpath);

View file

@ -1,3 +1,641 @@
2010-07-23 Juanma Barranquero <lekktu@gmail.com>
* custom.el (custom-declare-variable): Give a clearer error message
when the docstring is missing (bug#6476).
2010-07-22 Michael R. Mauger <mmaug@yahoo.com>
* progmodes/sql.el: Version 2.4. Improved Login prompting.
(sql-login-params): New widget definition.
(sql-oracle-login-params, sql-mysql-login-params)
(sql-solid-login-params, sql-sybase-login-params)
(sql-informix-login-params, sql-ingres-login-params)
(sql-ms-login-params, sql-postgres-login-params)
(sql-interbase-login-params, sql-db2-login-params)
(sql-linter-login-params): Use it.
(sql-sqlite-login-params): Use it; Define "database" parameter as
a file name.
(sql-sqlite-program): Change to "sqlite3"
(sql-comint-sqlite): Make sure database name is complete.
(sql-for-each-login): New function.
(sql-connect, sql-save-connection): Use it.
(sql-get-login-ext): New function.
(sql-get-login): Use it.
(sql-make-alternate-buffer-name): Handle :file parameters.
2010-07-22 Juanma Barranquero <lekktu@gmail.com>
* dired.el (dired-no-confirm): Document value t and fix defcustom to
accept it (bug#6597). Suggested by Drew Adams <drew.adams@oracle.com>.
2010-07-22 Teemu Likonen <tlikonen@iki.fi> (tiny change)
* dired.el (dired-mode-map): Use command remapping (bug#6632).
2010-07-22 Lawrence Mitchell <wence@gmx.li>
* term/vt100.el (vt100-wide-mode): Fix :init-value keyword (bug#6620).
2010-07-21 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-get-ls-command)
(tramp-get-ls-command-with-dired): Run tests on "/dev/null"
instead of "/".
2010-07-20 Michael R. Mauger <mmaug@yahoo.com>
* progmodes/sql.el: Version 2.3.
(sql-connection-alist): Changed keys from symbols to strings;
enhanced the widget definition.
(sql-mode-menu): Added submenu to select connections.
(sql-interactive-mode-menu): Added "Save Connection" item.
(sql-add-product): Fixed menu item.
(sql-get-product-feature): Improved error handling.
(sql--alt-buffer-part, sql--alt-if-not-empty): Removed.
(sql-make-alternate-buffer-name): Simplified.
(sql-product-interactive): Handle missing product.
(sql-connect): Support string keys, minor improvements.
(sql-save-connection): New function.
(sql-connection-menu-filter): New function.
2010-07-20 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-file-name-handler): Trace 'quit.
(tramp-open-connection-setup-interactive-shell): Apply
workaround for IRIX64 bug. Move argument of last
`tramp-send-command' where it belongs to.
2010-07-20 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-perl-file-attributes)
(tramp-perl-directory-files-and-attributes): Don't pass "$3".
(tramp-maybe-open-connection): Use `async-args' and `gw-args' in
front of `login-args'.
2010-07-19 Juanma Barranquero <lekktu@gmail.com>
* time.el (display-time-world-mode): Define with `define-derived-mode'.
Set `show-trailing-whitespace' to nil.
(display-time-world-display): Simplify.
2010-07-18 Alan Mackenzie <acm@muc.de>
Enhance `c-file-style' in file/directory local variables.
* progmodes/cc-mode.el (c-count-cfss): New function.
(c-before-hack-hook): Call `c-set-style' differently according to
whether c-file-style was set in file or directory local
variables.
2010-07-18 Michael R. Mauger <mmaug@yahoo.com>
* progmodes/sql.el: Version 2.2.
(sql-product, sql-user, sql-database, sql-server, sql-port): Use
defcustom :safe keyword rather than putting safe-local-variable
property.
(sql-password): Use defcustom :risky keyword rather than putting
risky-local-variable property.
(sql-oracle-login-params, sql-sqlite-login-params)
(sql-solid-login-params, sql-sybase-login-params)
(sql-informix-login-params, sql-ingres-login-params)
(sql-ms-login-params, sql-postgres-login-params)
(sql-interbase-login-params, sql-db2-login-params)
(sql-linter-login-params): Add `port' option
(sql-get-product-feature): Added NO-INDIRECT parameter.
(sql-comint-oracle, sql-comint-sybase)
(sql-comint-informix, sql-comint-sqlite, sql-comint-mysql)
(sql-comint-solid, sql-comint-ingres, sql-comint-ms)
(sql-comint-postgres, sql-comint-interbase, sql-comint-db2)
(sql-comint-linter): Renamed sql-connect-* functions to
sql-comint-*.
(sql-product-alist, sql-mode-menu): Renamed as above and
:sqli-connect-func to :sqli-comint-func.
(sql-connection): New variable
(sql-interactive-mode): Set it.
(sql-connection-alist): New variable.
(sql-connect): New function.
(sql--alt-buffer-part, sql--alt-if-not-empty)
(sql-make-alternate-buffer-name): Improved alternative buffer name.
2010-07-17 Thierry Volpiatto <thierry.volpiatto@gmail.com>
* image-mode.el (image-bookmark-make-record): Do not set context
in an image (Bug#6650).
2010-07-17 Chong Yidong <cyd@stupidchicken.com>
* simple.el (select-active-region): New function.
(push-mark-command, set-mark, activate-mark)
(handle-shift-selection): Use it.
(deactivate-mark): Don't check for size of region.
* mouse.el (mouse-drag-track): Use select-active-region.
2010-07-17 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-get-ls-command-with-dired): Make test for
"--dired" stronger.
2010-07-17 Chong Yidong <cyd@stupidchicken.com>
* term/x-win.el (x-select-enable-primary): Change default to nil.
(x-select-enable-clipboard): Add :version keyword.
* mouse.el (mouse-drag-copy-region):
* simple.el (select-active-regions): Likewise.
2010-07-16 Reiner Steib <Reiner.Steib@gmx.de>
* vc/vc.el (vc-coding-system-inherit-eol): New defvar.
(vc-coding-system-for-diff): Use it to decide whether to inherit
from the file the EOL format for reading the diffs of that file.
(Bug#4451)
2010-07-16 Eli Zaretskii <eliz@gnu.org>
* mail/rmailmm.el (rmail-mime-save): Make the temp buffer
unibyte, so compressed attachments are not compressed again.
2010-07-16 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-handle-shell-command): Don't use hard-wired
"/bin/sh" but `tramp-remote-sh' from `tramp-methods'.
(tramp-find-shell): Simplify setting connection property.
(tramp-get-ls-command): Make test for "--color=never" stronger.
2010-07-15 Simon South <ssouth@member.fsf.org>
* progmodes/delphi.el (delphi-previous-indent-of): Indent case
blocks within record declarations (i.e. variant parts) correctly.
2010-07-15 Simon South <ssouth@member.fsf.org>
* progmodes/delphi.el (delphi-token-at): Give newlines precedence
over literal tokens when parsing so newlines aren't "absorbed" by
single-line comments. Corrects the indentation of case blocks
that have a comment on the first line.
2010-07-14 Karl Fogel <kfogel@red-bean.com>
* bookmark.el (bookmark-load-hook): Fix doc string as suggested
by Drew Adams (Bug#5504).
2010-07-14 Jan Djärv <jan.h.d@swipnet.se>
* xt-mouse.el (xterm-mouse-event-read): Fix for characters > 127
now that Unicode is used (Bug#6594).
2010-07-14 Chong Yidong <cyd@stupidchicken.com>
* term/x-win.el (x-select-enable-clipboard): Default to t.
(x-initialize-window-system): Don't overwrite Paste menu item.
* simple.el (select-active-regions): Default to t.
(push-mark-command): Don't overwrite primary with empty string.
* mouse.el: Bind mouse-2 to mouse-yank-primary.
(mouse-drag-copy-region): Default to nil.
* menu-bar.el (menu-bar-enable-clipboard): Don't overwrite
Cut/Copy/Paste menu bar items.
2010-07-13 Thierry Volpiatto <thierry.volpiatto@gmail.com>
Allow C-w when setting a bookmark in a Gnus Article buffer (Bug#5975).
Patch applied by Karl Fogel.
* bookmark.el (bookmark-set): Don't set `bookmark-yank-point'
and `bookmark-current-buffer' if they have been already set in
another buffer (e.g gnus-art).
2010-07-13 Karl Fogel <kfogel@red-bean.com>
Thierry Volpiatto <thierry.volpiatto@gmail.com>
Preparation for setting bookmarks in Gnus article buffers (Bug#5975).
* bookmark.el (bookmark-make-record-default): Allow unneeded
information to be omitted from the record.
Adjust declarations and calls:
* info.el (bookmark-make-record-default): Adjust declaration.
(Info-bookmark-make-record): Adjust call.
* woman.el (bookmark-make-record-default): Adjust declaration.
(woman-bookmark-make-record): Adjust call.
* man.el (bookmark-make-record-default): Adjust declaration.
(Man-bookmark-make-record): Adjust call.
* image-mode.el (bookmark-make-record-default): Adjust declaration.
* doc-view.el (bookmark-make-record-default): Adjust declaration.
2010-07-13 Karl Fogel <kfogel@red-bean.com>
* bookmark.el (bookmark-show-annotation): Use `when' instead of `if'.
This is also from Thierry Volpiatto's patch in bug #6444. However,
because it was extraneous to the functional change in that patch,
and causes a re-indendation, I am committing it separately.
2010-07-13 Thierry Volpiatto <thierry.volpiatto@gmail.com>
* bookmark.el (bookmark-show-annotation): Ensure annotations show,
e.g. in Info bookmarks, by using `switch-to-buffer-other-window'.
Patch applied by Karl Fogel (Bug#6444).
2010-07-13 Chong Yidong <cyd@stupidchicken.com>
* frame.el (make-frame): Fix typo in 2010-06-30 change (Bug#6625).
2010-07-13 Adrian Robert <Adrian.B.Robert@gmail.com>
* term/ns-win.el: Bind M-~ to 'ns-prev-frame (due to Matthew
Dempsky; bug#5084). Remove incorrect binding for S-tab.
(ns-alternatives-map): Change S-tab binding to backtab
(bug#6616).
* simple.el (normal-erase-is-backspace-setup-frame): Set mode on
under ns.
2010-07-12 Andreas Schwab <schwab@linux-m68k.org>
* language/tai-viet.el ("TaiViet"): Try to fix re-encoding bugs.
(Bug#5806)
* language/tv-util.el (tai-viet-re): Remove format.
2010-07-12 Kenichi Handa <handa@m17n.org>
* language/hebrew.el: Remove no-byte-compile declaration.
Change coding: tag to utf-8. Register hebrew-shape-gstring in
composition-function-table for 3-character looking back.
(hebrew-font-get-precomposed): New function.
(hebrew-shape-gstring): Utilize precomposed glyphs if available.
2010-07-11 Chong Yidong <cyd@stupidchicken.com>
* mouse.el (mouse-drag-track): Handle select-active-regions
(Bug#6612).
2010-07-11 Magnus Henoch <magnus.henoch@gmail.com>
* net/tramp-gvfs.el (tramp-gvfs-handle-copy-file): Do not pass
empty argument to gvfs-copy.
2010-07-10 Glenn Morris <rgm@gnu.org>
* calendar/calendar.el (calendar-week-end-day): New function.
* calendar/cal-tex.el (cal-tex-cursor-month): Remove unused vars.
Respect calendar-week-start-day. (Bug#6606)
(cal-tex-insert-day-names, cal-tex-insert-blank-days)
(cal-tex-insert-blank-days-at-end): Respect calendar-week-start-day.
(cal-tex-first-blank-p, cal-tex-last-blank-p): Simplify, and
respect calendar-week-start-day.
2010-07-10 Chong Yidong <cyd@stupidchicken.com>
* simple.el (use-region-p): Doc fix (Bug#6607).
2010-07-10 Aleksei Gusev <aleksei.gusev@gmail.com> (tiny change)
* progmodes/compile.el (compilation-error-regexp-alist-alist): Add
regexps for cucumber and ruby.
2010-07-08 Daiki Ueno <ueno@unixuser.org>
* epa-file.el (epa-file-error, epa-file--find-file-not-found-function)
(epa-file-insert-file-contents): Hack to prevent
find-file from opening empty buffer when decryptin failed
(bug#6568).
2010-07-07 Agustín Martín <agustin.martin@hispalinux.es>
* textmodes/ispell.el (ispell-alternate-dictionary):
Use file-readable-p.
Return nil if no word-list is found at default locations.
(ispell-complete-word-dict): Default to nil.
(ispell-command-loop): Use 'word-list' when using lookup-words.
(lookup-words): Use ispell-complete-word-dict or
ispell-alternate-dictionary. Check for word-list availability
and handle errors if needed with better messages (Bug#6539).
(ispell-complete-word): Use ispell-complete-word-dict or
ispell-alternate-dictionary.
2010-07-07 Christoph Scholtes <cschol2112@gmail.com>
* progmodes/python.el (python-font-lock-keywords): Add Python 2.7
builtins (BufferError, BytesWarning, WindowsError; callables
bin, bytearray, bytes, format, memoryview, next, print; __package__).
2010-07-07 Glenn Morris <rgm@gnu.org>
* play/zone.el (top-level): Do not require timer, tabify, or cl.
(zone-shift-left): Ignore intangibility, and any errors from
forward-char.
(zone-shift-right): Remove no-op end-of-line. Ignore intangibility.
(zone-pgm-putz-with-case): Use upcase-region rather than inserting,
deleting, and copying text properties.
(zone-line-specs, zone-pgm-stress): Check forward-line exit status.
(zone-pgm-rotate): Handle odd buffers like that of gomoku, where getting
to point-max is hard.
(zone-fret, zone-fill-out-screen): Replace cl's do with dotimes.
(zone-fill-out-screen): Ignore intangibility.
2010-07-05 Chong Yidong <cyd@stupidchicken.com>
* menu-bar.el (menu-bar-mode):
* tool-bar.el (tool-bar-mode): Replace default-frame-alist element
if it has been set.
* mouse.el (mouse-drag-track): Call mouse-start-end to handle
word/line selection (Bug#6565).
2010-07-04 Juanma Barranquero <lekktu@gmail.com>
* net/dbus.el (dbus-send-signal): Declare function.
2010-07-04 Michael Albinus <michael.albinus@gmx.de>
* net/dbus.el: Implement signal "PropertiesChanged" (from D-Bus 1.3.1).
(dbus-register-property): New optional argument EMITS-SIGNAL.
(dbus-property-handler): Send signal "PropertiesChanged" if requested.
2010-07-03 Chong Yidong <cyd@stupidchicken.com>
* mouse.el (mouse-drag-overlay): Variable deleted.
(mouse-move-drag-overlay, mouse-show-mark): Functions deleted.
(mouse--remap-link-click-p): New function.
(mouse-drag-track): Handle dragging by using temporary Transient
Mark mode, instead of a special overlay.
(mouse-kill-ring-save, mouse-save-then-kill): Don't call
mouse-show-mark.
* mouse-sel.el (mouse-sel-selection-alist): mouse-drag-overlay
deleted.
2010-07-02 Juri Linkov <juri@jurta.org>
* autoinsert.el (auto-insert-alist): Fix readability
by using dotted pair notation for lambda.
2010-07-02 Juri Linkov <juri@jurta.org>
* faces.el (read-face-name): Rename arg `string-describing-default'
to `default'. Doc fix. Display the default value in quotes
in the prompt. With empty input, return the `default' arg,
unless the default value is a string (in which case return nil).
(describe-face): Replace the string `default' arg of `read-face-name'
with the symbol `default'.
2010-07-02 Chong Yidong <cyd@stupidchicken.com>
* emulation/viper-cmd.el (viper-delete-backward-char)
(viper-del-backward-char-in-insert)
(viper-del-backward-char-in-replace, viper-change)
(viper-backward-indent): Replace delete-backward-char with
delete-char (Bug#6552).
2010-07-01 Chong Yidong <cyd@stupidchicken.com>
* ruler-mode.el (ruler--save-header-line-format): Fix typos.
2010-06-30 Chong Yidong <cyd@stupidchicken.com>
* frame.el (make-frame): Add default-frame-alist to the PARAMETERS
argument passed to frame-creation-function (Bug#5378).
* faces.el (x-handle-named-frame-geometry)
(x-handle-reverse-video, x-create-frame-with-faces)
(face-set-after-frame-default, tty-create-frame-with-faces): Don't
separately consult default-frame-alist. It is now passed as the
PARAMETER argument.
2010-06-30 Andreas Schwab <schwab@linux-m68k.org>
* startup.el (command-line): Don't call tool-bar-setup in a
tty-only build.
2010-06-30 Chong Yidong <cyd@stupidchicken.com>
* ruler-mode.el (ruler--save-header-line-format): New fun.
(ruler-mode): Use it as a setter function, so as not to overwrite
ruler-mode-header-line-format-old if Ruler mode is on (Bug#5370).
2010-06-29 Chong Yidong <cyd@stupidchicken.com>
* vc/vc.el (vc-deduce-backend): New fun. Handle diff buffers.
(vc-root-diff, vc-print-root-log, vc-log-incoming)
(vc-log-outgoing): Use it.
(vc-diff-internal): Set diff-vc-backend.
* vc/diff-mode.el (diff-vc-backend): New var.
2010-06-28 Jan Djärv <jan.h.d@swipnet.se>
* dynamic-setting.el (font-setting-change-default-font): Remove
call to message.
2010-06-28 Kenichi Handa <handa@m17n.org>
* international/quail.el (quail-insert-kbd-layout): Fix the
showing of untranslated characters.
2010-06-28 Chong Yidong <cyd@stupidchicken.com>
* simple.el (delete-active-region): New option.
(delete-backward-char): Implement in Lisp.
(delete-forward-char): New command.
* mouse.el (mouse-region-delete-keys): Deleted.
(mouse-show-mark): Simplify.
* bindings.el (global-map): Bind delete and DEL, the former to
delete-forward-char.
2010-06-27 Lennart Borgman <lennart.borgman@gmail.com>
* progmodes/ruby-mode.el (ruby-mode-map): Don't bind TAB.
(ruby-mode): Bind indent-line-function (Bug#5119).
2010-06-27 Chong Yidong <cyd@stupidchicken.com>
* startup.el (command-line): Recognize "0" X resource value.
2010-06-27 Chong Yidong <cyd@stupidchicken.com>
* startup.el (command-line): Use X resources to set the value of
menu-bar-mode and tool-bar-mode, before calling frame-initialize.
* menu-bar.el (menu-bar-mode):
* tool-bar.el (tool-bar-mode): Don't change default-frame-alist.
Set init-value to t.
* frame.el (frame-notice-user-settings): Don't change
default-frame-alist based on menu-bar-mode and tool-bar-mode, or
vice versa (Bug#2249).
2010-06-26 Eli Zaretskii <eliz@gnu.org>
* w32-fns.el (w32-convert-standard-filename): Doc fix.
2010-06-25 Agustín Martín <agustin.martin@hispalinux.es>
* textmodes/flyspell.el (flyspell-check-previous-highlighted-word):
Make sure `flyspell-word' re-checks word after function run (Bug#6504).
* textmodes/ispell.el (ispell-init-process): Make sure ispell and
default directories are expanded (Bug#6143).
2010-06-24 Juri Linkov <juri@jurta.org>
* minibuffer.el (completions-format): Change default from nil to
`horizontal'. Remove `nil' value from :type. Doc fix. (Bug#6459)
2010-06-24 Juri Linkov <juri@jurta.org>
* vc/vc.el (vc-diff-internal): Set `revert-buffer-function'
buffer-locally to lambda that re-runs the vc diff command.
(Bug#6447)
2010-06-24 Chong Yidong <cyd@stupidchicken.com>
* kmacro.el (kmacro-call-macro): Don't issue hint message if the
echo area is in use (Bug#3412).
2010-06-22 Glenn Morris <rgm@gnu.org>
* textmodes/texinfmt.el (texinfo-format-region)
(texinfo-raise-lower-sections, texinfo-format-separate-node)
(texinfo-itemize-item, texinfo-multitable-item, texinfo-alias)
(texinfo-format-option, texinfo-noindent):
Use line-beginning-position and line-end-position.
* calc/calc-aent.el, calc/calc-ext.el, calc/calc-lang.el:
* calc/calc-store.el, calc/calc-units.el, calc/calc.el:
* calc/calccomp.el: Add explicit utf-8 coding cookies to files with
utf-8 characters.
2010-06-21 Karl Fogel <kfogel@red-bean.com>
* play/zone.el (zone-fall-through-ws): Fix next-line ->
forward-line fallout.
2010-07-06 Chong Yidong <cyd@stupidchicken.com>
* mouse.el (mouse-appearance-menu): Add docstring.
* help.el (describe-key): Print up-event using key-description.
2010-07-03 Michael Albinus <michael.albinus@gmx.de>
* net/zeroconf.el (zeroconf-resolve-service)
(zeroconf-service-resolver-handler): Use
`dbus-byte-array-to-string'.
(zeroconf-publish-service): Use `dbus-string-to-byte-array'.
2010-07-03 Jan Moringen <jan.moringen@uni-bielefeld.de>
* net/zeroconf.el (zeroconf-service-remove-hook): New defun.
2010-06-30 Dan Nicolaescu <dann@ics.uci.edu>
Avoid displaying files with a nil state in vc-dir.
* vc/vc-dir.el (vc-dir-update): Obey the noinsert argument in all
cases that cause insertion.
(vc-dir-resynch-file): Tell vc-dir-update to avoid inserting files
with a nil state.
2010-06-30 Chong Yidong <cyd@stupidchicken.com>
* xml.el (xml-parse-region): Avoid infloop (Bug#5281).
2010-06-29 Leo <sdl.web@gmail.com>
* emacs-lisp/rx.el (rx): Doc fix. (Bug#6537)
2010-06-27 Oleksandr Gavenko <gavenkoa@gmail.com> (tiny change)
* generic-x.el (bat-generic-mode): Fix regexp for command line
switches (Bug#5719).
2010-06-27 Masatake YAMATO <yamato@redhat.com>
* htmlfontify.el (hfy-face-attr-for-class): Use append instead
of nconc to avoid pure storage error (Bug#6239).
2010-06-27 Christoph <cschol2112@googlemail.com> (tiny change)
* bookmark.el (bookmark-bmenu-2-window, bookmark-bmenu-other-window)
(bookmark-bmenu-other-window-with-mouse): Remove unnecessary
bindings of bookmark-automatically-show-annotations (Bug#6515).
2010-06-25 Eli Zaretskii <eliz@gnu.org>
* arc-mode.el (archive-zip-extract): Don't quote the file name on
MS-Windows and MS-DOS. (Bug#6467, Bug#6144)
2010-06-24 Štěpán Němec <stepnem@gmail.com> (tiny change)
* comint.el (make-comint, make-comint-in-buffer): Mention return
value in the docstrings. (Bug#6498)
2010-06-24 Yoni Rabkin <yoni@rabkins.net>
* bs.el (bs-mode-font-lock-keywords): Remove "by" from Dired pattern,
since it is not present when using some non-default switches.
2010-06-23 Karl Fogel <kfogel@red-bean.com>
* simple.el (compose-mail): Fix doc string to refer to
`compose-mail-user-agent-warnings', instead of to the
nonexistent `compose-mail-check-user-agent'.
2010-06-21 Alan Mackenzie <bug-cc-mode@gnu.org>
Fix an indentation bug:
* progmodes/cc-mode.el (c-common-init): Initialise c-new-BEG/END.
(c-neutralize-syntax-in-and-mark-CPP): c-new-BEG/END: Take account
of existing values.
* progmodes/cc-engine.el (c-clear-<-pair-props-if-match-after)
(c-clear->-pair-props-if-match-before): now return t when they've
cleared properties, nil otherwise.
(c-before-change-check-<>-operators): Set c-new-beg/end correctly
by taking account of the existing value.
* progmodes/cc-defs.el
(c-clear-char-property-with-value-function): Fix this to clear the
property rather than overwriting it with nil.
2010-06-20 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/package.el (package-print-package): Add link to
package description via describe-package.
(describe-package-1): List package requirements. Add button to
perform installation.
(package-menu-describe-package): New command.
* help-mode.el (help-package): New button type.
2010-06-19 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/package.el: Move package-list-packages binding to
menu-bar.el.
(describe-package, describe-package-1, package--dir): New funs.
(package-activate-1): Use package--dir.
* emacs-lisp/package-x.el (gnus-article-buffer): Require package.
* help-mode.el (help-package-def): New button type.
* menu-bar.el: Move package-list-packages binding here from
package.el.
2010-06-19 Gustav Hållberg <gustav@gmail.com> (tiny change)
* descr-text.el (describe-char): Avoid trailing whitespace. (Bug#6423)
2010-06-18 Stefan Monnier <monnier@iro.umontreal.ca> 2010-06-18 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/edebug.el (edebug-read-list): * emacs-lisp/edebug.el (edebug-read-list):
@ -23,8 +661,8 @@
2010-06-17 Agustín Martín <agustin.martin@hispalinux.es> 2010-06-17 Agustín Martín <agustin.martin@hispalinux.es>
* ispell.el (ispell-aspell-find-dictionary): Fix regexp for * textmodes/ispell.el (ispell-aspell-find-dictionary): Fix regexp
languages like Portuguese with pt_{BR,PT} and no plain pt. for languages like Portuguese with pt_{BR,PT} and no plain pt.
2010-06-17 Juanma Barranquero <lekktu@gmail.com> 2010-06-17 Juanma Barranquero <lekktu@gmail.com>
@ -61,6 +699,67 @@
* emacs-lisp/package.el: New file. * emacs-lisp/package.el: New file.
2010-06-22 Dan Nicolaescu <dann@ics.uci.edu>
Fix vc-annotate for renamed files when using Git.
* vc-git.el (vc-git-find-revision): Deal with empty results from
ls-files. Doe not pass the object as a file name to cat-file, it
is not a file name.
(vc-git-annotate-command): Pass the file name using -- to avoid
ambiguity with the revision.
(vc-git-previous-revision): Pass a relative file name.
2010-06-22 Glenn Morris <rgm@gnu.org>
* progmodes/js.el (js-mode-map): Use standard capitalization and
ellipses for menu entries.
* wid-edit.el (widget-complete): Doc fix.
2010-06-22 Jürgen Hötzel <juergen@hoetzel.info> (tiny change)
* wid-edit.el (widget-complete): Fix typo in 2009-12-02 change.
2010-06-22 Dan Nicolaescu <dann@ics.uci.edu>
Fix annotating other revisions for renamed files in vc-annotate.
* vc-annotate.el (vc-annotate): Add an optional argument for the
VC backend. Use it when non-nil.
(vc-annotate-warp-revision): Pass the VC backend to vc-annotate.
(Bug#6487)
Fix vc-annotate-show-changeset-diff-revision-at-line for git.
* vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal):
Do not pass the file name to the 'previous-revision call when we
don't want a file diff. (Bug#6489)
2010-06-21 Dan Nicolaescu <dann@ics.uci.edu>
Fix finding revisions for renamed files in vc-annotate.
* vc.el (vc-find-revision): Add an optional argument for
the VC backend. Use it when non-nil.
* vc-annotate.el (vc-annotate-find-revision-at-line): Pass the VC
backend to vc-find-revision. (Bug#6487)
2010-06-21 Dan Nicolaescu <dann@ics.uci.edu>
Fix reading file names in Git annotate buffers.
* vc-git.el (vc-git-annotate-extract-revision-at-line): Remove
trailing whitespace. Suggested by Eric Hanchrow. (Bug#6481)
2010-06-20 Alan Mackenzie <acm@muc.de>
* progmodes/cc-mode.el (c-before-hack-hook): When the mode is set
in file local variables, set it first.
2010-06-19 Glenn Morris <rgm@gnu.org>
* descr-text.el (describe-char-unicode-data): Insert separating
space when needed. (Bug#6422)
* progmodes/idlwave.el (idlwave-action-and-binding):
Fix typo in 2009-12-03 change. (Bug#6450)
2010-06-17 Stefan Monnier <monnier@iro.umontreal.ca> 2010-06-17 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/macroexp.el (macroexpand-all-1): Put back special * emacs-lisp/macroexp.el (macroexpand-all-1): Put back special
@ -68,7 +767,7 @@
2010-06-16 Jay Belanger <jay.p.belanger@gmail.com> 2010-06-16 Jay Belanger <jay.p.belanger@gmail.com>
* calc/calc-poly.el: (math-accum-factors): Make sure that * calc/calc-poly.el (math-accum-factors): Make sure that
constants aren't distributed after they are factored out. constants aren't distributed after they are factored out.
2010-06-16 Juri Linkov <juri@jurta.org> 2010-06-16 Juri Linkov <juri@jurta.org>
@ -76,6 +775,8 @@
* facemenu.el (list-colors-display): Call `pop-to-buffer' before * facemenu.el (list-colors-display): Call `pop-to-buffer' before
`list-colors-print'. (Bug#6332) `list-colors-print'. (Bug#6332)
* subr.el (read-quoted-char): Fix up last change (bug#6290).
2010-06-16 Stefan Monnier <monnier@iro.umontreal.ca> 2010-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/macroexp.el (macroexpand-all-1): Don't handle `lambda' * emacs-lisp/macroexp.el (macroexpand-all-1): Don't handle `lambda'
@ -118,7 +819,7 @@
2010-06-16 Agustín Martín <agustin.martin@hispalinux.es> 2010-06-16 Agustín Martín <agustin.martin@hispalinux.es>
* ispell.el (ispell-dictionary-base-alist): Fix * textmodes/ispell.el (ispell-dictionary-base-alist): Fix
portuguese casechars/not-casechars for missing 'çÇ'. portuguese casechars/not-casechars for missing 'çÇ'.
Suggested by Rolando Pereira (bug#6434). Suggested by Rolando Pereira (bug#6434).
@ -446,8 +1147,7 @@
2010-06-03 Chong Yidong <cyd@stupidchicken.com> 2010-06-03 Chong Yidong <cyd@stupidchicken.com>
* net/rcirc.el (rcirc-nickname<, rcirc-sort-nicknames-join): Doc * net/rcirc.el (rcirc-nickname<, rcirc-sort-nicknames-join): Doc fix.
fix.
2010-06-03 Stefan Monnier <monnier@iro.umontreal.ca> 2010-06-03 Stefan Monnier <monnier@iro.umontreal.ca>
@ -1208,8 +1908,8 @@
2010-05-13 Agustín Martín <agustin.martin@hispalinux.es> 2010-05-13 Agustín Martín <agustin.martin@hispalinux.es>
* ispell.el (ispell-init-process): Do not kill ispell process * textmodes/ispell.el (ispell-init-process): Do not kill ispell
everytime when spellchecking from the minibuffer (bug#6143). process everytime when spellchecking from the minibuffer (bug#6143).
2010-05-13 Stefan Monnier <monnier@iro.umontreal.ca> 2010-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
@ -1870,8 +2570,8 @@
2010-04-27 Agustín Martín <agustin.martin@hispalinux.es> 2010-04-27 Agustín Martín <agustin.martin@hispalinux.es>
* ispell.el (ispell-init-process): Fix personal dictionary condition * textmodes/ispell.el (ispell-init-process): Fix personal dictionary
in default directory check. condition in default directory check.
(ispell-init-process,ispell-kill-ispell,kill-buffer-hook): (ispell-init-process,ispell-kill-ispell,kill-buffer-hook):
Kill ispell process when killing its associated buffer. Kill ispell process when killing its associated buffer.
@ -3904,7 +4604,7 @@
2010-02-03 Michael Albinus <michael.albinus@gmx.de> 2010-02-03 Michael Albinus <michael.albinus@gmx.de>
* net/ange-ftp.el (ange-ftp-insert-directory): Parse directory * net/ange-ftp.el (ange-ftp-insert-directory): Parse directory
also in case of (and (not full) (not wildcard)). This is needed, also in case of (and (not full) (not wildcard)). This is needed
when dired is called with a list of files, which are not in when dired is called with a list of files, which are not in
`default-directory'. (Bug#5478) `default-directory'. (Bug#5478)
@ -10393,7 +11093,7 @@
* textmodes/fill.el: Convert to utf-8 encoding. * textmodes/fill.el: Convert to utf-8 encoding.
(fill-french-nobreak-p): Remove redundant » and « inherited from our (fill-french-nobreak-p): Remove redundant » and « inherited from our
pre-unicode days. pre-Unicode days.
* add-log.el (change-log-fill-forward-paragraph): New function. * add-log.el (change-log-fill-forward-paragraph): New function.
(change-log-mode): Use it so fill-region DTRT. (change-log-mode): Use it so fill-region DTRT.

View file

@ -1811,10 +1811,13 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
(t (t
(archive-extract-by-stdout (archive-extract-by-stdout
archive archive
;; unzip expands wildcards in NAME, so we need to quote it. ;; unzip expands wildcards in NAME, so we need to quote it. But
;; not on DOS/Windows, since that fails extraction on those
;; systems, and file names with wildcards in zip archives don't
;; work there anyway.
;; FIXME: Does pkunzip need similar treatment? ;; FIXME: Does pkunzip need similar treatment?
;; (7z doesn't need to quote wildcards) (if (and (not (memq system-type '(windows-nt ms-dos)))
(if (equal (car archive-zip-extract) "unzip") (equal (car archive-zip-extract) "unzip"))
(shell-quote-argument name) (shell-quote-argument name)
name) name)
archive-zip-extract)))) archive-zip-extract))))

Some files were not shown because too many files have changed in this diff Show more