<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/assert.h, branch tmp</title>
<subtitle>Neovim fork with Rahm's personal hacks.</subtitle>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/'/>
<entry>
<title>ci: lint with uncrustify #18563</title>
<updated>2022-05-21T03:41:57+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2022-05-21T03:41:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=045aacc38470114daa969c5751276c90a3158f9b'/>
<id>045aacc38470114daa969c5751276c90a3158f9b</id>
<content type='text'>
This lint job will ensure that the C codebase is properly formatted at
all times. This helps eliminate most of clint.py.

To save CI time, it's faster to manually compile uncrustify and cache
the binary instead of using homebrew (the apt-get package is too old).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This lint job will ensure that the C codebase is properly formatted at
all times. This helps eliminate most of clint.py.

To save CI time, it's faster to manually compile uncrustify and cache
the binary instead of using homebrew (the apt-get package is too old).</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(uncrustify): disable formatting in problematic code sections</title>
<updated>2022-04-29T11:52:12+00:00</updated>
<author>
<name>Dundar Goc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2022-04-18T10:54:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=995c1863685d7fa0cc2638b55efee55c4cb7ffc9'/>
<id>995c1863685d7fa0cc2638b55efee55c4cb7ffc9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: upgrade uncrustify config version to 0.74.0</title>
<updated>2021-11-23T09:28:49+00:00</updated>
<author>
<name>Dundar Göc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2021-11-22T09:57:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=849f104c2789c884428fd45501912c6591a78e12'/>
<id>849f104c2789c884428fd45501912c6591a78e12</id>
<content type='text'>
Disable formatting for assert.h since there's a bug that results in a
segmentation fault in uncrustify.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Disable formatting for assert.h since there's a bug that results in a
segmentation fault in uncrustify.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: uncrustify #16090</title>
<updated>2021-10-30T00:23:20+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2021-10-30T00:23:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=4472c56d54f447040f6e8610b261b7efa0d04eb6'/>
<id>4472c56d54f447040f6e8610b261b7efa0d04eb6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: format all C files under nvim/ #15977</title>
<updated>2021-10-12T14:56:52+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2021-10-12T14:56:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=40be47e0faef7aa015eb4ba44ceb1ee1a03e97cf'/>
<id>40be47e0faef7aa015eb4ba44ceb1ee1a03e97cf</id>
<content type='text'>
* refactor: format all C files under nvim
* refactor: disable formatting for Vim-owned files:
    * src/nvim/indent_c.c
    * src/nvim/regexp.c
    * src/nvim/regexp_nfa.c
    * src/nvim/testdir/samples/memfile_test.c</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* refactor: format all C files under nvim
* refactor: disable formatting for Vim-owned files:
    * src/nvim/indent_c.c
    * src/nvim/regexp.c
    * src/nvim/regexp_nfa.c
    * src/nvim/testdir/samples/memfile_test.c</pre>
</div>
</content>
</entry>
<entry>
<title>viml/profile: switch to uv_gettimeofday() #10356</title>
<updated>2019-06-29T14:39:22+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2019-06-29T14:39:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=e2ce5ff9d6168de0ffaf59d6bf20f20631a34a2d'/>
<id>e2ce5ff9d6168de0ffaf59d6bf20f20631a34a2d</id>
<content type='text'>
Performance of high-resolution time (clock_gettime via uv_hrtime) is
expensive on some systems.  For profiling VimL, syntax, etc., we don't
care about nanosecond-precision and monotonicity edge-cases, so avoid
uv_hrtime().

closes #10328

From the uv__hrtime() source:
https://github.com/libuv/libuv/blob/0cdb4a5b4b706d0e09413d9270da28f9a88dc083/src/unix/linux-core.c#L442-L462

    /* Prefer CLOCK_MONOTONIC_COARSE if available but only when it has
     * millisecond granularity or better.  CLOCK_MONOTONIC_COARSE is
     * serviced entirely from the vDSO, whereas CLOCK_MONOTONIC may
     * decide to make a costly system call.
     */

This micro-benchmark (Debug build) shows negligible differences on my
system:

    #include &lt;sys/time.h&gt;
    ...

    proftime_T tm = profile_start();
    int trials = 999999;
    int64_t t = 0;
    struct timeval tv;
    for (int i = 0; i &lt; trials; i++) {
      t += gettimeofday(&amp;tv,NULL);
    }
    tm = profile_end(tm);
    ILOG("%d trials of gettimeofday: %s", trials, profile_msg(tm));
    tm = profile_start();
    for (int i = 0; i &lt; trials; i++) {
      t += os_hrtime();
    }
    tm = profile_end(tm);
    ILOG("%d trials of os_hrtime: %s", trials, profile_msg(tm));
    tm = profile_start();
    for (int i = 0; i &lt; trials; i++) {
      t += os_utime();
    }
    tm = profile_end(tm);
    ILOG("%d trials of os_utime: %s", trials, profile_msg(tm));
    ILOG("%zu", t);

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Performance of high-resolution time (clock_gettime via uv_hrtime) is
expensive on some systems.  For profiling VimL, syntax, etc., we don't
care about nanosecond-precision and monotonicity edge-cases, so avoid
uv_hrtime().

