Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gap-profiling for openSUSE:Factory 
checked in at 2026-07-31 15:31:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gap-profiling (Old)
 and      /work/SRC/openSUSE:Factory/.gap-profiling.new.2004 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gap-profiling"

Fri Jul 31 15:31:17 2026 rev:7 rq:1368543 version:2.6.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/gap-profiling/gap-profiling.changes      
2025-06-23 15:03:53.018256373 +0200
+++ /work/SRC/openSUSE:Factory/.gap-profiling.new.2004/gap-profiling.changes    
2026-07-31 16:07:15.160314648 +0200
@@ -1,0 +2,6 @@
+Thu Jul 30 09:36:35 UTC 2026 - Jan Engelhardt <[email protected]>
+
+- Update to release 2.6.3
+  * Remove unnecessary dependency on gapdoc
+
+-------------------------------------------------------------------

Old:
----
  profiling-2.6.2.tar.gz

New:
----
  profiling-2.6.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gap-profiling.spec ++++++
--- /var/tmp/diff_new_pack.7RvLF3/_old  2026-07-31 16:07:15.640331350 +0200
+++ /var/tmp/diff_new_pack.7RvLF3/_new  2026-07-31 16:07:15.644331489 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package gap-profiling
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           gap-profiling
-Version:        2.6.2
+Version:        2.6.3
 Release:        0
 Summary:        GAP: Line-by-line profiling and code coverage for GAP
 License:        CDDL-1.0 AND MIT
@@ -30,7 +30,6 @@
 BuildRequires:  gap-rpm-devel
 BuildRequires:  python-rpm-macros
 Requires:       gap-core >= 4.12
-Requires:       gap-gapdoc >= 1.5
 Requires:       gap-io >= 4.4.4
 
 %description

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.7RvLF3/_old  2026-07-31 16:07:15.680332742 +0200
+++ /var/tmp/diff_new_pack.7RvLF3/_new  2026-07-31 16:07:15.684332881 +0200
@@ -1,5 +1,5 @@
-mtime: 1750549695
-commit: 6c1c361cd2c78845da17945c6120160fe1a13c927a24550a37db07f7ce9bb0a3
+mtime: 1785404212
+commit: 39cfa6e852c4356b3104de70c80cffd073592d01dbe739632e884a6c3783b37c
 url: https://src.opensuse.org/jengelh/gap-profiling
 revision: master
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-07-30 11:36:52.000000000 +0200
@@ -0,0 +1 @@
+.osc

++++++ profiling-2.6.2.tar.gz -> profiling-2.6.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/HISTORY.md 
new/profiling-2.6.3/HISTORY.md
--- old/profiling-2.6.2/HISTORY.md      2025-06-21 17:55:24.000000000 +0200
+++ new/profiling-2.6.3/HISTORY.md      2026-07-29 15:16:02.000000000 +0200
@@ -1,3 +1,9 @@
+2.6.3
+=====
+
+* Remove unneeded dependancy on GAPDoc
+* Many changes to CI (does not effect usage)
+
 2.6.2
 =====
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/PackageInfo.g 
new/profiling-2.6.3/PackageInfo.g
--- old/profiling-2.6.2/PackageInfo.g   2025-06-21 17:55:24.000000000 +0200
+++ new/profiling-2.6.3/PackageInfo.g   2026-07-29 15:16:02.000000000 +0200
@@ -10,8 +10,8 @@
 
 PackageName := "profiling",
 Subtitle := "Line by line profiling and code coverage for GAP",
