<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, Dec 08, 2017 at 03:23:06PM +0300, Sergey Bodrov via Lazarus wrote:<br>
> There is too many changes in many files, and that can't be posted as simple<br>
> diff patch.<br>
<br>
Then layer them. Make patches for the most essential bits, and then reallign<br>
your sources.<br></blockquote><div><br></div><div>I change code formatting, many private names, add many comments and embrace whole blocks of code into try..finally. And now can't tell, which parts is most essential.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> 1. FPC package 'chm' contain file fasthtmlparser.pas, that used in some<br>
> non-CHM packages and projects. May be better move that file to some generic<br>
> package - fcl-base, for example?<br>
<br>
Afaik this was meant as a copy of that parser dedicated for chm that could<br>
evolve with the package. So if you need it more general, whip up a suitable<br>
general version.<br></blockquote><div><br></div><div>It's just fast and simple SAX-like tags parser, no more. It not rely on any external libs/units and not dedicated to CHM.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> 2. FPC package 'chm' contain LZX compression routines in some files<br>
> - paslzx.pas, paslzxcomp.pas, paslznonslide.pas, lzxcompressthread.pas.<br>
> They not depends on other files in 'chm' and can be maintained as separate<br>
> package.<br>
<br>
What does that make possible that currently is not possible? Do we really<br>
have to spin each unit into a separate package? I don't see the point.<br>
<br>
Note also that iirc CHM lzx and e.g. CAB lzx vary in some ways. (headers?)<br></blockquote><div> </div><div>LZX in CHM use non-sliding window, separated to 64K blocks for fast random access. It implemented in separate file - paslznonslide.pas</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
But even bypassing that, what is the problem of having to instal 10 extra<br>
units (150kb) to make a CAB decompressor?<br></blockquote><div><br></div><div>Naming and linking problems.</div><div> </div></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><strong>Bodrov Sergey</strong><br></div><div>software development, IT consulting</div><div><a href="http://www.serbod.com" target="_blank">http://www.serbod.com</a></div><div><div><u>Phone (Belarus):</u> +375(25)794-21-58</div><div><u style="font-size:12.8px">Skype:</u><span style="font-size:12.8px"> sergey.bodrov1</span><br></div></div><div><u>e-mail:</u> <a href="mailto:serbod@gmail.com" target="_blank">serbod@gmail.com</a>, <a href="mailto:oxotnuk@yandex.ru" target="_blank">oxotnuk@yandex.ru</a></div><div><br></div></div></div></div></div></div>
</div></div>