<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Oh, yes. Well, the solution was to create a new TextAttribute class,
named ShoutDisable. It seems to work OK and is now at GitHub.<br>
<br>
Cheers,<br>
<br>
On 6/14/2023 1:04 PM, Luciano Notarfrancesco via Cuis-dev wrote:
<blockquote
cite="mid:CAL5GDyqbe7C3+x6uODci0tOA12e3z6Mc4R7SV3u7gGpG=e1KCw@mail.gmail.com"
type="cite">
<div dir="auto">Juan, actually setting normal emphasis on printIt
breaks it, because the text looses any subscripts and
superscripts that it might have :/ What do you think we should
do?</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, 6 Jun 2023 at 21:35
Luciano Notarfrancesco <<a moz-do-not-send="true"
href="mailto:luchiano@gmail.com">luchiano@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div dir="auto">Nice, that’s simpler and more general than
setting the color, thanks.</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, 6 Jun 2023 at
21:21 Juan Vuletich <<a moz-do-not-send="true"
href="mailto:juan@cuis.st" target="_blank">juan@cuis.st</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin: 0px 0px
0px 0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000"> Hi Luciano,<br>
<br>
I did a few tweaks. Instead of TextColor dominating
any Shout Attribute, I made TextStyle normal do
that. Additionally, the final $. is added without
any attribute, so whatever follows it is back to
normal. Just pushed it to github.<br>
<br>
Thanks,</div>
<div bgcolor="#ffffff" text="#000000"><br>
<br>
<br>
On 6/6/2023 1:47 PM, Luciano Notarfrancesco via
Cuis-dev wrote:
<blockquote type="cite">
<div dir="ltr">
<div>Hi Juan,</div>
<div>Here are the changes. I've been using it
like this for a few days. It's very nice that
the syntax highlighter doesn't get confused
with printIts... I like it, and I think I'll
continue using it like this, unless we come up
with other better ideas.</div>
<div>Still I've been experiencing some problems,
sometimes underscores are not converted to
arrows, and sometimes the syntax highlighter
seems to stop working. I suspect the color
attribute I put might be spreading to the text
I type into the workspace, but I'm not sure,
my workspaces tend to get very messy so there
might be other reasons.</div>
<div>(It seems the clock is wrong in my
computer, I just noticed the wrong date in the
change set name, sorry)<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Jun 6,
2023 at 11:04 PM Juan Vuletich <<a
moz-do-not-send="true"
href="mailto:juan@cuis.st" target="_blank">juan@cuis.st</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:
0px 0px 0px 0.8ex; border-left: 1px solid
rgb(204, 204, 204); padding-left: 1ex;">
<div bgcolor="#ffffff"> Did this work well?
Would you post your code?<br>
<br>
Thanks,<br>
<br>
On 6/2/2023 12:28 PM, Luciano Notarfrancesco
via Cuis-dev wrote:
<blockquote type="cite">
<div dir="auto">Ah, great, I’m trying a
mix of both approaches: I enclose it in
double quotes and add a dot at the end,
and also set the color to the default
text color so shout doesn’t color it as
a comment. I’ll use it like this for a
while and see how it feels, and see if
there are still any problems with
coloring or underscores.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Thanks!</div>
<div dir="auto">Luciano</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On
Fri, 2 Jun 2023 at 16:31 Juan
Vuletich <<a
moz-do-not-send="true"
href="mailto:juan@cuis.st"
target="_blank">juan@cuis.st</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin: 0px 0px 0px 0.8ex;
border-left: 1px solid rgb(204, 204,
204); padding-left: 1ex;">
<div bgcolor="#ffffff"> My previous
answer is completely wrong,
because I conflated two issues you
raised.<br>
<br>
Your solution works well to avoid
styling the result of a printIt as
if it was Smalltalk code. But it
doesn't address the other issue
you raised, that is, after that
point, the styling of the rest of
the workspace is messed up.<br>
<br>
My suggestion (modifying #printIt
to enclose the result in double
quotes) actually addresses both
issues: comments are not styled,
and smalltalk code after them is
styled correctly. Maybe we'd push
this instead? Perhaps we'd also
tweak the style so it doesn't look
like comments, but the main point
is that parsing will be correct
afterward. We could also add a dot
after the comment, maybe that
makes Shout happier in case you
forgot to type it.<br>
<br>
The real fix would be to shout
from scratch after 2 empty lines.
That was the intended behavior
some time ago, and it works for
coloring but not for assignment
arrows. Fixing this is a bit more
complicated. so I'd sugges opening
an issue on GitHub so we don't
forget.<br>
<br>
Thanks,</div>
<div bgcolor="#ffffff"><br>
<br>
On 6/2/2023 11:36 AM, Luciano
Notarfrancesco via Cuis-dev wrote:
<blockquote type="cite">
<div dir="ltr">
<div dir="auto">Last week I
did the change to enclose
printIt output in double
quotes, and I used it like
that for a couple of days. I
didn’t really like it, but
perhaps I’m just not used to
it. It colored the printIt
output with the gray color
that I use for comments, and
for some reason it didn’t
feel right to me.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Another thing
that seems to cause problems
with highlighting is my
habit of neglecting to type
the last dot in the last
sentence, because it’s
optional in Smalltalk and I
never type it… but then it
confuses the syntax
highlighter, even if I leave
several empty lines between
fragments of code, it seems.</div>
<div dir="auto"><br>
</div>
<div dir="auto">It’s weird
that my change doesn’t work
for you. I just tried it in
the latest image and it
doesn’t seem to work, but it
works in my project image
and I can’t figure out why
it fails in the stock image.
See the attached change set.
I guess it would be more
correct to change
TextColor>>dominates:
adding "or: [other
isForShout and: [self
isForShout not]]", or
something like that... but
still, why doesn't it work?
If some part of the text has
attributes that dominate
over shout attributes it
shouldn't change them,
right? Is this a bug?</div>
<div dir="auto"><br>
</div>
<div>BTW, I'm not pushing to
adopt my change, I don't
know yet what's the best
solution.<br>
</div>
</div>
<div dir="auto"><br>
</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr"
class="gmail_attr">On Fri,
2 Jun 2023 at 15:23 Juan
Vuletich <<a
moz-do-not-send="true"
href="mailto:juan@cuis.st"
target="_blank">juan@cuis.st</a>>
wrote:<br>
</div>
<blockquote
class="gmail_quote"
style="margin: 0px 0px 0px
0.8ex; border-left: 1px
solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#ffffff">
Please see inline.<br>
<br>
On 6/2/2023 10:09 AM,
Juan Vuletich via
Cuis-dev wrote:
<blockquote type="cite">
I couldn't get that
idea to work. Would
you attach a
changeset?<br>
<br>
In any case, another
simple but maybe less
comfortable solution
is to enclose the
result in double
quotes, making it
comment.<br>
<br>
Thanks,<br>
</blockquote>
<br>
Of course the above is
completely wrong,
because I conflated two
issues you raised.<br>
<br>
Your solution works well
to avoid styling the
result of a printIt as
if it was Smalltalk
code. But it doesn't
address the other issue
you raised, that is,
after that point, the
styling of the rest of
the workspace is messed
up.<br>
<br>
My suggestion (modifying
#printIt to enclose the
result in double quotes)
actually addresses both
issues: comments are not
styled, and smalltalk
code after them is
styled correctly. Maybe
we'd push this instead?</div>
<div bgcolor="#ffffff"><br>
<br>
Thanks,<br>
<br>
<blockquote type="cite">
<br>
On 6/2/2023 7:23 AM,
Luciano Notarfrancesco
via Cuis-dev wrote:
<blockquote
type="cite">
<div dir="auto">Oh,
just after sending
this email I gave
it another try and
found a simple
solution. In
SmalltalkEditor>>#printIt
I set the color of
the output text to
Theme current
text, and I
changed
TextColor>>dominates:
adding “or: [other
isForShout]”.
That’s all :)</div>
<div><br>
<div
class="gmail_quote">
<div dir="ltr"
class="gmail_attr">On
Fri, 2 Jun
2023 at 11:59
Luciano
Notarfrancesco
<<a
moz-do-not-send="true"
href="mailto:luchiano@gmail.com" target="_blank">luchiano@gmail.com</a>>
wrote:<br>
</div>
<blockquote
class="gmail_quote"
style="margin:
0px 0px 0px
0.8ex;
border-left:
1px solid
rgb(204, 204,
204);
padding-left:
1ex;">
<div
dir="auto">I’ve
been thinking
how to prevent
the printIt
output to be
syntax
highlighted. I
think it’s
best to do
that because
the output is
not Smalltalk
code, so the
syntax
highlighter
gets it almost
always wrong.
It could be a
preference, or
it could be
specified in
the printOn:
methods that
know that the
output is not
Smalltalk
code. What do
you think? How
would you
implement it?
A new text
attribute
makes sense to
you or do you
have any other
idea?</div>
<div><br>
<div
class="gmail_quote">
<div dir="ltr"
class="gmail_attr">On Thu, 1 Jun 2023 at 20:53 Luciano Notarfrancesco
<<a
moz-do-not-send="true"
href="mailto:luchiano@gmail.com" target="_blank">luchiano@gmail.com</a>>
wrote:<br>
</div>
<blockquote
class="gmail_quote"
style="margin:
0px 0px 0px
0.8ex;
border-left:
1px solid
rgb(204, 204,
204);
padding-left:
1ex;">
<div
dir="auto">Oh,
that’s great,
using subpixel
antialiasing
just solved
the problem!
Thanks!</div>
<div
dir="auto"><br>
</div>
<div
dir="auto">I’ll
try NeoEuler.
It would be
nice to have
fallback fonts
too… some math
glyphs are
missing in
DejaVu… but
it’s not a big
deal. Another
minor
aesthetic
problem is
that the
syntax
highlighter
sometimes gets
confused with
the output of
printIt,
perhaps would
be better to
not apply
syntax
highlighting
to the output,
or to have the
option to
“lock” the
output text in
some printOn:
methods so
that the
syntax
highlighter
doesn’t change
it (perhaps a
new attribute?
not sure if
this makes
sense). Also
sometimes the
underscores
are not
converted to
arrows in a
workspace,
perhaps this
is related to
the syntax
highlighter
getting
confused.</div>
<div
dir="auto"><br>
</div>
<div
dir="auto">Thanks!</div>
<div
dir="auto">Luciano</div>
<div><br>
<div
class="gmail_quote">
<div dir="ltr"
class="gmail_attr">On Thu, 1 Jun 2023 at 17:42 Juan Vuletich <<a
moz-do-not-send="true"
href="mailto:juan@cuis.st" target="_blank">juan@cuis.st</a>> wrote:<br>
</div>
<blockquote
class="gmail_quote"
style="margin:
0px 0px 0px
0.8ex;
border-left:
1px solid
rgb(204, 204,
204);
padding-left:
1ex;">
<div
bgcolor="#ffffff">
Hi Luciano,<br>
<br>
On 5/30/2023
9:06 AM,
Luciano
Notarfrancesco
via Cuis-dev
wrote:
<blockquote
type="cite">
<div dir="ltr">
<div>BTW, in
case anyone is
curious, here
is how
matrices look
when printing
them on a
workspace with
cmd-p. I draw
matrices over
the binary
field in a
special way
(first
screenshot),
and I scale
them down if
they are too
big.</div>
<div>I did
this because
it was hard to
make matrices
look good when
printing them
as text, so
instead I draw
them on a form
and embed the
form when
printing them.
I only do this
with matrices,
they are
especially
problematic
when printing
because they
print with
more than one
line, they are
the only
objects in my
system that
need more than
one line for
printing. When
I printed them
as text with
more than one
line, printing
a list of
matrices (for
example an
array of
matrices, as
in the example
where I print
a basis of a
vector space
in the
screenshots)
they would
look horrible.
Now a list of
matrices is
printed in a
single line as
expected, and
the point size
of the
enclosing
parentheses is
adjusted
automatically
(I have
messages
Stream>>#withParentheses:,
#withBrackets:,
#withAngleBrackets:,
etc, that do
this
automatically).</div>
</div>
</blockquote>
<br>
It looks
beautiful!<br>
<br>
<blockquote
type="cite">
<div dir="ltr">
<div>I still
have two
little
problems that
I might want
to tweak:</div>
<div>1) the
parentheses
are too thick,
setting the
point size is
not the right
thing to do,
maybe we need
a new text
attribute for
scaling text
without
changing the
point size?;</div>
</div>
</blockquote>
<br>
The easiest
solution is to
use a
different
font, just for
the
parentheses.
For example,
NeoEuler
parentheses
are much
lighter at
large point
sizes.<br>
<br>
<blockquote
type="cite">
<div dir="ltr">
<div>2)
matrices
inside
matrices loose
the
transparent
background,
the background
becomes black,
as you see in
the example in
the second
screenshot.<br>
</div>
</div>
</blockquote>
<br>
I guess this
should be
fixable. If
you can
prepare an
image with
such example
for me to play
with, I'll
give it a try.
For example
(not sure if
related)
VectorEngine
can do
blending over
translucent
backgrounds,
but only if
subpixel
sampling is
used. I know,
there is no
relation
between these
two
features...
But I wanted
to keep
options to a
small number,
and usually we
only use
cheaper whole
pixel AA and
cheaper alpha
blending that
can't blend
over
translucent
backgrounds.
So, maybe just
using the
SubPixel
engine solves
this problem,
or I'll be
happy to take
a look.<br>
<br>
<blockquote
type="cite"><br>
<div
class="gmail_quote">
<div dir="ltr"
class="gmail_attr">On Tue, May 30, 2023 at 7:27 PM Luciano
Notarfrancesco
<<a
moz-do-not-send="true"
href="mailto:luchiano@gmail.com" target="_blank">luchiano@gmail.com</a>>
wrote:<br>
</div>
<blockquote
class="gmail_quote"
style="margin:
0px 0px 0px
0.8ex;
border-left:
1px solid
rgb(204, 204,
204);
padding-left:
1ex;">
<div dir="ltr">
<div>This
change set
fixes a little
bug in
VectorCanvas
that cames up
when using the
canvas to draw
text with
images on a
form (outside
morphic). I do
this to draw
matrices, and
when drawing a
matrix whose
coefficients
are also
matrices this
came up. The
fix is simply
checking that
the world is
not nil.<br>
</div>
</div>
</blockquote>
</div>
</blockquote>
<br>
Integrated and
at GitHub.
Thanks!<br>
<br>
Cheers, <br>
</div>
<div
bgcolor="#ffffff">
<pre style="font-family: monospace;" cols="72">--
Juan Vuletich
<a moz-do-not-send="true" href="http://cuis.st" style="font-family: monospace;" target="_blank">cuis.st</a>
<a moz-do-not-send="true" href="http://github.com/jvuletich" style="font-family: monospace;" target="_blank">github.com/jvuletich</a>
<a moz-do-not-send="true" href="http://researchgate.net/profile/Juan-Vuletich" style="font-family: monospace;" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="http://independent.academia.edu/JuanVuletich" style="font-family: monospace;" target="_blank">independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family: monospace;" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family: monospace;" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="http://twitter.com/JuanVuletich" style="font-family: monospace;" target="_blank">twitter.com/JuanVuletich</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
<br>
<pre style="font-family: monospace;" cols="72">--
Juan Vuletich
<a moz-do-not-send="true" href="http://cuis.st" style="font-family: monospace;" target="_blank">cuis.st</a>
<a moz-do-not-send="true" href="http://github.com/jvuletich" style="font-family: monospace;" target="_blank">github.com/jvuletich</a>
<a moz-do-not-send="true" href="http://researchgate.net/profile/Juan-Vuletich" style="font-family: monospace;" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="http://independent.academia.edu/JuanVuletich" style="font-family: monospace;" target="_blank">independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family: monospace;" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family: monospace;" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="http://twitter.com/JuanVuletich" style="font-family: monospace;" target="_blank">twitter.com/JuanVuletich</a></pre>
</blockquote>
<br>
<br>
<pre style="font-family: monospace;" cols="72">--
Juan Vuletich
<a moz-do-not-send="true" href="http://cuis.st" style="font-family: monospace;" target="_blank">cuis.st</a>
<a moz-do-not-send="true" href="http://github.com/jvuletich" style="font-family: monospace;" target="_blank">github.com/jvuletich</a>
<a moz-do-not-send="true" href="http://researchgate.net/profile/Juan-Vuletich" style="font-family: monospace;" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="http://independent.academia.edu/JuanVuletich" style="font-family: monospace;" target="_blank">independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family: monospace;" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family: monospace;" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="http://twitter.com/JuanVuletich" style="font-family: monospace;" target="_blank">twitter.com/JuanVuletich</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
<br>
<pre style="font-family: monospace;" cols="72">--
Juan Vuletich
<a moz-do-not-send="true" href="http://cuis.st" style="font-family: monospace;" target="_blank">cuis.st</a>
<a moz-do-not-send="true" href="http://github.com/jvuletich" style="font-family: monospace;" target="_blank">github.com/jvuletich</a>
<a moz-do-not-send="true" href="http://researchgate.net/profile/Juan-Vuletich" style="font-family: monospace;" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="http://independent.academia.edu/JuanVuletich" style="font-family: monospace;" target="_blank">independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family: monospace;" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family: monospace;" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="http://twitter.com/JuanVuletich" style="font-family: monospace;" target="_blank">twitter.com/JuanVuletich</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
<br>
<pre style="font-family: monospace;" cols="72">--
Juan Vuletich
<a moz-do-not-send="true" href="http://cuis.st" style="font-family: monospace;" target="_blank">cuis.st</a>
<a moz-do-not-send="true" href="http://github.com/jvuletich" style="font-family: monospace;" target="_blank">github.com/jvuletich</a>
<a moz-do-not-send="true" href="http://researchgate.net/profile/Juan-Vuletich" style="font-family: monospace;" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="http://independent.academia.edu/JuanVuletich" style="font-family: monospace;" target="_blank">independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family: monospace;" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family: monospace;" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="http://twitter.com/JuanVuletich" style="font-family: monospace;" target="_blank">twitter.com/JuanVuletich</a></pre>
</div>
</blockquote>
</div>
</blockquote>
<br>
<br>
<pre style="font-family: monospace;" cols="72">--
Juan Vuletich
<a moz-do-not-send="true" href="http://cuis.st" style="font-family: monospace;" target="_blank">cuis.st</a>
<a moz-do-not-send="true" href="http://github.com/jvuletich" style="font-family: monospace;" target="_blank">github.com/jvuletich</a>
<a moz-do-not-send="true" href="http://researchgate.net/profile/Juan-Vuletich" style="font-family: monospace;" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="http://independent.academia.edu/JuanVuletich" style="font-family: monospace;" target="_blank">independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family: monospace;" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family: monospace;" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="http://twitter.com/JuanVuletich" style="font-family: monospace;" target="_blank">twitter.com/JuanVuletich</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
</body>
</html>