diff options
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | Makefile.am | 4 | ||||
-rw-r--r-- | NEWS | 7 | ||||
-rw-r--r-- | am/guile.m4 | 84 | ||||
-rw-r--r-- | bootstrap.conf | 3 | ||||
-rw-r--r-- | configure.ac | 13 | ||||
m--------- | gint | 0 | ||||
-rw-r--r-- | libid3tag/Makefile.am | 9 | ||||
-rw-r--r-- | libid3tag/configure.ac | 3 | ||||
-rw-r--r-- | src/Makefile.am | 15 | ||||
-rw-r--r-- | src/guile.c | 23 |
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: @@ -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 |