Commit Graph

26 Commits

Author SHA1 Message Date
aph
4c4880b69f remove MB_{IS,TO}{UPPER,LOWER} 2014-04-04 21:44:58 -03:00
John Schmidt
6f53cb1cc3 Extract memory.c from misc2.c 2014-04-04 16:33:12 -03:00
Thomas Wienecke
77bfb6cd99 Test and refactor gettail -> path_tail. 2014-04-03 10:32:41 -03:00
oni-link
f9b5ca8b85 Remove feature HAVE_QSORT
qsort conforms to C99, so we don't need our own version.
2014-03-31 21:24:59 -03:00
John Schmidt
5d30654512 Rename ga_init2() to ga_init() 2014-03-31 14:42:11 -03:00
John Schmidt
44e40b02cf Move remove_duplicates to garray.c 2014-03-29 13:29:53 -03:00
John Schmidt
f5154d7451 Extract path.c from misc1.c 2014-03-29 13:29:52 -03:00
Thomas Wienecke
5762c4e528 Rename mch_* functions to os_* in os module. 2014-03-27 19:57:55 -03:00
Felipe Oliveira Carvalho
07dad7acf3 Use memmove instead of mch_memmove 2014-03-26 16:28:13 -03:00
Felipe Oliveira Carvalho
ed3e9d51ac Use memset instead of vim_memset
Ran some commands on terminal, reviewed changes, and made some manual changes
too.

    find src | xargs perl -i -p -e "s/vim_memset/memset/g"
    git grep -l memset | egrep "\.c$" | xargs perl -i -p -e \
        's/(#include "vim\.h")/#include <string.h>\n\n\1/g'
2014-03-25 18:57:02 -03:00
Felipe Oliveira Carvalho
68bc6bce29 Do not include farsi.c in main.c
- Change CMakeLists.txt to compile farsi.c normally
 - Add const to global variables in farsi.h and define them in farsi.c (no need
   to include farsi.h with DO_INIT defined in globals.h)
 - Include farsi.h where necessary
 - Include all necessary headers in farsi.c
 - Move farsi function declarations from main.h to farsi.h
2014-03-25 18:48:45 -03:00
Felipe Oliveira Carvalho
fd6fd35eef Turn ARABIC_CHAR into a function 2014-03-24 18:23:23 -03:00
Petter Wahlman
edabc6f4c7 adapt to the style guildelines
semi-automated harvest of low hanging fruit:
change the unorthodox use of whitespace.
2014-03-19 07:53:16 -03:00
Felipe Oliveira Carvalho
3cac32e49c Remove CURSOR_SHAPE #ifdef tests
See issue #333
2014-03-10 05:55:59 -03:00
Felipe Oliveira Carvalho
1684bec635 Extract cursor_shape.c from misc2.c and types/consts from structs.h 2014-03-10 05:55:59 -03:00
Thomas Wienecke
fc86866402 Fix style issues.
* Rename mch_full_name to mch_get_absolute_path.
* Rename mch_is_full_name to mch_is_absolute_path.
* Add a lot of missing parentheses.
* Remove yoda-conditions for consistency.
* Remove spaces in function declaration.
2014-03-06 13:10:58 -03:00
Felipe Oliveira Carvalho
fdba1761f6 Extract keymap.c from misc2.c 2014-03-06 07:16:21 -03:00
Thomas Wienecke
92a0374d7b Rename and refactor mch_FullName.
* Rename mch_FullName to mch_full_name to match the style guide.
* Add mch_full_dir_name, which saves the absolute path of a given
directory relative to cwd into a given buffer.
* Add function append_path, which glues together two given paths with a
slash.
* Adapt moonscript coding style to the tests.
2014-03-04 06:54:08 -03:00
Gaelan Steele
bbf6442433 Move some of misc1.c to indent.c.
My little contribution to #209.
2014-03-03 10:12:10 -03:00
Nicolas Pierron
d9283c4927 Remove __ARGS macro. Close #205
This is a squash of all commits sent to #81.

- Remove unused undef of __ARGS.
- Fix mch_rename declaration.
- Follow changes related to moved & extracted files.
- Properly indent function declarations of getchar.h and quickfix.c.
2014-03-02 14:19:59 -03:00
Felipe Oliveira Carvalho
410f0a27c5 Extract garray.c from misc2.c
Start to split misc2.c in many other files (see #209).
2014-02-28 06:43:20 -03:00
scott-linder
0ef90c13b7 Removes 'proto' dir
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 -> *.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 -> *_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>&1 >/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. */
2014-02-26 04:17:27 -03:00
Thomas Wienecke
8437a4c972 os_unix: Port mch_FullName and mch_isFullName to libuv.
Basically just delete conditional use of fchdir, since the other called
mch_* functions are already ported to libuv.
2014-02-25 18:59:22 -03:00
scott-linder
b76c358f3d Convert function declarations from K&R to ANSI style.
cproto (http://invisible-island.net/cproto/) was used to do the bulk of
the work in batch; even the most recent version had some issues with
typedef'd parameters; a quick "patch" was to modify `lex.l` to
explicitly include all vim typedefs as known types. One example from
`vim.h` is

    typedef unsigned char char_u;

which was added in `lex.l` as

    <INITIAL>char_u    { save_text_offset(); return T_CHAR; }

Even with these changes there were some problems:

* Two files (`mbyte.c` and `os_unix.c`) were not cleanly converted.
* Any function with the `UNUSED` macro in its parameter list was not converted.

Rather than spend more time fixing the automated approach, the two files
`mbyte.c` and `os_unix.c` were converted by hand.

The `UNUSED` macros were compiler specific, and the alternative, generic
version would require a different syntax, so in order to simplify the
conversion all uses of `UNUSED` were stripped, and then the sources were
run back through cproto. It is planned to reconsider each use of
`UNUSED` manually using a new macro definition.
2014-02-24 09:48:18 -05:00
aph
2d00ead2e5 Fix build on OSX/Archlinux and add README
- remove SELinux dependency for now
- OSX: find libintl.h
- OSX: fix compile errors
- OSX: use hack around gettext nonsense
- fix gettext on ubuntu
- work around Arch's lack of -ltermcap
- add README.md
2014-02-01 10:34:04 -03:00
Thiago de Arruda
72cf89bce8 Import vim from changeset v5628:c9cad40b4181
- 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
2014-01-31 10:39:15 -03:00