aboutsummaryrefslogtreecommitdiff
path: root/src/os_unix.c
Commit message (Collapse)AuthorAge
...
* Move and refactor mch_[gs]etperm to os/fs module.Thomas Wienecke2014-03-15
|
* moved mch_get_user_name() and mch_get_uname() into os/users.cStefan Hoffmann2014-03-13
|
* Move mch_can_exe, executable_file to os/fs.c.Thomas Wienecke2014-03-07
| | | | * Rename executable_file to is_executable.
* cleanup environment variable handling + unit testsStefan Hoffmann2014-03-06
| | | | | | | | * removed a putenv() implementation which isn't needed anymore * mch_getenv() and mch_setenv() are now functions in src/os/env.c * removes direct calls to getenv() and setenv() outside of src/os/env.c * refactored the logic of get_env_name into mch_getenvname_at_index * added unittests for the functions in os/env.c
* Fix style issues.Thomas Wienecke2014-03-06
| | | | | | | | * 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.
* Remove USE_SYSTEM and code only run under USE_SYSTEMSimen Endsjø2014-03-05
|
* Port mch_isdir to libuv.Thomas Wienecke2014-03-05
|
* Remove static declaration of executable_file.Thomas Wienecke2014-03-05
| | | | | Since static functions are only visible in the file in which they are defined, this needs to be done in order to unit test the function.
* Rename and refactor mch_FullName.Thomas Wienecke2014-03-04
| | | | | | | | | * 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.
* Remove dead stack-checking code.Alexander Bolodurin2014-03-03
| | | | | | | Code under HAVE_STACK_LIMIT is not used. The definition was commented out in rev 180 of the original Mercurial repo, and then completely removed in rev 2520, but the code guarded by it was left in.
* Remove __ARGS macro. Close #205Nicolas Pierron2014-03-02
| | | | | | | | | 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.
* Extract garray.c from misc2.cFelipe Oliveira Carvalho2014-02-28
| | | | Start to split misc2.c in many other files (see #209).
* Removes 'proto' dirscott-linder2014-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. */
* Delete local function strerror and USE_GETCWD define.Thomas Wienecke2014-02-25
| | | | Both are useless after porting mch_dirname to libuv.
* os_unix: Port mch_FullName and mch_isFullName to libuv.Thomas Wienecke2014-02-25
| | | | | Basically just delete conditional use of fchdir, since the other called mch_* functions are already ported to libuv.
* os_unix: Use libuv uv_cwd instead of getcwd/getwd.Thomas Wienecke2014-02-25
|
* Create new OS moduleThiago de Arruda2014-02-24
| | | | | This module will contain all functions that perform OS calls such as IO, filesystem access, etc.
* move libuv functions to os.c and io.c moduleRich Wareham2014-02-24
| | | | | | Despite being an io library, the functions currently implemented with libuv include some non-I/O tasks like getting the total amount of memory.
* os_unix: use libuv total memory functionRich Wareham2014-02-24
|
* os_unix: switch to libuv chdir() functionRich Wareham2014-02-24
|
* os_unix: add #include for libuvRich Wareham2014-02-24
|
* Convert function declarations from K&R to ANSI style.scott-linder2014-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Remove more #ifdef dead codeThiago de Arruda2014-02-01
|
* Fix build on OSX/Archlinux and add READMEaph2014-02-01
| | | | | | | | | | - 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
* Import vim from changeset v5628:c9cad40b4181Thiago de Arruda2014-01-31
- 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