#126 Patch Collection

Program (79)

This is a collection of some NEdit patches, tied to one
convenient package.
- Show Hidden Files
- Smart Case Search
- Macro Variable $NEDIT_HOME
- Help Window Enhancements
- Arne Fřrlie's Selected Character Count


<< < 1 2 3 4 5 .. 11 > >> (Page 3 of 11)
  • Tony Balinski

    Tony Balinski - 2006-02-01

    Logged In: YES

    The latest patch file doesn't contain backup.[ch]. I get
    build failures after patching. Any chance of a new patch file?

  • Thorsten Haude

    Thorsten Haude - 2006-02-01

    Logged In: YES

    None of them does. I once tried to figure out how to include
    them but failed. Instead of trying again, I just provide the
    two files along with the patch. I never touched the two
    files, so just take them from this page or from the original

  • Thorsten Haude

    Thorsten Haude - 2006-02-20

    Logged In: YES

    The cursorline is not deleted in certain cases if you use
    forward/backward_paragraph(). Pretty obscure, but I will
    have another look eventually.

  • Jens Guballa

    Jens Guballa - 2006-08-05

    Logged In: YES

    Concerning the forward/backward_paragraph problem:
    I solved this problem by inserting one statement in
    redisplayLineCur-function (within the
    "if (lineStartPos != oldLineStart) {" branch):

    textD->oldLineStart = lineStartPos;

  • Thorsten Haude

    Thorsten Haude - 2006-08-13

    Logged In: YES

    Thanks for that hint! I see another display bug after this
    change: Right after startup, the hairline is erased in top
    two lines.

    I will try to find out how these changes work and unmerge them.

  • Jens Guballa

    Jens Guballa - 2006-08-16

    Logged In: YES

    I found some other odd behaviours concerning the highlighted

    - The text area is flashing whenever the nedit window gets
    the mouse
    focus. This is especially notable when running nedit on slow
    I think the reason is that the whole text widget is redrawn
    the resource textNshowCursorline is set. In function
    setValues (text.c)
    I tried to use the function TextDSetShowCursorline that is
    commented out, and the flashing problem is gone. But now the
    wrap hair
    line is not always restored correctly, e.g. after inserting
    a new line
    the hairline is erased in some lines.

    - Corrupted area left to the text widget.
    I did the following: open any file, highlighted cursor line
    is on,
    language mode is "plain" (important!). Now I decreased the
    window width
    so that the horizontal scroll bar can be used and I dragged the
    scrollbar and moved it to the right. The text of the
    cursorline is now
    shifted beyond the border of the text area, i.e. the small
    area between
    the line numbers (if switched on) and the text area is
    corrupted. As
    this only happens in "plain" language mode, I could find the
    In the function resetClipRectangles (textDisp.c) the GCs for
    the cursor
    line are missing. May be the GCs for the cursorline must be
    added at
    some other places, too, e.g. function TextDFree.

    - Split Pane: I just did the following: Open any file
    (cursor line is
    highlighted), split pane. Now switch off the cursor line
    in the default preference menu. The 1st pane (who had the
    focus) still
    shows the cursorline highlighted. Only if the focus changes
    to any other
    window and then changes back to the nedit window, the
    cursorline is
    unhighlighted. But if now the focus is changed to the 2nd
    pane, the
    cursor line in the first plane is highlighted again by accident.
    Changing back the focus to the 1st pane now highlights the
    cursor line
    in the 2nd pane. I changed the function ChangeLastFocus
    (window.c), so
    that the textNshowCursorline resource is always set to false
    (instead of
    "!showCursorline" for the last-focus window (I assume that
    for a split
    pane the cursor line should only be shown in the active pane.)

    - Detached Tab: If a detached tab exists, and if then the
    preferences for the highlighted cursor line is changed, only
    the current
    window will be updated, but I would expect that all other
    windows should
    be updated as well.

    I really like the highlighted cursorline and I can't life
    anymore. I am glad if I can contribute something to make
    this feature
    more stable.

    If there is a better place to report bugs like these (e.g.
    list), please let me know.

  • Thorsten Haude

    Thorsten Haude - 2006-08-17

    Logged In: YES

    Why, thank you! Some of these I never noticed.

    1. Merging these two patches was not easy, and it seems that
    it's not done yet. I will have a look next week.

    2. Good catch! This is one I noticed, but never cared enough
    for it.

    3. Tony wrote it your way, I changed it. Can't say why at
    the moment, I hope it's not the hairline again.

    4. True, that will change. I'm not sure yet whether it
    should be a global option or a preference.

    If you continue to provide your solutions right away I'd say
    keep it here. For any discussion, use the mailing list.

    Thanks again!

  • Jens Guballa

    Jens Guballa - 2006-08-18

    Logged In: YES

    I might have an idea why the complete widget is redrawn when
    the resource textNshowCursorline is set:

    If only the current line is redrawn, then the wrap hairline
    might be erased in some single lines. The reason here is
    that the function redisplayLine does now a little bit more
    than the name says: It does not only redisplay the
    specified line, it might also redisplay the line of the
    previous cursor location (to unhighlight it). This is not
    taken into account when checking for the need to redraw the
    hairline. I assume that this behaviour was the reason to
    redisplay the complete widget.

    Here are my changes for this problem:

    - In function setValues I am using TextDSetShowCursorline
    instead of setting the redraw flag (like mentioned in the
    previous post).

    - In function redisplayCursor I have added a check to
    redraw the hairline whenever the cursor line has changed:

    cursorLineChanged = (textD->oldCursorPos !=
    textD->cursorPos ||
    textD->oldLineStart != lineStart);

    redisplayLine(textD, cursorLine, 0, INT_MAX, startIndex,

    if (cursorLineChanged) {
    /* Hairline destroyed in old cursor line!
    ** Redraw neccessary.


  • Jens Guballa

    Jens Guballa - 2006-08-18

    Logged In: YES

    Additional note: Up to now I was not aware of the problem with
    the erased hairline in the first two lines when starting
    nedit, but the changes in the function redisplayCursor seem to
    solve this problem, too.

  • Thorsten Haude

    Thorsten Haude - 2006-08-18

    Logged In: YES

    Ok, one at a time. This is the current status:
    - GCs are covered
    - Cursorline is unshown in non-active panes

    - A new (or so far undiscoverd) display bug: Hairline is not
    redrawn on pageup/down.

<< < 1 2 3 4 5 .. 11 > >> (Page 3 of 11)

Log in to post a comment.