emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Code cleanup.


From: Stefan Monnier
Subject: Re: Code cleanup.
Date: Mon, 23 Oct 2006 15:35:18 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

> in the course of checking the code for call-interactively (I have a
> tendency to read code rather than the documentation), I felt a bit
> like coming upon an obfuscated C contest.

> I attach a patch (untested though) that does nothing except hopefully
> get a more readable code.

> Ok, so we are in freeze anyway, so tampering with any code that works
> by replacing it with code designed to be completely equivalent is
> probably not worth the potential trouble.

> At what stage of development (if at all) should such janitorial
> changes be usually applied?

> And are there others that would agree with my assessment concerning
> the readability here, or that would have even better ideas how this
> would be expressed more obvious?

I'd replace

      if (*tem == 'r')
        j += 2;
      else
        j++;

with
 
      j += (*tem == 'r' ? 2 : 1);

but overall, it's a bit better.  In any case, I'd rather move most of it
to elisp, adding an alist variable that maps letters to the
corresponding function.

> On a completely different tangent: wouldn't it be much more readable
> (though likely not completely correct in some perverse manner) if
> diff-mode actually had its TAB positions in column 9,17,25... instead
> of the customary 8,16,24...?  At least in context and unified diffs,
> that would _much_ better reflect the relative indentation of the
> actual change than the current behavior.

For unified diffs, yes.  But for plain context diffs like the one you sent,
it'd have to be 10, 18, 26, ... and for files mixing the two it'd have to
be.... oh no!

Of course, it could all be done with display properties added from
diff-font-lock-keywords (and work even for mixed diffs).


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]