-Version := "2.6.2",
-Date := "21/06/2025", # dd/mm/yyyy format
+Version := "2.6.3",
+Date := "29/07/2026", # dd/mm/yyyy format
 License := "MIT AND CDDL-1.0",
 
 Persons := [
@@ -20,7 +20,7 @@
     IsMaintainer := true,
     FirstNames := "Christopher",
     LastName := "Jefferson",
-    WWWHome := "https://caj.host.cs.st-andrews.ac.uk/";,
+    WWWHome := "https://heather.cafe/";,
     Email := "[email protected]",
     PostalAddress := Concatenation(
                "St Andrews\n",
@@ -70,7 +70,7 @@
 
 Dependencies := rec(
   GAP := ">= 4.12",
-  NeededOtherPackages := [ [ "GAPDoc", ">= 1.5" ], ["IO", ">= 4.4.4" ] ],
+  NeededOtherPackages := [ ["IO", ">= 4.4.4" ] ],
   SuggestedOtherPackages := [ ],
   ExternalConditions := [ ],
 ),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/README.md 
new/profiling-2.6.3/README.md
--- old/profiling-2.6.2/README.md       2025-06-21 17:55:24.000000000 +0200
+++ new/profiling-2.6.3/README.md       2026-07-29 15:16:02.000000000 +0200
@@ -1,4 +1,4 @@
-[![Build 
Status](https://github.com/gap-packages/profiling/workflows/CI/badge.svg?branch=master)](https://github.com/gap-packages/profiling/actions?query=workflow%3ACI+branch%3Amaster)
+[![CI](https://github.com/gap-packages/profiling/actions/workflows/CI.yml/badge.svg)](https://github.com/gap-packages/profiling/actions/workflows/CI.yml)
 [![Code 
Coverage](https://codecov.io/github/gap-packages/profiling/coverage.svg?branch=master&token=)](https://codecov.io/gh/gap-packages/profiling)
 
 # The GAP 4 package `profiling'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/profiling-2.6.2/doc/_Chapter_Functionality_provided_by_the_profiling_package.xml
 
new/profiling-2.6.3/doc/_Chapter_Functionality_provided_by_the_profiling_package.xml
--- 
old/profiling-2.6.2/doc/_Chapter_Functionality_provided_by_the_profiling_package.xml
        2025-06-21 17:55:37.000000000 +0200
+++ 
new/profiling-2.6.3/doc/_Chapter_Functionality_provided_by_the_profiling_package.xml
        2026-07-29 15:22:44.000000000 +0200
@@ -19,7 +19,6 @@
  </Description>
 </ManSection>
 
-
 <ManSection>
   <Func Arg="filenames" Name="MergeLineByLineProfiles" />
  <Description>
@@ -31,10 +30,8 @@
  </Description>
 </ManSection>
 
-
 </Section>
 
-
 <Section 
Label="Chapter_Functionality_provided_by_the_profiling_package_Section_Generating_flame_graphs">
 <Heading>Generating flame graphs</Heading>
 
@@ -62,7 +59,6 @@
  </Description>
 </ManSection>
 
-
 <ManSection>
   <Func Arg="profile [, filename]" Name="OutputFlameGraphInput" />
  <Description>
@@ -80,10 +76,8 @@
  </Description>
 </ManSection>
 
-
 </Section>
 
-
 <Section 
Label="Chapter_Functionality_provided_by_the_profiling_package_Section_Generating_coverage_reports">
 <Heading>Generating coverage reports</Heading>
 
@@ -109,7 +103,6 @@
  </Description>
 </ManSection>
 
-
 <ManSection>
   <Func Arg="coverage, outfile" Name="OutputJsonCoverage" />
  <Description>
@@ -126,7 +119,6 @@
  </Description>
 </ManSection>
 
-
 <ManSection>
   <Func Arg="coverage, outfile" Name="OutputLcovCoverage" />
  <Description>
@@ -141,7 +133,6 @@
  </Description>
 </ManSection>
 
-
 <ManSection>
   <Func Arg="coverage, outfile, pathtoremove[, opt]" 
Name="OutputCoverallsJsonCoverage" />
  <Description>
@@ -165,10 +156,8 @@
  </Description>
 </ManSection>
 
-
 </Section>
 
-
 <Section 
Label="Chapter_Functionality_provided_by_the_profiling_package_Section_Miscellaneous">
 <Heading>Miscellaneous</Heading>
 
@@ -182,7 +171,6 @@
  </Description>
 </ManSection>
 
-
 <ManSection>
   <Func Arg="file[, opts]" Name="ProfileFile" />
  <Returns>   a string
@@ -218,7 +206,6 @@
  </Description>
 </ManSection>
 
-
 <ManSection>
   <Func Arg="pkg_name[, opts]" Name="ProfilePackage" />
  <Returns>   a string
@@ -232,9 +219,7 @@
  </Description>
 </ManSection>
 
-
 </Section>
 
-
 </Chapter>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/_Chapter_Tutorial.xml 
new/profiling-2.6.3/doc/_Chapter_Tutorial.xml
--- old/profiling-2.6.2/doc/_Chapter_Tutorial.xml       2025-06-21 
17:55:37.000000000 +0200
+++ new/profiling-2.6.3/doc/_Chapter_Tutorial.xml       2026-07-29 
15:22:44.000000000 +0200
@@ -23,15 +23,12 @@
 b := a^(1,2,3);
 f := function() Intersection(a,b); end;
 ]]></Listing>
-<P/>
 Firstly, we will record a profile of the function <C>f</C>:
+With this, the code between <C>ProfileLineByLine</C> and 
<C>UnprofileLineByLine</C> is recorded to a file <F>output.gz</F>.
 <P/>
 <Listing><![CDATA[
-# Code between ProfileLineByLine and UnprofileLineByLine is recorded
-# to a file output.gz
 ProfileLineByLine("output.gz"); f(); UnprofileLineByLine();
 ]]></Listing>
-<P/>
 You should write this all on a single line in &GAP;, as profiling records the 
real time spent executing code, so time spent typing commands will be counted.
 <P/>
 This creates a file called <F>output.gz</F>, which stores the result of 
running <C>f</C>. Now we want to turn that into a nice output. This requires 
loading the &profiling; package, like this:
@@ -40,7 +37,6 @@
 LoadPackage("profiling");
 OutputAnnotatedCodeCoverageFiles("output.gz", "outdir");
 ]]></Listing>
-<P/>
 If loading the &profiling; package produces errors, make sure you have 
compiled both the &profiling; and <Package>IO</Package> packages.
 <P/>
 <Ref Func="OutputAnnotatedCodeCoverageFiles"/> reads the previously created 
<F>output.gz</F> and produces HTML output into the directory <F>outdir</F>.
@@ -55,7 +51,6 @@
 <P/>
 </Section>
 
-
 <Section Label="Chapter_Tutorial_Section_FAQ__Problems">
 <Heading>FAQ / Problems</Heading>
 
@@ -98,7 +93,6 @@
 <P/>
 </Section>
 
-
 <Section Label="Chapter_Tutorial_Section_Function-based_profiling">
 <Heading>Function-based profiling</Heading>
 
@@ -115,6 +109,5 @@
 ]]></Listing>
 </Section>
 
-
 </Chapter>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/_entities.xml 
new/profiling-2.6.3/doc/_entities.xml
--- old/profiling-2.6.2/doc/_entities.xml       2025-06-21 17:55:37.000000000 
+0200
+++ new/profiling-2.6.3/doc/_entities.xml       2026-07-29 15:22:44.000000000 
+0200
@@ -1 +1,4 @@
+<!ENTITY RELEASEDATE '29 July 2026'>
+<!ENTITY RELEASEYEAR '2026'>
+<!ENTITY VERSION '2.6.3'>
 <!ENTITY profiling '<Package>profiling</Package>'>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/_main.xml 
new/profiling-2.6.3/doc/_main.xml
--- old/profiling-2.6.2/doc/_main.xml   1970-01-01 01:00:00.000000000 +0100
+++ new/profiling-2.6.3/doc/_main.xml   2026-07-29 15:22:44.000000000 +0200
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- This is an automatically generated file. -->
+<!DOCTYPE Book SYSTEM "gapdoc.dtd"
+[
+    <#Include SYSTEM "_entities.xml">
+]
+>
+<Book Name="profiling">
+<#Include SYSTEM "title.xml">
+<TableOfContents/>
+<Body>
+<#Include SYSTEM "_AutoDocMainFile.xml">
+</Body>
+<TheIndex/>
+</Book>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/chap0.html 
new/profiling-2.6.3/doc/chap0.html
--- old/profiling-2.6.2/doc/chap0.html  2025-06-21 17:55:41.000000000 +0200
+++ new/profiling-2.6.3/doc/chap0.html  2026-07-29 15:22:46.000000000 +0200
@@ -29,10 +29,10 @@
 <h2>Line by line profiling and code coverage for <strong 
class="pkg">GAP</strong></h2>
 
 <p>
-    2.6.2</p>
+    2.6.3</p>
 
 <p>
-    21 June 2025
+    29 July 2026
   </p>
 
 </div>
@@ -41,10 +41,9 @@
 
 
 
-
   </b>
 <br />Email: <span class="URL"><a 
href="mailto:[email protected]";>[email protected]</a></span>
-<br />Homepage: <span class="URL"><a 
href="https://caj.host.cs.st-andrews.ac.uk/";>https://caj.host.cs.st-andrews.ac.uk/</a></span>
+<br />Homepage: <span class="URL"><a 
href="https://heather.cafe/";>https://heather.cafe/</a></span>
 <br />Address: <br />St Andrews<br /> Scotland<br /> UK<br />
 </p>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/chap0.txt 
new/profiling-2.6.3/doc/chap0.txt
--- old/profiling-2.6.2/doc/chap0.txt   2025-06-21 17:55:37.000000000 +0200
+++ new/profiling-2.6.3/doc/chap0.txt   2026-07-29 15:22:44.000000000 +0200
@@ -6,10 +6,10 @@
                 Line by line profiling and code coverage for GAP 

   
   
-                                     2.6.2
+                                     2.6.3
   
   
-                                  21 June 2025
+                                  29 July 2026
   
   
                              Christopher Jefferson
@@ -18,7 +18,7 @@
   
   Christopher Jefferson
       Email:    mailto:[email protected]
-      Homepage: https://caj.host.cs.st-andrews.ac.uk/
+      Homepage: https://heather.cafe/
       Address:  St Andrews
                 Scotland
                 UK
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/chap0_mj.html 
new/profiling-2.6.3/doc/chap0_mj.html
--- old/profiling-2.6.2/doc/chap0_mj.html       2025-06-21 17:55:41.000000000 
+0200
+++ new/profiling-2.6.3/doc/chap0_mj.html       2026-07-29 15:22:46.000000000 
+0200
@@ -32,10 +32,10 @@
 <h2>Line by line profiling and code coverage for <strong 
class="pkg">GAP</strong></h2>
 
 <p>
-    2.6.2</p>
+    2.6.3</p>
 
 <p>
-    21 June 2025
+    29 July 2026
   </p>
 
 </div>
@@ -44,10 +44,9 @@
 
 
 
-
   </b>
 <br />Email: <span class="URL"><a 
href="mailto:[email protected]";>[email protected]</a></span>
-<br />Homepage: <span class="URL"><a 
href="https://caj.host.cs.st-andrews.ac.uk/";>https://caj.host.cs.st-andrews.ac.uk/</a></span>
+<br />Homepage: <span class="URL"><a 
href="https://heather.cafe/";>https://heather.cafe/</a></span>
 <br />Address: <br />St Andrews<br /> Scotland<br /> UK<br />
 </p>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/chap1.html 
new/profiling-2.6.3/doc/chap1.html
--- old/profiling-2.6.2/doc/chap1.html  2025-06-21 17:55:41.000000000 +0200
+++ new/profiling-2.6.3/doc/chap1.html  2026-07-29 15:22:46.000000000 +0200
@@ -55,12 +55,10 @@
 f := function() Intersection(a,b); end;
 </pre></div>
 
-<p>Firstly, we will record a profile of the function <code 
class="code">f</code>:</p>
+<p>Firstly, we will record a profile of the function <code 
class="code">f</code>: With this, the code between <code 
class="code">ProfileLineByLine</code> and <code 
class="code">UnprofileLineByLine</code> is recorded to a file <code 
class="file">output.gz</code>.</p>
 
 
 <div class="example"><pre>
-# Code between ProfileLineByLine and UnprofileLineByLine is recorded
-# to a file output.gz
 ProfileLineByLine("output.gz"); f(); UnprofileLineByLine();
 </pre></div>
 
@@ -82,7 +80,7 @@
 
 <p>At the very top is a link to a flame graph. These give a quick overview of 
which functions took the most time. Functions are stacked, so lower functions 
call higher functions.</p>
 
-<p>From this graph we can see that <code class="code">f</code> called <code 
class="func">Intersection</code> (<a 
href="../../../doc/ref/chap30_mj.html#X851069107CACF98E"><span 
class="RefLink">Reference: Intersection</span></a>), which called the function 
<code class="code">Intersection2 perm groups</code> near line 2950 in <code 
class="file">stbcbckt.gi</code>. This function spent most of its time in <code 
class="code">PartitionBacktrack</code>, and a little time in <code 
class="code">Stabilizer</code>.</p>
+<p>From this graph we can see that <code class="code">f</code> called <code 
class="func">Intersection</code> (<a 
href="../../../doc/ref/chap30.html#X851069107CACF98E"><span 
class="RefLink">Reference: Intersection</span></a>), which called the function 
<code class="code">Intersection2 perm groups</code> near line 2950 in <code 
class="file">stbcbckt.gi</code>. This function spent most of its time in <code 
class="code">PartitionBacktrack</code>, and a little time in <code 
class="code">Stabilizer</code>.</p>
 
 <p>Whenever you generate a profile which contains timing information, a flame 
graph link will be show on the first page of your generated profile!</p>
 
@@ -92,7 +90,7 @@
 
 
 <ul>
-<li><p><code class="func">ProfileLineByLine</code> (<a 
href="../../../doc/ref/chap7_mj.html#X86557887796F66FA"><span 
class="RefLink">Reference: ProfileLineByLine</span></a>) records the wall time 
(also known as clock time) that occurs between <code 
class="func">ProfileLineByLine</code> (<a 
href="../../../doc/ref/chap7_mj.html#X86557887796F66FA"><span 
class="RefLink">Reference: ProfileLineByLine</span></a>) and the next <code 
class="func">UnprofileLineByLine</code> (<a 
href="../../../doc/ref/chap7_mj.html#X7C5DED9C7CC77504"><span 
class="RefLink">Reference: UnprofileLineByLine</span></a>). This is why we 
start profiling, run our code, and then stop profiling all on a single line.</p>
+<li><p><code class="func">ProfileLineByLine</code> (<a 
href="../../../doc/ref/chap7.html#X86557887796F66FA"><span 
class="RefLink">Reference: ProfileLineByLine</span></a>) records the wall time 
(also known as clock time) that occurs between <code 
class="func">ProfileLineByLine</code> (<a 
href="../../../doc/ref/chap7.html#X86557887796F66FA"><span 
class="RefLink">Reference: ProfileLineByLine</span></a>) and the next <code 
class="func">UnprofileLineByLine</code> (<a 
href="../../../doc/ref/chap7.html#X7C5DED9C7CC77504"><span 
class="RefLink">Reference: UnprofileLineByLine</span></a>). This is why we 
start profiling, run our code, and then stop profiling all on a single line.</p>
 
 </li>
 </ul>
@@ -110,7 +108,7 @@
 </ul>
 
 <ul>
-<li><p><code class="func">ProfileLineByLine</code> (<a 
href="../../../doc/ref/chap7_mj.html#X86557887796F66FA"><span 
class="RefLink">Reference: ProfileLineByLine</span></a>) takes an optional 
second argument which is a record, which can set some configuration options. 
Here are some of the options:</p>
+<li><p><code class="func">ProfileLineByLine</code> (<a 
href="../../../doc/ref/chap7.html#X86557887796F66FA"><span 
class="RefLink">Reference: ProfileLineByLine</span></a>) takes an optional 
second argument which is a record, which can set some configuration options. 
Here are some of the options:</p>
 
 </li>
 </ul>
@@ -130,7 +128,7 @@
 
 <h4>1.3 <span class="Heading">Function-based profiling</span></h4>
 
-<p>Sometimes you will have code that just runs too long to easily profile 
line-by-line. You can profile this in <strong class="pkg">GAP</strong>'s older 
function-based profiler. You can read more about this profiler in <strong 
class="pkg">GAP</strong>'s documentation (<a 
href="../../../doc/ref/chap7_mj.html#X7FDF923D7D2937A1"><span 
class="RefLink">Reference: Profiling</span></a>), but here is a quick example 
to get you going!</p>
+<p>Sometimes you will have code that just runs too long to easily profile 
line-by-line. You can profile this in <strong class="pkg">GAP</strong>'s older 
function-based profiler. You can read more about this profiler in <strong 
class="pkg">GAP</strong>'s documentation (<a 
href="../../../doc/ref/chap7.html#X7FDF923D7D2937A1"><span 
class="RefLink">Reference: Profiling</span></a>), but here is a quick example 
to get you going!</p>
 
 
 <div class="example"><pre>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/chap1.txt 
