ftilmann / latexdiff

Compares two latex files and marks up significant differences between them. Releases on www.ctan.org and mirrors
GNU General Public License v3.0
514 stars 72 forks source link

import package support (\import and \subimport commands) #173

Closed jasonmccsmith closed 5 years ago

jasonmccsmith commented 5 years ago

Fix for issue #172.

Extends flatten to take directory argument, allowing \subimport to incrementally add to the search path, or \import to replace it.

Updated doc strings to reflect additional capability.

ftilmann commented 5 years ago

I have merged this commit but note that I have not truly tested it, I only verified it does not break any of the existing test cases. I would be great if you could contribute a simple test case to the testsuite directory, or simply give me access to old and new files, and imported files, and I can set up the test case trivially (it does not even need to be an MWE, but obviously should contain no information you would not want to see on github, and should run without any custom packages or require other files not contributed. This is also the only way to ensure that future updates do not break the import flattening inadvertently.

A minor thing I had to fix was that the File::Spec->rel2abs option is now used in the main code (in argument to flatten call), which means this package has to be now loaded by default (previously only loaded within the flatten subroutine). I assume the use of rel2abs in the flatten argument is necessary, so I added a use File::Spec to the beginning.

jasonmccsmith commented 5 years ago

subimporttest.zip Attaching the files I used to test it manually, not sure how to integrate these with your testing system. Let me know if you have any questions.

On Jun 16, 2019, at 9:23 AM, ftilmann notifications@github.com wrote:

I have merged this commit but note that I have not truly tested it, I only verified it does not break any of the existing test cases. I would be great if could contribute a simple test case to the testsuite directory, or simply give me access to old and new files, and imported files, and I can set up the test case trivially (it does not even need to be an MWE, but obviously should contain no information you would not want to see on github, and should run without any custom packages or require other files not contributed. This is also the only way to ensure that future updates do not break the import flattening inadvertently.

A minor thing I had to fix was that the File::Spec->rel2abs option is now used in the main code (in argument to flatten call), which means this package has to be now loaded by default (previously only loaded within the flatten subroutine). I assume the use of rel2abs in the flatten argument is necessary, so I added a use File::Spec to the beginning.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ftilmann/latexdiff/pull/173?email_source=notifications&email_token=ABLHTDLDIRJLXPGDPWLNU63P2ZSJXA5CNFSM4HQ26DHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXZQMWQ#issuecomment-502466138, or mute the thread https://github.com/notifications/unsubscribe-auth/ABLHTDPSJGZ4INNSNNK5W3LP2ZSJXANCNFSM4HQ26DHA.

ftilmann commented 5 years ago

Thanks. However, I don't see the attachments. Maybe I don't know where to look or the github system stripped them. If you wish you can also send them by direct email. My email address is in the latexdiff man page under BUGS.

jasonmccsmith commented 5 years ago

Attachment was stripped out by github on posting from email response, now attached above.