<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.visual-prolog.com/index.php?action=history&amp;feed=atom&amp;title=Shadowing_PFC_files</id>
	<title>Shadowing PFC files - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.visual-prolog.com/index.php?action=history&amp;feed=atom&amp;title=Shadowing_PFC_files"/>
	<link rel="alternate" type="text/html" href="https://wiki.visual-prolog.com/index.php?title=Shadowing_PFC_files&amp;action=history"/>
	<updated>2026-04-11T12:05:12Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.visual-prolog.com/index.php?title=Shadowing_PFC_files&amp;diff=4982&amp;oldid=prev</id>
		<title>Thomas Linder Puls: initial version</title>
		<link rel="alternate" type="text/html" href="https://wiki.visual-prolog.com/index.php?title=Shadowing_PFC_files&amp;diff=4982&amp;oldid=prev"/>
		<updated>2025-02-11T16:15:46Z</updated>

		<summary type="html">&lt;p&gt;initial version&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Sometimes you wan&amp;#039;t to &amp;#039;&amp;#039;&amp;#039;shadow&amp;#039;&amp;#039;&amp;#039; one or more of the official PFC files with your own files.&lt;br /&gt;
&lt;br /&gt;
Here is a way to do this in a &amp;quot;gentle&amp;quot; way.&lt;br /&gt;
&lt;br /&gt;
Let us for the example assume that I want to use my own version of the &amp;lt;vp&amp;gt;list&amp;lt;/vp&amp;gt; package.&lt;br /&gt;
&lt;br /&gt;
Before doing anything my project tree looks like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Initial project tree.png|center|Initial project tree]]&lt;br /&gt;
&lt;br /&gt;
My project is named &amp;#039;&amp;#039;&amp;#039;shadow_demo&amp;#039;&amp;#039;&amp;#039; and is located in &amp;#039;&amp;#039;&amp;#039;D:\demo\projects\shadow_demo&amp;#039;&amp;#039;&amp;#039; and I want to place my shadow version of the list package inside the directory &amp;#039;&amp;#039;&amp;#039;D:\demo\shadow&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
This original files are located in the &amp;lt;vp&amp;gt;$(ProDir)\list&amp;lt;/vp&amp;gt; directory where &amp;lt;vp&amp;gt;$(ProDir)&amp;lt;/vp&amp;gt; is where where my Visual Prolog is installed.&lt;br /&gt;
&lt;br /&gt;
Notice that you can open a file explorer in this directory by selecting the &amp;lt;vp&amp;gt;$(ProDir)&amp;lt;/vp&amp;gt; node in the project tree and select &amp;#039;&amp;#039;&amp;#039;Explore ...  (Ctrl+E)&amp;#039;&amp;#039;&amp;#039; in its context menu.&lt;br /&gt;
&lt;br /&gt;
For this &amp;quot;shadow&amp;quot; method it is important that my own files are placed in the same structure as in the original &amp;#039;&amp;#039;&amp;#039;pfc&amp;#039;&amp;#039;&amp;#039; directory (including the &amp;#039;&amp;#039;&amp;#039;pfc&amp;#039;&amp;#039;&amp;#039; level). So I copy the original &amp;#039;&amp;#039;&amp;#039;list&amp;#039;&amp;#039;&amp;#039; files to my the directory &amp;#039;&amp;#039;&amp;#039;D:\demo\shadow\pfc\list&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
I want my copied files to shadow the original pfc files and therefore I add the &amp;#039;&amp;#039;&amp;#039;D:\demo\shadow&amp;#039;&amp;#039;&amp;#039; directory as an &amp;#039;&amp;#039;&amp;#039;Include Directory&amp;#039;&amp;#039;&amp;#039; in my project (it will appear with a relative path):&lt;br /&gt;
&lt;br /&gt;
[[File:Include directories shadow added.png|center|Include directories: shadow directory added]]&lt;br /&gt;
&lt;br /&gt;
It is important that the &amp;#039;&amp;#039;&amp;#039;shadow&amp;#039;&amp;#039;&amp;#039; include directory is placed &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;above&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; the &amp;lt;vp&amp;gt;$(ProDir)&amp;lt;/vp&amp;gt;, so that files found here are used instead of filed found in &amp;lt;vp&amp;gt;$(ProDir)&amp;lt;/vp&amp;gt;.  I.e. that they &amp;#039;&amp;#039;shadow&amp;#039;&amp;#039; the original pfc files.&lt;br /&gt;
&lt;br /&gt;
At this point it is important to delete the original &amp;lt;vp&amp;gt;$(ProDir)\pfc\list\list.pack&amp;lt;/vp&amp;gt; from the project otherwise you may easily end up with &amp;quot;Symbol redefinition&amp;quot; link errors:&lt;br /&gt;
&lt;br /&gt;
[[File:Symbol redefinition errors.png|center|Symbol redefinition link errors]]&lt;br /&gt;
&lt;br /&gt;
After I have deleted the &amp;lt;vp&amp;gt;$(ProDir)\pfc\list\list.pack&amp;lt;/vp&amp;gt; file from the project and rebuild the project I was met by an &amp;quot;Add required &amp;quot; dialog:&lt;br /&gt;
&lt;br /&gt;
[[File:Add required shadow list.png|center|Add required shadow list package]]&lt;br /&gt;
&lt;br /&gt;
And I added the package.  Now the project tree (actually, after closing and reopening the project in the IDE) looks like this:&lt;br /&gt;
&lt;br /&gt;
[[File:After rebuild.png|center|After rebuild (shadow appearing in project tree)]]&lt;br /&gt;
&lt;br /&gt;
The list package no longer appears in the &amp;lt;vp&amp;gt;$(ProDir)&amp;lt;/vp&amp;gt; directory.  But now I have a list package in &amp;#039;&amp;#039;&amp;#039;..\..\shadow\pfc\list&amp;#039;&amp;#039;&amp;#039; and these files will then be used instead of the original pfc files in the project.  And I can modify them as I want.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Thomas Linder Puls</name></author>
	</entry>
</feed>