# Seemingly edge case of not being able to \`include\` while inside an \`if\` condition inside a loop.

**URL:** https://discourse.julialang.org/t/seemingly-edge-case-of-not-being-able-to-include-while-inside-an-if-condition-inside-a-loop/9444
**Category:** General Usage
**Tags:** bug
**Created:** [March 2, 2018, 8:46am UTC](https://discourse.julialang.org/t/seemingly-edge-case-of-not-being-able-to-include-while-inside-an-if-condition-inside-a-loop/9444 "2018-03-02T08:46:06Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![jayvn](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jayvn/32/19846_2.png) [@jayvn](https://discourse.julialang.org/u/jayvn)
#### Post date: [March 2, 2018, 8:46am UTC](https://discourse.julialang.org/t/seemingly-edge-case-of-not-being-able-to-include-while-inside-an-if-condition-inside-a-loop/9444/1 "2018-03-02T08:46:06Z")

</div>

So if I run this to re-include a file when it changes:

```julia
fname = "/full/path/to/changingfile.jl"

t1 = 0
while(true)
  if t1 != mtime(fname)
    println(isfile(fname))
    include(abspath(fname))
    t1 = mtime(fname)
  end
  Foo("a")
end

```

And the `changingfile.jl` is actually changed I get `could not open file`. Just wanted to know if this is normal behaviour? It does not happen when it’s inside either an `if` or it is just a loop.

I was impressed by Django server reloading the files I’m working on so decided to implement it in my Julia server( at least not in production ).

Thanks in advance

---

<div class="post-metadata">

### Author: ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)
#### Post date: [March 2, 2018, 9:59am UTC](https://discourse.julialang.org/t/seemingly-edge-case-of-not-being-able-to-include-while-inside-an-if-condition-inside-a-loop/9444/2 "2018-03-02T09:59:08Z")

</div>

(aside, you could do this with Revise.jl)

---

<div class="post-metadata">

### Author: ![ihnorton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihnorton/32/26_2.png) [@ihnorton](https://discourse.julialang.org/u/ihnorton)
#### Post date: [March 2, 2018, 9:41pm UTC](https://discourse.julialang.org/t/seemingly-edge-case-of-not-being-able-to-include-while-inside-an-if-condition-inside-a-loop/9444/3 "2018-03-02T21:41:23Z")

</div>

Some editors back buffer their writes — write to a temp file, unlink the existing file inode, then rename the temp file. To avoid file corruption I think. Since you are basically polling the file constantly, if your editor does this then the file might not exist for a brief moment exactly when you are looking for it.

---

<div class="post-metadata">

### Author: ![jayvn](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jayvn/32/19846_2.png) [@jayvn](https://discourse.julialang.org/u/jayvn)
#### Post date: [March 7, 2018, 6:01am UTC](https://discourse.julialang.org/t/seemingly-edge-case-of-not-being-able-to-include-while-inside-an-if-condition-inside-a-loop/9444/4 "2018-03-07T06:01:29Z")

</div>

Ah that could be it then. Thanks. I was using Neovim to edit it.

---

<div class="post-metadata">

### Author: ![jayvn](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jayvn/32/19846_2.png) [@jayvn](https://discourse.julialang.org/u/jayvn)
#### Post date: [March 7, 2018, 6:01am UTC](https://discourse.julialang.org/t/seemingly-edge-case-of-not-being-able-to-include-while-inside-an-if-condition-inside-a-loop/9444/5 "2018-03-07T06:01:31Z")

</div>

Will try that out.

---

<div class="post-metadata">

### Author: ![jayvn](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jayvn/32/19846_2.png) [@jayvn](https://discourse.julialang.org/u/jayvn)
#### Post date: [March 8, 2018, 11:13am UTC](https://discourse.julialang.org/t/seemingly-edge-case-of-not-being-able-to-include-while-inside-an-if-condition-inside-a-loop/9444/6 "2018-03-08T11:13:18Z")

</div>

Nope, doesn’t work.

---

<div class="post-metadata">

### Author: ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)
#### Post date: [March 9, 2018, 7:06am UTC](https://discourse.julialang.org/t/seemingly-edge-case-of-not-being-able-to-include-while-inside-an-if-condition-inside-a-loop/9444/7 "2018-03-09T07:06:46Z")

</div>

Did you do ` Revise.track(filename)`?

Irrespective, you should still use Revise.jl for your “normal” Julia life!

---

<div class="post-metadata">

### Author: ![jayvn](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jayvn/32/19846_2.png) [@jayvn](https://discourse.julialang.org/u/jayvn)
#### Post date: [March 10, 2018, 4:50pm UTC](https://discourse.julialang.org/t/seemingly-edge-case-of-not-being-able-to-include-while-inside-an-if-condition-inside-a-loop/9444/8 "2018-03-10T16:50:13Z")

</div>

Yep. I use Revise mainly in the REPL and it’s a pleasure there. But no luck with this.

---

<div class="post-metadata">

### Author: ![jayvn](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jayvn/32/19846_2.png) [@jayvn](https://discourse.julialang.org/u/jayvn)
#### Post date: [March 17, 2018, 4:52am UTC](https://discourse.julialang.org/t/seemingly-edge-case-of-not-being-able-to-include-while-inside-an-if-condition-inside-a-loop/9444/9 "2018-03-17T04:52:34Z")

</div>

The problem seemed to be exactly that. I put `sleep(.1)` and it worked. Thank you very much.
