General

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can vote and comment on it.

If it doesn't exist, you can post your idea so others can vote on it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. (IDE) Enable shifting of code blocks in extensions too

    Currently, the Mac IDE offers hotkeys that allow you to shift code one tab stop to the left or right. However, this works only in project windows, not in extension windows. Since extensions require example code blocks to be indented one tab stop, there is a special need for this feature in extension files. Please add it!

    1 vote
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
    • Allow phrases to be defined to automatically cast values

      It would be useful to allow phrases to be defined which would cast between values, for example:

      To decide what indexed text is (file - an external file): ...

      Such a phrase wouldn't have any non-variant text. Alternatively, and to make clear that it is a special phrase, it could be worded like this:

      To cast an external file to indexed text: ...

      To prevent headaches the compiler should not use more than one conversion at a time. That may not be enough to prevent headaches... perhaps the compiler should also complain if reciprocal casting phrases are defined? I don't…

      1 vote
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
      • (Publishing) Include licensing information in the Babel bibliographic data

        This would be printed in the banner and also automatically be added to IFDB.

        1 vote
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)

          Currently the banner-printing of such information is pretty easy to arrange
          and is further supported by the Extended Banner extension by Stephen Granade. Any arrangements concerning metadata would have to be taken up with the Treaty of Babel contributors and IFDB maintenance. If there’s a consensus there, we’re willing to build support into Inform.

        • Run VM_Initialise as a for starting the virtual machine rule

          The starting the virtual machine activity is far less useful than it should be as VM_Initialise() isn't run until after the activity. If you rely on stuff it does (such as dealing with the status line) you might not have anywhere nice to hang a rule if you need the rule run before the when play begins rules.

          1 vote
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
          • Move rule conditions to before the block value initialisation code

            If you're writing a rule which uses some kind of block value (indexed text, stored actions, lists etc), an I6 function is created which sets up new block values, which then runs the rule's function itself. The condition for the rule is in this second function. It should be moved to the first so that if the condition is not met then the block value code does not need to run.

            1 vote
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              under review  ·  1 comment  ·  Admin →
            • (Syntax) Allow overrides to phrases invoked by name

              In this code,

              - - - -
              There is a room.
              To say hello (this is greeting): say "Hello World!"
              To say hello: say "Hello Universe!"
              When play begins: say hello.
              - - - -

              the second greeting phrase overrides the first. But if instead the first phrase is invoked by name, as in

              - - - -
              When play begins: apply greeting.
              - - - -

              the override does not apply. Nor can one write

              - - - -
              To say hello (this is greeting): say "Hello Universe!"
              - - - -

              because even overrides are required to have…

              1 vote
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
              • Add a "the first ..." phrase

                Similar to the "the only ..." request, I propose a "the first... " phrase.

                There are times when all you care about is finding something that matches the description. "A random" will on average iterate through all the things of the kind 1.5 times. With "the first" it could stop as soon as it finds something that matches.

                This would be useful: for cloning objects with Dynamic Objects.
                Exhaustively processing a list when the processing will alter the list. In flexible windows I do:

                while the number of g-unrequired g-present childless g-windows > 0:
                repeat with h running through g-unrequired…

                1 vote
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                • (Website/Extensions) Archive old version of extensions *VW*

                  Maintain old versions of extensions on the website so that authors who lose them can retrieve them.

                  1 vote
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                  • Parse valid responses to disambiguation requests as disambiguation requests rather than new commands

                    When a disambiguation request is printed, Inform decides whether to process the next input as a response to the request or as a new command by checking to see whether the first word of the input is a verb. Ordinarily this works well, but it will break when an object's name contains a verb. See http://inform7.com/mantis/view.php?id=1127 for an example.

                    In comments there, zarf says:
                    "This has been the intended behavior since the I6 days. It would be bad if a disambiguation prompt made some other command untypable, by stealing its verb. (It is less bad if a disambiguation fails, because…

                    1 vote
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      1 comment  ·  Admin →
                    • (World model/actions) Add a sanity-checking layer to action handling

                      Add checking for the sanity of an action before trying implicit actions (like the "Delicious, Delicious Rocks" example, where if we're trying to eat something, we notice it's inedible before rather than after implicitly picking it up).

                      1 vote
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                      • (Syntax) May conditional relations directly consult a rulebook

                        As is, we must use a To phrase (and global variables) as a go-between, just as the "can see" and "can touch" relations do. But this is such a powerful pattern that I feel it merits fluid expression:

                        The friendship rules are a rulebook.
                        Likability relates a person (called X) to a person (called Y) when the friendship rules succeed with X and Y.
                        A friendship rule: if X is.....

                        I think of this compound construct as a very good "design pattern" for Inform 7, much like using an amendable table to define kinds-of-value while holding all of an extension's…

                        1 vote
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                        • (Programming) "involving" to refer to both noun and second noun

                          Ability to write

                          Instead of doing something involving the baseball: ...

                          as shorthand to catch both the case where the baseball is the noun and the one
                          where it is the second noun; and perhaps also

                          Instead of doing something indirectly to the baseball: ...

                          to catch only the one where it is the second noun.

                          1 vote
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            planned  ·  0 comments  ·  Admin →
                          • (IDE) Add a "Find More Extensions" option to the File menu *VW*

                            Add a new menu item to the IDEs under the File menu after the other extension related options called "Find More Extensions," which opens up the system default web browser to the Inform 7 Extensions download page. This makes it easier for new authors to see where they can find more extensions.

                            1 vote
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                            • (Releasing) Have "release along with private source text" still build HTML

                              When releasing along with source text, I note that marking the "source text" as "private" not only doesn't link it but also skips the generation of the typeset HTML version; the only effect the statement has is to copy in source.txt. Personally I'd prefer it to still generate the HTML source; just not to link to it.

                              1 vote
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                              • Make a small tweak to Examples 64, 234, & 236

                                This isn't so much a feature request as it is an easy tweak for Examples 64, 234, & 236, all of which have some variation on the following instead rule:

                                Instead of taking inventory:
                                say "You're carrying [a list of things carried by the player][if the player wears something]. You are wearing [a list of uppermost garments worn by the player][end if]."

                                I realize that examples aren't meant to be exhaustive, but I came across this while looking for how to phrase things when the player has no inventory. (Note: [if the player carries nothing] works, but that's not in…

                                1 vote
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                • Abstract out block value initialisation/shell code, for use with other phrases

                                  When you use block value types (indexed text etc) the code a phrase produces is actually placed in a SHELL function, with the head rule function instead being used to initialise the block value and close it down when finished.

                                  It would be useful to be able to do this with other functions. I am having a look at refactoring Flexible Windows, as it is very slow because every time you change a window it runs a bunch of code. If we could use the same sort of stuff as block values do, then the window configuring could run once,…

                                  1 vote
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                  • Clarify the problem report for top level "let..." phrases

                                    Currently writing "Let Cave be a room." outside a rule raises a problem report that "You wrote...but I can't find a verb here that I know how to deal with, so I am ignoring this sentence altogether."

                                    This might be a little hard to understand for anyone who hasn't absorbed all the relevant documentation. I7 takes great pains to produce helpful messages, which is the only reason this one stands out.

                                    A more tailored message would be splendid, a la "You wrote "let Cave..." but that suggests that Cave should be or begin a temporary name for something. I expected…

                                    1 vote
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                    • MoveFloatingObjects should set self when calling found_in

                                      (This was originally a bug report, but jesse suggested moving it here. See http://inform7.com/mantis/view.php?id=594 for original post.)

                                      The problem is that MoveFloatingObjects is not sufficiently flexible for extensions that want to make new and better kinds of backdrop.

                                      Way back in the I6 days, the MoveFloatingObjects routine would call "i.found_in()" to decide whether i should be in or out of the location. But in the rewrite to the template system, this was changed to:

                                      address = i.&found_in;
                                      m = address-->0;
                                      if (m.call(real_location) ~= 0) ...

                                      The difference is that the old way set "self" to i (for the duration of…

                                      1 vote
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                      • (IDE/Compiler) Provide a better compiler response when a command is indented below the end of a rule

                                        I do this all the time. Consider the following code:

                                        Check an actor going (this is the automatically open closed doors rule):
                                        if the door gone through is not nothing and the door gone through is closed:
                                        if the actor is the player, say "(first opening [the door gone through])[command clarification break]";
                                        silently try the actor opening the door gone through.
                                        if the door gone through is closed, stop the action.

                                        Note the full stop after the "silently try the actor opening the door gone through" command. The compiler should be able to detect the invalid command after the full…

                                        1 vote
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          1 comment  ·  Admin →
                                        • (IDE) table extra-column errors are unclear for large tables

                                          If I have a table like the following:

                                          table of q
                                          x(tab)y(tab)z
                                          1(tab)2(tab)3
                                          4(tab)5(tab)6
                                          7(tab)8(tab)9(tab)10

                                          The error the IDE displays shows the whole table and not the specific line. I can use PERL to figure this out on my own, but it is messy. Could the IDE show only the first line that fails?

                                          1 vote
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                          • Don't see your idea?

                                          General

                                          Feedback and Knowledge Base