<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/proto, branch tmp</title>
<subtitle>Neovim fork with Rahm's personal hacks.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/'/>
<entry>
<title>Removes 'proto' dir</title>
<updated>2014-02-26T07:17:27+00:00</updated>
<author>
<name>scott-linder</name>
<email>scott.b.linder@wmich.edu</email>
</author>
<published>2014-02-25T20:41:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=0ef90c13b72b74928bfb3c183c7a5bd7240b51ad'/>
<id>0ef90c13b72b74928bfb3c183c7a5bd7240b51ad</id>
<content type='text'>
See #137 for the issue.

Every header in the proto directory was:

* Given include guards in the form

    #ifndef NEOVIM_FILENAME_H
    #define NEOVIM_FILENAME_H
        ...
    #endif /* NEOVIM_FILENAM_H */

* Renamed from *.pro -&gt; *.h
* Moved from src/proto/ to src/

This would have caused conficts with some existing headers in src/;
rather than merge these conflicts now (which is a whole other can of
worms involving multiple and conditional inclusion), any header in src/
with a conflicting name was renamed from *.h -&gt; *_defs.h (which may or
may not actually describe its purpose, the change is purely a
namespacing issue).

Once all of these changes were made a script was developed to determine
what #includes needed to be added to each source file to describe its
dependencies and allow it to compile; because the script is so short
and I'll just list it here:

    #! /bin/bash

    cd $(dirname $0)

    # Scrapes `make` output for provided error messages and outputs #includes
    # needed to resolve them.
    #   $1 : part of the clang error message between filename and identifier
    list_missing_includes() {
        for file_missing_pair in $(CC=clang make 2&gt;&amp;1 &gt;/dev/null | sed -n "s/\/\(.*\.[hc]\).*$1.*'\(.*\)'.*/\1:\2/p"); do
            fields=(${file_missing_pair//:/ })
            source_file=${fields[0]}
            missing_func=${fields[1]}
            # Try to find the declaration of the missing function.
            echo $(basename $source_file) \
                \#include \"$(grep -r "\b$missing_func __ARGS" | sed -n "s/.*\/\(.*\)\:.*/\1/p")\"
        # Remove duplicates
        done | sort | uniq
    }

    echo "Finding missing function prototypes..."
    list_missing_includes "implicit declaration of function"
    echo "Finding missing identifier declarations..."
    list_missing_includes "use of undeclared identifier"

Each list of required headers was added by hand in the following format:

    #include "vim.h"
    #include "*_defs.h"
    #include "filename.h"
    /* All other includes in same module here, in alphabetical order. */
    /* All includes from other modules (e.g. "os/*.h") here in alphabetical
     * order. */
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See #137 for the issue.

Every header in the proto directory was:

* Given include guards in the form

    #ifndef NEOVIM_FILENAME_H
    #define NEOVIM_FILENAME_H
        ...
    #endif /* NEOVIM_FILENAM_H */

* Renamed from *.pro -&gt; *.h
* Moved from src/proto/ to src/

This would have caused conficts with some existing headers in src/;
rather than merge these conflicts now (which is a whole other can of
worms involving multiple and conditional inclusion), any header in src/
with a conflicting name was renamed from *.h -&gt; *_defs.h (which may or
may not actually describe its purpose, the change is purely a
namespacing issue).

Once all of these changes were made a script was developed to determine
what #includes needed to be added to each source file to describe its
dependencies and allow it to compile; because the script is so short
and I'll just list it here:

    #! /bin/bash

    cd $(dirname $0)

    # Scrapes `make` output for provided error messages and outputs #includes
    # needed to resolve them.
    #   $1 : part of the clang error message between filename and identifier
    list_missing_includes() {
        for file_missing_pair in $(CC=clang make 2&gt;&amp;1 &gt;/dev/null | sed -n "s/\/\(.*\.[hc]\).*$1.*'\(.*\)'.*/\1:\2/p"); do
            fields=(${file_missing_pair//:/ })
            source_file=${fields[0]}
            missing_func=${fields[1]}
            # Try to find the declaration of the missing function.
            echo $(basename $source_file) \
                \#include \"$(grep -r "\b$missing_func __ARGS" | sed -n "s/.*\/\(.*\)\:.*/\1/p")\"
        # Remove duplicates
        done | sort | uniq
    }

    echo "Finding missing function prototypes..."
    list_missing_includes "implicit declaration of function"
    echo "Finding missing identifier declarations..."
    list_missing_includes "use of undeclared identifier"

Each list of required headers was added by hand in the following format:

    #include "vim.h"
    #include "*_defs.h"
    #include "filename.h"
    /* All other includes in same module here, in alphabetical order. */
    /* All includes from other modules (e.g. "os/*.h") here in alphabetical
     * order. */
</pre>
</div>
</content>
</entry>
<entry>
<title>os_unix: Port mch_FullName and mch_isFullName to libuv.</title>
<updated>2014-02-25T21:59:22+00:00</updated>
<author>
<name>Thomas Wienecke</name>
<email>wienecke.t@gmail.com</email>
</author>
<published>2014-02-25T19:50:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=8437a4c9724f17824c9043afc27288013d096649'/>
<id>8437a4c9724f17824c9043afc27288013d096649</id>
<content type='text'>
Basically just delete conditional use of fchdir, since the other called
mch_* functions are already ported to libuv.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Basically just delete conditional use of fchdir, since the other called
mch_* functions are already ported to libuv.
</pre>
</div>
</content>
</entry>
<entry>
<title>os_unix: Use libuv uv_cwd instead of getcwd/getwd.</title>
<updated>2014-02-25T17:26:21+00:00</updated>
<author>
<name>Thomas Wienecke</name>
<email>wienecke.t@gmail.com</email>
</author>
<published>2014-02-25T16:03:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=1e2da25d3da075c87fababccae0c58d6ffa7df21'/>
<id>1e2da25d3da075c87fababccae0c58d6ffa7df21</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Create new OS module</title>
<updated>2014-02-25T01:17:46+00:00</updated>
<author>
<name>Thiago de Arruda</name>
<email>tpadilha84@gmail.com</email>
</author>
<published>2014-02-25T01:17:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c067e5580b26410eb3130f716f55c4e4d0831d51'/>
<id>c067e5580b26410eb3130f716f55c4e4d0831d51</id>
<content type='text'>
This module will contain all functions that perform OS calls such as IO,
filesystem access, etc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This module will contain all functions that perform OS calls such as IO,
filesystem access, etc.
</pre>
</div>
</content>
</entry>
<entry>
<title>Import vim from changeset v5628:c9cad40b4181</title>
<updated>2014-01-31T13:39:15+00:00</updated>
<author>
<name>Thiago de Arruda</name>
<email>tpadilha84@gmail.com</email>
</author>
<published>2014-01-31T13:39:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=72cf89bce8e4230dbc161dc5606f48ef9884ba70'/>
<id>72cf89bce8e4230dbc161dc5606f48ef9884ba70</id>
<content type='text'>
- Cleanup source tree, leaving only files necessary for compilation/testing
- Process files through unifdef to remove tons of FEAT_* macros
- Process files through uncrustify to normalize source code formatting.
- Port the build system to cmake
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Cleanup source tree, leaving only files necessary for compilation/testing
- Process files through unifdef to remove tons of FEAT_* macros
- Process files through uncrustify to normalize source code formatting.
- Port the build system to cmake
</pre>
</div>
</content>
</entry>
</feed>
