##// END OF EJS Templates
hgdemandimport: apply lazy module loading to sys.meta_path finders...
hgdemandimport: apply lazy module loading to sys.meta_path finders Python's `sys.meta_path` finders are the primary objects whose job it is to find a module at import time. When `import` is called, Python iterates objects in this list and calls `o.find_spec(...)` to find a `ModuleSpec` (or None if the module couldn't be found by that finder). If no meta path finder can find a module, import fails. One of the default meta path finders is `PathFinder`. Its job is to import modules from the filesystem and is probably the most important importer. This finder looks at `sys.path` and `sys.path_hooks` to do its job. The `ModuleSpec` returned by `MetaPathImporter.find_spec()` has a `loader` attribute, which defines the concrete module loader to use. `sys.path_hooks` is a hook point for teaching `PathFinder` to instantiate custom loader types. Previously, we injected a custom `sys.path_hook` that told `PathFinder` to wrap the default loaders with a loader that creates a module object that is lazy. This approach worked. But its main limitation was that it only applied to the `PathFinder` meta path importer. There are other meta path importers that are registered. And in the case of PyOxidizer loading modules from memory, `PathFinder` doesn't come into play since PyOxidizer's own meta path importer was handling all imports. This commit changes our approach to lazy module loading by proxying all meta path importers. Specifically, we overload the `find_spec()` method to swap in a wrapped loader on the `ModuleSpec` before it is returned. The end result of this is all meta path importers should be lazy. As much as I would have loved to utilize .__class__ manipulation to achieve this, some meta path importers are implemented in C/Rust in such a way that they cannot be monkeypatched. This is why we use __getattribute__ to define a proxy. Also, this change could theoretically open us up to regressions in meta path importers whose loader is creating module objects which can't be monkeypatched. But I'm not aware of any of these in the wild. So I think we'll be safe. According to hyperfine, this change yields a decent startup time win of 5-6ms: ``` Benchmark #1: ~/.pyenv/versions/3.6.10/bin/python ./hg version Time (mean ± σ): 86.8 ms ± 0.5 ms [User: 78.0 ms, System: 8.7 ms] Range (min … max): 86.0 ms … 89.1 ms 50 runs Time (mean ± σ): 81.1 ms ± 2.7 ms [User: 74.5 ms, System: 6.5 ms] Range (min … max): 77.8 ms … 90.5 ms 50 runs Benchmark #2: ~/.pyenv/versions/3.7.6/bin/python ./hg version Time (mean ± σ): 78.9 ms ± 0.6 ms [User: 70.2 ms, System: 8.7 ms] Range (min … max): 78.1 ms … 81.2 ms 50 runs Time (mean ± σ): 73.4 ms ± 0.6 ms [User: 65.3 ms, System: 8.0 ms] Range (min … max): 72.4 ms … 75.7 ms 50 runs Benchmark #3: ~/.pyenv/versions/3.8.1/bin/python ./hg version Time (mean ± σ): 78.1 ms ± 0.6 ms [User: 70.2 ms, System: 7.9 ms] Range (min … max): 77.4 ms … 80.9 ms 50 runs Time (mean ± σ): 72.1 ms ± 0.4 ms [User: 64.4 ms, System: 7.6 ms] Range (min … max): 71.4 ms … 74.1 ms 50 runs ``` Differential Revision: https://phab.mercurial-scm.org/D7954

File last commit:

r43734:e7eb67ea stable
r44577:f81c17ec default
Show More
test-highlight.t
1038 lines | 36.1 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: replace exit 80 with #require
r22046 #require pygments serve
Matt Mackall
tests: unify test-highlight
r12445
$ cat <<EOF >> $HGRCPATH
> [extensions]
> highlight =
> [web]
> pygments_style = friendly
av6
highlight: add highlightfiles config option which takes a fileset (issue3005)...
r26249 > highlightfiles = **.py and size('<100KB')
Matt Mackall
tests: unify test-highlight
r12445 > EOF
$ hg init test
$ cd test
Yuya Nishihara
test-highlight: factor out function that normalizes pygments output
r27996 $ filterhtml () {
> sed -e "s/class=\"k\"/class=\"kn\"/g" \
Yuya Nishihara
test-highlight: add normalization rule for Pygments 2.1...
r27997 > -e "s/class=\"mf\"/class=\"mi\"/g" \
Yuya Nishihara
test-highlight: add normalization rule for Pygments 2.2...
r30853 > -e "s/class=\"vm\"/class=\"n\"/g" \
Yuya Nishihara
test-highlight: add normalization rule for Pygments 2.1...
r27997 > -e "s/class=\"\([cs]\)[h12]\"/class=\"\1\"/g"
Yuya Nishihara
test-highlight: factor out function that normalizes pygments output
r27996 > }
Matt Mackall
tests: unify test-highlight
r12445 create random Python file to exercise Pygments
FUJIWARA Katsunori
tests: use NO_CHECK_EOF as heredoc limit mark to omit checking code fragments...
r41879 $ cat <<NO_CHECK_EOF > primes.py
Matt Mackall
tests: unify test-highlight
r12445 > """Fun with generators. Corresponding Haskell implementation:
>
> primes = 2 : sieve [3, 5..]
> where sieve (p:ns) = p : sieve [n | n <- ns, mod n p /= 0]
> """
>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 > import itertools
Matt Mackall
tests: unify test-highlight
r12445 >
> def primes():
> """Generate all primes."""
> def sieve(ns):
> p = ns.next()
> # It is important to yield *here* in order to stop the
> # infinite recursion.
> yield p
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 > ns = itertools.ifilter(lambda n: n % p != 0, ns)
Matt Mackall
tests: unify test-highlight
r12445 > for n in sieve(ns):
> yield n
>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 > odds = itertools.ifilter(lambda i: i % 2 == 1, itertools.count())
> dropwhile = itertools.dropwhile
> return itertools.chain([2], sieve(dropwhile(lambda n: n < 3, odds)))
Matt Mackall
tests: unify test-highlight
r12445 >
> if __name__ == "__main__":
> import sys
> try:
> n = int(sys.argv[1])
> except (ValueError, IndexError):
> n = 10
> p = primes()
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 > print("The first %d primes: %s" % (n, list(itertools.islice(p, n))))
FUJIWARA Katsunori
tests: use NO_CHECK_EOF as heredoc limit mark to omit checking code fragments...
r41879 > NO_CHECK_EOF
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 $ echo >> primes.py # to test html markup with an empty line just before EOF
Matt Mackall
tests: unify test-highlight
r12445 $ hg ci -Ama
adding primes.py
hg serve
$ hg serve -p $HGPORT -d -n test --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
hgweb filerevision, html
Yuya Nishihara
test-highlight: factor out function that normalizes pygments output
r27996 $ (get-with-headers.py localhost:$HGPORT 'file/tip/primes.py') | filterhtml
Matt Mackall
tests: unify test-highlight
r12445 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
Benoit Boissinot
fix broken tests...
r14053 <script type="text/javascript" src="/static/mercurial.js"></script>
Matt Mackall
tests: unify test-highlight
r12445
<link rel="stylesheet" href="/highlightcss" type="text/css" />
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <title>test: 687f2d169546 primes.py</title>
Matt Mackall
tests: unify test-highlight
r12445 </head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
Matt Mackall
tests: unify test-highlight
r12445 <img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/shortlog/tip">log</a></li>
<li><a href="/graph/tip">graph</a></li>
Matt Mackall
tests: unify test-highlight
r12445 <li><a href="/tags">tags</a></li>
FUJIWARA Katsunori
hgweb: fix lack of "bookmarks" link in "/file" page of "paper" style...
r21120 <li><a href="/bookmarks">bookmarks</a></li>
Matt Mackall
tests: unify test-highlight
r12445 <li><a href="/branches">branches</a></li>
</ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/rev/tip">changeset</a></li>
<li><a href="/file/tip/">browse</a></li>
Matt Mackall
tests: unify test-highlight
r12445 </ul>
<ul>
<li class="active">file</li>
<li><a href="/file/tip/primes.py">latest</a></li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/diff/tip/primes.py">diff</a></li>
<li><a href="/comparison/tip/primes.py">comparison</a></li>
<li><a href="/annotate/tip/primes.py">annotate</a></li>
<li><a href="/log/tip/primes.py">file log</a></li>
<li><a href="/raw-file/tip/primes.py">raw</a></li>
Matt Mackall
tests: unify test-highlight
r12445 </ul>
Augie Fackler
hgweb: add help link to templates missed in ead4e21f49f1
r12680 <ul>
<li><a href="/help">help</a></li>
</ul>
Matt Mackall
tests: unify test-highlight
r12445 </div>
<div class="main">
Matt Mackall
tests: fix up test-highlight for breadcrumb changes
r18291 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <h3>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 view primes.py @ 0:<a href="/rev/687f2d169546">687f2d169546</a>
av6
hgweb: show commit phase if it's not public...
r35064 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 </h3>
Matt Mackall
tests: unify test-highlight
r12445
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
Matt Mackall
tests: unify test-highlight
r12445 <form class="search" action="/log">
Gregory Szorc
hgweb: consolidate search form for paper...
r32758 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
Alexander Plavin
paper: edit search hint to include new feature description
r19796 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
Matt Mackall
tests: unify test-highlight
r12445 </form>
<div class="description">a</div>
<table id="changesetEntry">
<tr>
<th class="author">author</th>
<td class="author">&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th class="date">date</th>
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
<tr>
<th class="author">parents</th>
<td class="author"></td>
</tr>
<tr>
<th class="author">children</th>
<td class="author"></td>
</tr>
</table>
<div class="overflow">
Gregory Szorc
paper: add href="#" to links with click handlers...
r37849 <div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="#">on</a></div>
Matt Mackall
tests: unify test-highlight
r12445 <div class="sourcefirst"> line source</div>
Denis Laxalde
hgweb: parameterize the tag name of elements holding followlines selection...
r32993 <pre class="sourcelines stripes4 wrap bottomline"
data-logurl="/log/tip/primes.py"
data-selectabletag="SPAN"
data-ishead="1">
Augie Fackler
tests: remove #! from primes.py in test-highlight.t...
r32936 <span id="l1"><span class="sd">&quot;&quot;&quot;Fun with generators. Corresponding Haskell implementation:</span></span><a href="#l1"></a>
Alexander Plavin
hgweb: code selection without line numbers in file source view...
r19387 <span id="l2"></span><a href="#l2"></a>
Augie Fackler
tests: remove #! from primes.py in test-highlight.t...
r32936 <span id="l3"><span class="sd">primes = 2 : sieve [3, 5..]</span></span><a href="#l3"></a>
<span id="l4"><span class="sd"> where sieve (p:ns) = p : sieve [n | n &lt;- ns, mod n p /= 0]</span></span><a href="#l4"></a>
<span id="l5"><span class="sd">&quot;&quot;&quot;</span></span><a href="#l5"></a>
<span id="l6"></span><a href="#l6"></a>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <span id="l7"><span class="kn">import</span> <span class="nn">itertools</span></span><a href="#l7"></a>
Alexander Plavin
hgweb: code selection without line numbers in file source view...
r19387 <span id="l8"></span><a href="#l8"></a>
Augie Fackler
tests: remove #! from primes.py in test-highlight.t...
r32936 <span id="l9"><span class="kn">def</span> <span class="nf">primes</span><span class="p">():</span></span><a href="#l9"></a>
<span id="l10"> <span class="sd">&quot;&quot;&quot;Generate all primes.&quot;&quot;&quot;</span></span><a href="#l10"></a>
<span id="l11"> <span class="kn">def</span> <span class="nf">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></span><a href="#l11"></a>
<span id="l12"> <span class="n">p</span> <span class="o">=</span> <span class="n">ns</span><span class="o">.</span><span class="n">next</span><span class="p">()</span></span><a href="#l12"></a>
<span id="l13"> <span class="c"># It is important to yield *here* in order to stop the</span></span><a href="#l13"></a>
<span id="l14"> <span class="c"># infinite recursion.</span></span><a href="#l14"></a>
<span id="l15"> <span class="kn">yield</span> <span class="n">p</span></span><a href="#l15"></a>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <span id="l16"> <span class="n">ns</span> <span class="o">=</span> <span class="n">itertools</span><span class="o">.</span><span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">%</span> <span class="n">p</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">ns</span><span class="p">)</span></span><a href="#l16"></a>
Augie Fackler
tests: remove #! from primes.py in test-highlight.t...
r32936 <span id="l17"> <span class="kn">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></span><a href="#l17"></a>
<span id="l18"> <span class="kn">yield</span> <span class="n">n</span></span><a href="#l18"></a>
<span id="l19"></span><a href="#l19"></a>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <span id="l20"> <span class="n">odds</span> <span class="o">=</span> <span class="n">itertools</span><span class="o">.</span><span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">1</span><span class="p">,</span> <span class="n">itertools</span><span class="o">.</span><span class="n">count</span><span class="p">())</span></span><a href="#l20"></a>
<span id="l21"> <span class="n">dropwhile</span> <span class="o">=</span> <span class="n">itertools</span><span class="o">.</span><span class="n">dropwhile</span></span><a href="#l21"></a>
<span id="l22"> <span class="kn">return</span> <span class="n">itertools</span><span class="o">.</span><span class="n">chain</span><span class="p">([</span><span class="mi">2</span><span class="p">],</span> <span class="n">sieve</span><span class="p">(</span><span class="n">dropwhile</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">,</span> <span class="n">odds</span><span class="p">)))</span></span><a href="#l22"></a>
<span id="l23"></span><a href="#l23"></a>
<span id="l24"><span class="kn">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span></span><a href="#l24"></a>
<span id="l25"> <span class="kn">import</span> <span class="nn">sys</span></span><a href="#l25"></a>
<span id="l26"> <span class="kn">try</span><span class="p">:</span></span><a href="#l26"></a>
<span id="l27"> <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span></span><a href="#l27"></a>
<span id="l28"> <span class="kn">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span> <span class="ne">IndexError</span><span class="p">):</span></span><a href="#l28"></a>
<span id="l29"> <span class="n">n</span> <span class="o">=</span> <span class="mi">10</span></span><a href="#l29"></a>
<span id="l30"> <span class="n">p</span> <span class="o">=</span> <span class="n">primes</span><span class="p">()</span></span><a href="#l30"></a>
<span id="l31"> <span class="kn">print</span><span class="p">(</span><span class="s">&quot;The first </span><span class="si">%d</span><span class="s"> primes: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="nb">list</span><span class="p">(</span><span class="n">itertools</span><span class="o">.</span><span class="n">islice</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">n</span><span class="p">))))</span></span><a href="#l31"></a>
<span id="l32"></span><a href="#l32"></a>
Denis Laxalde
hgweb: parameterize the tag name of elements holding followlines selection...
r32993 </pre>
Matt Mackall
tests: unify test-highlight
r12445 </div>
Denis Laxalde
hgweb: expose a followlines UI in filerevision view...
r31758
Denis Laxalde
hgweb: rename linerangelog.js as followlines.js...
r31785 <script type="text/javascript" src="/static/followlines.js"></script>
Denis Laxalde
hgweb: expose a followlines UI in filerevision view...
r31758
Matt Mackall
tests: unify test-highlight
r12445 </div>
</div>
</body>
</html>
hgweb fileannotate, html
Yuya Nishihara
test-highlight: factor out function that normalizes pygments output
r27996 $ (get-with-headers.py localhost:$HGPORT 'annotate/tip/primes.py') | filterhtml
Matt Mackall
tests: unify test-highlight
r12445 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
Benoit Boissinot
fix broken tests...
r14053 <script type="text/javascript" src="/static/mercurial.js"></script>
Matt Mackall
tests: unify test-highlight
r12445
<link rel="stylesheet" href="/highlightcss" type="text/css" />
<title>test: primes.py annotate</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
Matt Mackall
tests: unify test-highlight
r12445 <img src="/static/hglogo.png" alt="mercurial" /></a>
</div>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/shortlog/tip">log</a></li>
<li><a href="/graph/tip">graph</a></li>
Matt Mackall
tests: unify test-highlight
r12445 <li><a href="/tags">tags</a></li>
Patrick Mezard
test-highlight: fix test output (introduced by 2151703e7f84)
r13618 <li><a href="/bookmarks">bookmarks</a></li>
Matt Mackall
tests: unify test-highlight
r12445 <li><a href="/branches">branches</a></li>
</ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/rev/tip">changeset</a></li>
<li><a href="/file/tip/">browse</a></li>
Matt Mackall
tests: unify test-highlight
r12445 </ul>
<ul>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/file/tip/primes.py">file</a></li>
Matt Mackall
tests: unify test-highlight
r12445 <li><a href="/file/tip/primes.py">latest</a></li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/diff/tip/primes.py">diff</a></li>
<li><a href="/comparison/tip/primes.py">comparison</a></li>
Matt Mackall
tests: unify test-highlight
r12445 <li class="active">annotate</li>
av6
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
r25606 <li><a href="/log/tip/primes.py">file log</a></li>
Gregory Szorc
hgweb: link to raw-file on annotation page (BC)...
r30708 <li><a href="/raw-file/tip/primes.py">raw</a></li>
Matt Mackall
tests: unify test-highlight
r12445 </ul>
Augie Fackler
hgweb: add help link to templates missed in ead4e21f49f1
r12680 <ul>
<li><a href="/help">help</a></li>
</ul>
Matt Mackall
tests: unify test-highlight
r12445 </div>
<div class="main">
Matt Mackall
tests: fix up test-highlight for breadcrumb changes
r18291 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 <h3>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 annotate primes.py @ 0:<a href="/rev/687f2d169546">687f2d169546</a>
av6
hgweb: show commit phase if it's not public...
r35064 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span>
av6
hgweb: link to revision by node hash in paper & coal...
r25617 </h3>
Matt Mackall
tests: unify test-highlight
r12445
Gregory Szorc
hgweb: consolidate search form for paper...
r32758
Matt Mackall
tests: unify test-highlight
r12445 <form class="search" action="/log">
Gregory Szorc
hgweb: consolidate search form for paper...
r32758 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
Alexander Plavin
paper: edit search hint to include new feature description
r19796 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
Matt Mackall
tests: unify test-highlight
r12445 </form>
<div class="description">a</div>
<table id="changesetEntry">
<tr>
<th class="author">author</th>
<td class="author">&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th class="date">date</th>
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
<tr>
<th class="author">parents</th>
<td class="author"></td>
</tr>
<tr>
<th class="author">children</th>
<td class="author"></td>
</tr>
</table>
Gregory Szorc
hgweb: add HTML elements to control whitespace settings for annotate...
r34392
<form id="diffopts-form"
data-ignorews="0"
data-ignorewsamount="0"
data-ignorewseol="0"
data-ignoreblanklines="0">
<span>Ignore whitespace changes - </span>
<span>Everywhere:</span>
<input id="ignorews-checkbox" type="checkbox" />
<span>Within whitespace:</span>
<input id="ignorewsamount-checkbox" type="checkbox" />
<span>At end of lines:</span>
<input id="ignorewseol-checkbox" type="checkbox" />
</form>
<script type="text/javascript">
renderDiffOptsForm();
</script>
Matt Mackall
tests: unify test-highlight
r12445 <div class="overflow">
<table class="bigtable">
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 <thead>
Matt Mackall
tests: unify test-highlight
r12445 <tr>
<th class="annotate">rev</th>
<th class="line">&nbsp;&nbsp;line source</th>
</tr>
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 </thead>
Denis Laxalde
hgweb: plug followlines action in annotate view...
r32994 <tbody class="stripes2 sourcelines"
data-logurl="/log/tip/primes.py"
data-selectabletag="TR"
data-ishead="1">
Alexander Plavin
hgweb: make stripes in file annotate view with CSS
r19449
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l1" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l1">
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 0
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </a>
<div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l1">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l1"> 1</a> <span class="sd">&quot;&quot;&quot;Fun with generators. Corresponding Haskell implementation:</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l2" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l2">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l2"> 2</a> </td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l3" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l3">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l3"> 3</a> <span class="sd">primes = 2 : sieve [3, 5..]</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l4" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l4">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l4"> 4</a> <span class="sd"> where sieve (p:ns) = p : sieve [n | n &lt;- ns, mod n p /= 0]</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l5" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l5">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l5"> 5</a> <span class="sd">&quot;&quot;&quot;</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l6" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l6">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l6"> 6</a> </td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l7" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l7">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l7"> 7</a> <span class="kn">import</span> <span class="nn">itertools</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l8" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l8">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l8"> 8</a> </td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l9" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l9">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l9"> 9</a> <span class="kn">def</span> <span class="nf">primes</span><span class="p">():</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l10" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l10">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l10"> 10</a> <span class="sd">&quot;&quot;&quot;Generate all primes.&quot;&quot;&quot;</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l11" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l11">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l11"> 11</a> <span class="kn">def</span> <span class="nf">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l12" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l12">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l12"> 12</a> <span class="n">p</span> <span class="o">=</span> <span class="n">ns</span><span class="o">.</span><span class="n">next</span><span class="p">()</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l13" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l13">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l13"> 13</a> <span class="c"># It is important to yield *here* in order to stop the</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l14" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l14">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l14"> 14</a> <span class="c"># infinite recursion.</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l15" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l15">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l15"> 15</a> <span class="kn">yield</span> <span class="n">p</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l16" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l16">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l16"> 16</a> <span class="n">ns</span> <span class="o">=</span> <span class="n">itertools</span><span class="o">.</span><span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">%</span> <span class="n">p</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">ns</span><span class="p">)</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l17" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l17">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l17"> 17</a> <span class="kn">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l18" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l18">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l18"> 18</a> <span class="kn">yield</span> <span class="n">n</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l19" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l19">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 <td class="source followlines-btn-parent"><a href="#l19"> 19</a> </td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l20" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l20">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l20"> 20</a> <span class="n">odds</span> <span class="o">=</span> <span class="n">itertools</span><span class="o">.</span><span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">1</span><span class="p">,</span> <span class="n">itertools</span><span class="o">.</span><span class="n">count</span><span class="p">())</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l21" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l21">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l21"> 21</a> <span class="n">dropwhile</span> <span class="o">=</span> <span class="n">itertools</span><span class="o">.</span><span class="n">dropwhile</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l22" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l22">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l22"> 22</a> <span class="kn">return</span> <span class="n">itertools</span><span class="o">.</span><span class="n">chain</span><span class="p">([</span><span class="mi">2</span><span class="p">],</span> <span class="n">sieve</span><span class="p">(</span><span class="n">dropwhile</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">,</span> <span class="n">odds</span><span class="p">)))</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l23" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l23">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l23"> 23</a> </td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l24" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l24">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l24"> 24</a> <span class="kn">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l25" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l25">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l25"> 25</a> <span class="kn">import</span> <span class="nn">sys</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l26" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l26">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l26"> 26</a> <span class="kn">try</span><span class="p">:</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l27" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l27">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l27"> 27</a> <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l28" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l28">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l28"> 28</a> <span class="kn">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span> <span class="ne">IndexError</span><span class="p">):</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l29" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l29">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l29"> 29</a> <span class="n">n</span> <span class="o">=</span> <span class="mi">10</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l30" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l30">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l30"> 30</a> <span class="n">p</span> <span class="o">=</span> <span class="n">primes</span><span class="p">()</span></td>
Matt Mackall
tests: unify test-highlight
r12445 </tr>
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 <tr id="l31" class="thisrev">
av6
paper: make different blocks of annotated lines have different colors
r29572 <td class="annotate parity0">
Denis Laxalde
hgweb: display blamed revision once per block in annotate view...
r29388
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div class="annotate-info">
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 <div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/annotate/687f2d169546/primes.py#l31">
687f2d169546</a>
Denis Laxalde
hgweb: add a link on node id in annotate hover-box...
r29525 a
</div>
Denis Laxalde
hgweb: move author information from left-column to hover-box in annotate view...
r29524 <div><em>&#116;&#101;&#115;&#116;</em></div>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 <div>parents: </div>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 </div>
Matt Mackall
tests: unify test-highlight
r12445 </td>
Matt Harbison
py3: fix module imports in test-highlight.t...
r40406 <td class="source followlines-btn-parent"><a href="#l31"> 31</a> <span class="kn">print</span><span class="p">(</span><span class="s">&quot;The first </span><span class="si">%d</span><span class="s"> primes: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="nb">list</span><span class="p">(</span><span class="n">itertools</span><span class="o">.</span><span class="n">islice</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">n</span><span class="p">))))</span></td>
</tr>
<tr id="l32" class="thisrev">
<td class="annotate parity0">
<div class="annotate-info">
<div>
<a href="/annotate/687f2d169546/primes.py#l32">
687f2d169546</a>
a
</div>
<div><em>&#116;&#101;&#115;&#116;</em></div>
<div>parents: </div>
<a href="/diff/687f2d169546/primes.py">diff</a>
<a href="/rev/687f2d169546">changeset</a>
</div>
</td>
<td class="source followlines-btn-parent"><a href="#l32"> 32</a> </td>
av6
highlight: produce correct markup when there's a blank line just before EOF...
r25867 </tr>
Alexander Plavin
hgweb: make stripes in file annotate view with CSS
r19449 </tbody>
Matt Mackall
tests: unify test-highlight
r12445 </table>
</div>
</div>
</div>
Denis Laxalde
hgweb: plug followlines action in annotate view...
r32994 <script type="text/javascript" src="/static/followlines.js"></script>
Matt Mackall
tests: unify test-highlight
r12445
</body>
</html>
hgweb fileannotate, raw
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ (get-with-headers.py localhost:$HGPORT 'annotate/tip/primes.py?style=raw') \
Matt Mackall
tests: unify test-highlight
r12445 > | sed "s/test@//" > a
$ echo "200 Script output follows" > b
$ echo "" >> b
$ echo "" >> b
$ hg annotate "primes.py" >> b
$ echo "" >> b
$ echo "" >> b
$ echo "" >> b
$ echo "" >> b
Danek Duvall
solaris: diff -u emits "No differences encountered"...
r20598 $ cmp b a || diff -u b a
Matt Mackall
tests: unify test-highlight
r12445
hgweb filerevision, raw
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ (get-with-headers.py localhost:$HGPORT 'file/tip/primes.py?style=raw') \
Matt Mackall
tests: unify test-highlight
r12445 > > a
$ echo "200 Script output follows" > b
$ echo "" >> b
$ hg cat primes.py >> b
Danek Duvall
solaris: diff -u emits "No differences encountered"...
r20598 $ cmp b a || diff -u b a
Matt Mackall
tests: unify test-highlight
r12445
hgweb highlightcss friendly
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'highlightcss' > out
Matt Mackall
tests: unify test-highlight
r12445 $ head -n 4 out
200 Script output follows
/* pygments_style = friendly */
$ rm out
errors encountered
$ cat errors.log
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Matt Mackall
tests: unify test-highlight
r12445
Change the pygments style
$ cat > .hg/hgrc <<EOF
> [web]
> pygments_style = fruity
> EOF
hg serve again
$ hg serve -p $HGPORT -d -n test --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
hgweb highlightcss fruity
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'highlightcss' > out
Matt Mackall
tests: unify test-highlight
r12445 $ head -n 4 out
200 Script output follows
/* pygments_style = fruity */
$ rm out
errors encountered
$ cat errors.log
av6
highlight: add highlightfiles config option which takes a fileset (issue3005)...
r26249 $ killdaemons.py
only highlight C source files
$ cat > .hg/hgrc <<EOF
> [web]
> highlightfiles = **.c
> EOF
hg serve again
$ hg serve -p $HGPORT -d -n test --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
test that fileset in highlightfiles works and primes.py is not highlighted
$ get-with-headers.py localhost:$HGPORT 'file/tip/primes.py' | grep 'id="l11"'
Augie Fackler
tests: remove #! from primes.py in test-highlight.t...
r32936 <span id="l11"> def sieve(ns):</span><a href="#l11"></a>
av6
highlight: add highlightfiles config option which takes a fileset (issue3005)...
r26249
errors encountered
$ cat errors.log
Matt Mackall
tests: unify test-highlight
r12445 $ cd ..
$ hg init eucjp
$ cd eucjp
Gregory Szorc
tests: write out file using bytes I/O...
r43734 >>> with open('eucjp.txt', 'wb') as fh:
... # Japanese kanji "Kyo"
... fh.write(u'\265\376'.encode('utf-8')) and None
Matt Mackall
tests: unify test-highlight
r12445 $ hg ci -Ama
adding eucjp.txt
$ hgserveget () {
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 > killdaemons.py
Matt Mackall
tests: unify test-highlight
r12445 > echo % HGENCODING="$1" hg serve
> HGENCODING="$1" hg serve -p $HGPORT -d -n test --pid-file=hg.pid -E errors.log
> cat hg.pid >> $DAEMON_PIDS
>
> echo % hgweb filerevision, html
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 > get-with-headers.py localhost:$HGPORT "file/tip/$2" \
Mads Kiilerich
tests: use (esc) instead of other kinds of string escaping
r12943 > | grep '<div class="parity0 source">'
Matt Mackall
tests: unify test-highlight
r12445 > echo % errors encountered
> cat errors.log
> }
$ hgserveget euc-jp eucjp.txt
% HGENCODING=euc-jp hg serve
% hgweb filerevision, html
% errors encountered
$ hgserveget utf-8 eucjp.txt
% HGENCODING=utf-8 hg serve
% hgweb filerevision, html
% errors encountered
$ hgserveget us-ascii eucjp.txt
% HGENCODING=us-ascii hg serve
% hgweb filerevision, html
% errors encountered
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
Gregory Szorc
highlight: add option to prevent content-only based fallback...
r26680 We attempt to highlight unknown files by default
$ killdaemons.py
$ cat > .hg/hgrc << EOF
> [web]
> highlightfiles = **
> EOF
$ cat > unknownfile << EOF
Augie Fackler
tests: use $PYTHON in #! so we always use the right Python
r32938 > #!$PYTHON
Gregory Szorc
highlight: add option to prevent content-only based fallback...
r26680 > def foo():
> pass
> EOF
$ hg add unknownfile
$ hg commit -m unknown unknownfile
$ hg serve -p $HGPORT -d -n test --pid-file=hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ get-with-headers.py localhost:$HGPORT 'file/tip/unknownfile' | grep l2
<span id="l2"><span class="k">def</span> <span class="nf">foo</span><span class="p">():</span></span><a href="#l2"></a>
We can prevent Pygments from falling back to a non filename-based
detection mode
$ cat > .hg/hgrc << EOF
> [web]
> highlightfiles = **
> highlightonlymatchfilename = true
> EOF
$ killdaemons.py
$ hg serve -p $HGPORT -d -n test --pid-file=hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ get-with-headers.py localhost:$HGPORT 'file/tip/unknownfile' | grep l2
<span id="l2">def foo():</span><a href="#l2"></a>
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..