Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ed for openSUSE:Factory checked in at 2026-01-08 15:25:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ed (Old) and /work/SRC/openSUSE:Factory/.ed.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ed" Thu Jan 8 15:25:56 2026 rev:43 rq:1325657 version:1.22.4 Changes: -------- --- /work/SRC/openSUSE:Factory/ed/ed.changes 2025-12-03 14:11:40.752417372 +0100 +++ /work/SRC/openSUSE:Factory/.ed.new.1928/ed.changes 2026-01-08 15:26:44.031322453 +0100 @@ -1,0 +2,8 @@ +Mon Jan 5 19:14:53 UTC 2026 - Andreas Stieger <[email protected]> + +- GNU ed 1.22.4: + * 'make check' now skips the checking of file names with + non-ASCII non-UTF-8 haracters on file systems where such + characters are invalid. + +------------------------------------------------------------------- Old: ---- ed-1.22.3.tar.xz New: ---- ed-1.22.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ed.spec ++++++ --- /var/tmp/diff_new_pack.K9S0WV/_old 2026-01-08 15:26:44.535343326 +0100 +++ /var/tmp/diff_new_pack.K9S0WV/_new 2026-01-08 15:26:44.539343491 +0100 @@ -2,7 +2,7 @@ # spec file for package ed # # Copyright (c) 2023 SUSE LLC -# Copyright (c) 2025 Andreas Stieger <[email protected]> +# Copyright (c) 2026 Andreas Stieger <[email protected]> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ Name: ed -Version: 1.22.3 +Version: 1.22.4 Release: 0 Summary: A line-oriented text editor License: GPL-3.0-or-later AND LGPL-2.1-or-later ++++++ ed-1.22.3.tar.xz -> ed-1.22.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/ChangeLog new/ed-1.22.4/ChangeLog --- old/ed-1.22.3/ChangeLog 2025-11-27 15:58:03.000000000 +0100 +++ new/ed-1.22.4/ChangeLog 2026-01-03 12:24:07.000000000 +0100 @@ -1,3 +1,9 @@ +2026-01-03 Antonio Diaz Diaz <[email protected]> + + * Version 1.22.4 released. + * check.sh: Skip check of ISO-8859-1 names on UTF-8-only systems. + (Reported by Michael Daniels and Alexander Jones). + 2025-11-27 Antonio Diaz Diaz <[email protected]> * Version 1.22.3 released. @@ -427,7 +433,7 @@ Copyright (C) 1993 Fran�ois Pinard Copyright (C) 1994 Andrew L. Moore -Copyright (C) 2006-2025 Antonio Diaz Diaz. +Copyright (C) 2006-2026 Antonio Diaz Diaz. This file is a collection of facts, and thus it is not copyrightable, but just in case, you have unlimited permission to copy, distribute, and modify it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/INSTALL new/ed-1.22.4/INSTALL --- old/ed-1.22.3/INSTALL 2025-01-05 22:05:29.000000000 +0100 +++ new/ed-1.22.4/INSTALL 2026-01-03 12:24:07.000000000 +0100 @@ -65,7 +65,7 @@ explained above. -Copyright (C) 2006-2025 Antonio Diaz Diaz. +Copyright (C) 2006-2026 Antonio Diaz Diaz. This file is free documentation: you have unlimited permission to copy, distribute, and modify it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/NEWS new/ed-1.22.4/NEWS --- old/ed-1.22.3/NEWS 2025-11-27 22:01:18.000000000 +0100 +++ new/ed-1.22.4/NEWS 2025-12-18 19:29:40.000000000 +0100 @@ -1,4 +1,11 @@ +Changes in version 1.22.4: + +'make check' now skips the checking of file names with non-ASCII non-UTF-8 +characters on file systems where such characters are invalid. +(Reported by Michael Daniels and Alexander Jones). + Changes in version 1.22.3: + The change to print the file name escaped when replaced into a shell command has been reverted. (Reported by S�ren Tempel). @@ -11,6 +18,7 @@ 'EXIT STATUS' now has its own section in the man page. Changes in version 1.22.2: + Newline characters are no longer allowed in file names even if '--unsafe-names' is specified. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/README new/ed-1.22.4/README --- old/ed-1.22.3/README 2025-08-05 13:59:33.000000000 +0200 +++ new/ed-1.22.4/README 2026-01-03 12:24:07.000000000 +0100 @@ -117,7 +117,7 @@ Copyright (C) 1993, 1994 Andrew L. Moore -Copyright (C) 2006-2025 Antonio Diaz Diaz. +Copyright (C) 2006-2026 Antonio Diaz Diaz. This file is free documentation: you have unlimited permission to copy, distribute, and modify it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/buffer.c new/ed-1.22.4/buffer.c --- old/ed-1.22.3/buffer.c 2025-07-18 22:27:44.000000000 +0200 +++ new/ed-1.22.4/buffer.c 2026-01-03 12:24:07.000000000 +0100 @@ -1,7 +1,7 @@ /* buffer.c: scratch-file buffer routines for the ed line editor. */ /* GNU ed - The GNU line editor. Copyright (C) 1993, 1994 Andrew L. Moore, Talke Studio - Copyright (C) 2006-2025 Antonio Diaz Diaz. + Copyright (C) 2006-2026 Antonio Diaz Diaz. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/carg_parser.c new/ed-1.22.4/carg_parser.c --- old/ed-1.22.3/carg_parser.c 2025-07-23 17:31:51.000000000 +0200 +++ new/ed-1.22.4/carg_parser.c 2026-01-01 12:35:24.000000000 +0100 @@ -1,5 +1,5 @@ /* Arg_parser - POSIX/GNU command-line argument parser. (C version) - Copyright (C) 2006-2025 Antonio Diaz Diaz. + Copyright (C) 2006-2026 Antonio Diaz Diaz. This library is free software. Redistribution and use in source and binary forms, with or without modification, are permitted provided @@ -17,12 +17,21 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ +#include <ctype.h> #include <stdlib.h> #include <string.h> #include "carg_parser.h" +static char is_number( const char * const p ) + { + return isdigit( *p ) || ( *p == '.' && isdigit( p[1] ) ) || + strcmp( p, "inf" ) == 0 || strcmp( p, "Inf" ) == 0 || + strcmp( p, "INF" ) == 0; + } + + /* assure at least a minimum size for buffer 'buf' */ static void * ap_resize_buffer( void * buf, const int min_size ) { @@ -216,7 +225,7 @@ /* Return 0 only if out of memory. */ char ap_init( Arg_parser * const ap, const int argc, const char * const argv[], - const ap_Option options[], const char in_order ) + const ap_Option options[], const int flags ) { const char ** non_options = 0; /* skipped non-options */ int non_options_size = 0; /* number of skipped non-options */ @@ -226,6 +235,7 @@ ap->data = 0; ap->error = 0; ap->data_size = 0; + ap->argv_index = argc; if( argc < 2 || !argv || !options ) return 1; while( argind < argc ) @@ -233,9 +243,10 @@ const unsigned char ch1 = argv[argind][0]; const unsigned char ch2 = ch1 ? argv[argind][1] : 0; - if( ch1 == '-' && ch2 ) /* we found an option */ + if( ch1 == '-' && ch2 && ( ch2 == '-' || (flags & ap_neg_non_opt) == 0 || + !is_number( argv[argind] + 1 ) ) ) { - const char * const opt = argv[argind]; + const char * const opt = argv[argind]; /* we found an option */ const char * const arg = ( argind + 1 < argc ) ? argv[argind+1] : 0; if( ch2 == '-' ) { @@ -245,7 +256,8 @@ else if( !parse_short_option( ap, opt, arg, options, &argind ) ) goto oom; if( ap->error ) break; } - else if( in_order ) + else if( flags & (ap_in_order_stop | ap_in_order_skip) ) break; + else if( flags & ap_in_order ) { if( !push_back_argument( ap, argv[argind++] ) ) goto oom; } else { @@ -257,7 +269,8 @@ } } if( ap->error ) free_data( ap ); - else + else if( flags & ap_in_order_skip ) ap->argv_index = argind; + else /* copy non-option arguments */ { int i; for( i = 0; i < non_options_size; ++i ) @@ -280,6 +293,8 @@ const char * ap_error( const Arg_parser * const ap ) { return ap->error; } +int ap_argv_index( const Arg_parser * const ap ) { return ap->argv_index; } + int ap_arguments( const Arg_parser * const ap ) { return ap->data_size; } int ap_code( const Arg_parser * const ap, const int i ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/carg_parser.h new/ed-1.22.4/carg_parser.h --- old/ed-1.22.3/carg_parser.h 2025-08-20 12:40:14.000000000 +0200 +++ new/ed-1.22.4/carg_parser.h 2026-01-01 12:35:24.000000000 +0100 @@ -1,5 +1,5 @@ /* Arg_parser - POSIX/GNU command-line argument parser. (C version) - Copyright (C) 2006-2025 Antonio Diaz Diaz. + Copyright (C) 2006-2026 Antonio Diaz Diaz. This library is free software. Redistribution and use in source and binary forms, with or without modification, are permitted provided @@ -31,7 +31,7 @@ before all the non-option arguments for the purposes of parsing, even if the user of your program intermixed options and non-option arguments. If you want the arguments in the exact order the user typed them, call - 'ap_init' with 'in_order' = true. + 'ap_init' with 'flags' = 'ap_in_order'. The argument '--' terminates all options; any following arguments are treated as non-option arguments, even if they begin with a hyphen. @@ -48,6 +48,8 @@ extern "C" { #endif +enum ap_Flags { ap_in_order = 1, ap_in_order_stop = 2, ap_in_order_skip = 4, + ap_neg_non_opt = 8 }; /* negative is non-option */ /* ap_yesme = yes but maybe empty */ typedef enum ap_Has_arg { ap_no, ap_yes, ap_maybe, ap_yesme } ap_Has_arg; @@ -72,17 +74,19 @@ ap_Record * data; char * error; int data_size; + int argv_index; } Arg_parser; /* Return 0 only if out of memory. */ char ap_init( Arg_parser * const ap, const int argc, const char * const argv[], - const ap_Option options[], const char in_order ); + const ap_Option options[], const int flags ); void ap_free( Arg_parser * const ap ); const char * ap_error( const Arg_parser * const ap ); +int ap_argv_index( const Arg_parser * const ap ); /* The number of arguments parsed. May be different from argc. */ int ap_arguments( const Arg_parser * const ap ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/configure new/ed-1.22.4/configure --- old/ed-1.22.3/configure 2025-11-16 11:04:14.000000000 +0100 +++ new/ed-1.22.4/configure 2026-01-03 12:24:07.000000000 +0100 @@ -1,12 +1,12 @@ #! /bin/sh # configure script for GNU ed - The GNU line editor -# Copyright (C) 2006-2025 Antonio Diaz Diaz. +# Copyright (C) 2006-2026 Antonio Diaz Diaz. # # This configure script is free software: you have unlimited permission # to copy, distribute, and modify it. pkgname=ed -pkgversion=1.22.3 +pkgversion=1.22.4 progname=ed srctrigger=doc/${pkgname}.texi @@ -174,7 +174,7 @@ rm -f Makefile cat > Makefile << EOF # Makefile for GNU ed - The GNU line editor -# Copyright (C) 2006-2025 Antonio Diaz Diaz. +# Copyright (C) 2006-2026 Antonio Diaz Diaz. # This file was generated automatically by configure. Don't edit. # # This Makefile is free software: you have unlimited permission diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/doc/ed.1 new/ed-1.22.4/doc/ed.1 --- old/ed-1.22.3/doc/ed.1 2025-11-27 22:02:50.000000000 +0100 +++ new/ed-1.22.4/doc/ed.1 2026-01-03 12:45:13.000000000 +0100 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. -.TH ED "1" "November 2025" "GNU ed 1.22.3" "User Commands" +.TH ED "1" "January 2026" "GNU ed 1.22.4" "User Commands" .SH NAME ed \- line-oriented text editor .SH SYNOPSIS @@ -73,7 +73,7 @@ .SH COPYRIGHT Copyright \(co 1994 Andrew L. Moore. .br -Copyright \(co 2025 Antonio Diaz Diaz. +Copyright \(co 2026 Antonio Diaz Diaz. License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html> .br This is free software: you are free to change and redistribute it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/doc/ed.info new/ed-1.22.4/doc/ed.info --- old/ed-1.22.3/doc/ed.info 2025-11-27 14:08:29.000000000 +0100 +++ new/ed-1.22.4/doc/ed.info 2026-01-03 12:24:13.000000000 +0100 @@ -5,7 +5,7 @@ * Ed: (ed). The GNU line editor END-INFO-DIR-ENTRY -Copyright (C) 1993, 1994, 2006-2025 Free Software Foundation, Inc. +Copyright (C) 1993, 1994, 2006-2026 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later @@ -18,7 +18,7 @@ The GNU ed line editor ********************** -This manual is for GNU ed (version 1.22.3, 27 November 2025). +This manual is for GNU ed (version 1.22.4, 3 January 2026). * Menu: @@ -37,7 +37,7 @@ Written by Andrew L. Moore, Fran�ois Pinard, and Antonio Diaz Diaz -Copyright (C) 1993, 1994, 2006-2025 Free Software Foundation, Inc. +Copyright (C) 1993, 1994, 2006-2026 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later @@ -1605,20 +1605,20 @@ Tag Table: Node: Top529 -Node: Overview1901 -Node: Introduction to line editing4749 -Node: Invoking ed11962 -Node: Argument syntax16018 -Node: Line addressing17780 -Node: Regular expressions21796 -Node: Commands27966 -Ref: print suffixes28301 -Ref: shell escape command40814 -Node: The 's' Command42392 -Node: Limitations45286 -Node: Diagnostics46303 -Node: Problems47132 -Node: GNU Free Documentation License47664 +Node: Overview1899 +Node: Introduction to line editing4747 +Node: Invoking ed11960 +Node: Argument syntax16016 +Node: Line addressing17778 +Node: Regular expressions21794 +Node: Commands27964 +Ref: print suffixes28299 +Ref: shell escape command40812 +Node: The 's' Command42390 +Node: Limitations45284 +Node: Diagnostics46301 +Node: Problems47130 +Node: GNU Free Documentation License47662 End Tag Table diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/doc/ed.texi new/ed-1.22.4/doc/ed.texi --- old/ed-1.22.3/doc/ed.texi 2025-11-27 14:08:11.000000000 +0100 +++ new/ed-1.22.4/doc/ed.texi 2026-01-03 12:24:07.000000000 +0100 @@ -6,8 +6,8 @@ @finalout @c %**end of header -@set UPDATED 27 November 2025 -@set VERSION 1.22.3 +@set UPDATED 3 January 2026 +@set VERSION 1.22.4 @dircategory Basics @direntry @@ -15,7 +15,7 @@ @end direntry @copying -Copyright @copyright{} 1993, 1994, 2006-2025 Free Software Foundation, Inc. +Copyright @copyright{} 1993, 1994, 2006-2026 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/ed.h new/ed-1.22.4/ed.h --- old/ed-1.22.3/ed.h 2025-10-10 13:47:21.000000000 +0200 +++ new/ed-1.22.4/ed.h 2026-01-03 12:24:07.000000000 +0100 @@ -1,7 +1,7 @@ /* Global declarations for the ed editor. */ /* GNU ed - The GNU line editor. Copyright (C) 1993, 1994 Andrew L. Moore, Talke Studio - Copyright (C) 2006-2025 Antonio Diaz Diaz. + Copyright (C) 2006-2026 Antonio Diaz Diaz. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/global.c new/ed-1.22.4/global.c --- old/ed-1.22.3/global.c 2025-03-27 22:20:55.000000000 +0100 +++ new/ed-1.22.4/global.c 2026-01-03 12:24:07.000000000 +0100 @@ -1,7 +1,7 @@ /* global.c: global command routines for the ed line editor */ /* GNU ed - The GNU line editor. Copyright (C) 1993, 1994 Andrew L. Moore, Talke Studio - Copyright (C) 2006-2025 Antonio Diaz Diaz. + Copyright (C) 2006-2026 Antonio Diaz Diaz. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/io.c new/ed-1.22.4/io.c --- old/ed-1.22.3/io.c 2025-10-10 13:47:21.000000000 +0200 +++ new/ed-1.22.4/io.c 2026-01-03 12:24:07.000000000 +0100 @@ -1,7 +1,7 @@ /* io.c: i/o routines for the ed line editor */ /* GNU ed - The GNU line editor. Copyright (C) 1993, 1994 Andrew L. Moore, Talke Studio - Copyright (C) 2006-2025 Antonio Diaz Diaz. + Copyright (C) 2006-2026 Antonio Diaz Diaz. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/main.c new/ed-1.22.4/main.c --- old/ed-1.22.3/main.c 2025-11-27 12:43:40.000000000 +0100 +++ new/ed-1.22.4/main.c 2026-01-03 12:24:07.000000000 +0100 @@ -1,5 +1,5 @@ /* GNU ed - The GNU line editor. - Copyright (C) 2006-2025 Antonio Diaz Diaz. + Copyright (C) 2006-2026 Antonio Diaz Diaz. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,7 +47,7 @@ static const char * const program_name = "ed"; -static const char * const program_year = "2025"; +static const char * const program_year = "2026"; static const char * invocation_name = "ed"; /* default value */ static bool extended_regexp_ = false; /* use EREs */ @@ -68,41 +68,43 @@ static void show_help( void ) { - printf( "GNU ed is a line-oriented text editor. It is used to create, display,\n" - "modify and otherwise manipulate text files, both interactively and via\n" - "shell scripts. A restricted version of ed, red, can only edit files in\n" - "the current directory and cannot execute shell commands. Ed is the\n" - "'standard' text editor in the sense that it is the original editor for\n" - "Unix, and thus widely available. For most purposes, however, it is\n" - "superseded by full-screen editors.\n" - "\nUsage: %s [options] [[+line] file]\n", invocation_name ); - printf( "\nThe file name may be preceded by '+line', '+/RE', or '+?RE' to set the\n" - "current line to the line number specified or to the first or last line\n" - "matching the regular expression 'RE'.\n" - "\nStart edit by reading in 'file' if given.\n" - "If 'file' begins with a '!', read output of shell command.\n" - "\nThe environment variable LINES can be used to set the initial window size.\n" - "\nOptions:\n" - " -h, --help display this help and exit\n" - " -V, --version output version information and exit\n" - " -E, --extended-regexp use extended regular expressions\n" - " -G, --traditional run in compatibility mode\n" - " -l, --loose-exit-status exit with 0 status even if a command fails\n" - " -p, --prompt=STRING use STRING as an interactive prompt\n" - " -q, --quiet, --silent suppress diagnostics written to stderr\n" - " -r, --restricted run in restricted mode\n" - " -s, --script suppress byte counts and '!' prompt\n" - " -v, --verbose be verbose; equivalent to the 'H' command\n" - " --strip-trailing-cr strip carriage returns at end of text lines\n" - " --unsafe-names allow control characters in file names\n" - "\n*Exit status*\n" - "0 for a normal exit, 1 for environmental problems (invalid command-line\n" - "options, memory exhausted, command failed, etc), 2 for problems with the\n" - "input file (file not found, buffer modified, I/O errors), 3 for an internal\n" - "consistency error (e.g., bug) which caused ed to panic.\n" - "\nReport bugs to [email protected]\n" - "Ed home page: http://www.gnu.org/software/ed/ed.html\n" - "General help using GNU software: http://www.gnu.org/gethelp\n" ); + fputs( + "GNU ed is a line-oriented text editor. It is used to create, display,\n" + "modify and otherwise manipulate text files, both interactively and via\n" + "shell scripts. A restricted version of ed, red, can only edit files in\n" + "the current directory and cannot execute shell commands. Ed is the\n" + "'standard' text editor in the sense that it is the original editor for\n" + "Unix, and thus widely available. For most purposes, however, it is\n" + "superseded by full-screen editors.\n", stdout ); + printf( "\nUsage: %s [options] [[+line] file]\n", invocation_name ); + fputs( + "\nThe file name may be preceded by '+line', '+/RE', or '+?RE' to set the\n" + "current line to the line number specified or to the first or last line\n" + "matching the regular expression 'RE'.\n" + "\nStart edit by reading in 'file' if given.\n" + "If 'file' begins with a '!', read output of shell command.\n" + "\nThe environment variable LINES can be used to set the initial window size.\n" + "\nOptions:\n" + " -h, --help display this help and exit\n" + " -V, --version output version information and exit\n" + " -E, --extended-regexp use extended regular expressions\n" + " -G, --traditional run in compatibility mode\n" + " -l, --loose-exit-status exit with 0 status even if a command fails\n" + " -p, --prompt=STRING use STRING as an interactive prompt\n" + " -q, --quiet, --silent suppress diagnostics written to stderr\n" + " -r, --restricted run in restricted mode\n" + " -s, --script suppress byte counts and '!' prompt\n" + " -v, --verbose be verbose; equivalent to the 'H' command\n" + " --strip-trailing-cr strip carriage returns at end of text lines\n" + " --unsafe-names allow control characters in file names\n" + "\n*Exit status*\n" + "0 for a normal exit, 1 for environmental problems (invalid command-line\n" + "options, memory exhausted, command failed, etc), 2 for problems with the\n" + "input file (file not found, buffer modified, I/O errors), 3 for an internal\n" + "consistency error (e.g., bug) which caused ed to panic.\n" + "\nReport bugs to [email protected]\n" + "Ed home page: http://www.gnu.org/software/ed/ed.html\n" + "General help using GNU software: http://www.gnu.org/gethelp\n", stdout ); } @@ -111,9 +113,9 @@ printf( "GNU %s %s\n", program_name, PROGVERSION ); printf( "Copyright (C) 1994 Andrew L. Moore.\n" "Copyright (C) %s Antonio Diaz Diaz.\n", program_year ); - printf( "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>\n" - "This is free software: you are free to change and redistribute it.\n" - "There is NO WARRANTY, to the extent permitted by law.\n" ); + fputs( "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>\n" + "This is free software: you are free to change and redistribute it.\n" + "There is NO WARRANTY, to the extent permitted by law.\n", stdout ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/main_loop.c new/ed-1.22.4/main_loop.c --- old/ed-1.22.3/main_loop.c 2025-11-12 18:33:12.000000000 +0100 +++ new/ed-1.22.4/main_loop.c 2026-01-03 12:24:07.000000000 +0100 @@ -1,6 +1,6 @@ /* GNU ed - The GNU line editor. Copyright (C) 1993, 1994 Andrew L. Moore, Talke Studio - Copyright (C) 2006-2025 Antonio Diaz Diaz. + Copyright (C) 2006-2026 Antonio Diaz Diaz. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/regex.c new/ed-1.22.4/regex.c --- old/ed-1.22.3/regex.c 2025-08-15 11:57:18.000000000 +0200 +++ new/ed-1.22.4/regex.c 2026-01-03 12:24:07.000000000 +0100 @@ -1,7 +1,7 @@ /* regex.c: regular expression interface routines for the ed line editor. */ /* GNU ed - The GNU line editor. Copyright (C) 1993, 1994 Andrew L. Moore, Talke Studio - Copyright (C) 2006-2025 Antonio Diaz Diaz. + Copyright (C) 2006-2026 Antonio Diaz Diaz. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/signal.c new/ed-1.22.4/signal.c --- old/ed-1.22.3/signal.c 2025-08-04 17:49:50.000000000 +0200 +++ new/ed-1.22.4/signal.c 2026-01-03 12:24:07.000000000 +0100 @@ -1,7 +1,7 @@ /* signal.c: signal and miscellaneous routines for the ed line editor. */ /* GNU ed - The GNU line editor. Copyright (C) 1993, 1994 Andrew L. Moore, Talke Studio - Copyright (C) 2006-2025 Antonio Diaz Diaz. + Copyright (C) 2006-2026 Antonio Diaz Diaz. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ed-1.22.3/testsuite/check.sh new/ed-1.22.4/testsuite/check.sh --- old/ed-1.22.3/testsuite/check.sh 2025-10-15 00:52:27.000000000 +0200 +++ new/ed-1.22.4/testsuite/check.sh 2026-01-03 12:24:07.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # check script for GNU ed - The GNU line editor -# Copyright (C) 2006-2025 Antonio Diaz Diaz. +# Copyright (C) 2006-2026 Antonio Diaz Diaz. # # This script is free software; you have unlimited permission # to copy, distribute, and modify it. @@ -52,10 +52,13 @@ printf "a\nHello world!\n.\ne test.txt\nf foo.txt\nf\nh\nH\nH\nkx\nl\nn\np\nP\nP\ny\n.z\n# comment\n=\n!:\n.\ne test.txt\n8p\n" | "${ED}" -s | grep -q 'agrarian' || test_failed $LINENO echo "q" | "${ED}" -q 'name_with_bell.txt' && test_failed $LINENO echo "q" | "${ED}" -q --unsafe-names 'name_with_bell.txt' || test_failed $LINENO -printf 'w caf�_iso.txt\nq\n' | "${ED}" -s test.txt || test_failed $LINENO -printf 'w café_utf.txt\nq\n' | "${ED}" -s test.txt || test_failed $LINENO -cmp 'caf�_iso.txt' 'café_utf.txt' || test_failed $LINENO -rm -f 'caf�_iso.txt' 'café_utf.txt' +if touch 'caf�_iso.txt' 2> /dev/null ; then + rm -f 'caf�_iso.txt' + printf 'w caf�_iso.txt\nq\n' | "${ED}" -s test.txt || test_failed $LINENO + printf 'w café_utf.txt\nq\n' | "${ED}" -s test.txt || test_failed $LINENO + cmp 'caf�_iso.txt' 'café_utf.txt' || test_failed $LINENO + rm -f 'caf�_iso.txt' 'café_utf.txt' +fi if [ ${fail} != 0 ] ; then echo ; fi