closes #10328

From the uv__hrtime() source:
https://github.com/libuv/libuv/blob/0cdb4a5b4b706d0e09413d9270da28f9a88dc083/src/unix/linux-core.c#L442-L462

    /* Prefer CLOCK_MONOTONIC_COARSE if available but only when it has
     * millisecond granularity or better.  CLOCK_MONOTONIC_COARSE is
     * serviced entirely from the vDSO, whereas CLOCK_MONOTONIC may
     * decide to make a costly system call.
     */

This micro-benchmark (Debug build) shows negligible differences on my
system:

    #include &lt;sys/time.h&gt;
    ...

    proftime_T tm = profile_start();
    int trials = 999999;
    int64_t t = 0;
    struct timeval tv;
    for (int i = 0; i &lt; trials; i++) {
      t += gettimeofday(&amp;tv,NULL);
    }
    tm = profile_end(tm);
    ILOG("%d trials of gettimeofday: %s", trials, profile_msg(tm));
    tm = profile_start();
    for (int i = 0; i &lt; trials; i++) {
      t += os_hrtime();
    }
    tm = profile_end(tm);
    ILOG("%d trials of os_hrtime: %s", trials, profile_msg(tm));
    tm = profile_start();
    for (int i = 0; i &lt; trials; i++) {
      t += os_utime();
    }
    tm = profile_end(tm);
    ILOG("%d trials of os_utime: %s", trials, profile_msg(tm));
    ILOG("%zu", t);

</pre>
</div>
</content>
</entry>
<entry>
<title>build: PRAGMA_DIAG_PUSH_IGNORE_MISSING_PROTOTYPES</title>
<updated>2019-02-04T12:16:59+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2019-02-04T02:43:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=45f25f7e0b3f105faebf5e215e5c128346463046'/>
<id>45f25f7e0b3f105faebf5e215e5c128346463046</id>
<content type='text'>
On Travis CI, -Wmissing-prototypes gives strange error:

    In file included from ../src/nvim/eval.c:5965:
    /home/travis/build/neovim/neovim/build/src/nvim/auto/funcs.generated.h.gperf:215:1: error: conflicting types for 'find_internal_func_gperf'
    find_internal_func_gperf (register const char *str, register unsigned int len)
    ^
    ../src/nvim/eval.c:5962:20: note: previous declaration is here
    const VimLFuncDef *find_internal_func_gperf(register const char *str,
                   ^
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On Travis CI, -Wmissing-prototypes gives strange error:

    In file included from ../src/nvim/eval.c:5965:
    /home/travis/build/neovim/neovim/build/src/nvim/auto/funcs.generated.h.gperf:215:1: error: conflicting types for 'find_internal_func_gperf'
    find_internal_func_gperf (register const char *str, register unsigned int len)
    ^
    ../src/nvim/eval.c:5962:20: note: previous declaration is here
    const VimLFuncDef *find_internal_func_gperf(register const char *str,
                   ^
</pre>
</div>
</content>
</entry>
<entry>
<title>PVS/V1028 (rework): cast operands, not the result #9531</title>
<updated>2019-01-21T22:49:58+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2019-01-21T22:49:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=bfb8170d32919dffee9d78a9afc298dc98fca5ba'/>
<id>bfb8170d32919dffee9d78a9afc298dc98fca5ba</id>
<content type='text'>
closes #9522</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
closes #9522</pre>
</div>
</content>
</entry>
<entry>
<title>STRICT_ADD, STRICT_SUB: Log error before abort</title>
<updated>2019-01-19T23:18:39+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2019-01-19T23:12:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c11b79ce51ad1c52e2c2e2700fcaff35b851bc97'/>
<id>c11b79ce51ad1c52e2c2e2700fcaff35b851bc97</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>build: include auto/config.h explicitly</title>
<updated>2019-01-19T23:18:39+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2019-01-19T22:39:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=dbba685c697d31fcb7ece6d7435989dbccc71866'/>
<id>dbba685c697d31fcb7ece6d7435989dbccc71866</id>
<content type='text'>
Otherwise the symbols defined in config/config.h.in may not be defined,
depending on include-order.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise the symbols defined in config/config.h.in may not be defined,
depending on include-order.
</pre>
</div>
</content>
</entry>
</feed>
