<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>
GitLab
</title>
<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">
<h3>
Ben Gamari pushed to branch wip/centos7
at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/beaa07d204a779cc509985765a87da95faefb359">beaa07d2</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2019-04-12T17:17:21Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: fix ghci wrapper script generation (#16508)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e05df3e1380989ca00ecd88b6d7d0f4aec5502fb">e05df3e1</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-12T17:23:30Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Ensure that version number has three components
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/885d2e04854f038fbb899ab545df2b57d9b8bba4">885d2e04</a></strong>
<div>
<span>by klebinger.andreas@gmx.at</span>
<i>at 2019-04-12T18:40:04Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add -ddump-stg-final to dump stg as it is used for codegen.
Intermediate STG does not contain free variables which can be useful
sometimes. So adding a flag to dump that info.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3c759ced1c894da2358d12fa91e20f12adf0e5bd">3c759ced</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-04-12T18:46:54Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: add a --test-accept/-a flag, to mimic 'make accept'
When -a or --test-accept is passed, and if one runs the 'test' target, then
any test failing because of mismatching output and which is not expected to
fail will have its expected output adjusted by the test driver, effectively
considering the new output correct from now on.
When this flag is passed, hadrian's 'test' target becomes sensitive to the
PLATFORM and OS environment variable, just like the Make build system:
- when the PLATFORM env var is set to "YES", when accepting a result, accept it
for the current platform;
- when the OS env var is set to "YES", when accepting a result, accept it
for all wordsizes of the current operating system.
This can all be combined with `--only="..."` and `TEST="..." to only accept
the new output of a subset of tests.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f4b5a6c040abb492367fdfe18c4f2ebf03c0d084">f4b5a6c0</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-04-12T18:46:54Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: document -a/--test-accept
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/30a0988d2a1398bc5be79e506a3cc55df4b5bd79">30a0988d</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-12T19:41:07Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab: Disable windows-hadrian job
Not only is it reliably failing due to #16574 but all of the quickly
failing builds also causes the Windows runners to run out of disk space.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/8870a51bd62f2d4ee7bd21b96240d5806c2817af">8870a51b</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-12T19:41:07Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab: Don't run lint-submods job on Marge branches
This broke Marge by creating a second pipeline (consisting of only the
`lint-submods` job). Marge then looked at this pipeline and concluded
that CI for her merge branch passed. However, this is ignores the fact
that the majority of the CI jobs are triggered on `merge_request` and
are therefore in another pipeline.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/7876d08881b66c3e47d8dab3420c9c14616325e4">7876d088</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-13T13:51:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">linters: Fix check-version-number
This should have used `grep -E`, not `grep -e`</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/2e7b2e55de503d3b5086c0cec5f320667503f699">2e7b2e55</a></strong>
<div>
<span>by Ara Adkins</span>
<i>at 2019-04-13T14:00:02Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">[skip ci] Update CI badge in readme
This trivial MR updates the CI badge in the readme to point to the
new CI on gitlab, rather than the very out-of-date badge from
Travis.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/40848a43072768d5a0a41a1df05f7a8ffd85f345">40848a43</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-13T14:02:36Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">base: Better document implementation implications of Data.Timeout
As noted in #16546 timeout uses asynchronous exceptions internally, an
implementation detail which can leak out in surprising ways. Note this
fact.
Also expose the `Timeout` tycon.
[skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5f1830817b90960d5d11bee95a99df3e1425f8ab">5f183081</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-04-14T05:08:15Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: add rts shared library symlinks for backwards compatability
Fixes test T3807 when building with Hadrian.
Trac #16370
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9b142c53325ffee6e3eef55daabefe9e2881f9e9">9b142c53</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2019-04-14T05:14:23Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: add binary-dist-dir target
This patch adds an Hadrian target "binary-dist-dir". Compared to
"binary-dist", it only builds a binary distribution directory without
creating the Tar archive. It makes the use/test of the bindist
installation script easier.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/6febc444c0abea6c033174aa0e813c950b9b2877">6febc444</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2019-04-14T05:20:29Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix assertion failures reported in #16533
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/edcef7b384ca5af6e67d58c39779d03f80768538">edcef7b3</a></strong>
<div>
<span>by Artem Pyanykh</span>
<i>at 2019-04-14T05:26:35Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">codegen: unroll memcpy calls for small bytearrays
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/6094d43f36bdab5ff3f246afca9a6018545fdd73">6094d43f</a></strong>
<div>
<span>by Artem Pyanykh</span>
<i>at 2019-04-14T05:26:35Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">docs: mention memcpy optimization for ByteArrays in 8.10.1-notes
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/d2271fe4e841cc157385bfc9ee498a0bf805f250">d2271fe4</a></strong>
<div>
<span>by Simon Jakobi</span>
<i>at 2019-04-14T12:43:17Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Ord docs: Add explanation on 'min' and 'max' operator interactions
[ci skip]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e7cad16c19fb226353d3fb6e92914ed953d32857">e7cad16c</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2019-04-14T12:49:23Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add a safeguard to Core Lint
Lint returns a pair (Maybe a, WarnsAndErrs). The Maybe monad
allows to handle an unrecoverable failure.
In case of such a failure, the error should be added to the second
component of the pair. If this is not done, Lint will silently
accept bad programs. This situation actually happened during
development of linear types. This adds a safeguard.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/c54a093ffb46b2efa0cc1511797fe8e01987ae87">c54a093f</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-14T12:55:29Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">CODEOWNERS: Add simonmar as owner of rts/linker
I suspect this is why @simonmar wasn't notified of !706.
[skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1825f50d1736401724ef644e4d481cc26e8f47e5">1825f50d</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-04-14T13:01:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: don't accept p_dyn for executables, to fix --flavour=prof
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b024e2891d06a81b3fd824f33fc72fb805e03c8f">b024e289</a></strong>
<div>
<span>by Giles Anderson</span>
<i>at 2019-04-15T10:20:29Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Document how -O3 is handled by GHC
-O2 is the highest value of optimization.
-O3 will be reverted to -O2.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4b1ef06d45fb3cd226b5ec4217e975d48b85e645">4b1ef06d</a></strong>
<div>
<span>by Giles Anderson</span>
<i>at 2019-04-15T10:20:29Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Apply suggestion to docs/users_guide/using-optimisation.rst</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/71cf94db8445e5d8225ce65a9feecbfaa3ac3fe3">71cf94db</a></strong>
<div>
<span>by Fraser Tweedale</span>
<i>at 2019-04-15T10:26:37Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">GHCi: fix load order of .ghci files
Directives in .ghci files in the current directory ("local .ghci")
can be overridden by global files. Change the order in which the
configs are loaded: global and $HOME/.ghci first, then local.
Also introduce a new field to GHCiState to control whether local
.ghci gets sourced or ignored. This commit does not add a way to
set this value (a subsequent commit will add this), but the .ghci
sourcing routine respects its value.
Fixes: https://gitlab.haskell.org/ghc/ghc/issues/14689
Related: https://gitlab.haskell.org/ghc/ghc/issues/6017
Related: https://gitlab.haskell.org/ghc/ghc/issues/14250
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5c06b60d0e2e270c9ccacebb96ca0da4d0f4e6d9">5c06b60d</a></strong>
<div>
<span>by Fraser Tweedale</span>
<i>at 2019-04-15T10:26:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">users-guide: update startup script order
Update users guide to match the new startup script order. Also
clarify that -ignore-dot-ghci does not apply to scripts specified
via the -ghci-script option.
Part of: https://gitlab.haskell.org/ghc/ghc/issues/14689
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/aa490b350b35a07495837e96d01137ed50915131">aa490b35</a></strong>
<div>
<span>by Fraser Tweedale</span>
<i>at 2019-04-15T10:26:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">GHCi: add 'local-config' setting
Add the ':set local-config { source | ignore }' setting to control
whether .ghci file in current directory will be sourced or not. The
directive can be set in global config or $HOME/.ghci, which are
processed before local .ghci files.
The default is "source", preserving current behaviour.
Related: https://gitlab.haskell.org/ghc/ghc/issues/6017
Related: https://gitlab.haskell.org/ghc/ghc/issues/14250
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ed94d3450cbb6ec7a31d9aa37efb7fe93d0559cf">ed94d345</a></strong>
<div>
<span>by Fraser Tweedale</span>
<i>at 2019-04-15T10:26:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">users-guide: document :set local-config
Document the ':set local-config' command and add a warning about
sourcing untrusted local .ghci scripts.
Related: https://gitlab.haskell.org/ghc/ghc/issues/6017
Related: https://gitlab.haskell.org/ghc/ghc/issues/14250
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/be05bd8168b0ea65d63dc0093a5c8781a2528500">be05bd81</a></strong>
<div>
<span>by Gabor Greif</span>
<i>at 2019-04-15T21:19:03Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">asm-emit-time IND_STATIC elimination
When a new closure identifier is being established to a
local or exported closure already emitted into the same
module, refrain from adding an IND_STATIC closure, and
instead emit an assembly-language alias.
Inter-module IND_STATIC objects still remain, and need to be
addressed by other measures.
Binary-size savings on nofib are around 0.1%.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/57eb5bc61317e5cdf1fd5745036e443037a37451">57eb5bc6</a></strong>
<div>
<span>by erthalion</span>
<i>at 2019-04-16T19:40:36Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Show dynamic object files (#16062)
Closes #16062. When -dynamic-too is specified, reflect that in the
progress message, like:
$ ghc Main.hs -dynamic-too
[1 of 1] Compiling Lib ( Main.hs, Main.o, Main.dyn_o )
instead of:
$ ghc Main.hs -dynamic-too
[1 of 1] Compiling Lib ( Main.hs, Main.o )
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/894ec447955a5066faee1b87af9cc7785ae14cd8">894ec447</a></strong>
<div>
<span>by Andrey Mokhov</span>
<i>at 2019-04-16T19:46:44Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: Generate GHC wrapper scripts
This is a temporary workaround for #16534. We generate wrapper scripts
<build-root>/ghc-stage1 and <build-root>/ghc-stage2 that can be used to
run Stage1 and Stage2 GHCs with the right arguments.
See https://gitlab.haskell.org/ghc/ghc/issues/16534.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e142ec99e91ef4bdffd367780e945526ec6ef7e2">e142ec99</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2019-04-18T03:19:00Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Typeset Big-O complexities with Tex-style notation (#16090)
E.g. use `\(\mathcal{O}(n^2)\)` instead of `/O(n^2)/`.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f0f495f0c4e16520adea83e82885dc08fa0c38a3">f0f495f0</a></strong>
<div>
<span>by klebinger.andreas@gmx.at</span>
<i>at 2019-04-18T03:25:10Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add an Outputable instance for SDoc with ppr = id.
When printf debugging this can be helpful.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b0fd3e9165b9cd2021e501bbe8a8849f51fa041b">b0fd3e91</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-18T03:44:07Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Add centos7 release job
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/97e12c1c470d628d59155041a1a73b3153e59b6b">97e12c1c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-18T03:44:07Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Only run release notes lint on release tags
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#587d266bb27a4dc3022bbed44dfa19849df3044c">
.gitlab-ci.yml
</a>
</li>
<li class="file-stats">
<a href="#b8dbb28cac2b7ba465be98a9ef055178d1b8bdec">
<span class="new-file">
+
.gitlab/linters/check-version-number.sh
</span>
</a>
</li>
<li class="file-stats">
<a href="#abe895765c4ce08c5dfbc95e5e3c5db67ff92ded">
CODEOWNERS
</a>
</li>
<li class="file-stats">
<a href="#8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d">
README.md
</a>
</li>
<li class="file-stats">
<a href="#db6936871693fa68c3fdcbd692eb7dcffc3a9372">
compiler/cmm/CLabel.hs
</a>
</li>
<li class="file-stats">
<a href="#03104abc160df5563171ac063230f7473cb173c3">
compiler/cmm/CmmExpr.hs
</a>
</li>
<li class="file-stats">
<a href="#c10b1b0056f54b8b89286ac4a327928f83cf8ab6">
compiler/codeGen/StgCmmBind.hs
</a>
</li>
<li class="file-stats">
<a href="#731b07c16b2f4bb31dd7defa4ceef54e74473cc7">
compiler/codeGen/StgCmmPrim.hs
</a>
</li>
<li class="file-stats">
<a href="#da5742c4b404a672740f0eef71683f5a8dd3818e">
compiler/coreSyn/CoreLint.hs
</a>
</li>
<li class="file-stats">
<a href="#9deb3efe6363dc99855f2587c51b29e99f87b528">
compiler/llvmGen/Llvm/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#cacd8cbc59c36ab8a39258a3a1dd6c44ad547d49">
compiler/llvmGen/LlvmCodeGen/Base.hs
</a>
</li>
<li class="file-stats">
<a href="#2ebec45c4dd2cdcc7eea7aefee1aa1ed2abc48b1">
compiler/llvmGen/LlvmCodeGen/Data.hs
</a>
</li>
<li class="file-stats">
<a href="#096d42677c28809678e8a5098229e923cbf1f4f9">
compiler/llvmGen/LlvmCodeGen/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#11e9bfd841c4163c1919b5e07efc84740e02010f">
compiler/main/DynFlags.hs
</a>
</li>
<li class="file-stats">
<a href="#a5d2f1f03da18c26aa3c615ca829648a4a806a5b">
compiler/main/HscMain.hs
</a>
</li>
<li class="file-stats">
<a href="#a7d05a7194ce9665362b8cb2a6e3cb5bd39f2965">
compiler/main/HscTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#de093f16cc2c75be43b94a88724f45af7f37ede3">
compiler/nativeGen/PPC/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#e0f489c98187e3f8216752a8b49fd967ac19199b">
compiler/nativeGen/SPARC/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#e08a7f13d9b4dd9216080725eb81bf254597216d">
compiler/nativeGen/X86/CodeGen.hs
</a>
</li>
<li class="file-stats">
<a href="#c32cb02af3d68609de00fed7ce75ae668e4c5688">
compiler/nativeGen/X86/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#9f8e9eab0dc8b12ae9f92fbb76ddca15c817667a">
compiler/typecheck/TcCanonical.hs
</a>
</li>
<li class="file-stats">
<a href="#341aef35ac370771edf59ec6b9fbb31507fa6f18">
compiler/typecheck/TcSigs.hs
</a>
</li>
<li class="file-stats">
<a href="#67a2fcd4f9dc88c950d518e4d2a458bd4228414f">
compiler/types/OptCoercion.hs
</a>
</li>
<li class="file-stats">
<a href="#07ce9a046fb8ea6659690020b0a8551d94cfdf1c">
compiler/types/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#7cb0c3b8a55988740abfeec25509f3897dd73950">
compiler/utils/Outputable.hs
</a>
</li>
<li class="file-stats">
<a href="#87db583be5c13c1f7b3c958b10e03d67b6a2ca06">
configure.ac
</a>
</li>
<li class="file-stats">
<a href="#d6904e295957d55c64f4949aa3b54695dd57dd76">
docs/users_guide/8.10.1-notes.rst
</a>
</li>
<li class="file-stats">
<a href="#36435f993774454b5956f3a38a9276ed176c61cc">
docs/users_guide/debugging.rst
</a>
</li>
<li class="file-stats">
<a href="#b02c1c6109c60b8f685234b0dbaabf6c79fed2a2">
docs/users_guide/ghci.rst
</a>
</li>
<li class="file-stats">
<a href="#2e45f2cd303dd998950a7c8042e796a5b2abd64f">
docs/users_guide/using-optimisation.rst
</a>
</li>
</ul>
<h5>The diff was not included because it is too large.</h5>
</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #777;">
—
<br>
<a href="https://gitlab.haskell.org/ghc/ghc/compare/0ad0c936a91d0117e03bb89e2f62ecc9bbe5a244...97e12c1c470d628d59155041a1a73b3153e59b6b">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.haskell.org.
If you'd like to receive fewer emails, you can
adjust your notification settings.
</p>
</div>
</body>
</html>