Heyhey

On Sun, Jan 4, 2015 at 4:42 PM, Matthias Rabault
<matthias.raba...@mailoo.org> wrote:
> I submitted a patch yesterday so that expandtab and tabwidth are set in
> config.def.h, but it was complete shit. Discard the other one. This one
> should be much better. I had to add arguments to editor_new().
>
> Sorry for yesterday's shitty patch.

In my opinion making mistakes is okay. You should have read up on how
the C pre-processor works before sending a first patch though.

I have only one comment (inline below).

> ---
>  config.def.h | 3 +++
>  editor.c     | 6 +++---
>  editor.h     | 2 +-
>  vis.c        | 3 +--
>  4 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/config.def.h b/config.def.h
> index aac28a8..70c1708 100644
> --- a/config.def.h
> +++ b/config.def.h
> @@ -12,6 +12,9 @@
>         { { NONE(127) },      (func), { .name = (arg) } }, \
>         { { CONTROL('B') },   (func), { .name = (arg) } }
>
> +#define TABWIDTH 8
> +#define EXPANDTAB false
> +
>  /* a mode contains a set of key bindings which are currently valid.
>   *
>   * each mode can specify one parent mode which is consultated if a given key
> diff --git a/editor.c b/editor.c
> index ef59242..ae7338f 100644
> --- a/editor.c
> +++ b/editor.c
> @@ -431,7 +431,7 @@ void editor_window_close(EditorWin *win) {
>         editor_draw(ed);
>  }
>
> -Editor *editor_new(int width, int height) {
> +Editor *editor_new(int width, int height, int tabwidth, bool expandtab) {
>         Editor *ed = calloc(1, sizeof(Editor));
>         if (!ed)
>                 return NULL;
> @@ -441,8 +441,8 @@ Editor *editor_new(int width, int height) {
>                 goto err;
>         ed->width = width;
>         ed->height = height;
> -       ed->tabwidth = 8;
> -       ed->expandtab = false;
> +       ed->tabwidth = tabwidth;
> +       ed->expandtab = expandtab;
>         ed->windows_arrange = windows_arrange_horizontal;
>         return ed;
>  err:
> diff --git a/editor.h b/editor.h
> index 5dcb122..e358923 100644
> --- a/editor.h
> +++ b/editor.h
> @@ -110,7 +110,7 @@ struct Editor {
>         bool expandtab;                   /* whether typed tabs should be 
> converted to spaces */
>  };
>
> -Editor *editor_new(int width, int height);
> +Editor *editor_new(int width, int height, int tabwidth, bool expandtab);
>  void editor_free(Editor*);
>  void editor_resize(Editor*, int width, int height);
>  void editor_draw(Editor*);
> diff --git a/vis.c b/vis.c
> index 7ccfa22..ee09be6 100644
> --- a/vis.c
> +++ b/vis.c
> @@ -55,7 +55,6 @@ typedef struct {
>
>  #define MAX_KEYS 2
>  typedef Key KeyCombo[MAX_KEYS];
> -

There is no need to remove this empty line in this patch. If you
really want to suggest to do so, send a new patch (but I don't think
such a patch will be very welcome).

>  typedef struct {
>         KeyCombo key;
>         void (*func)(const Arg *arg);
> @@ -1886,7 +1885,7 @@ int main(int argc, char *argv[]) {
>         mode_prev = mode = config->mode;
>         setup();
>
> -       if (!(vis = editor_new(screen.w, screen.h)))
> +       if (!(vis = editor_new(screen.w, screen.h, TABWIDTH, EXPANDTAB)))
>                 die("Could not allocate editor core\n");
>         if (!editor_syntax_load(vis, syntaxes, colors))
>                 die("Could not load syntax highlighting definitions\n");
> --
> 2.2.1
>
>

Reply via email to