aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules3
-rw-r--r--Makefile.am4
-rw-r--r--NEWS7
-rw-r--r--am/guile.m484
-rw-r--r--bootstrap.conf3
-rw-r--r--configure.ac13
m---------gint0
-rw-r--r--libid3tag/Makefile.am9
-rw-r--r--libid3tag/configure.ac3
-rw-r--r--src/Makefile.am15
-rw-r--r--src/guile.c23
11 files changed, 47 insertions, 117 deletions
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..7c369d4
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "gint"]
+ path = gint
+ url = git://git.gnu.org.ua/gint.git
diff --git a/Makefile.am b/Makefile.am
index 418ad9a..a1e98d2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -14,8 +14,8 @@
# You should have received a copy of the GNU General Public License
# along with Idest. If not, see <http://www.gnu.org/licenses/>.
-ACLOCAL_AMFLAGS = -I am -I m4
-SUBDIRS=gnu libid3tag src doc
+ACLOCAL_AMFLAGS = -I gint -I m4
+SUBDIRS=gnu libid3tag gint src doc
.PHONY: ChangeLog
ChangeLog:
diff --git a/NEWS b/NEWS
index 3dd8ca1..1521336 100644
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,13 @@
-ID3ed -- history of user-visible changes. 2009-03-29
+IdEst -- history of user-visible changes. 2010-04-13
Copyright (C) 2009, 2010 Sergey Poznyakoff
See the end of file for copying conditions.
Please send bug reports to <gray@gnu.org.ua>
+Version 1.1.90 (Git)
+
+
Version 1.1, 2009-03-29
Fix bug that caused endless loop on multiple ID3v2 comment frames.
@@ -18,7 +21,7 @@ Initial release.
=========================================================================
Copyright information:
-Copyright (C) 2009 Sergey Poznyakoff
+Copyright (C) 2009, 2010 Sergey Poznyakoff
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
diff --git a/am/guile.m4 b/am/guile.m4
deleted file mode 100644
index 6ec02bc..0000000
--- a/am/guile.m4
+++ /dev/null
@@ -1,84 +0,0 @@
-# This file is part of Idest
-# Copyright (C) 2009, 2010 Sergey Poznyakoff
-#
-# Idest is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# Idest is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Idest. If not, see <http://www.gnu.org/licenses/>.
-
-# IDEST_CHECK_GUILE(minversion, [act-if-found], [ac-if-not-found])
-# $1 $2 $3
-AC_DEFUN([IDEST_CHECK_GUILE],
-[
- AS_VAR_SET([idest_cv_guile], [no])
- AC_PATH_PROG(GUILE_CONFIG, guile-config, no, $PATH)
- if test "$GUILE_CONFIG" = no; then
- m4_if([$3],,[AC_MSG_ERROR(cannot find Guile)], [$3])
- else
- AC_SUBST(GUILE_INCLUDES)
- AC_SUBST(GUILE_LIBS)
- AC_SUBST(GUILE_VERSION)
- AC_SUBST(GUILE_VERSION_NUMBER)
-
- GUILE_INCLUDES=`$GUILE_CONFIG compile`
- GUILE_LIBS=`$GUILE_CONFIG link`
- GUILE_VERSION=`($GUILE_CONFIG --version 2>&1; echo '')|sed 's/guile-config [[^0-9]]* \([[0-9]][[0-9.]]*\)$/\1/'`
- VEX=`echo $GUILE_VERSION | sed 's/\./ \\\\* 1000 + /;s/\./ \\\\* 100 + /'`
- GUILE_VERSION_NUMBER=`eval expr "$VEX"`
-
- m4_if([$1],,,[
- VEX=`echo $1 | sed 's/\./ \\\\* 1000 + /;s/\./ \\\\* 100 + /'`
- min=`eval expr "$VEX"`
- if test $GUILE_VERSION_NUMBER -lt $min; then
- m4_if([$3],,
- [AC_MSG_ERROR([Guile version too old; required is at least ]$1)],
- [$3])
- fi])
-
- save_LIBS=$LIBS
- save_CFLAGS=$CFLAGS
- LIBS="$LIBS $GUILE_LIBS"
- CFLAGS="$CFLAGS $GUILE_INCLUDES"
- AC_TRY_LINK([#include <libguile.h>],
- m4_if([$1], , scm_shell(0, NULL);, [$1]),
- [AS_VAR_SET([idest_cv_guile], $GUILE_VERSION)])
- LIBS=$save_LIBS
- CFLAGS=$save_CFLAGS
- fi
-
- if test $idest_cv_guile = no; then
- GUILE_INCLUDES=
- GUILE_LIBS=
- GUILE_VERSION=
- GUILE_VERSION_NUMBER=
- m4_if([$3],,[AC_MSG_ERROR(required library libguile not found)], [$3])
- else
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <libguile.h>]],
- [SCM_DEVAL_P = 1;
- SCM_BACKTRACE_P = 1;
- SCM_RECORD_POSITIONS_P = 1;
- SCM_RESET_DEBUG_MODE;])],
- [idest_cv_guile_debug=yes],
- [idest_cv_guile_debug=no])
- if test $idest_cv_guile_debug = yes; then
- AC_DEFINE_UNQUOTED(GUILE_DEBUG_MACROS, 1,
- [Define to 1 if SCM_DEVAL_P, SCM_BACKTRACE_P, SCM_RECORD_POSITIONS_P and SCM_RESET_DEBUG_MODE are defined])
- fi
- AC_CHECK_TYPES([scm_t_off],[],[],[#include <libguile.h>])
- AC_DEFINE_UNQUOTED(GUILE_VERSION, "$GUILE_VERSION",
- [Guile version number])
- AC_DEFINE_UNQUOTED(GUILE_VERSION_NUMBER, $GUILE_VERSION_NUMBER,
- [Guile version number: MAX*10 + MIN])
- m4_if([$2],,,[$2])
- fi
-])
-
-
diff --git a/bootstrap.conf b/bootstrap.conf
index a2bef58..9d8d904 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -15,6 +15,9 @@
# You should have received a copy of the GNU General Public License
# along with Idest. If not, see <http://www.gnu.org/licenses/>.
+git submodule init || exit $?
+git submodule update || exit $?
+
source_base=gnu
gnulib_name=libgnu
gnulib_mk=Makefile.am
diff --git a/configure.ac b/configure.ac
index edd0e2b..b94671e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,12 +16,14 @@
# along with Idest. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ(2.61)
-AC_INIT(idest, 1.1, [gray@gnu.org.ua])
+AC_INIT([idest], [1.1.90], [gray@gnu.org.ua])
AC_CONFIG_SRCDIR([src/idest.h])
AC_CONFIG_HEADER([config.h])
AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([1.9 gnits tar-ustar std-options])
-
+AM_INIT_AUTOMAKE([1.9 gnits tar-ustar std-options silent-rules])
+# Enable silent rules by default:
+AM_SILENT_RULES([yes])
+
# Checks for programs.
AC_PROG_CC
gl_EARLY
@@ -48,7 +50,9 @@ AC_ARG_WITH([guile],
[status_guile=yes])
if test $status_guile = yes; then
- IDEST_CHECK_GUILE(1.8)
+ GINT_INIT([gint],[1.8 nodoc],
+ [status_guile=yes],
+ [status_guile=no])
fi
AC_CONFIG_SUBDIRS(libid3tag)
@@ -68,6 +72,7 @@ EOF
AC_CONFIG_FILES([Makefile
gnu/Makefile
+ gint/Makefile
src/Makefile
doc/Makefile])
AC_OUTPUT
diff --git a/gint b/gint
new file mode 160000
+Subproject 4254b0590e609b82dac3d688ecb401c9eefb7e2
diff --git a/libid3tag/Makefile.am b/libid3tag/Makefile.am
index 44096eb..21da890 100644
--- a/libid3tag/Makefile.am
+++ b/libid3tag/Makefile.am
@@ -21,7 +21,6 @@
## Process this file with automake to produce Makefile.in
-AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4
SUBDIRS =
@@ -52,26 +51,26 @@ EXTRA_libid3tag_a_SOURCES = \
BUILT_SOURCES = frametype.c compat.c genre.dat
$(srcdir)/frametype.c: $(srcdir)/frametype.gperf Makefile.am
- cd $(srcdir) && \
+ $(AM_V_GEN)cd $(srcdir) && \
gperf -tCcTonD -K id -N id3_frametype_lookup -s -3 -k '*' \
frametype.gperf | \
sed -e 's/\(struct id3_frametype\);/\1/' | \
sed -e '/\$$''Id: /s/\$$//g' >frametype.c
$(srcdir)/compat.c: $(srcdir)/compat.gperf Makefile.am
- cd $(srcdir) && \
+ $(AM_V_GEN)cd $(srcdir) && \
gperf -tCcTonD -K id -N id3_compat_lookup -s -3 -k '*' \
compat.gperf | \
sed -e 's/\(struct id3_compat\);/\1/' | \
sed -e '/\$$''Id: /s/\$$//g' >compat.c
$(srcdir)/genre.dat: $(srcdir)/genre.dat.in $(srcdir)/genre.dat.sed Makefile.am
- cd $(srcdir) && \
+ $(AM_V_GEN)cd $(srcdir) && \
sed -n -f genre.dat.sed genre.dat.in | \
sed -e '/\$$''Id: /s/\$$//g' >genre.dat
libtool: $(LIBTOOL_DEPS)
- $(SHELL) ./config.status --recheck
+ $(AM_V_GEN)$(SHELL) ./config.status --recheck
again:
$(MAKE) clean
diff --git a/libid3tag/configure.ac b/libid3tag/configure.ac
index 11f6b4a..5f530d0 100644
--- a/libid3tag/configure.ac
+++ b/libid3tag/configure.ac
@@ -26,7 +26,8 @@ AC_PREREQ(2.53)
AC_CONFIG_SRCDIR([id3tag.h])
AC_CONFIG_MACRO_DIR([m4])
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([foreign silent-rules])
+AM_SILENT_RULES([yes])
AM_CONFIG_HEADER([config.h])
diff --git a/src/Makefile.am b/src/Makefile.am
index 332296e..c0f22e5 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -24,19 +24,18 @@ idest_SOURCES=\
main.c\
cmdline.h\
slist.c
-BUILT_SOURCES=cmdline.h guile.x
+BUILT_SOURCES=cmdline.h
EXTRA_DIST=cmdline.opt getopt.m4
INCLUDES=-I$(top_srcdir)/gnu -I$(top_builddir)/gnu -I$(top_srcdir)/libid3tag @GUILE_INCLUDES@
LDADD=../gnu/libgnu.a ../libid3tag/libid3tag.a -lz @GUILE_LIBS@
-SUFFIXES=.opt .c .h .x
+SUFFIXES=.opt .c .h
.opt.h:
m4 -s $(srcdir)/getopt.m4 $< | sed '1d' > $@
DOT_X_FILES = guile.x
-
-snarfcppopts = -I../ $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
-
-.c.x:
- guile-snarf -o $@ $< $(snarfcppopts)
-
+CLEANFILES=
+DISTCLEANFILES=
+sitedir = @GUILE_SITE@/$(PACKAGE)
+site_DATA=
+include ../gint/gint.mk
diff --git a/src/guile.c b/src/guile.c
index 3a0e6b7..03c87de 100644
--- a/src/guile.c
+++ b/src/guile.c
@@ -50,15 +50,13 @@ eval_catch_handler(void *data, SCM tag, SCM throw_args)
struct scheme_exec_data {
SCM (*handler) (void *data);
void *data;
- SCM result;
};
static SCM
-scheme_safe_exec_body (void *data)
+scheme_safe_exec_body(void *data)
{
struct scheme_exec_data *ed = data;
- ed->result = ed->handler (ed->data);
- return SCM_BOOL_F;
+ return ed->handler (ed->data);
}
static int
@@ -66,16 +64,18 @@ guile_safe_exec(SCM (*handler) (void *data), void *data, SCM *result)
{
jmp_buf jmp_env;
struct scheme_exec_data ed;
+ SCM res;
if (setjmp(jmp_env))
return 1;
ed.handler = handler;
ed.data = data;
- scm_internal_lazy_catch(SCM_BOOL_T,
- scheme_safe_exec_body, (void*)&ed,
- eval_catch_handler, &jmp_env);
+ res = scm_c_catch(SCM_BOOL_T,
+ scheme_safe_exec_body, (void*)&ed,
+ eval_catch_handler, &jmp_env,
+ NULL, NULL);
if (result)
- *result = ed.result;
+ *result = res;
return 0;
}
@@ -294,9 +294,10 @@ guile_apply_main(const char *file, struct id3_tag *tag)
cell = scm_cons(SCM_VARIABLE_REF(sym_idest_main),
scm_list_2(scm_from_locale_string(file),
tag_to_scm(tag)));
- return scm_internal_lazy_catch(SCM_BOOL_T,
- eval_catch_body, cell,
- eval_catch_handler, &jmp_env);
+ return scm_c_catch(SCM_BOOL_T,
+ eval_catch_body, cell,
+ eval_catch_handler, &jmp_env,
+ NULL, NULL);
}
int

Return to:

Send suggestions and report system problems to the System administrator.