new/profiling-2.6.3/doc/chap1.txt
--- old/profiling-2.6.2/doc/chap1.txt   2025-06-21 17:55:37.000000000 +0200
+++ new/profiling-2.6.3/doc/chap1.txt   2026-07-29 15:22:44.000000000 +0200
@@ -23,11 +23,11 @@
     f := function() Intersection(a,b); end;
   
   
-  Firstly, we will record a profile of the function 
f:
+  Firstly,  we  will  record  a profile of the function 
f: With this, the code
+  between  ProfileLineByLine  and  UnprofileLineByLine  
is  recorded to a file
+  output.gz.
   
   
-    # Code between ProfileLineByLine and UnprofileLineByLine is 
recorded
-    # to a file output.gz
     ProfileLineByLine("output.gz"); f(); UnprofileLineByLine();
   
   
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/chap1_mj.html 
new/profiling-2.6.3/doc/chap1_mj.html
--- old/profiling-2.6.2/doc/chap1_mj.html       2025-06-21 17:55:41.000000000 
+0200
+++ new/profiling-2.6.3/doc/chap1_mj.html       2026-07-29 15:22:46.000000000 
+0200
@@ -58,12 +58,10 @@
 f := function() Intersection(a,b); end;
 </pre></div>
 
-<p>Firstly, we will record a profile of the function <code 
class="code">f</code>:</p>
+<p>Firstly, we will record a profile of the function <code 
class="code">f</code>: With this, the code between <code 
class="code">ProfileLineByLine</code> and <code 
class="code">UnprofileLineByLine</code> is recorded to a file <code 
class="file">output.gz</code>.</p>
 
 
 <div class="example"><pre>
