| 1. Using macros | 
| Q: Where can I get macros from?Q: I just wrote a new macro for myself. Where should I
                    save the file?Q: Do I have to use the .bsh file
                    extension when I save one of my own macro scripts?Q: How can I store the result of a macro so that the next
                    time I run it the macro can retrieve the value?Q: In a macro I'd like to exec an external program (e.g.
                    jmk, javac) and capture its output to a buffer. I'd also
                    like to see this output as the external program runs or be
                    able to interact with the program. So when I exec, what
                    happens to System.in/out/err of the exec'd program?
 | 
| Q: | Where can I get macros from? | 
| A: | There is a plugin available called MacroManager that
                    will provide a similar interface to jEdit's plugin manager
                    for installing new macros. The plugin downloads the macros
                    from the jEdit Community site, so an internet connection is
                    necessary.  | 
| Q: | I just wrote a new macro for myself. Where should I
                    save the file? | 
| A: | There is a macrosdirectory in
                    your user settings directory. If you store your macro there
                    it will appear in jEdit's  menu
                    under the name you have given to the macro's source code
                    file. The.bshwill be deleted in the
                    macro entry, and underscore characters will be converted to
                    whitespace, so that the fileMy_New_Macro.bshwill be displayed as
                    . You can create additional subdirectories in the
                    macrosto organize your personal macros
                    by category. Each subdirectory will correspond to a submenu
                    under the application's  menu. This
                    is helpful to reduce the screen space used to display the
                    macros menu at any one time. | 
| Q: | Do I have to use the .bshfile
                    extension when I save one of my own macro scripts? | 
| A: | You need the .bshextension in
                    order for jEdit to detect and display the name of the macro
                    in its  menu. The macro must also
                    be in themacrosdirectory of either
                    the jEdit installation directory or the user settings
                    directory. You do not need the extension to run a macro, however.
                    By selecting >, you can choose any file to be
                    run as a macro. While in a macro, you can call
                    source("full_path")to do the same
                    thing. | 
| Q: | How can I store the result of a macro so that the next
                    time I run it the macro can retrieve the value? | 
| A: | You can use either
                    jEdit.setProperty(String, String)orjEdit.setTemporaryProperty(String,
                    String). Both methods takeStringvalues for the name of the
                    property and its value. If you usesetProperty(), the property will
                    remain in jEdit's property store permanently, so if you only
                    need the value during the course of a single editing
                    session, usesetTemporaryProperty(). To ensure that your value can be stored regardless of
                    its type, use the following syntax: jEdit.setTemporaryProperty("myValueName", myValue.toString());
                    and remember to convert the “myValueName”
                    property back to its intended type when you retrieve
                    it. | 
| Q: | In a macro I'd like to exec an external program (e.g.
                    jmk, javac) and capture its output to a buffer. I'd also
                    like to see this output as the external program runs or be
                    able to interact with the program. So when I exec, what
                    happens to System.in/out/err of the exec'd program? | 
| A: | Use the runInSystemShell()or therunCommandToBuffer()script methods
                    that come bundled with the Console plugin. The help
                    documentation for Console provides details on these methods.
                    Currently the Console's System shell is not interactive
                    during execution of a command, but it does receive and
                    display the standard output and error streams of the
                    external process. |