GNU bug report logs -
#9943
24.0.91; Abort in check_glyph_memory
Previous Next
Reported by: martin rudalics <rudalics <at> gmx.at>
Date: Thu, 3 Nov 2011 09:20:02 UTC
Severity: normal
Tags: moreinfo
Merged with 8775,
12235
Found in versions 24.0.50, 24.0.91, 24.0.92, 24.1.50
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #28 received at 9943 <at> debbugs.gnu.org (full text, mbox):
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: Glenn Morris <rgm <at> gnu.org>, 9943 <at> debbugs.gnu.org
> Date: Thu, 03 Nov 2011 20:35:04 -0400
>
> > Thanks, I installed the same fix in xfns.c.
>
> All this code duplication is really a bore. We should really create
> a new file (say "dispfns.c") where we can consolidate common code from
> xfns, nsfns, and w32fns.
I agree. How about filing a wishlist bug for that?
> A good start would be that whenever we have to make the same fix at
> all 3 places, we rearrange the code locally to call a new function
> in dispfns.c which would receive the common part where the fix can
> then be applied.
The problem is that the code is similar, but different, with
platform-specific fragments sprinkled all over. So refactoring it
into a single implementation is not a trivial job. Making a function
out of every common fragment is not the best idea, since it will
typically depend on local and static variables and static functions.
Quite to the opposite: extracting platform-specific snippets into
functions with platform-specific implementation might be a better
idea. Or not, it all depends on careful analysis that should be done
as a prerequisite to deciding which way is better.
So it's not an easy editing job, even if you want to approach this
incrementally. I think it's rather a refactoring project that should
be taken as a whole, or maybe as a few large sub-jobs.
This bug report was last modified 12 years and 98 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.