-# Code between ProfileLineByLine and UnprofileLineByLine is recorded
-# to a file output.gz
 ProfileLineByLine("output.gz"); f(); UnprofileLineByLine();
 </pre></div>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/chap2.html 
new/profiling-2.6.3/doc/chap2.html
--- old/profiling-2.6.2/doc/chap2.html  2025-06-21 17:55:41.000000000 +0200
+++ new/profiling-2.6.3/doc/chap2.html  2026-07-29 15:22:46.000000000 +0200
@@ -62,14 +62,14 @@
 <h5>2.1-1 ReadLineByLineProfile</h5>
 
 <div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; ReadLineByLineProfile</code>( <var 
class="Arg">filename</var> )</td><td 
class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
-<p>Read <var class="Arg">filename</var>, a line-by-line profile which was 
previously generated by <strong class="pkg">GAP</strong>, using the <code 
class="func">ProfileLineByLine</code> (<a 
href="../../../doc/ref/chap7_mj.html#X86557887796F66FA"><span 
class="RefLink">Reference: ProfileLineByLine</span></a>) or <code 
class="func">CoverageLineByLine</code> (<a 
href="../../../doc/ref/chap7_mj.html#X87CC48807DB4C008"><span 
class="RefLink">Reference: CoverageLineByLine</span></a>) functions from core 
<strong class="pkg">GAP</strong>. A parsed profile can be transformed into a 
human-readable form using either <code 
class="func">OutputAnnotatedCodeCoverageFiles</code> (<a 
href="chap2.html#X87AFADF581A7C1FD"><span class="RefLink">2.3-1</span></a>) or 
<code class="func">OutputFlameGraph</code> (<a 
href="chap2.html#X858B23AD78A2A73A"><span class="RefLink">2.2-1</span></a>)</p>
+<p>Read <var class="Arg">filename</var>, a line-by-line profile which was 
previously generated by <strong class="pkg">GAP</strong>, using the <code 
class="func">ProfileLineByLine</code> (<a 
href="../../../doc/ref/chap7.html#X86557887796F66FA"><span 
class="RefLink">Reference: ProfileLineByLine</span></a>) or <code 
class="func">CoverageLineByLine</code> (<a 
href="../../../doc/ref/chap7.html#X87CC48807DB4C008"><span 
class="RefLink">Reference: CoverageLineByLine</span></a>) functions from core 
<strong class="pkg">GAP</strong>. A parsed profile can be transformed into a 
human-readable form using either <code 
class="func">OutputAnnotatedCodeCoverageFiles</code> (<a 
href="chap2.html#X87AFADF581A7C1FD"><span class="RefLink">2.3-1</span></a>) or 
<code class="func">OutputFlameGraph</code> (<a 
href="chap2.html#X858B23AD78A2A73A"><span class="RefLink">2.2-1</span></a>)</p>
 
 <p><a id="X7D11F90387AEF584" name="X7D11F90387AEF584"></a></p>
 
 <h5>2.1-2 MergeLineByLineProfiles</h5>
 
 <div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; MergeLineByLineProfiles</code>( <var 
class="Arg">filenames</var> )</td><td 
class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
-<p>Read <var class="Arg">filenames</var>, a list of line-by-line profiles 
which were previously generated by <strong class="pkg">GAP</strong>, using the 
<code class="func">ProfileLineByLine</code> (<a 
href="../../../doc/ref/chap7_mj.html#X86557887796F66FA"><span 
class="RefLink">Reference: ProfileLineByLine</span></a>) or <code 
class="func">CoverageLineByLine</code> (<a 
href="../../../doc/ref/chap7_mj.html#X87CC48807DB4C008"><span 
class="RefLink">Reference: CoverageLineByLine</span></a>) functions from core 
<strong class="pkg">GAP</strong>. The elements of <var 
class="Arg">filenames</var> can be either filenames, or files previously parsed 
by <code class="func">ReadLineByLineProfile</code> (<a 
href="chap2.html#X82664B2C80EBA9A4"><span class="RefLink">2.1-1</span></a>).</p>
+<p>Read <var class="Arg">filenames</var>, a list of line-by-line profiles 
which were previously generated by <strong class="pkg">GAP</strong>, using the 
<code class="func">ProfileLineByLine</code> (<a 
href="../../../doc/ref/chap7.html#X86557887796F66FA"><span 
class="RefLink">Reference: ProfileLineByLine</span></a>) or <code 
class="func">CoverageLineByLine</code> (<a 
href="../../../doc/ref/chap7.html#X87CC48807DB4C008"><span 
class="RefLink">Reference: CoverageLineByLine</span></a>) functions from core 
<strong class="pkg">GAP</strong>. The elements of <var 
class="Arg">filenames</var> can be either filenames, or files previously parsed 
by <code class="func">ReadLineByLineProfile</code> (<a 
href="chap2.html#X82664B2C80EBA9A4"><span class="RefLink">2.1-1</span></a>).</p>
 
 <p><a id="X8412FE417B2C715D" name="X8412FE417B2C715D"></a></p>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/chooser.html 
