From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id F36BE47352 for ; Sun, 5 Nov 2023 13:53:48 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id ED36468CECD; Sun, 5 Nov 2023 15:53:45 +0200 (EET) Received: from s.wfbtzhsw.outbound-mail.sendgrid.net (s.wfbtzhsw.outbound-mail.sendgrid.net [159.183.224.105]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1F06168CEBB for ; Sun, 5 Nov 2023 15:53:39 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=frankplowman.com; h=from:subject:mime-version:to:cc:content-type: content-transfer-encoding:cc:content-type:from:subject:to; s=s1; bh=epnooitMcc2Qt3DBxUrYiFspe6jkc4FaakX/dlzX11k=; b=RWAJJ3veKZLX+U3Valu3pEqqXNUsSSvpt06OF3TpIG7pHJsu2fyWHL53nIu4ONJBnQkd 1kciv7TWyYiAouJ5bg6NfFC7pNUoiGZlPH+jlu+zTO6mRUZQUaimw+ca24fBgswnnPgNuA Aq/BNMFhRmsnLEJP9PTH8RJjA3KSZzodC7IY1UBsbTsJ8ol07EFAw6TWiYVqioEFxgHTAd lOn9iTswMsDPqT8w8a4MItBwIY1JzJLq1lgvbVLx0Zysgw6ETyaya+Ip0bYHEpfIQV9HfG kHMK9L+sPdV4tV6Pavz3/xewVWx/x4Am/YK0tXMd6VStXQyVx8uCunEUsjKamOSA== Received: by filterdrecv-6b68c9f446-d5db2 with SMTP id filterdrecv-6b68c9f446-d5db2-1-65479E62-17 2023-11-05 13:53:38.52572942 +0000 UTC m=+1624364.722965322 Received: from localhost.localdomain (unknown) by geopod-ismtpd-7 (SG) with ESMTP id gjygamhHSdaPj4I31pLwMQ Sun, 05 Nov 2023 13:53:38.230 +0000 (UTC) From: post@frankplowman.com Date: Sun, 05 Nov 2023 13:53:38 +0000 (UTC) Message-ID: <20231105135335.85752-1-post@frankplowman.com> X-Mailer: git-send-email 2.42.1 MIME-Version: 1.0 X-SG-EID: =?us-ascii?Q?c4f4aE1Y0RBySa=2FirqQxUJWZDkoLQ0t=2FfkUe34xOGiHFVfHH4r0Me5cmF23Z7z?= =?us-ascii?Q?umK523rm24OeoaSNhTEVDt5e8tMHh4NgaE8=2F5ut?= =?us-ascii?Q?qcDS5Fuc9AkJJ1S14Ycy8aSWITmZz6AYT2AUSs7?= =?us-ascii?Q?UBRuK8OxBTWq3ENXOFwRYXj2K9WPX9iNJ48=2Fqka?= =?us-ascii?Q?qM956QZhh6rhqo=2FeEU7wQaHvvJtr85TJv7JFusb?= =?us-ascii?Q?Nc=2FnJRJq7XUgtX9uw=3D?= To: ffmpeg-devel@ffmpeg.org X-Entity-ID: LpPALsXh5JN/Quf2dstifQ== Subject: [FFmpeg-devel] [PATCH] doc/t2h: Support texinfo 7.0 X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Frank Plowman Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Frank Plowman Texinfo 7.0, released in November 2022, changed the names of various functions. Compiling docs with Texinfo 7.0 results in warnings and improperly formatted documentation. More old names appear to have been removed in Texinfo 7.1, released October 2023, which causes docs compilation to fail. This PR addresses the issue by adding logic to switch between the old and new function names depending on the Texinfo version. CC https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1938238.h= tml https://bugs.gentoo.org/916104 Signed-off-by: Frank Plowman --- doc/t2h.pm | 97 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 78 insertions(+), 19 deletions(-) diff --git a/doc/t2h.pm b/doc/t2h.pm index d07d974286..1f23083703 100644 --- a/doc/t2h.pm +++ b/doc/t2h.pm @@ -20,8 +20,41 @@ # License along with FFmpeg; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301= USA = +#=A0Texinfo 7.0 changed the syntax of various functions. +# Provide a shim for older versions. +sub ff_set_from_init_file($$) { + my $key =3D shift; + my $value =3D shift; + if (exists &{'texinfo_set_from_init_file'}) { + texinfo_set_from_init_file($key, $value); + } else { + set_from_init_file($key, $value); + } +} + +sub ff_get_conf($) { + my $key =3D shift; + if (exists &{'texinfo_get_conf'}) { + texinfo_get_conf($key); + } else { + get_conf($key); + } +} + +sub get_formatting_function($$) { + my $obj =3D shift; + my $func =3D shift; + + my $sub =3D $obj->can('formatting_function'); + if ($sub) { + return $obj->formatting_function($func); + } else { + return $obj->{$func}; + } +} + # no navigation elements -set_from_init_file('HEADERS', 0); +ff_set_from_init_file('HEADERS', 0); = sub ffmpeg_heading_command($$$$$) { @@ -55,7 +88,7 @@ sub ffmpeg_heading_command($$$$$) $element =3D $command->{'parent'}; } if ($element) { - $result .=3D &{$self->{'format_element_header'}}($self, $cmdname, + $result .=3D &{get_formatting_function($self, 'format_element_head= er')}($self, $cmdname, $command, $element); } = @@ -112,8 +145,8 @@ sub ffmpeg_heading_command($$$$$) $cmdname =3D $Texinfo::Common::level_to_structuring_command{$cm= dname}->[$heading_level]; } - $result .=3D &{$self->{'format_heading_text'}}( - $self, $cmdname, $heading, + $result .=3D &{get_formatting_function($self,'format_heading_t= ext')}( + $self, $cmdname, [$heading], $heading_level + $self->get_conf('CHAPTER_HEADER_LEVEL') - 1, $comm= and); } @@ -127,22 +160,22 @@ foreach my $command (keys(%Texinfo::Common::sectionin= g_commands), 'node') { } = # determine if texinfo is at least version 6.8 -my $program_version_num =3D version->declare(get_conf('PACKAGE_VERSION'))-= >numify; +my $program_version_num =3D version->declare(ff_get_conf('PACKAGE_VERSION'= ))->numify; my $program_version_6_8 =3D $program_version_num >=3D 6.008000; = # print the TOC where @contents is used if ($program_version_6_8) { - set_from_init_file('CONTENTS_OUTPUT_LOCATION', 'inline'); + ff_set_from_init_file('CONTENTS_OUTPUT_LOCATION', 'inline'); } else { - set_from_init_file('INLINE_CONTENTS', 1); + ff_set_from_init_file('INLINE_CONTENTS', 1); } = # make chapters

-set_from_init_file('CHAPTER_HEADER_LEVEL', 2); +ff_set_from_init_file('CHAPTER_HEADER_LEVEL', 2); = # Do not add
-set_from_init_file('DEFAULT_RULE', ''); -set_from_init_file('BIG_RULE', ''); +ff_set_from_init_file('DEFAULT_RULE', ''); +ff_set_from_init_file('BIG_RULE', ''); = # Customized file beginning sub ffmpeg_begin_file($$$) @@ -159,7 +192,18 @@ sub ffmpeg_begin_file($$$) my ($title, $description, $encoding, $date, $css_lines, $doctype, $bodytext, $copying_comment, $after_body_open, $extra_head, $program_and_version, $program_homepage, - $program, $generator) =3D $self->_file_header_informations($comman= d); + $program, $generator); + if ($program_version_num >=3D 7.000000) { + ($title, $description, $encoding, $date, $css_lines, + $doctype, $bodytext, $copying_comment, $after_body_open, + $extra_head, $program_and_version, $program_homepage, + $program, $generator) =3D $self->_file_header_information($comman= d); + } else { + ($title, $description, $encoding, $date, $css_lines, + $doctype, $bodytext, $copying_comment, $after_body_open, + $extra_head, $program_and_version, $program_homepage, + $program, $generator) =3D $self->_file_header_informations($comma= nd); + } = my $links =3D $self->_get_links ($filename, $element); = @@ -223,7 +267,7 @@ if ($program_version_6_8) { sub ffmpeg_end_file($) { my $self =3D shift; - my $program_string =3D &{$self->{'format_program_string'}}($self); + my $program_string =3D &{get_formatting_function($self,'format_program= _string')}($self); my $program_text =3D < $program_string @@ -244,7 +288,7 @@ if ($program_version_6_8) { = # Dummy title command # Ignore title. Title is handled through ffmpeg_begin_file(). -set_from_init_file('USE_TITLEPAGE_FOR_TITLE', 1); +ff_set_from_init_file('USE_TITLEPAGE_FOR_TITLE', 1); sub ffmpeg_title($$$$) { return ''; @@ -262,8 +306,13 @@ sub ffmpeg_float($$$$$) my $args =3D shift; my $content =3D shift; = - my ($caption, $prepended) =3D Texinfo::Common::float_name_caption($sel= f, - $command); + if ($program_version_num >=3D 7.000000) { + my ($caption, $prepended) =3D Texinfo::Convert::Converter::float_n= ame_caption($self, + = $command); + } else { + my ($caption, $prepended) =3D Texinfo::Common::float_name_caption(= $self, + $c= ommand); + } my $caption_text =3D ''; my $prepended_text; my $prepended_save =3D ''; @@ -335,8 +384,13 @@ sub ffmpeg_float($$$$$) $caption->{'args'}->[0], 'float caption'); } if ($prepended_text.$caption_text ne '') { - $prepended_text =3D $self->_attribute_class('div','float-caption')= . '>' - . $prepended_text; + if ($program_version_num >=3D 7.000000) { + $prepended_text =3D $self->html_attribute_class('div',['float-= caption']). '>' + . $prepended_text; + } else { + $prepended_text =3D $self->_attribute_class('div',['float-capt= ion']). '>' + . $prepended_text; + } $caption_text .=3D ''; } my $html_class =3D ''; @@ -349,8 +403,13 @@ sub ffmpeg_float($$$$$) $prepended_text =3D ''; $caption_text =3D ''; } - return $self->_attribute_class('div', $html_class). '>' . "\n" . - $prepended_text . $caption_text . $content . ''; + if ($program_version_num >=3D 7.000000) { + return $self->html_attribute_class('div', [$html_class]). '>' . "\= n" . + $prepended_text . $caption_text . $content . ''; + } else { + return $self->_attribute_class('div', [$html_class]). '>' . "\n" . + $prepended_text . $caption_text . $content . ''; + } } = texinfo_register_command_formatting('float', -- = 2.42.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".