diff -Nru wml-2.30.0~ds1/ChangeLog wml-2.32.0~ds1/ChangeLog --- wml-2.30.0~ds1/ChangeLog 2020-09-02 06:14:22.000000000 +0000 +++ wml-2.32.0~ds1/ChangeLog 2020-11-04 06:47:15.000000000 +0000 @@ -7,6 +7,27 @@ information about every single change. ___________________________________________________________________________ +Changes between 2.30.0 to 2.32.0: + +*) Fix for a wmk regression caused by some overzealous refactoring: + *) Mis-handling of "-o" flags. + *) https://github.com/thewml/website-meta-language/commit/a834f243ebd3e79ac58452594687cc4eaed2f0bb + *) Broken in https://github.com/thewml/website-meta-language/commit/4fdb169a39b1cccf33a255597a01148d2313baec + *) Thanks to @xtaran for the report and a test case. + +*) URLs / Versions updates + *) https://github.com/thewml/website-meta-language/issues/43 + *) Thanks to @xtaran for the report. + +*) Replace some remaining uses of IO:All with Path::Tiny + *) https://perl-begin.org/topics/files-and-directories/ + +*) Minor documentation updates. + +*) Detect gdbm_compat's availability earlier (in the CMake stage). + *) https://github.com/thewml/website-meta-language/issues/44 + *) Thanks to @xtaran + Changes between 2.28.0 to 2.30.0: *) Refactoring, cleanups, modernizations and (likely minor) optimizations. diff -Nru wml-2.30.0~ds1/CMakeLists.txt wml-2.32.0~ds1/CMakeLists.txt --- wml-2.30.0~ds1/CMakeLists.txt 2020-09-01 17:22:07.000000000 +0000 +++ wml-2.32.0~ds1/CMakeLists.txt 2020-10-31 06:32:40.000000000 +0000 @@ -13,7 +13,7 @@ SET (RELATIVE_PKGDATADIR "${RELATIVE_DATADIR}/${PKGDATADIR_SUBDIR}") SET (PKGDATADIR "${DATADIR}/${PKGDATADIR_SUBDIR}") -SET(VERSION "2.30.0") +SET(VERSION "2.32.0") IF (NOT CMAKE_INSTALL_PREFIX) MESSAGE (FATAL_ERROR "CMAKE_INSTALL_PREFIX must be defined. Specify it with -DCMAKE_INSTALL_PREFIX=...") @@ -70,8 +70,8 @@ # sure there is at least one set of four (4) backlasshes. # SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}\\\\dondorf-king.bmp") SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\wml.exe") - SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\thewml.org") - SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\thewml.org") + SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\thewml.github.io") + SET(CPACK_NSIS_URL_INFO_ABOUT "${CPACK_NSIS_HELP_LINK}") SET(CPACK_NSIS_DISPLAY_NAME "Website Meta Language") SET(CPACK_NSIS_CONTACT "shlomif@cpan.org") SET(CPACK_NSIS_MODIFY_PATH ON) @@ -104,7 +104,6 @@ "GD" "Getopt::Long" "Image::Size" - "IO::All" "List::MoreUtils" "Path::Tiny" "Term::ReadKey" diff -Nru wml-2.30.0~ds1/COPYRIGHT.OTHER wml-2.32.0~ds1/COPYRIGHT.OTHER --- wml-2.30.0~ds1/COPYRIGHT.OTHER 2020-09-01 14:29:13.000000000 +0000 +++ wml-2.32.0~ds1/COPYRIGHT.OTHER 2020-09-29 17:21:33.000000000 +0000 @@ -45,13 +45,13 @@ Copyright (c) University of Cambridge ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ -GetoptLong 2.23 [wml_common/getoptlong/] +Getopt-Long 2.23 [wml_common/getoptlong/] Copyright (c) Johan Vromans - http://www.perl.com/CPAN/authors/id/JV/ + https://metacpan.org/release/Getopt-Long Bit-Vector 6.0 [wml_common/bitvector/] Copyright (c) Steffen Beyer, - http://www.engelschall.com/u/sb/download/ + https://metacpan.org/release/Bit-Vector File-PathConvert 0.85 [wml_common/filepathconvert/] Copyright (c) Shigio Yamaguchi diff -Nru wml-2.30.0~ds1/debian/changelog wml-2.32.0~ds1/debian/changelog --- wml-2.30.0~ds1/debian/changelog 2020-09-02 17:19:35.000000000 +0000 +++ wml-2.32.0~ds1/debian/changelog 2020-11-29 07:53:57.000000000 +0000 @@ -1,3 +1,15 @@ +wml (2.32.0~ds1-1) unstable; urgency=medium + + * New upstream release + + Drop libio-all-perl from Depends and Build-Depends. + * Drop all occurrences of ancient lintian overrides for + package-contains-broken-symlink. + * Override spare-manual-page for WML passes and one more occurrence of + package-contains-documentation-outside-usr-share-doc (file is data). + * Declare compliance with Debian Policy 4.5.1. (No changes needed.) + + -- Axel Beckert Sun, 29 Nov 2020 08:53:57 +0100 + wml (2.30.0~ds1-1) unstable; urgency=medium [ Axel Beckert ] diff -Nru wml-2.30.0~ds1/debian/control wml-2.32.0~ds1/debian/control --- wml-2.30.0~ds1/debian/control 2020-09-02 17:14:46.000000000 +0000 +++ wml-2.32.0~ds1/debian/control 2020-11-29 07:43:50.000000000 +0000 @@ -2,7 +2,7 @@ Section: web Priority: optional Maintainer: Axel Beckert -Standards-Version: 4.5.0 +Standards-Version: 4.5.1 Build-Depends: cmake, debhelper-compat (= 13), eperl , @@ -15,7 +15,6 @@ libgd-gd2-perl, libhtml-clean-perl, libimage-size-perl, - libio-all-perl, liblist-moreutils-perl, libpath-tiny-perl, libperl-critic-perl , @@ -40,7 +39,6 @@ libcarp-always-perl, libfile-which-perl, libimage-size-perl, - libio-all-perl, liblist-moreutils-perl, libpath-tiny-perl, libterm-readkey-perl, diff -Nru wml-2.30.0~ds1/debian/wml.lintian-overrides wml-2.32.0~ds1/debian/wml.lintian-overrides --- wml-2.30.0~ds1/debian/wml.lintian-overrides 2020-09-02 14:44:42.000000000 +0000 +++ wml-2.32.0~ds1/debian/wml.lintian-overrides 2020-11-25 08:54:30.000000000 +0000 @@ -6,25 +6,26 @@ bad-whatis-entry usr/share/man/man7/wml_tags.7.gz bad-whatis-entry usr/share/man/man7/wml_tutorial.7.gz -# Intended, point to binaries from dependencies -package-contains-broken-symlink usr/share/wml/exec/wml_aux_freetable ../../../bin/freetable -package-contains-broken-symlink usr/share/wml/exec/wml_aux_htmlclean ../../../bin/htmlclean -package-contains-broken-symlink usr/share/wml/exec/wml_aux_iselect ../../../bin/iselect -package-contains-broken-symlink usr/share/wml/exec/wml_aux_linklint ../../../bin/linklint -package-contains-broken-symlink usr/share/wml/exec/wml_aux_tidy ../../../bin/tidy -package-contains-broken-symlink usr/share/wml/exec/wml_aux_txt2html ../../../bin/txt2html -package-contains-broken-symlink usr/share/wml/exec/wml_aux_weblint ../../../bin/weblint -package-contains-broken-symlink usr/share/wml/exec/wml_p2_mp4h ../../../bin/mp4h -package-contains-broken-symlink usr/share/wml/exec/wml_p3_eperl ../../../bin/eperl -package-contains-broken-symlink usr/share/wml/exec/wml_p4_gm4 ../../../bin/m4 -package-contains-broken-symlink usr/share/wml/exec/wml_p9_slice ../../../bin/slice - # Unfortunately unfixable as "substract" is a command (with typo) in mp4h typo-in-manual-page usr/share/man/man3/wml::sys::compat1.3.gz substract subtract # False positive, the README describes the directory's contents package-contains-documentation-outside-usr-share-doc usr/share/wml/contrib/README +# False positive, this is a data file for wmd +package-contains-documentation-outside-usr-share-doc usr/share/wml/data/wmd.txt + +# Parts of a command +spare-manual-page usr/share/man/man1/wmd_missing.1.gz +spare-manual-page usr/share/man/man1/wml_aux_htmlinfo.1.gz +spare-manual-page usr/share/man/man1/wml_aux_map2html.1.gz +spare-manual-page usr/share/man/man1/wml_p1_ipp.1.gz +spare-manual-page usr/share/man/man1/wml_p5_divert.1.gz +spare-manual-page usr/share/man/man1/wml_p6_asubst.1.gz +spare-manual-page usr/share/man/man1/wml_p7_htmlfix.1.gz +spare-manual-page usr/share/man/man1/wml_p8_htmlstrip.1.gz +spare-manual-page usr/share/man/man1/wml_p9_slice.1.gz + # This is on purpose not in UTF-8, see the file name. national-encoding usr/share/wml/include/fmt/isolatin.wml diff -Nru wml-2.30.0~ds1/INSTALL wml-2.32.0~ds1/INSTALL --- wml-2.30.0~ds1/INSTALL 2020-05-27 09:33:01.000000000 +0000 +++ wml-2.32.0~ds1/INSTALL 2020-10-31 06:54:02.000000000 +0000 @@ -1,11 +1,10 @@ - - INSTALLATION - ============ +INSTALLATION +============ WML was converted to use CMake ( http://www.cmake.org/ ) -starting from version 2.2.0. You'll need to install CMake version 2.6.3 +starting from version 2.2.0. You'll need to install CMake version 3.0 or later from your distribution's repository or from its source -distribution. *NOTE*: CMake 2.6.2 (that ships with some releases of Ubuntu) +distribution. *NOTE*: CMake 2.6.2 (that ships with some older releases of Ubuntu) won't work due to a regression bug so please don't report any errors with it. @@ -40,8 +39,8 @@ This will build and install WML and its related programs. - 2. Requirements - ------------ +2. Requirements +--------------- The following requirements exist for building WML: @@ -57,8 +56,10 @@ o ANSI-C Compiler: Make sure you have an ANSI-C compiler installed. The GNU C compiler (GCC) from the Free Software Foundation (FSF) is recommended. You - can find the homepage of GNU on and the - GCC distribution on . + can find the homepage of GCC on . + + clang ( ) should also be usable and + is supported. o SVr4 compatible Curses library: Make sure you have a SVr4-like Curses library installed. If your @@ -82,7 +83,6 @@ - Curses - File::Which - GD - - IO::All - Path::Tiny o The following libraries are also needed (listed as the Debian package names, @@ -90,8 +90,8 @@ - libgd-dev libdb5.3-dev libncurses-dev libpcre3-dev libperl-dev - libgdbm-dev libgdbm-compat-dev - 3. Configuring the source tree - --------------------------- +3. Configuring the source tree +------------------------------ [OUT OF DATE - TO UPDATE] @@ -128,77 +128,76 @@ independed of the underlaying system and to avoid problems when the Perl system is upgraded. - 3. Building the toolkit - -------------------- - - Now you can build the programs, manpages and include files which form the - WML toolkit by running the command +3. Building the toolkit +----------------------- - $ make +Now you can build the programs, manpages and include files which form the +WML toolkit by running the command - Please be patient, this takes approximately 2 minutes to complete on a - Pentium-II/400 platform. + $ make - 4. Testing the toolkit - ------------------- +Please be patient, this takes approximately 2 minutes to complete on a +Pentium-II/400 platform. - Now you can partially test the toolkit by running a small test suite via: +4. Testing the toolkit +---------------------- - $ make test +Now you can partially test the toolkit by running a small test suite via: - 5. Installing the toolkit - ---------------------- + $ make test - Now its time to install the toolkit's programs in $prefix/bin, the - manpages in $prefix/man and auxiliary, include and Perl-Module files in - $prefix/lib/ (or $prefix/lib/wml/ if $prefix does not already contain the - string `wml'!): +5. Installing the toolkit +------------------------- - $ make install +Now it is time to install the toolkit's programs in $prefix/bin, the +manpages in $prefix/man and auxiliary, include and Perl-Module files in +$prefix/lib/ (or $prefix/lib/wml/ if $prefix does not already contain the +string `wml'!): - For the paranoid hackers under us: The above command really installs under - $prefix _only_, i.e. no other stuff from your system is touched. I say - this explicitly here, because I hate "make install"'s which destroy parts - of my system, too. But the amount of installation steps is too huge to do - it manually, really! + $ make install - One special case for package maintainers: If you want to install the stuff - inside a different location than the pre-configured one (for instance when - creating system packages via dpkg under Debian GNU/Linux or RPM under - RedHat Linux, etc), you can alternatively use +For the paranoid hackers under us: The above command really installs under +$prefix _only_, i.e. no other stuff from your system is touched. I say +this explicitly here, because I hate "make install"'s which destroy parts +of my system, too. But the amount of installation steps is too huge to do +it manually, really! - $ make install prefix=/somewhere/tmp +One special case for package maintainers: If you want to install the stuff +inside a different location than the pre-configured one (for instance when +creating system packages via dpkg under Debian GNU/Linux or RPM under +RedHat Linux, etc), you can alternatively use - This will install the toolkit inside /somewhere/tmp for rolling the - package tarball, although the toolkit is still configured for the correct - prefix (specified at point 3). + $ make install prefix=/somewhere/tmp - 6. Additional programs - ------------------- +This will install the toolkit inside /somewhere/tmp for rolling the +package tarball, although the toolkit is still configured for the correct +prefix (specified at point 3). - While the WML toolkit itself is a self-contained all-in-one package which - comes with all parts it needs under runtime, there are some include files - (see wml::all(3)) which need third-party programs to be able to provide - their full functionality: +6. Additional programs +---------------------- - o wml::fmt::sdf +While the WML toolkit itself is a self-contained all-in-one package which +comes with all parts it needs under runtime, there are some include files +(see wml::all(3)) which need third-party programs to be able to provide +their full functionality: - To use this include file you need the Simple Document Format (SDF) - package. You can find the package at . +o wml::fmt::sdf - o wml::des::gfont +To use this include file you need the Simple Document Format (SDF) +package. You can find the package at . - To use this include file you need at least the gFONT program from - Ralf S. Engelschall which can be found at - . - And because this program makes use of an underlaying TeX installation, - you should be sure that TeX is already installed on your system. If not - I recommend you to install teTeX which can be found at - or any CTAN - mirror. +o wml::des::gfont - Additionally when you want to use the `crop' attribute of the - tag (which crops empty edges of the generated image) then you also - have to install the ImageMagick package which can be found at - . +To use this include file you need at least the gFONT program from +Ralf S. Engelschall which can be found at +. +And because this program makes use of an underlaying TeX installation, +you should be sure that TeX is already installed on your system. If not +I recommend you to install teTeX which can be found at + or any CTAN +mirror. +Additionally when you want to use the `crop' attribute of the +tag (which crops empty edges of the generated image) then you also +have to install the ImageMagick package which can be found at +. diff -Nru wml-2.30.0~ds1/.tidyallrc wml-2.32.0~ds1/.tidyallrc --- wml-2.30.0~ds1/.tidyallrc 2020-05-27 09:33:01.000000000 +0000 +++ wml-2.32.0~ds1/.tidyallrc 2020-09-29 17:21:33.000000000 +0000 @@ -1,6 +1,6 @@ [PerlTidy] select = **/*.t wml_frontend/*.src wml_backend/*/*.src wml_include/**/*.pm wml_include/**/*.pm.src wml_test/**/*.pm wml*/**/*.pl -argv = -ci=4 -bl -cti=0 +argv = -ci=4 -bl -cti=0 --character-encoding=none ignore = [PerlCritic] diff -Nru wml-2.30.0~ds1/wml_contrib/tkwmd wml-2.32.0~ds1/wml_contrib/tkwmd --- wml-2.30.0~ds1/wml_contrib/tkwmd 2020-05-27 09:33:01.000000000 +0000 +++ wml-2.32.0~ds1/wml_contrib/tkwmd 2020-09-29 17:21:33.000000000 +0000 @@ -66,7 +66,7 @@ # Header $fd->insert('end', "Website META Language, Version 1.7.1 (05-06-1999)\n", 'title'); -$fd->insert('end', "Copyright (c) 1996,1997,1998,1999 Ralf S. Engelschall\nOfficial homepage and distribution area:\n http://www.engelschall.com/sw/wml/\n ftp://ftp.engelschall.com/sw/wml/\n"); +$fd->insert('end', "Copyright (c) 1996,1997,1998,1999 Ralf S. Engelschall\nOfficial homepage and distribution area:\n https://www.shlomifish.org/open-source/projects/website-meta-language/\n https://github.com/thewml/website-meta-language\n"); # Sections sub add_doc_menu { diff -Nru wml-2.30.0~ds1/wml_docs/wml_faq.pod wml-2.32.0~ds1/wml_docs/wml_faq.pod --- wml-2.30.0~ds1/wml_docs/wml_faq.pod 2020-05-27 09:33:01.000000000 +0000 +++ wml-2.32.0~ds1/wml_docs/wml_faq.pod 2020-09-29 17:21:33.000000000 +0000 @@ -186,7 +186,7 @@ The WML Online documentation is located at - http://www.engelschall.com/sw/wml/docs +L The webpages are the same as the ones viewed with F. @@ -231,13 +231,13 @@ essentially for the author to be able to successfully solve your problem. Just run the F program and enter your problem description. But make sure you have at least a workable E-mail link to the Internet, because WMb wants to -send the bug report via E-mail to rse@engelschall.com. +send the bug report via E-mail to shlomif@shlomifish.org . =item Bug Reporting Webpage This is the general bug report webpage on - http://www.engelschall.com/sw/bugreport/ +L for all programs from Ralf S. Engelschall. Please include your `wml -V3' output, too. diff -Nru wml-2.30.0~ds1/wml_docs/wml_macros.pod wml-2.32.0~ds1/wml_docs/wml_macros.pod --- wml-2.30.0~ds1/wml_docs/wml_macros.pod 2020-05-27 09:33:01.000000000 +0000 +++ wml-2.32.0~ds1/wml_docs/wml_macros.pod 2020-10-31 06:32:28.000000000 +0000 @@ -175,13 +175,13 @@ Input: - 1| http://www.engelschall.com/sw/wml/ + 1| https://thewml.github.io/ 2| Output: 1| - 2| http://www.engelschall.com/sw/wml/ + 2| https://thewml.github.io/ Defining a complex tag is no more difficult, just add an C attribute. @@ -421,7 +421,7 @@ Test page 1 - + Test page 2 diff -Nru wml-2.30.0~ds1/wml_frontend/CMakeLists.txt wml-2.32.0~ds1/wml_frontend/CMakeLists.txt --- wml-2.30.0~ds1/wml_frontend/CMakeLists.txt 2020-05-27 09:33:01.000000000 +0000 +++ wml-2.32.0~ds1/wml_frontend/CMakeLists.txt 2020-09-29 17:21:33.000000000 +0000 @@ -49,4 +49,11 @@ DEPENDS ${pod_dests} ) -INSTALL_DATA ("wmd.txt") +SET(dest_wmd_text "${CMAKE_CURRENT_BINARY_DIR}/wmd.txt") +EXECUTE_PROCESS(COMMAND "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/update-wmd.pl" + "--output" "${dest_wmd_text}" + "--input" "${CMAKE_CURRENT_SOURCE_DIR}/wmd.txt" + "--version" "${VERSION}" + "--date" "03-Sep-2020" +) +INSTALL_DATA ("${dest_wmd_text}") diff -Nru wml-2.30.0~ds1/wml_frontend/update-wmd.pl wml-2.32.0~ds1/wml_frontend/update-wmd.pl --- wml-2.30.0~ds1/wml_frontend/update-wmd.pl 1970-01-01 00:00:00.000000000 +0000 +++ wml-2.32.0~ds1/wml_frontend/update-wmd.pl 2020-09-29 17:21:33.000000000 +0000 @@ -0,0 +1,37 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use Getopt::Long qw / GetOptions /; + +use Path::Tiny qw/ path tempdir tempfile cwd /; + +my %substitutions; + +my $input_fn; +my $output_fn; +my $version; +my $date; + +GetOptions( + "version=s" => \$version, + "date=s" => \$date, + "input=s" => \$input_fn, + "output=s" => \$output_fn, +); + +if ( !defined($input_fn) ) +{ + die "Input filename not specified!"; +} + +if ( !defined($output_fn) ) +{ + die "Output filename not specified!"; +} + +path($output_fn) + ->spew_utf8( path($input_fn)->slurp_utf8() =~ +s#^(Website META Language, Version )[0-9\.]+ \([0-9]+-[A-Z][a-z]{2}-[0-9]+\)$#$1$version ($date)#mrs + ); diff -Nru wml-2.30.0~ds1/wml_frontend/wmb.src wml-2.32.0~ds1/wml_frontend/wmb.src --- wml-2.30.0~ds1/wml_frontend/wmb.src 2020-09-01 14:29:13.000000000 +0000 +++ wml-2.32.0~ds1/wml_frontend/wmb.src 2020-09-29 17:21:33.000000000 +0000 @@ -221,10 +221,8 @@ "** Sorry, cannot find a useable MTA on your system for E-Mail.\n"; print STDERR "** Please send the bug report online via HTTP by opening the URL\n"; - my $v = $VERSION; - $v =~ s|^([0-9.]+).*$|$1|; - print STDERR - "** http://www.engelschall.com/sw/bugreport/?package=WML&version=$v\n"; + my ($v) = $VERSION =~ m#\A([0-9\.]+)#; + print STDERR "** https://github.com/thewml/website-meta-language/issues "; print STDERR "\n"; exit(0); } @@ -370,7 +368,7 @@ HTML generation toolkit for Unix. See wml(1) for more details on WML. Use this program for quickly sending a bug report to the WML author via EMail. As an alternative (when this program does not work from your platform) you can -send the bug report manually to sw-wml@engelschall.com. +send the bug report manually to shlomif@shlomifish.org . =head1 OPTIONS diff -Nru wml-2.30.0~ds1/wml_frontend/wmd.txt wml-2.32.0~ds1/wml_frontend/wmd.txt --- wml-2.30.0~ds1/wml_frontend/wmd.txt 2020-05-27 09:33:01.000000000 +0000 +++ wml-2.32.0~ds1/wml_frontend/wmd.txt 2020-10-31 06:30:12.000000000 +0000 @@ -1,11 +1,11 @@ -Website META Language, Version 2.0.9 (18-Oct-2002) +Website META Language, Version 2.32.0 (31-Oct-2020) Copyright (c) 1996-2001 Ralf S. Engelschall Copyright (c) 1999-2001 Denis Barbier Official homepage and distribution area: -http://www.engelschall.com/sw/wml/ - ftp://ftp.engelschall.com/sw/wml/ + https://www.shlomifish.org/open-source/projects/website-meta-language/ + https://github.com/thewml/website-meta-language Keyword search the WML documentation diff -Nru wml-2.30.0~ds1/wml_frontend/wmk.src wml-2.32.0~ds1/wml_frontend/wmk.src --- wml-2.30.0~ds1/wml_frontend/wmk.src 2020-05-27 09:33:01.000000000 +0000 +++ wml-2.32.0~ds1/wml_frontend/wmk.src 2020-10-31 06:19:56.000000000 +0000 @@ -161,9 +161,19 @@ return join "", map { " -o$_" } @opt_o; } +# if @opt_o is empty then $opt_o_CUR should remain the same, especially if it +# is non-empty. +sub _should_set__opt_o_CUR +{ + return ( @opt_o > 0 ); +} + sub _set_opt_o { - $opt_o_CUR = _get_opt_o_str; + if ( _should_set__opt_o_CUR() ) + { + $opt_o_CUR = _get_opt_o_str; + } return; } diff -Nru wml-2.30.0~ds1/wml_include/std/logo.src wml-2.32.0~ds1/wml_include/std/logo.src --- wml-2.30.0~ds1/wml_include/std/logo.src 2020-05-27 09:33:01.000000000 +0000 +++ wml-2.32.0~ds1/wml_include/std/logo.src 2020-09-29 17:21:33.000000000 +0000 @@ -111,7 +111,7 @@ openbsd OpenBSD Operating System http://www.openbsd.org/ php PHP Hypertext Preprocessor http://www.php.net/ vim Vi Improved Editor http://www.vim.org/ - wml Website META Language http://www.engelschall.com/sw/wml/ + wml Website META Language https://www.shlomifish.org/open-source/projects/website-meta-language/ =head1 ATTRIBUTES diff -Nru wml-2.30.0~ds1/wml_include/TheWML/Backends/IPP/File.pm wml-2.32.0~ds1/wml_include/TheWML/Backends/IPP/File.pm --- wml-2.30.0~ds1/wml_include/TheWML/Backends/IPP/File.pm 2020-05-27 09:33:01.000000000 +0000 +++ wml-2.32.0~ds1/wml_include/TheWML/Backends/IPP/File.pm 2020-09-29 17:21:33.000000000 +0000 @@ -27,7 +27,8 @@ }, ); -use IO::All qw/ io /; +use Path::Tiny qw/ path /; + use TheWML::Frontends::Wml::Util qw/ canon_path error /; use TheWML::Backends::IPP::Line (); @@ -39,7 +40,7 @@ return; } my @ls = - grep { /^$pattern$/ && $test->('.') } @{ io->dir("$dirname") }; + grep { /\A$pattern\z/ && $test->('.') } path($dirname)->children(); # Sort list of files my $criterion = $arg->{'IPP_SORT'} || $arg->{'IPP_REVERSE'}; @@ -101,8 +102,8 @@ DIRS: foreach my $dir ( reverse @$dirs ) { - my @ls = grep { /^$pattern$/ && $test->($dir) } - @{ io->dir("$dir/$dirname") }; + my @ls = grep { /\A$pattern\z/ && $test->($dir) } + path("$dir/$dirname")->children(); my $found = 0; LS: foreach (@ls) @@ -242,7 +243,7 @@ $realname = $fn if $realname eq ''; $self->_main->verbose( $self->level, "|" ); $self->_main->verbose( $self->level, "+-- $fn" ); - my $in = io()->file($fn); + my $in = path($fn)->openr(); my $line_idx = 0; my $out = ''; if ( not $self->_main->opt_N and not $arg->{'IPP_NOSYNCLINES'} ) diff -Nru wml-2.30.0~ds1/wml_include/TheWML/Backends/IPP/Main.pm wml-2.32.0~ds1/wml_include/TheWML/Backends/IPP/Main.pm --- wml-2.30.0~ds1/wml_include/TheWML/Backends/IPP/Main.pm 2020-05-27 09:33:01.000000000 +0000 +++ wml-2.32.0~ds1/wml_include/TheWML/Backends/IPP/Main.pm 2020-09-29 17:21:33.000000000 +0000 @@ -198,7 +198,7 @@ "i|includefile=s@" => \@opt_i, "m|mapfile=s@" => \@opt_m, "n|inputfile=s" => \$opt_n, - "o|outputfile=s" => + "o|outputfile=s" => sub { my ( undef, $v ) = @_; $self->opt_o($v); }, "s|sysincludefile=s@" => \@opt_s, ) diff -Nru wml-2.30.0~ds1/wml_misc/logo-wml.info wml-2.32.0~ds1/wml_misc/logo-wml.info --- wml-2.30.0~ds1/wml_misc/logo-wml.info 2020-05-27 09:33:01.000000000 +0000 +++ wml-2.32.0~ds1/wml_misc/logo-wml.info 2020-09-29 17:21:33.000000000 +0000 @@ -1,3 +1,3 @@ WML Website META Language -http://www.engelschall.com/sw/wml/ +https://www.shlomifish.org/open-source/projects/website-meta-language/ diff -Nru wml-2.30.0~ds1/wml_test/t/11-wmk.t wml-2.32.0~ds1/wml_test/t/11-wmk.t --- wml-2.30.0~ds1/wml_test/t/11-wmk.t 2020-08-08 18:08:46.000000000 +0000 +++ wml-2.32.0~ds1/wml_test/t/11-wmk.t 2020-10-31 06:19:56.000000000 +0000 @@ -2,11 +2,12 @@ use warnings; use Term::ANSIColor qw/ colored /; +use Path::Tiny qw/ cwd path /; use WmlTest (); WmlTest::init(); -use Test::More tests => 7; +use Test::More tests => 8; # # TEST 1-2: throughput @@ -17,6 +18,7 @@ my $wmk = $ENV{WML}; $wmk =~ s/l /k /; $wmk =~ s/l$/k/; +my $abs_wmk = path($wmk)->absolute; WmlTest::tmpfile_with_name( 'a.html', "x" ); WmlTest::tmpfile_with_name( 'a', <<'EOT_IN'); @@ -91,5 +93,32 @@ WmlTest::add_files("a.en.html"); WmlTest::add_files("a.de.html"); -WmlTest::cleanup(); +{ + my $tempdir_ret = WmlTest::new_tempdir(); + my $old = $tempdir_ret->{orig}; + my $new = $tempdir_ret->{new}; + $new->child(".wmkrc")->spew_utf8(<<'EOF'); +-o (ALL-LANG_*)+LANG_EN:%BASE.en.html -o (ALL-LANG_*)+LANG_DE:%BASE.de.html +-A *.wml +-A *.md +EOF + $new->child(".wmlrc") + ->spew_utf8( +"-o (ALL-LANG_*)+LANG_EN:%BASE.en.html -o (ALL-LANG_*)+LANG_DE:%BASE.de.html\n" + ); + + $new->child("foo.wml")->spew_utf8("deutschenglish\n"); + + # diag($abs_wmk); + + # TEST + like( + ( scalar `$abs_wmk 2>&1` ), + qr#\Q$ENV{WML}\E.*?-o\s*\(ALL-LANG#ms, + "wmkrc -o", + ); + chdir($old); +} + +WmlTest::cleanup(); diff -Nru wml-2.30.0~ds1/wml_test/WmlTest.pm wml-2.32.0~ds1/wml_test/WmlTest.pm --- wml-2.30.0~ds1/wml_test/WmlTest.pm 2020-08-08 18:29:17.000000000 +0000 +++ wml-2.32.0~ds1/wml_test/WmlTest.pm 2020-10-31 06:19:56.000000000 +0000 @@ -81,6 +81,14 @@ push @files_to_del, @_; } +sub new_tempdir +{ + my $old = cwd()->absolute(); + my $ret = Path::Tiny->tempdir(); + chdir($ret); + return { orig => $old, new => $ret, }; +} + sub cleanup { foreach my $fn (@files_to_del)