new/profiling-2.6.3/doc/chooser.html
--- old/profiling-2.6.2/doc/chooser.html        2025-06-21 17:55:41.000000000 
+0200
+++ new/profiling-2.6.3/doc/chooser.html        2026-07-29 15:22:46.000000000 
+0200
@@ -23,9 +23,18 @@
   return "";
 }
 
+<!-- load dark appearance either explicitly or via the OS preference -->
+function writeAppearanceStyle(mode) {
+  if (mode == "dark") {
+    document.writeln('<link rel="stylesheet" type="text/css" href="dark.css" 
/>');
+  } else if (mode != "light") {
+    document.writeln('<style type="text/css">@import "dark.css" 
(prefers-color-scheme: dark);</style>');
+  }
+}
+
 <!-- find style from current values in form -->
 function getstyle() {
-  var choices = ["toggle","colorprompt","tocside","font","justify"]; 
+  var choices = 
["toggle","colorprompt","tocside","font","justify","appearance"];
   var style = "";
   for (var i=0; choices.length > i; i++) {
     var a = currval(choices[i]);
@@ -55,17 +64,23 @@
 <!-- initialize form from GAPDocStyle cookie -->
 function initform() {
   var style = valueString(document.cookie, "GAPDocStyle");
+  if (style == 0 || style == "default")
+    writeAppearanceStyle("");
   if (style != 0 && style.length > 0 && style.length != "default") {
     stlist = style.split(",");
     var chform = document.forms[0].elements;
+    var appearance = "";
     for (var i=0; chform.length > i; i++) {
       if (chform[i].type == "radio") {
         for (var j=0; stlist.length > j; j++) {
-          if (chform[i].value == stlist[j]) 
+          if (stlist[j] == "dark" || stlist[j] == "light")
+            appearance = stlist[j];
+          if (chform[i].value == stlist[j])
             chform[i].checked = true;
         }
       }
     }
+    writeAppearanceStyle(appearance);
   }
 }
 
@@ -119,6 +134,15 @@
 <input type="radio" name="justify" value="ragged"
 onclick="javascript:f()"/> ragged right 
 </p>
+<p>
+Appearance:
+<input type="radio" name="appearance" value=""
+onclick="javascript:f()"/> system (default) &nbsp;&nbsp;&nbsp;
+<input type="radio" name="appearance" value="light" checked="checked"
+onclick="javascript:f()"/> light
+<input type="radio" name="appearance" value="dark"
+onclick="javascript:f()"/> dark
+</p>
 </form>
 <p>
 <a name="backLINK" href=""><strong>Apply settings to last page.</strong></a>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/dark.css 
new/profiling-2.6.3/doc/dark.css
--- old/profiling-2.6.2/doc/dark.css    1970-01-01 01:00:00.000000000 +0100
+++ new/profiling-2.6.3/doc/dark.css    2026-07-29 15:22:46.000000000 +0200
@@ -0,0 +1,178 @@
+/* dark.css                                             Frank Luebeck */
+/* Initial dark theme contributed by kiryph in issue #75.            */
+
+/* colors */
+body {
+  background: #121212;
+  color: #eee;
+}
+
+a:link {
+  color: #576cad;
+}
+
+a:visited {
+  color: #576cad;
+}
+
+a:active {
+  color: #eee;
+}
+
+a:hover {
+  background: #eee;
+}
+
+pre {
+  color: black;
+}
+
+tt, code {
+  color: #eee;
+}
+
+/* layout for the definitions of functions, variables, ... */
+div.func {
+  background: #909090;
+}
+
+/* Example elements (for old converted manuals, now in div+pre */
+table.example {
+  background: #efefef;
+}
+
+/* becomes ... */
+div.example {
+  background: #efefef;
+  color: black;
+}
+
+/* Links to chapters in all files at top and bottom. */
+div.chlinktop {
+  background: #22272e;
+  border-color: #3a414a;
+  color: #d7dde5;
+}
+
+div.chlinktop a:hover {
+  background: #2f3742;
+}
+
+div.chlinkbot {
+  background: #22272e;
+  border-color: #3a414a;
+  color: #d7dde5;
+}
+
+/* and this is for the "Top", "Prev", "Next" links */
+div.chlinkprevnexttop {
+  background: #22272e;
+  border-color: #3a414a;
+  color: #d7dde5;
+}
+
+div.chlinkprevnexttop a:hover {
+  background: #2f3742;
+}
+
+div.chlinkprevnextbot {
+  background: #22272e;
+  border-color: #3a414a;
+  color: #d7dde5;
+}
+
+div.chlinkprevnextbot a:hover {
+  background: #2f3742;
+}
+
+div.ContChap div.ContSect:hover div.ContSSBlock {
+  background: #eee;
+  border-color: #666;
+  color: #000;
+}
+
+div.ContSSBlock a:hover {
+  background: #fff;
+}
+
+/* and here for the side menu of contents in the chapter files */
+div.ChapSects a:hover {
+  background: #eee;
+  color: #000;
+}
+
+div.ChapSects div.ContSect:hover div.ContSSBlock {
+  background: #b5b5b5;
+  border-color: #666;
+  color: #000;
+}
+
+div.ChapSects div.ContSect:hover div.ContSSBlock a:hover {
+  background: #828282;
+}
+
+/* Table elements */
+table.GAPDocTable {
+  border-color: black;
+}
+
+table.GAPDocTable td, table.GAPDocTable th {
+  border-color: #555;
+}
+
+table.GAPDocTablenoborder td, table.GAPDocTable th {
+  border-color: #555;
+}
+
+/* Colors and fonts can be overwritten for some types of elements. */
+/* Verb elements */
+pre.normal {
+  color: #eee;
+}
+
+/* Func-like elements and Ref to Func-like */
+code.func {
+  color: #eee;
+}
+
+/* K elements */
+code.keyw {
+  color: #983d3d;
+}
+
+/* F elements */
+code.file {
+  color: #8e4510;
+}
+
+/* Arg elements */
+var.Arg {
+  color: #060;
+}
+
+/* colors for ColorPrompt like examples */
+span.GAPprompt {
+  color: #000097;
+}
+
+span.GAPbrkprompt {
+  color: #970000;
+}
+
+span.GAPinput {
+  color: #970000;
+}
+
+/* Bib entries */
+span.BibKey {
+  color: #052;
+}
+
+/* for light and dark mode pictures */
+.only-on-dark {
+  display: block;
+}
+
+.only-on-light {
+  display: none;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/manual.css 
new/profiling-2.6.3/doc/manual.css
--- old/profiling-2.6.2/doc/manual.css  2025-06-21 17:55:41.000000000 +0200
+++ new/profiling-2.6.3/doc/manual.css  2026-07-29 15:22:46.000000000 +0200
@@ -477,6 +477,10 @@
 span.BibHowpublished {
 }
 
+/* for light and dark mode pictures */
+.only-on-dark {
+  display: none;
+}
 
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/manual.js 
new/profiling-2.6.3/doc/manual.js
--- old/profiling-2.6.2/doc/manual.js   2025-06-21 17:55:41.000000000 +0200
+++ new/profiling-2.6.3/doc/manual.js   2026-07-29 15:22:46.000000000 +0200
@@ -47,6 +47,20 @@
   return 0;
 }
 
+/* load dark appearance either explicitly or via the OS preference */
+function writeAppearanceStyle(mode) {
+  if (mode == "dark") {
+    document.writeln(
+      '<link rel="stylesheet" type="text/css" href="dark.css" />'
+    );
+  } else if (mode != "light") {
+    document.writeln(
+      '<style type="text/css">@import "dark.css" ' +
+      '(prefers-color-scheme: dark);</style>'
+    );
+  }
+}
+
 /* when a non-default style is chosen via URL or a cookie, then
    the cookie is reset and the styles .js and .css files are read  */
 function overwriteStyle() {
@@ -55,6 +69,8 @@
   /* otherwise check cookie */
   if (style == 0)
     style = valueString(document.cookie, "GAPDocStyle");
+  if (style == 0 || style == "default")
+    writeAppearanceStyle("");
   if (style == 0)
     return;
   if (style == "default")
@@ -70,13 +86,19 @@
     document.cookie = "GAPDocStyle="+style+";Path="+path;
     /* split into names of style files */
     var stlist = style.split(",");
+    var appearance = "";
     /* read style's css and js files */
     for (var i=0; i < stlist.length; i++) {
-      document.writeln('<link rel="stylesheet" type="text/css" href="'+
-                                                         stlist[i]+'.css" />');
-      document.writeln('<script src="'+stlist[i]+
-                                      '.js" type="text/javascript"></script>');
+      if (stlist[i] == "dark" || stlist[i] == "light") {
+        appearance = stlist[i];
+      } else {
+        document.writeln('<link rel="stylesheet" type="text/css" href="'+
+                                                           stlist[i]+'.css" 
/>');
+        document.writeln('<script src="'+stlist[i]+
+                                        '.js" 
type="text/javascript"></script>');
+      }
     }
+    writeAppearanceStyle(appearance);
   }
 }
 
@@ -110,4 +132,3 @@
   for (var i=0; i < jscontentfuncs.length; i++)
     jscontentfuncs[i]();
 }
-
Binary files old/profiling-2.6.2/doc/manual.pdf and 
new/profiling-2.6.3/doc/manual.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/profiling.xml 
new/profiling-2.6.3/doc/profiling.xml
--- old/profiling-2.6.2/doc/profiling.xml       2025-06-21 17:55:37.000000000 
+0200
+++ new/profiling-2.6.3/doc/profiling.xml       1970-01-01 01:00:00.000000000 
+0100
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- This is an automatically generated file. -->
-<!DOCTYPE Book SYSTEM "gapdoc.dtd"
-[
-    [<#Include SYSTEM "_entities.xml">
-]
->
-<Book Name="profiling">
-<#Include SYSTEM "title.xml">
-<TableOfContents/>
-<Body>
-<#Include SYSTEM "_AutoDocMainFile.xml">
-</Body>
-<TheIndex/>
-</Book>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/title.xml 
new/profiling-2.6.3/doc/title.xml
--- old/profiling-2.6.2/doc/title.xml   2025-06-21 17:55:37.000000000 +0200
+++ new/profiling-2.6.3/doc/title.xml   2026-07-29 15:22:44.000000000 +0200
@@ -9,20 +9,19 @@
     Line by line profiling and code coverage for &GAP;
   </Subtitle>
   <Version>
-    2.6.2
+    2.6.3
   </Version>
   <Author>
-    Christopher Jefferson<Alt Only="LaTeX"><Br/></Alt>
+    Christopher Jefferson
 <Address>
 St Andrews<Br/>
 Scotland<Br/>
 UK<Br/>
 </Address>
 <Email>[email protected]</Email>
-<Homepage>https://caj.host.cs.st-andrews.ac.uk/</Homepage>
-
+<Homepage>https://heather.cafe/</Homepage>
   </Author>
   <Date>
-    21 June 2025
+    29 July 2026
   </Date>
   </TitlePage>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/profiling-2.6.2/doc/tutorial.autodoc 
new/profiling-2.6.3/doc/tutorial.autodoc
--- old/profiling-2.6.2/doc/tutorial.autodoc    2025-06-21 17:55:24.000000000 
+0200
+++ new/profiling-2.6.3/doc/tutorial.autodoc    2026-07-29 15:16:02.000000000 
+0200
@@ -18,10 +18,9 @@
 ]]></Listing>
 
 Firstly, we will record a profile of the function <C>f</C>:
+With this, the code between <C>ProfileLineByLine</C> and 
<C>UnprofileLineByLine</C> is recorded to a file <F>output.gz</F>.
 
 <Listing><![CDATA[
-# Code between ProfileLineByLine and UnprofileLineByLine is recorded
-# to a file output.gz
 ProfileLineByLine("output.gz"); f(); UnprofileLineByLine();
 ]]></Listing>
 

Reply via email to