Recent

Author Topic: doc (CHM) snapshot updated 2020-12-30  (Read 15135 times)

Andrey Sobol

  • New Member
  • *
  • Posts: 48
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #15 on: January 03, 2021, 08:47:05 am »
Have someone a  link from TOC without a content info for example?

Are you referring to the missing items in the TOC tree?
Yes, from the TOC tree to content items.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11382
  • FPC developer.
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #16 on: January 03, 2021, 01:59:01 pm »
As far as I can see, Lazutils.chm misses a lot of laz_xml2 units like DOM

Use a chmls from trunk of this year, and use the new --no-offset to list it, and compare the results to the ones of an older archive.
« Last Edit: January 03, 2021, 04:38:51 pm by marcov »

Andrey Sobol

  • New Member
  • *
  • Posts: 48
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #17 on: January 03, 2021, 03:24:19 pm »
As far as I can see, Lazutils.chm misses a lot of laz_xml2 units like DOM
Thank you, I see that.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11382
  • FPC developer.
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #18 on: January 03, 2021, 05:35:27 pm »
meanwhile, since the botched binsearch attempt yesterday I try to find the place where the files go missing, now also doing the lazarus docs, and using the filelist-diffing not just steering on fcl.chm size.

First I decided to make a good comparison set, so I took current (yesterdays) doc sources and generated all docs with fpdoc r47710

Then I did the same with r47719( patch from mantis 0038141)  and compared the results

Result: they are the same except for some differences in the system files (#topics #urlstr $fiftimain etc, probably due to FTS changes)

Now moving forward to r47868 which is michael's dw_chm refactoring

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11382
  • FPC developer.
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #19 on: January 03, 2021, 05:52:41 pm »
Ok, r47868 has the missing files. So it is either this refactoring or something else between r47719 and r47868

Now testing r47867 to find out which one

Andrey Sobol

  • New Member
  • *
  • Posts: 48
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #20 on: January 03, 2021, 06:47:11 pm »
As far as I can see, Lazutils.chm misses a lot of laz_xml2 units like DOM
Thank you, I see that.
I seem to confuse, everything works for me. Give me please a screenshort with wrong links.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11382
  • FPC developer.
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #21 on: January 03, 2021, 07:07:14 pm »
I seem to confuse, everything works for me. Give me please a screenshort with wrong links.

As said, comparing filelists generated with chmls --no-offset is enough. then you simply see some files are missing, see attached.


Andrey Sobol

  • New Member
  • *
  • Posts: 48
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #22 on: January 03, 2021, 07:48:50 pm »
Yes, the last doc-chmbeta.zip has empty content for laz2_dom.pas for example
But I see that last version from the trunc has true result for laz2_dom.pas (I have generated only one this unit). Michael have made many fixes for the last version in trunc,  look at that.
« Last Edit: January 03, 2021, 08:09:08 pm by Andrey Sobol »

Andrey Sobol

  • New Member
  • *
  • Posts: 48
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #23 on: January 03, 2021, 08:00:26 pm »
When I generated a full lazutil.chm then laz2_dom.pas became an empty :)
« Last Edit: January 03, 2021, 08:09:27 pm by Andrey Sobol »

Andrey Sobol

  • New Member
  • *
  • Posts: 48
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #24 on: January 14, 2021, 08:32:36 pm »
Here is the new lcl.chm and lazuti.chm (as example). Data files from repo , but fpdoc my local version only.

https://drive.google.com/drive/folders/1ci_GiciVwZei4PTyo_5QE5GLTppszwmI?usp=sharing

