MOO-cows Mailing List Archive

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

Re: 1.8.0 upgrade core fixes?



At 11:00 AM 3/20/96 PST, you wrote:
>   Also, could someone please send me the fix for the editors spamming 
>   people with the editor room desc when they enter the editor?
>
>Someone mentioned this bug to me---but I can't get this bug to occur.
>Admittedly it's on JHM, which has a significantly hacked core, but
>the editors (specifically :enterfunc, :look_self, and :description,
>which would be the relevant verbs here) have not been changed.  So I'm
>curious just *how* such a problem could exist.

This appears on E_MOO:

Message 296 on *Ideas (#93):
Date:     Thu Mar 14 08:11:52 1996 MET
From:     Brian (#748)
To:       *Ideas (#93)
Subject:  Fix for $generic_editor:description

To stop the annoying display of the editor help screen EVERY TIME someone
enters the editor, could somewiz change $generic_editor:description line 5 to
elseif (!(c[2] in {"look_self","pass"}))
--------------------------

And here is the verb in question, after the change mentioned above was
applied. You'll have to make your own judgement as to if this verb is
different than the one you are trying to produce the bug with, Judy.  As far
as I can tell from the changelog concerning E_MOO's core, this verb was not
changed except for the above patch.

@program $generic_editor:description   this none this
 1:  is_look_self = 1;
 2:  for c in (callers())
 3:    if (is_look_self && c[2] in {"enterfunc", "confunc"})
 4:      return {"", "Do a 'look' to get the list of commands, or 'help' for
 assistance.", "", @this.description};
 5:    elseif (!(c[2] in {"look_self", "pass"}))
 6:      is_look_self = 0;
 7:    endif
 8:  endfor
 9:  d = {"Commands:", ""};
10:  col = {{}, {}};
11:  for c in [1..2]
12:    for cmd in (this.commands2[c])
13:      cmd = this:commands_info(cmd);
14:      col[c] = {cmdargs = $string_utils:left(cmd[1] + " ", 12) + cmd[2], 
 @col[c]};
15:    endfor
16:  endfor
17:  i1 = length(col[1]);
18:  i2 = length(col[2]);
19:  right = 0;
20:  while (i1 || i2)
21:    if (!(i1 && length(col[1][i1]) > 35 || (i2 && length(col[2][i2]) > 35)))
22:      d = {@d, $string_utils:left(i1 ? col[1][i1] | "", 40) + (i2 ?
 col[2][i2] | "")};
23:      i1 && (i1 = i1 - 1);
24:      i2 && (i2 = i2 - 1);
25:      right = 0;
26:    elseif (right && i2)
27:      d = {@d, length(col[2][i2]) > 35 ? $string_utils:right(col[2][i2], 75)
 | $string_utils:space(40) + col[2][i2]};
28:      i2 = i2 - 1;
29:      right = 0;
30:    elseif (i1)
31:      d = {@d, col[1][i1]};
32:      i1 = i1 - 1;
33:      right = 1;
34:    else
35:      right = 1;
36:    endif
37:  endwhile
38:  return {@d, "", "----  Do `help <cmdname>' for help with a given command.
  ----", "", "  <ins> ::= $ (the end) | [^]n (above line n) | _n (below line n)
 | . (current)", "<range> ::= <lin> | <lin>-<lin> | from <lin> | to <lin> |
 from <lin> to <lin>", "  <lin> ::= n | [n]$ (n from the end) | [n]_ (n before
 .) | [n]^ (n after .)", "`help insert' and `help ranges' describe these in
 detail.", @this.description};
39:  // >>>:TIME1.0: Compiled by ThwartedEfforts (#2) on Fri Mar 15 07:45:17
1996 MET

Andy.




Home | Subject Index | Thread Index