Loading ...
Sorry, an error occurred while loading the content.

Re: [Clip] ^!If Bug ?

Expand Messages
  • Alan_C
    ... But why test the same thing twice? (their order is irrelevant. checking the two items for a match or not is what you are doing) If task at hand be whether
    Message 1 of 21 , Jan 5, 2005
    • 0 Attachment
      John Mitchell wrote:
      > Unless this is only happening to me, then it looks like a bug.
      >
      > ; Start of clip -------
      > ^!Set %comment%=">>"
      > ^!Select paragraph
      > ^!Set %Str%=^$StrCopyLeft(^$GetSelection$;2)$
      > ^!If ^%Str%=^%comment% ^!Prompt ^%Str%=^%comment%
      > ^!If ^%comment%=^%Str% ^!Prompt ^%comment%=^%Str%
      > ; End of clip -------
      >
      > If I run it against an open document containing arbitrary text the first
      > ^!If tests TRUE and the second tests FALSE, except when the first two
      > characters of the current paragraph are >>, in which case both tests
      > resolve to FALSE!!

      But why test the same thing twice? (their order is irrelevant.
      checking the two items for a match or not is what you are doing)

      If task at hand be whether or not strings match (rather than working
      with digits) then I tend to use IfSame rather then If but that might be
      my personal preference. (some languages treat digits different than
      alpha text. essentially with alpha text, either you have a match or you
      don't. but with digits, can have a less than, equals, greater than or
      even: =>
      (equal to or greater than) such as: ^!If ^%amount% => 7 Skip

      ^!IfSame "^%Str%" "^%comment%"

      ^!IfDiff "^%Str%" "^%comment%" Skip
      ^!Prompt Str and comment match
      ;----------

      Is there an IfDiff? I'm on Linux right now practicing Perl. Tomorrow I
      boot up Windows. I'll soon have to try that Win Emulator (WinE) on
      Linux and see if Notetab will run on it.

      Alan.
    • RS
      John, ... It is true what you say that, in your example, one IF evaluates one way, and the other differently. To have it work as expected, you should enclose
      Message 2 of 21 , Jan 5, 2005
      • 0 Attachment
        John,

        At 2005/01/06 13:47 +1100 you wrote:

        >Unless this is only happening to me, then it looks like a bug.
        >
        >; Start of clip -------
        >^!Set %comment%=">>"
        >^!Select paragraph
        >^!Set %Str%=^$StrCopyLeft(^$GetSelection$;2)$
        >^!If ^%Str%=^%comment% ^!Prompt ^%Str%=^%comment%
        >^!If ^%comment%=^%Str% ^!Prompt ^%comment%=^%Str%
        >; End of clip -------
        >
        >If I run it against an open document containing arbitrary text the first
        >^!If tests TRUE and the second tests FALSE, except when the first two
        >characters of the current paragraph are >>, in which case both tests
        >resolve to FALSE!!


        It is true what you say that, in your example, one IF evaluates one way, and the other differently.

        To have it work as expected, you should enclose the variables to be compared in double-quotes:

        ^!If "^%Str%"="^%comment%" ^!Prompt FIRST IF -> ^%Str%=^%comment%
        ^!If "^%comment%"="^%Str%" ^!Prompt SECOND IF -> ^%comment%=^%Str%

        Notice how Alan in his reply also quoted the variables:

        ^!IfSame "^%Str%" "^%comment%"



        Best regards,

        Ramon Silvera
        Author of ClipWriter and InSight
        http://www.dataomega.com/insight
        http://ptools.home.att.net/ClipWriter/cw.htm
      • Alan_C
        ... [ . . ] ... [ . . ] ... ^!IfSame ^%Str% ^%comment% next else Skip ^!Prompt Str and comment match ;---------- That (next else Skip) does the same duty
        Message 3 of 21 , Jan 5, 2005
        • 0 Attachment
          Alan_C wrote:
          > John Mitchell wrote:
          [ . . ]
          >
          [ . . ]
          > ^!IfDiff "^%Str%" "^%comment%" Skip
          > ^!Prompt Str and comment match
          > ;----------
          >
          > Is there an IfDiff?

          ^!IfSame "^%Str%" "^%comment%" next else Skip
          ^!Prompt Str and comment match
          ;----------

          That (next else Skip) does the same duty as IfDiff does, whether or not
          there is an IfDiff

          Alan.
        • John Mitchell
          Alan Did you try the code? What happened on your system? The fragment I submitted demonstrates a bug (I think). It s not intended to make sense. I m hoping
          Message 4 of 21 , Jan 5, 2005
          • 0 Attachment
            Alan

            Did you try the code? What happened on your system?

            The fragment I submitted demonstrates a bug (I think). It's not intended
            to make sense. I'm hoping someone can try executing it and then confirm
            or deny the bug or else explain why it doesn't work as expected.

            Regards, John M

            ----- Original message -----
            From: "Alan_C" <acumming@...>
            To: ntb-clips@yahoogroups.com
            Date: Wed, 05 Jan 2005 20:35:42 -0800
            Subject: Re: [Clip] ^!If Bug ?


            John Mitchell wrote:
            > Unless this is only happening to me, then it looks like a bug.
            >
            > ; Start of clip -------
            > ^!Set %comment%=">>"
            > ^!Select paragraph
            > ^!Set %Str%=^$StrCopyLeft(^$GetSelection$;2)$
            > ^!If ^%Str%=^%comment% ^!Prompt ^%Str%=^%comment%
            > ^!If ^%comment%=^%Str% ^!Prompt ^%comment%=^%Str%
            > ; End of clip -------
            >
            > If I run it against an open document containing arbitrary text the first
            > ^!If tests TRUE and the second tests FALSE, except when the first two
            > characters of the current paragraph are >>, in which case both tests
            > resolve to FALSE!!

            But why test the same thing twice? (their order is irrelevant.
            checking the two items for a match or not is what you are doing)

            If task at hand be whether or not strings match (rather than working
            with digits) then I tend to use IfSame rather then If but that might be
            my personal preference. (some languages treat digits different than
            alpha text. essentially with alpha text, either you have a match or you
            don't. but with digits, can have a less than, equals, greater than or
            even: =>
            (equal to or greater than) such as: ^!If ^%amount% => 7 Skip

            ^!IfSame "^%Str%" "^%comment%"

            ^!IfDiff "^%Str%" "^%comment%" Skip
            ^!Prompt Str and comment match
            ;----------

            Is there an IfDiff? I'm on Linux right now practicing Perl. Tomorrow I
            boot up Windows. I'll soon have to try that Win Emulator (WinE) on
            Linux and see if Notetab will run on it.

            Alan.
          • Alan_C
            ... 1. same here. ... 2. same here. ... Not obvious. It is just my speculation. # 2 above, each variable has inside it. combine that with the = that you
            Message 5 of 21 , Jan 5, 2005
            • 0 Attachment
              John Mitchell wrote:

              >^!Set %comment%=">>"
              >^!Select paragraph
              >^!Set %Str%=^$StrCopyLeft(^$GetSelection$;2)$
              >^!If ^%Str%=^%comment% ^!Prompt ^%Str%=^%comment%
              >^!If ^%comment%=^%Str% ^!Prompt ^%comment%=^%Str%
              >; End of clip -------
              >
              >If I run it against an open document containing arbitrary text the first
              >^!If tests TRUE and the second tests FALSE
              >
              1. same here.

              >, except when the first two
              >characters of the current paragraph are >>, in which case both tests
              >resolve to FALSE!!
              >
              >
              2. same here.

              >Am I about to be mightily embarrassed when someone points out an obvious
              >explanation?
              >
              Not obvious. It is just my speculation.

              # 2 above, each variable has >> inside it.

              combine that with the = that you have in between each of the two
              variables results in:

              >>=>>

              And that looks like it could mean "greater than or equal to"

              Perhaps the parser gets confused. Technically I suppose it shouldn't.

              I just tested:

              ^!Set %comment%=">>"
              ^!Select paragraph
              ^!Set %Str%=^$StrCopyLeft(^$GetSelection$;2)$
              ^!IfSame "^%comment%" "^%Str%" next else Skip
              ^!Prompt ^%comment% ^%Str%
              ;--------

              Works fine.

              Alan.
            • John Mitchell
              Alan Thanks. I ve submitted a bug report. Regards, John M ... From: Alan_C To: ntb-clips@yahoogroups.com Date: Wed, 05 Jan 2005 22:01:10
              Message 6 of 21 , Jan 5, 2005
              • 0 Attachment
                Alan

                Thanks. I've submitted a bug report.

                Regards, John M

                ----- Original message -----
                From: "Alan_C" <acumming@...>
                To: ntb-clips@yahoogroups.com
                Date: Wed, 05 Jan 2005 22:01:10 -0800
                Subject: Re: [Clip] ^!If Bug ?


                John Mitchell wrote:

                >^!Set %comment%=">>"
                >^!Select paragraph
                >^!Set %Str%=^$StrCopyLeft(^$GetSelection$;2)$
                >^!If ^%Str%=^%comment% ^!Prompt ^%Str%=^%comment%
                >^!If ^%comment%=^%Str% ^!Prompt ^%comment%=^%Str%
                >; End of clip -------
                >
                >If I run it against an open document containing arbitrary text the first
                >^!If tests TRUE and the second tests FALSE
                >
                1. same here.

                >, except when the first two
                >characters of the current paragraph are >>, in which case both tests
                >resolve to FALSE!!
                >
                >
                2. same here.
              • Alan_C
                (I wonder if John saw RS s post about quoting the variable names) I went to the www interface of Yahoo Groups. There I saw RS s post from earlier in the day
                Message 7 of 21 , Jan 5, 2005
                • 0 Attachment
                  (I wonder if John saw RS's post about quoting the variable names)

                  I went to the www interface of Yahoo Groups. There I saw RS's post from
                  earlier in the day of which it's now three hours since RS sent that post
                  to this list and I have still not received that post via the email.

                  That's been happening a lot here lately. Unless I wait a day or longer
                  to reply or else go to the www Yahoo groups interface, then I am taking
                  a risk that I'll post to the list and duplicate what someone else has
                  already posted.

                  I'm curious: Is this a list wide thing or am I the only one it happens
                  to or is it happen to only a small percentage of list recipients?

                  Alan.

                  John Mitchell wrote:
                  > Alan
                  >
                  > Thanks. I've submitted a bug report.
                  >
                  > Regards, John M
                  >
                  > ----- Original message -----
                  > From: "Alan_C" <acumming@...>
                  > To: ntb-clips@yahoogroups.com
                  > Date: Wed, 05 Jan 2005 22:01:10 -0800
                  > Subject: Re: [Clip] ^!If Bug ?
                  >
                  >
                  > John Mitchell wrote:
                  >
                  >>^!Set %comment%=">>"
                  >>^!Select paragraph
                  >>^!Set %Str%=^$StrCopyLeft(^$GetSelection$;2)$
                  >>^!If ^%Str%=^%comment% ^!Prompt ^%Str%=^%comment%
                  >>^!If ^%comment%=^%Str% ^!Prompt ^%comment%=^%Str%
                  >>; End of clip -------
                  >>
                  >>If I run it against an open document containing arbitrary text the first
                  >>^!If tests TRUE and the second tests FALSE
                  >>
                  > 1. same here.
                  >
                  >>, except when the first two
                  >>characters of the current paragraph are >>, in which case both tests
                  >>resolve to FALSE!!
                  >>
                  >>
                  > 2. same here.
                • Don - htmlfixit.com
                  I played with this some more using the following clip: ; Start of clip ------- ^!Jump Doc_Start ^!Set %comment%=
                  Message 8 of 21 , Jan 6, 2005
                  • 0 Attachment
                    I played with this some more using the following clip:
                    ; Start of clip -------
                    ^!Jump Doc_Start
                    ^!Set %comment%="<h"
                    :Loop
                    ^!Select paragraph
                    ^!Set %Str%=^$StrCopyLeft(^$GetSelection$;2)$
                    ^!Info [C]str:*^%Str%* comment:*^%comment%*
                    ^!If "^%Str%"="^%comment%" ^!Prompt Prompt One: ^%Str%=^%comment%
                    ^!Info [C]str:*^%Str%* comment:*^%comment%*
                    ^!If "^%comment%"="^%Str%" ^!Prompt Prompt Two: ^%comment%=^%Str%
                    ^!Info [C]str:*^%Str%* comment:*^%comment%*
                    ^!Jump Select_End
                    ^!Jump +1
                    ^!Goto Loop
                    ; End of clip -------

                    I ran it on an html file (which has a couple of <h tags near the top).
                    I think a couple of things may be coming into play:
                    1. I think that >> may have some special meaning as it syntax highlights
                    and appears to include a return in the info box as it's value.
                    2. I think that you should be using quotes if you are trying to compare
                    strings. Without quotes I think that what it does is give a 0 or 1
                    value for null or not null. Because they are both not null, I think
                    that you get positive results when you thought you were comparing string
                    content because you are instead testing true/false for content. I think
                    that this won't work correctly with >> on a true/false basis because it
                    isn't a typical string. It seemed to work correctly and test true/false
                    with a different string outside of quotes. If you add quotes, like I
                    did above, then it works as you would have expected it to the first time
                    I think.

                    So is this a bug? Maybe not.
                  • Don - htmlfixit.com
                    ... I just did it on the bug one myself. I got all the other replies after I posted one thinking geez, nobody really dug into this yet. I post then promptly
                    Message 9 of 21 , Jan 6, 2005
                    • 0 Attachment
                      > That's been happening a lot here lately. Unless I wait a day or longer
                      > to reply or else go to the www Yahoo groups interface, then I am taking
                      > a risk that I'll post to the list and duplicate what someone else has
                      > already posted.
                      >
                      > I'm curious: Is this a list wide thing or am I the only one it happens
                      > to or is it happen to only a small percentage of list recipients?

                      I just did it on the bug one myself. I got all the other replies after
                      I posted one thinking geez, nobody really dug into this yet. I post
                      then promptly recieve several others. It seems to happen when it wants
                      to. It may also have to do with moderation sometimes. If a moderated
                      person posts, it will appear once approved but dated/timed as of the
                      original sent time. I have also noticed that time on the senders
                      machine, if off, will affect how the message is handled. Recently
                      someone (no names used to protect the party ;-) ) had their computer
                      off 12 hours and I was getting their messages popping up higher than the
                      other current messages.

                      I just want to say thanks to our moderators. I do several lists and I
                      know it gets busy at times. It sure is nice to have a spam free list on
                      the other hand. I know how much spam my groups get, so I know how often
                      you all are undoubtely taking a viagra spam for our benefit.
                    • Jody
                      Hi John, Thanks for sending it to me at bugs@fookes.com. Sorry for getting in on this late. Been busy elsewhere. ;) This *may be* happening because is a
                      Message 10 of 21 , Jan 6, 2005
                      • 0 Attachment
                        Hi John,

                        Thanks for sending it to me at bugs@....

                        Sorry for getting in on this late. Been busy elsewhere. ;)

                        This *may be* happening because ">>" is a special code from the old
                        days so it is confusing the interpreter...

                        In ^!Info it is the same as ^p, cr/lf, line break.

                        ^!Info See the>>line break?>>>>Also, see what the variable contains in the ^!Info.

                        ^!Insert >>text
                        ^!Set %comment%=>>
                        ^!Select Line
                        ^!Set %Str%=^$StrCopyLeft("^$GetSelection$";2)$
                        ^!info ~^%comment%~break~^%Str%~ >>>> blank line above

                        >Unless this is only happening to me, then it looks like a bug.
                        >
                        >; Start of clip -------
                        >^!Set %comment%=">>"
                        >^!Select paragraph
                        >^!Set %Str%=^$StrCopyLeft(^$GetSelection$;2)$
                        >^!If ^%Str%=^%comment% ^!Prompt ^%Str%=^%comment%
                        >^!If ^%comment%=^%Str% ^!Prompt ^%comment%=^%Str%
                        >; End of clip -------


                        Take care,
                        Jody Adair

                        The whole world doth err save you and me,
                        and even thou doest err some! ;)
                        http://clean-funnies.com
                        http://notetab.net, http://fookes.us
                      • Jody
                        Hi Don, ... I just came to this one Don. You are correct. See my other message. In short though, it was what was first used before ^p. ... documented anymore.
                        Message 11 of 21 , Jan 6, 2005
                        • 0 Attachment
                          Hi Don,

                          >1. I think that >> may have some special meaning as it syntax highlights
                          >and appears to include a return in the info box as it's value.

                          I just came to this one Don. You are correct. See my other
                          message. In short though, it was what was first used before ^p.
                          >> is left in for backwards compatibility although it is not
                          documented anymore.

                          ^!Info breaker>>breaker>>1 9 ;)

                          Happy Clip'n!
                          Jody

                          All Lists: http://www.fookes.us/maillist.htm
                          Subscribe: mailto:ntb-Clips-Subscribe@yahoogroups.com
                          UnSubscribe: mailto:ntb-Clips-UnSubscribe@yahoogroups.com
                          Options: http://groups.yahoo.com/group/ntb-clips
                          http://www.clean-funnies.com, http://www.sojourner.us/software
                        • John Mitchell
                          Jody, RS, Don, Alan, and anyone else I have missed. Thanks for your help with this. Time delays in the arrival of replies have extended this discussion but it
                          Message 12 of 21 , Jan 6, 2005
                          • 0 Attachment
                            Jody, RS, Don, Alan, and anyone else I have missed.

                            Thanks for your help with this. Time delays in the arrival of replies
                            have extended this discussion but it has all been useful input.

                            Jody, perhaps the next release of the documentation/help could be
                            amended to include a mention of ">>".

                            More generally, I expect I'm not alone in my level of confusion with the
                            way that strings are interpreted in NTB so some clear guidance, with
                            examples, would also be a welcome addition to the docs. Here's an
                            example of what I mean.

                            ^!Set %a%="ASDF"
                            ^!Set %b%="ZXCV"
                            ^!Set %c%=^%a%^%b%
                            ^!Set %d%=^%a%"ZXCV"
                            ^!Info ^%a%^%b%
                            ; .......... Displays ASDFZXCV (expected)
                            ^!Info ^%c%
                            ; .......... Displays ASDFZXCV (expected)
                            ^!Info ^%d%
                            ; .......... Displays ASDF"ZXCV" (inconsistent?)

                            For consistency, I'd expect quotes to *always* be treated as string
                            delimeters unless escaped. This is apparently not the case.

                            Regards, John Mitchell

                            ----- Original message -----
                            From: "Jody" <kjv-av1611@...>
                            To: ntb-clips@yahoogroups.com
                            Date: Thu, 06 Jan 2005 13:56:34 -0600
                            Subject: Re: [Clip] ^!If Bug ?


                            Hi Don,

                            >1. I think that >> may have some special meaning as it syntax highlights
                            >and appears to include a return in the info box as it's value.

                            I just came to this one Don. You are correct. See my other
                            message. In short though, it was what was first used before ^p.
                            >> is left in for backwards compatibility although it is not
                            documented anymore.

                            ^!Info breaker>>breaker>>1 9 ;)

                            Happy Clip'n!
                            Jody

                            All Lists: http://www.fookes.us/maillist.htm
                            Subscribe: mailto:ntb-Clips-Subscribe@yahoogroups.com
                            UnSubscribe: mailto:ntb-Clips-UnSubscribe@yahoogroups.com
                            Options: http://groups.yahoo.com/group/ntb-clips
                            http://www.clean-funnies.com, http://www.sojourner.us/software
                          • abairheart
                            ... first ... two ... obvious ... Strings should be compared within quotes. IF this is a bug, it s that it did not generate an error. Unquoted text should
                            Message 13 of 21 , Jan 7, 2005
                            • 0 Attachment
                              --- In ntb-clips@yahoogroups.com, "John Mitchell" <notetab@l...>
                              wrote:
                              > ; Start of clip -------
                              > ^!Set %comment%=">>"
                              > ^!Select paragraph
                              > ^!Set %Str%=^$StrCopyLeft(^$GetSelection$;2)$
                              > ^!If ^%Str%=^%comment% ^!Prompt ^%Str%=^%comment%
                              > ^!If ^%comment%=^%Str% ^!Prompt ^%comment%=^%Str%
                              > ; End of clip -------
                              >
                              > If I run it against an open document containing arbitrary text the
                              first
                              > ^!If tests TRUE and the second tests FALSE, except when the first
                              two
                              > characters of the current paragraph are >>, in which case both tests
                              > resolve to FALSE!!
                              >
                              > Am I about to be mightily embarrassed when someone points out an
                              obvious
                              > explanation?


                              Strings should be compared within quotes. IF this is a bug, it's that
                              it did not generate an error. Unquoted text should evaluate as 0
                              (zero) = false.

                              The mystery is, what >>=xx evaluates to.

                              Reporting a bug, when you're doing something that you shouldn't be
                              doing is not kosher.

                              Abair.
                            • John Mitchell
                              There was a fair bit of discussion about this. Due to delays in posts making it to the Clips group it probably went on longer than necessary. My bug report was
                              Message 14 of 21 , Jan 7, 2005
                              • 0 Attachment
                                There was a fair bit of discussion about this. Due to delays in posts
                                making it to the Clips group it probably went on longer than necessary.

                                My bug report was submitted in good faith and whether or not I was doing
                                something I shouldn't is open to question since the documentation is not
                                at all clear regarding the interpretation of quoted strings and, per an
                                earlier append, in my opinion the way quoted strings are handled is
                                inconsistent.

                                Regards, John M

                                ----- Original message -----
                                From: "abairheart" <abairheart@...>
                                To: ntb-clips@yahoogroups.com
                                Date: Fri, 07 Jan 2005 22:01:54 -0000
                                Subject: [Clip] Re: ^!If Bug ?

                                ....Snip.....

                                Reporting a bug, when you're doing something that you shouldn't be
                                doing is not kosher.

                                ....Snip.....

                                Abair.
                              • acummingsus
                                ... wrote: [ . . ] ... The string is *everything* to the right of the = Therefore, you only quoted a *part* of the string in: ^!Set %d%=^% a% ZXCV To the
                                Message 15 of 21 , Jan 7, 2005
                                • 0 Attachment
                                  --- In ntb-clips@yahoogroups.com, "John Mitchell" <notetab@l...>
                                  wrote:
                                  [ . . ]
                                  >
                                  > ^!Set %a%="ASDF"
                                  > ^!Set %b%="ZXCV"
                                  > ^!Set %c%=^%a%^%b%
                                  > ^!Set %d%=^%a%"ZXCV"
                                  > ^!Info ^%a%^%b%
                                  > ; .......... Displays ASDFZXCV (expected)
                                  > ^!Info ^%c%
                                  > ; .......... Displays ASDFZXCV (expected)
                                  > ^!Info ^%d%
                                  > ; .......... Displays ASDF"ZXCV" (inconsistent?)
                                  >
                                  > For consistency, I'd expect quotes to *always* be treated as string
                                  > delimeters unless escaped. This is apparently not the case.

                                  The string is *everything* to the right of the =

                                  Therefore, you only quoted a *part* of the string in: ^!Set %d%=^%
                                  a%"ZXCV"

                                  To the right of the = Ntab does its best to make
                                  all_to_the_right_of_the_= into your string of the contents of
                                  whatever variable name that's on the left side of the =

                                  (Since *string* is *all*_to_the_right_of_the_=):

                                  if U did not want quotes in your string: ^!Set %d%="^%a%ZXCV"

                                  if U did want quotes in your string: ^!Set %d%="^%a%"ZXCV""

                                  so it is not: either the quote is a string delimiter or not a string
                                  delimiter. The picture is not that simple. Very key is that
                                  *context* is involved; for instance, what is the *context* in which
                                  the quotes are used.

                                  ---
                                  Try Perl if you really want context stuff; by comparison, Notetab has
                                  very little. I still scratching my head over the many many and
                                  differing context things in Perl.
                                  --- (end_of_Perl, back to Ntab once again),

                                  When what will become a string (all quoted, not just a part of the
                                  string quoted) is quoted, this is the context in which the quote
                                  serves to act as string delimiter.

                                  Have you seen Jody's ClipClass?

                                  It used to available as zip file for download from his site at
                                  www.notetab.net

                                  The Notetab help file is not meant to learn/tutorial non programmer
                                  newbies; it assumes at least a little former scripting/programming
                                  experience. But, ClipClass is targeted to the newbie I used it and
                                  it worked very well for me.

                                  ^!Set %a%="ASDF"
                                  ^!Set %b%="ZXCV"
                                  ^!Set %c%=^%a%^%b%
                                  ;^!Set %d%="^%a%"ZXCV""
                                  ^!Set %d%="^%a%ZXCV"
                                  ^!Set %e%=ONE"TWO"
                                  ^!Set %f%="THREEFOUR"
                                  ^!Info ab^%NL%^%NL%^%a%^%b%
                                  ; .......... Displays ASDFZXCV (expected)
                                  ^!Info c^%NL%^%NL%^%c%
                                  ; .......... Displays ASDFZXCV (expected)
                                  ^!Info d^%NL%^%NL%^%d%
                                  ; ..........
                                  ^!Info e^%NL%^%NL%^%e%
                                  ^!Info f^%NL%^%NL%^%f%

                                  --
                                  Alan.
                                • John Mitchell
                                  Alan I didn t intend to start a holy war here. Perhaps my problem is that I have programmed, extensively, in many languages for many years. No doubt when I
                                  Message 16 of 21 , Jan 7, 2005
                                  • 0 Attachment
                                    Alan

                                    I didn't intend to start a holy war here. Perhaps my problem is that I
                                    have programmed, extensively, in many languages for many years. No doubt
                                    when I have written a few more clips I'll get the hang of NTB's
                                    idiosyncracies. By trial, error, and example I'll get there but until I
                                    see the rules of engagement I'll still be hard to convince that..

                                    ^!Info qwerty
                                    ^!Info "qwerty"
                                    ^!Set %a%="qwerty"
                                    ^!Info ^%a%

                                    ..which yields

                                    qwerty
                                    "qwerty"
                                    qwerty

                                    ..is the model of consistency.

                                    I think it's reasonable to expect the documentation (Help and/or PDF) to
                                    define the rules of interpretation for people (like me) who are more
                                    than happy to RTFM.

                                    Regards, John M


                                    ----- Original message -----
                                    From: "acummingsus" <acumming@...>
                                    To: ntb-clips@yahoogroups.com
                                    Date: Sat, 08 Jan 2005 02:17:21 -0000
                                    Subject: [Clip] Re: String Interpretation (was ^!If Bug ?)



                                    --- In ntb-clips@yahoogroups.com, "John Mitchell" <notetab@l...>
                                    wrote:
                                    [ . . ]
                                    >
                                    > ^!Set %a%="ASDF"
                                    > ^!Set %b%="ZXCV"
                                    > ^!Set %c%=^%a%^%b%
                                    > ^!Set %d%=^%a%"ZXCV"
                                    > ^!Info ^%a%^%b%
                                    > ; .......... Displays ASDFZXCV (expected)
                                    > ^!Info ^%c%
                                    > ; .......... Displays ASDFZXCV (expected)
                                    > ^!Info ^%d%
                                    > ; .......... Displays ASDF"ZXCV" (inconsistent?)
                                    >
                                    > For consistency, I'd expect quotes to *always* be treated as string
                                    > delimeters unless escaped. This is apparently not the case.

                                    The string is *everything* to the right of the =

                                    Therefore, you only quoted a *part* of the string in: ^!Set %d%=^%
                                    a%"ZXCV"

                                    To the right of the = Ntab does its best to make
                                    all_to_the_right_of_the_= into your string of the contents of
                                    whatever variable name that's on the left side of the =

                                    (Since *string* is *all*_to_the_right_of_the_=):

                                    if U did not want quotes in your string: ^!Set %d%="^%a%ZXCV"

                                    if U did want quotes in your string: ^!Set %d%="^%a%"ZXCV""

                                    so it is not: either the quote is a string delimiter or not a string
                                    delimiter. The picture is not that simple. Very key is that
                                    *context* is involved; for instance, what is the *context* in which
                                    the quotes are used.

                                    ---
                                    Try Perl if you really want context stuff; by comparison, Notetab has
                                    very little. I still scratching my head over the many many and
                                    differing context things in Perl.
                                    --- (end_of_Perl, back to Ntab once again),

                                    When what will become a string (all quoted, not just a part of the
                                    string quoted) is quoted, this is the context in which the quote
                                    serves to act as string delimiter.

                                    Have you seen Jody's ClipClass?

                                    It used to available as zip file for download from his site at
                                    www.notetab.net

                                    The Notetab help file is not meant to learn/tutorial non programmer
                                    newbies; it assumes at least a little former scripting/programming
                                    experience. But, ClipClass is targeted to the newbie I used it and
                                    it worked very well for me.

                                    ^!Set %a%="ASDF"
                                    ^!Set %b%="ZXCV"
                                    ^!Set %c%=^%a%^%b%
                                    ;^!Set %d%="^%a%"ZXCV""
                                    ^!Set %d%="^%a%ZXCV"
                                    ^!Set %e%=ONE"TWO"
                                    ^!Set %f%="THREEFOUR"
                                    ^!Info ab^%NL%^%NL%^%a%^%b%
                                    ; .......... Displays ASDFZXCV (expected)
                                    ^!Info c^%NL%^%NL%^%c%
                                    ; .......... Displays ASDFZXCV (expected)
                                    ^!Info d^%NL%^%NL%^%d%
                                    ; ..........
                                    ^!Info e^%NL%^%NL%^%e%
                                    ^!Info f^%NL%^%NL%^%f%

                                    --
                                    Alan.
                                  • Alan_C
                                    ... Nor me either. I apologize for assuming that you had no programming experience. What, did I do something to make you think that I took it like that, a
                                    Message 17 of 21 , Jan 7, 2005
                                    • 0 Attachment
                                      John Mitchell wrote:
                                      > Alan
                                      >
                                      > I didn't intend to start a holy war here.

                                      Nor me either. I apologize for assuming that you had no programming
                                      experience. What, did I do something to make you think that I took it
                                      like that, a war? ? My only intent was to expose about quotes and
                                      setting and extracting contents of variable. (literal string not
                                      covered until now -- see below for literal string)

                                      Importantly, since clipclass provides such good syntax guidelines for
                                      someone who is new to Notetab -- thus, I've no further need to reply to
                                      ntb-clips list about syntax and rules thereof -- instead, I'll refer
                                      whoever query to ClipClass because it's been revised and can do a much
                                      much better job than I can)

                                      But the clipclass does set the stage for using quotes. A user can
                                      follow the quoting recomendations in clipclass and be ok, can do so
                                      until the user gains experience by then the user is familiar enough so
                                      as to know what to do. At least that was my experience anyways. Your
                                      mileage may vary.

                                      So I still recommend clipclass for someone new/unfamiliar with Notetab.
                                      I shoould done it that way in the first place. Sorry for being clumsy
                                      while I make an attempt (the mentioned assumption on my part)

                                      [ . . ]
                                      > see the rules of engagement I'll still be hard to convince that..
                                      >
                                      > ^!Info qwerty
                                      > ^!Info "qwerty"
                                      > ^!Set %a%="qwerty"
                                      > ^!Info ^%a%
                                      >
                                      > .which yields
                                      >
                                      > qwerty
                                      > "qwerty"
                                      > qwerty
                                      >
                                      > .is the model of consistency.

                                      With Notetab, setting into a variable is one thing which my last post
                                      shared on that. Displaying a literal string is another matter, such as
                                      your use of the ^!Info above.

                                      The rules that apply to setting a variable and extracting the contents
                                      of a variable (as far as quotes concerned) are not applicable with the
                                      use of literal string (your above "inconsistency" or #2 in the middle
                                      uses a literal string it does not make use of a variable).

                                      Once again, this is a context thing (I think) my apologies if it is not.
                                      But I think it is a context issue because it involves the context of
                                      when, where, and how the quotes show_up/reside within the greater
                                      context of the overall code example.

                                      >
                                      > I think it's reasonable to expect the documentation (Help and/or PDF) to
                                      > define the rules of interpretation for people (like me) who are more
                                      > than happy to RTFM.

                                      Well then, I suppose the help file lacks. You're right. I've no
                                      argument. I agree. I certainly didn't mean to argue by formerly
                                      refering you to clipclass. I only meant to share what I had come across
                                      that had helped me.

                                      --
                                      Alan.
                                    • John Mitchell
                                      Alan No probs, and I really do appreciate the help from you and all the others on this group. I m also a huge fan of NTB. I use it all day and every day and
                                      Message 18 of 21 , Jan 7, 2005
                                      • 0 Attachment
                                        Alan

                                        No probs, and I really do appreciate the help from you and all the
                                        others on this group. I'm also a huge fan of NTB. I use it all day and
                                        every day and the more I delve into templates and clips the more mileage
                                        I get out of it.

                                        The term holy war alludes to the tendency of some group "discussions" I
                                        have seen, mainly in other fora, to descend into a ping pong match
                                        between believers and non-believers. I thought it was a common term, but
                                        perhaps not. In any case, no slight intended and sorry if I was a bit
                                        abrupt.

                                        I've started using Clip Assistant which will undoubtedly help keep me on
                                        the straight and narrow.

                                        Regards, John M


                                        ----- Original message -----
                                        From: "Alan_C" <acumming@...>
                                        To: ntb-clips@yahoogroups.com
                                        Date: Fri, 07 Jan 2005 22:43:29 -0800
                                        Subject: Re: [Clip] Re: String Interpretation (was ^!If Bug ?)


                                        John Mitchell wrote:
                                        > Alan
                                        >
                                        > I didn't intend to start a holy war here.

                                        Nor me either. I apologize for assuming that you had no programming
                                        experience. What, did I do something to make you think that I took it
                                        like that, a war? ? My only intent was to expose about quotes and
                                        setting and extracting contents of variable. (literal string not
                                        covered until now -- see below for literal string)

                                        Importantly, since clipclass provides such good syntax guidelines for
                                        someone who is new to Notetab -- thus, I've no further need to reply to
                                        ntb-clips list about syntax and rules thereof -- instead, I'll refer
                                        whoever query to ClipClass because it's been revised and can do a much
                                        much better job than I can)

                                        But the clipclass does set the stage for using quotes. A user can
                                        follow the quoting recomendations in clipclass and be ok, can do so
                                        until the user gains experience by then the user is familiar enough so
                                        as to know what to do. At least that was my experience anyways. Your
                                        mileage may vary.

                                        So I still recommend clipclass for someone new/unfamiliar with Notetab.
                                        I shoould done it that way in the first place. Sorry for being clumsy
                                        while I make an attempt (the mentioned assumption on my part)

                                        [ . . ]
                                        > see the rules of engagement I'll still be hard to convince that..
                                        >
                                        > ^!Info qwerty
                                        > ^!Info "qwerty"
                                        > ^!Set %a%="qwerty"
                                        > ^!Info ^%a%
                                        >
                                        > .which yields
                                        >
                                        > qwerty
                                        > "qwerty"
                                        > qwerty
                                        >
                                        > .is the model of consistency.

                                        With Notetab, setting into a variable is one thing which my last post
                                        shared on that. Displaying a literal string is another matter, such as
                                        your use of the ^!Info above.

                                        The rules that apply to setting a variable and extracting the contents
                                        of a variable (as far as quotes concerned) are not applicable with the
                                        use of literal string (your above "inconsistency" or #2 in the middle
                                        uses a literal string it does not make use of a variable).

                                        Once again, this is a context thing (I think) my apologies if it is not.
                                        But I think it is a context issue because it involves the context of
                                        when, where, and how the quotes show_up/reside within the greater
                                        context of the overall code example.

                                        >
                                        > I think it's reasonable to expect the documentation (Help and/or PDF) to
                                        > define the rules of interpretation for people (like me) who are more
                                        > than happy to RTFM.

                                        Well then, I suppose the help file lacks. You're right. I've no
                                        argument. I agree. I certainly didn't mean to argue by formerly
                                        refering you to clipclass. I only meant to share what I had come across
                                        that had helped me.

                                        --
                                        Alan.



                                        Yahoo! Groups Links
                                      • abairheart
                                        ... posts ... necessary. ... doing ... is not ... per an ... No offense intended. Yes, quotes handling is inconsistent in NoteTab. However, I believe the help
                                        Message 19 of 21 , Jan 9, 2005
                                        • 0 Attachment
                                          --- In ntb-clips@yahoogroups.com, "John Mitchell" <notetab@l...>
                                          wrote:
                                          > There was a fair bit of discussion about this. Due to delays in
                                          posts
                                          > making it to the Clips group it probably went on longer than
                                          necessary.
                                          >
                                          > My bug report was submitted in good faith and whether or not I was
                                          doing
                                          > something I shouldn't is open to question since the documentation
                                          is not
                                          > at all clear regarding the interpretation of quoted strings and,
                                          per an
                                          > earlier append, in my opinion the way quoted strings are handled is
                                          > inconsistent.

                                          No offense intended. Yes, quotes handling is inconsistent in NoteTab.
                                          However, I believe the help file for ^!If commands does mention the
                                          need for quotes in string testing.

                                          Muddying the waters further:
                                          Where Help is NOT clear is in the side effects from various special
                                          characters. Not just the ones Jody mentioned '>>', but '^' and '#' as
                                          well.

                                          I don't recall if anyone mentioned the interaction of '>>' when it
                                          precededs or follows the '=' sign in the test.

                                          Consider the follwoing test:
                                          'If string=>>'
                                          This might parse as
                                          'If "string" => ">"'
                                          while
                                          'If >>=string'
                                          may parse as
                                          '">" >= "string"'
                                          rather than generating an error.


                                          Abair
                                        • Jody
                                          Hi Alan, Thanks for the mention. Awhile back I renamed it. It is now called ClipTut The following is a download for a Clipbook programming tutorial designed to
                                          Message 20 of 21 , Jan 11, 2005
                                          • 0 Attachment
                                            Hi Alan,

                                            Thanks for the mention. Awhile back I renamed it. It is now called

                                            ClipTut

                                            The following is a download for a Clipbook programming tutorial
                                            designed to walk you through Clip writing. It includes "Getting
                                            Started" (which is a web page with a number of images displaying
                                            different parts of NoteTab that deals with Clipbooks), making a
                                            Clipbook Library, adding Clips, and editing Clips, on to more
                                            difficult Clip writing. Be sure to read the Introduction also.
                                            Open ClipTut.clb and then click on the ClipTut.otl Outline Clip
                                            to open the Outline.

                                            All the contents of the zip files go in NoteTab's Libraries
                                            folder. http://www.notetab.net/zip/cliptut.zip

                                            You can also sign up for the NoteTab Clips List to get answers to
                                            Clip questions, but please do not post there concerning the
                                            tutorial. NoteTab Clips Subscribe & Edit Options:

                                            Subscribe, unSubscribe, Options
                                            mailto:ntb-Clips-Subscribe@yahoogroups.com
                                            mailto:ntb-Clips-unSubscribe@yahoogroups.com
                                            http://groups.yahoo.com/group/ntb-clips

                                            Happy Clip'n! Jody

                                            http://www.notetab.net http://www.notetab.net/html/cd-info.htm
                                            http://www.fookes.com/regnow.html?2448&item=home

                                            >Have you seen Jody's ClipClass?
                                            >
                                            >It used to available as zip file for download from his site at
                                            >www.notetab.net
                                            >
                                            >The Notetab help file is not meant to learn/tutorial non programmer
                                            >newbies; it assumes at least a little former scripting/programming
                                            >experience. But, ClipClass is targeted to the newbie I used it and
                                            >it worked very well for me.
                                            >
                                            >^!Set %a%="ASDF"
                                            >^!Set %b%="ZXCV"
                                            >^!Set %c%=^%a%^%b%
                                            >;^!Set %d%="^%a%"ZXCV""
                                            >^!Set %d%="^%a%ZXCV"
                                            >^!Set %e%=ONE"TWO"
                                            >^!Set %f%="THREEFOUR"
                                            >^!Info ab^%NL%^%NL%^%a%^%b%
                                            >; .......... Displays ASDFZXCV (expected)
                                            >^!Info c^%NL%^%NL%^%c%
                                            >; .......... Displays ASDFZXCV (expected)
                                            >^!Info d^%NL%^%NL%^%d%
                                            >; ..........
                                            >^!Info e^%NL%^%NL%^%e%
                                            >^!Info f^%NL%^%NL%^%f%
                                            >
                                            >--
                                            >Alan.


                                            Happy Clip'n!
                                            Jody

                                            All Lists: http://www.fookes.us/maillist.htm
                                            Subscribe: mailto:ntb-Clips-Subscribe@yahoogroups.com
                                            UnSubscribe: mailto:ntb-Clips-UnSubscribe@yahoogroups.com
                                            Options: http://groups.yahoo.com/group/ntb-clips
                                            http://www.clean-funnies.com, http://www.sojourner.us/software
                                          Your message has been successfully submitted and would be delivered to recipients shortly.