1. Found the missed laz2_dom files.
2. At branch of TOC "Classes and objects, by unit" - now clickable by the unit folders. For "Routines, by unit" also.
3. Changed the display of the class tree at a Class page. That is topic for discution. See TLCLComponent as example (and attached files, before and after). By link TComponent  you wil see already the rtl.chm !!! There tree is old.
4. Fixed the class tree for generic classes.
5. Fixed menu style (italic), fixed footer. May be someone will put that small fix https://bugs.freepascal.org/view.php?id=38340
6. A size of chm`s became +10%

I on windows, sorry. I can`t build rtl and other... :(
« Last Edit: January 15, 2021, 08:27:32 am by Andrey Sobol »

Andrey Sobol

  • New Member
  • *
  • Posts: 48
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #25 on: January 14, 2021, 09:34:11 pm »
Ups.... I see the description of generic classes at lazutils packet main page.

That again the LazListClasses unit :(
A parser can`t resolve such construction, there is memleak, may be exception. But  I  can`t see any messages.

Code: Pascal  [Select][+][-]
  1. generic TLazFixedRoundBufferListMemBase<TSizeT> = object(specialize TLazBase<TSizeT>)
  2.  procedure MoveBytesToOther(AnOther: TLazFixedRoundBufferListMemBase);
  3. end;
Also were lost the two classes after that - TLazPagedListObjParent, TLazPagedListObj.
« Last Edit: January 15, 2021, 08:31:22 am by Andrey Sobol »

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11382
  • FPC developer.
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #26 on: January 17, 2021, 09:47:05 pm »
I uploaded a new snapshot (to the url of the first post), but meanwhile Michael committed new patches :-)

dsiders

  • Hero Member
  • *****
  • Posts: 1052
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #27 on: January 18, 2021, 01:41:51 am »
I uploaded a new snapshot (to the url of the first post), but meanwhile Michael committed new patches :-)

Footers still show a file name instead of the content for lcl.chm and lazutils.chm.

The description for the default topic in lazutils.chm has the wrong content It displays the content from lazlistclasses.xml.

