> Can some mg user please test this ? It's getting
> so irritating that I want to smash my keyboard.

Noone tests patches which come without a detailed description.

> Index: dired.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/mg/dired.c,v
> retrieving revision 1.48
> diff -u -p -r1.48 dired.c
> --- dired.c   23 Jan 2011 00:45:03 -0000      1.48
> +++ dired.c   25 Jul 2011 15:36:51 -0000
> @@ -36,6 +36,9 @@ static int   d_rename(int, int);
>  static int    d_shell_command(int, int);
>  static int    d_create_directory(int, int);
>  static int    d_makename(struct line *, char *, size_t);
> +static int    d_forwpage(int, int);
> +static int    d_backpage(int, int);
> +static int    d_gotoline(int, int);
>  static void   reaper(int);
>  
>  extern struct keymap_s helpmap, cXmap, metamap;
> @@ -58,15 +61,15 @@ static PF diredcl[] = {
>       reposition,             /* ^L */
>       d_findfile,             /* ^M */
>       forwline,               /* ^N */
> -     rescan,                 /* ^O */
> +     d_gotoline,             /* ^O */
>       backline,               /* ^P */
>       rescan,                 /* ^Q */
>       backisearch,            /* ^R */
>       forwisearch,            /* ^S */
> -     rescan,                 /* ^T */
> +     d_backpage,             /* ^T */
>       universal_argument,     /* ^U */
>       forwpage,               /* ^V */
> -     rescan,                 /* ^W */
> +     d_forwpage,             /* ^W */
>       NULL                    /* ^X */
>  };
>  
> @@ -590,6 +593,36 @@ d_makename(struct line *lp, char *fn, si
>       if (strlcat(fn, p, len) >= len)
>               return (FALSE);
>       return ((lgetc(lp, 2) == 'd') ? TRUE : FALSE);
> +}
> +
> +static int
> +d_forwpage(int f, int n)
> +{
> +     forwpage(f | FFRAND, n);
> +     if ((strrchr(curwp->w_dotp->l_text, ' ')) != NULL)
> +             curwp->w_doto = strrchr(curwp->w_dotp->l_text, ' ') -
> +                curwp->w_dotp->l_text + 1;
> +     return TRUE;
> +}
> +
> +static int
> +d_backpage(int f, int n)
> +{
> +     backpage(f | FFRAND, n);
> +     if ((strrchr(curwp->w_dotp->l_text, ' ')) != NULL)
> +             curwp->w_doto = strrchr(curwp->w_dotp->l_text, ' ') -
> +                curwp->w_dotp->l_text + 1;
> +     return TRUE;
> +}
> +
> +static int
> +d_gotoline(int f, int n)
> +{
> +     gotoline(f | FFRAND, n);
> +     if ((strrchr(curwp->w_dotp->l_text, ' ')) != NULL)
> +             curwp->w_doto = strrchr(curwp->w_dotp->l_text, ' ') -
> +                curwp->w_dotp->l_text + 1;
> +     return TRUE;
>  }
>  
>  /*

Reply via email to