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
 

Reply via email to