Code: Text  [Select][+][-]
  1. Reference for package 'lazutils'
  2. Provides list classes implemented using generics
  3.  
  4. Units
  5. ... // omitted for brevity
  6.  
  7. Description
  8. lazlistclasses.pas contains list classes implemented using generics. The lists are provided as "object" and "class" versions. Each list can be specialized to hold either items of a given type (specialized to type at compile-time) or untyped data with the size specified as a run-time argument to the constructor.
  9.  
  10. Remark:    Please note: The current implementations for these list classess are not suitable for managed types, such as String.  
  11.  
  12. TLazShiftBufferList
  13.  
  14. This list is designed for shift/unshift/pop/push operations. The first list element is not forced to the start of the allocated memory. Instead it allows a gap (some of the over-allocated memory / List.Capacity) in front of the first element. Therefore elements can be added/removed at either the begin or end of the list, withouth any need to move the other elemnts in the list.
  15.  
  16. TLazRoundBufferList
  17.  
  18. The first element of the list can be anywhere within the allocated memory (capacity). If the elements of the list reach the end of the memory, the list will wrap arount and continues in the available memory at the start of the allocation. This list can be used for a first-in, first-out queue. If the list does never exceed the size set by its capacity, then elements can be pushed/shifted from/to the list without any need to reallocate or move entries to new locations.
  19.  
  20. TLazPagedListMem
  21.  
  22. This list organize its data into pages of fixed size. If the list grows or shrinks it can allocate extra pages or free existing pages. It does not need to reallocate its entire memory. This means that growing needs less extra memory than conventional lists. The page size is specified in the call to the constructor. The size has to be a power of 2. The constructor takes the exponent as argument. (e.g. an argument of "10" will give a size of 1024). The list also acts like a TLazShiftBufferList.
  23.  
  24. Variants of the above lists
  25.  
  26. Noted about the "object" variants:
  27.  
  28. "object"s are stored on the stack, as such the memory of the object itself is freed when the variable goes out of scope. The objects do however allocate additional memory on the heap.
  29.  
  30. So it is necessary to call Destroy.
  31. It is also necessary to call Create. (Unless you can gurantee that the memory for the object has been zero filled).
  32. The samples below show the available variants of the above list. The constructor for each sample is included.
  33.  
  34. Helpers for specializing the variants
  35.  
  36. Either of the following can be specified to generics that take a "TSizeT"
  37.  
  38. type
  39.   generic TLazListClassesItemSize<T> = object
  40.        
  41. Used for specializing lists with a fixed item size. The size will be: sizeof(T).
  42.  
  43. type
  44.   TLazListClassesVarItemSize = object
  45.        
  46. Used for specializing list with a configurable item size. The size must be set in the constructor and can not be changed after this. When using this, you need to add a constructor setting:
  47.  
  48. fItemSize.ItemSize := ASize; // "ASize" is your size
  49.        
  50. Variants for TLazShiftBufferList
  51.  
  52. generic TLazShiftBufferListObjBase<TPItemT, TSizeT> = object
  53.   procedure Create;
  54.        
  55. This is the base for all other variants. Usually you do not use this directly, but use one of the other variants below.
  56.  
  57. TSizeT: See above.
  58. TPItemT: The type of the item. Can be "Pointer" or any type. Must match TSizeT.
  59. TLazShiftBufferListObj = object
  60.     procedure Create(AnItemSize: Integer);
  61.        
  62. The list as an "object".
  63. Use the "ItemPointer" method to get a pointer to the item-data. The pointer is only valid while there are no insert/delete/capacity operations.
  64. generic TLazShiftBufferListObjGen<T> = object
  65.   procedure Create;
  66.        
  67. The list as a generic for a typed "object".
  68. This list an "Items" method to access the list entries.
  69. TLazShiftBufferList = class
  70.     procedure Create(AnItemSize: Integer);
  71.        
  72. The pointer-list as an "class".
  73.  
  74. generic TLazShiftBufferListGen<T> = class
  75.     procedure Create;
  76.        
  77. The typed-list as an "class".
  78.  
  79. Variants for TLazRoundBufferList
  80.  
  81. generic TLazRoundBufferListObjBase<TPItemT, TSizeT> = object
  82.     procedure Create;
  83.     ...
  84.  
  85. TLazRoundBufferListObj = object
  86.     procedure Create(AnItemSize: Integer);
  87.     ...
  88.  
  89. generic TLazRoundBufferListObjGen<T> = object
  90.     procedure Create;
  91.     ...
  92.        
  93. Variants for TLazPagedListObj
  94.  
  95. generic TLazPagedListObjBase<TPItemT, TSizeT> = object
  96.     procedure Create(APageSizeExp: Integer);
  97.     // pagesize := 2 ^^ APageSizeExp
  98.     ...
  99.  
  100. TLazPagedListObj = object
  101.     procedure Create(APageSizeExp: Integer; AnItemSize: Integer);
  102.     ...
  103.        
  104. Notes
  105.  
  106. MoveRows(From, To, Cnt)
  107.        
  108. Can handle overlaps in the "From" and "To" ranges.
  109. The data in the "From" block will be undefined afterwards (except for any overlaps with "To").
  110. /fpc/lazarus/docs/html/locallclfooter.xml
  111.  
Preview Lazarus 3.99 documentation at: https://dsiders.gitlab.io/lazdocsnext

Andrey Sobol

  • New Member
  • *
  • Posts: 48
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #28 on: January 18, 2021, 04:54:29 am »
I uploaded a new snapshot (to the url of the first post), but meanwhile Michael committed new patches :-)
Footers still show a file name instead of the content for lcl.chm and lazutils.chm.
I don`t know what they want...
https://bugs.freepascal.org/view.php?id=38340

Andrey Sobol

  • New Member
  • *
  • Posts: 48
Re: doc (CHM) snapshot updated 2020-12-30
« Reply #29 on: January 18, 2021, 04:57:13 am »
I uploaded a new snapshot (to the url of the first post), but meanwhile Michael committed new patches :-)

The description for the default topic in lazutils.chm has the wrong content It displays the content from lazlistclasses.xml.

That is a parser error on a processing an unit lazlistclasses.pas I know about it.  I even know the line of code when processing which this happens, but no one has yet found why.
« Last Edit: January 18, 2021, 05:00:55 am by Andrey Sobol »

 

TinyPortal © 2005-2018