home *** CD-ROM | disk | FTP | other *** search
/ PC Extra Super CD 1998 January / PCPLUS131.iso / DJGPP / V2APPS / RHIDE13B.ZIP / info / rhide.i1 < prev    next >
Encoding:
GNU Info File  |  1997-06-10  |  50.5 KB  |  1,534 lines

  1. This is Info file rhide.inf, produced by Makeinfo version 1.67 from the
  2. input file rhide.num.
  3.  
  4. START-INFO-DIR-ENTRY
  5. * RHIDE: (rhide.inf).   Documentation about RHIDE, an IDE for DJGPP or linux.
  6. END-INFO-DIR-ENTRY
  7.  
  8. This is the documentation for the Integrated Development Environment RHIDE.
  9.  
  10. Copyright (C) 1996,1997 Robert Höhne
  11.  
  12. This documentation may be freely distributed with the RHIDE package or any
  13. part thereof, provided this copyright notice is left intact on all copies.
  14.  
  15. 
  16. File: rhide.inf,  Node: Top,  Prev: (dir),  Up: (dir)
  17.  
  18. RHIDE
  19. *****
  20.  
  21.   The following master menu lists the major topics in this documentation,
  22. including all the indices.
  23.  
  24. * Menu:
  25.  
  26. * Introduction::
  27. * General information about how RHIDE works::
  28. * Description of the pull-down menus::
  29. * Detailed description of some parts of RHIDE::
  30. * Debugging with RHIDE::
  31. * Debugging with RHGDB::
  32. * Some FAQs::
  33. * Index::
  34. * Index of key commands::
  35.  
  36. 
  37. File: rhide.inf,  Node: Introduction,  Next: General information about how RHIDE works,  Prev: Top,  Up: Top
  38.  
  39. 1. Introduction
  40. ***************
  41.  
  42. * Menu:
  43.  
  44. * Copying::
  45. * Installing RHIDE::
  46. * What is RHIDE?::
  47. * Requirements::
  48. * Getting started::
  49. * The program GPR2MAK.EXE::
  50. * First steps with RHIDE::
  51. * Environment variables::
  52.  
  53. 
  54. File: rhide.inf,  Node: Copying,  Next: Installing RHIDE,  Prev: Introduction,  Up: Introduction
  55.  
  56. 1.1 Copying
  57. ===========
  58.  
  59.  
  60. RHIDE is copyright by Robert Höhne.
  61. Parts of RHIDE are copyright by other people which is notated in the
  62. source files.
  63.  
  64.   This program is free software; you can redistribute it and/or modify
  65.   it under the terms of the GNU General Public License as published by
  66.   the Free Software Foundation; either version 2 of the License, or
  67.   (at your option) any later version.
  68.  
  69.   This program is distributed in the hope that it will be useful,
  70.   but WITHOUT ANY WARRANTY; without even the implied warranty of
  71.   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  72.   GNU General Public License for more details.
  73.  
  74.   You should have received a copy of the GNU General Public License
  75.   along with this program; if not, write to the Free Software
  76.   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  77.  
  78. For contacting the author send electronic mail to
  79.  
  80. Robert.Hoehne@Mathematik.TU-Chemnitz.DE
  81.  
  82. or paper mail to
  83.  
  84. Robert Höhne
  85. Am Berg 3
  86. D - 09573 Dittmannsdorf
  87. Germany
  88.  
  89. 
  90. File: rhide.inf,  Node: Installing RHIDE,  Next: What is RHIDE?,  Prev: Copying,  Up: Introduction
  91.  
  92. 1.2 Installing RHIDE
  93. ====================
  94.  
  95. There are two archives
  96.  
  97. `rhide??b.zip'
  98.      This contains the executable and the documentation for RHIDE
  99.  
  100. `rhide??s.zip'
  101.      This contains the sources for RHIDE.
  102.  
  103. where `??' in the above filenames stand for the digits of the actual
  104. version of RHIDE.
  105.  
  106. These archives can be found at The RHIDE home page, at this URL:
  107.  
  108.      http://www.tu-chemnitz.de/~rho/rhide.html
  109.  
  110. or at any ftp site, which mirrors DJGPP.
  111.  
  112. To install these archives, you have to unzip them in the DJGPP-root
  113. directory, like any other DJGPP package.
  114.  
  115. * Menu:
  116.  
  117. * Configuring RHIDE::
  118.  
  119. 
  120. File: rhide.inf,  Node: Configuring RHIDE,  Prev: Installing RHIDE,  Up: Installing RHIDE
  121.  
  122. 1.2.1 Configuring RHIDE
  123. -----------------------
  124.  
  125. In most cases you have to do nothing for configuring RHIDE. But there are
  126. some special things, which must be configured which have mostly to do with
  127. the editor (or better) the keyboard layout.
  128.  
  129. The editor of RHIDE is configurable for the keyboard. For this it uses a
  130. text file `keybind.txt', which is searched in the following directories
  131. (in that order). If it was not found in any of these directories RHIDE
  132. uses builtin defaults. For more information about creating (customizing)
  133. the file and about the syntax of that file see *Note Documentation about
  134. the keyboard: (editor)Keyboard,
  135.  
  136.    * The current directory
  137.  
  138.    * `%DJDIR%/data'
  139.  
  140.    * The directory, where `rhide.exe' is stored
  141.  
  142. The binary archive of RHIDE includes already the config files for the US
  143. keyboard layout (`us.txt') and many others, which are based on the Linux
  144. keytables. If you have problems with the keyboard layout try to copy one
  145. of the files to `keybind.txt' (probably the one, which has a name similar
  146. to your country).
  147.  
  148. RHIDE also contains the file `keybind.txt' which IS `us.txt'.
  149.  
  150. As an example, if your are using a german keyboard, and you have installed
  151. `keyb.com' as your keybord driver program, you need to copy `de.txt' to
  152. `keybind.txt' otherwise (for example) the keys <y> and <z> are exchanged.
  153.  
  154. If you are using a keyboard driver (like I), which converts the scancodes
  155. of the keys (`keyb.com' does that NOT) you will probably not need the file
  156. `de.txt' (but the default `keybind.txt').
  157.  
  158. 
  159. File: rhide.inf,  Node: What is RHIDE?,  Next: Requirements,  Prev: Installing RHIDE,  Up: Introduction
  160.  
  161. 1.3 What is RHIDE?
  162. ==================
  163.  
  164. What is RHIDE? RHIDE is an Integrated Development Environment for
  165. compiling C- or C++-files (GNU-Assembler source files also supported) in
  166. an environment, which has an integrated editor where you can edit your
  167. source files and a project management, where you can define, which files
  168. are needed to build a program or a library.
  169.  
  170. For what stands the name RHIDE? This has nothing mystic in it. It comes
  171. simply from my initials RH and IDE (Integrated Development Environment).
  172.  
  173. RHIDE works like the IDE from Borland, which comes with Turbo C++ 3.1 and
  174. is written with the Turbo Vision library, which I have ported to use with
  175. DJGPP. Features of this IDE are:
  176.    - Syntaxhighlighting is now supported and you can customize all colors
  177.      on your desktop.
  178.  
  179.    - You can redirect the stdout and stderr from your program to a window
  180.      in the IDE.
  181.  
  182.    - You can generate a makefile for your project, so you can build the
  183.      program also without the IDE.
  184.  
  185.    - Most of the commandline-options of gcc can be customized.
  186.  
  187.    - You can also build a library instead of an executable.
  188.  
  189.    - When saving a file to disk, the modification time of this file will
  190.      be set to the time of the last modification in the editor.
  191.  
  192.    - You can interrupt external programs (the compilers or your program)
  193.      by pressing <Ctrl+C>  or <Ctrl+Break> , which are ignored by the IDE.
  194.      That means also, that you cannot interrupt the IDE by pressing these
  195.      keys. If you want to enable this, compile the IDE without the
  196.      `-DNO_BREAK'-flag.
  197.  
  198.    - The integrated debugger. You can debug your program within RHIDE by
  199.      executing each source line of your code and evaluating/modifying
  200.      variables and expressions.
  201.  
  202.    - You can define other compliler to compile your source files.
  203.  
  204. In addition to RHIDE I have included a standalone debugger (called
  205. `rhgdb.exe'), which is GDB 4.16 with a Turbo Vision user interface.
  206.  
  207. 
  208. File: rhide.inf,  Node: Requirements,  Next: Getting started,  Prev: What is RHIDE?,  Up: Introduction
  209.  
  210. 1.4 Requirements
  211. ================
  212.  
  213. RHIDE works under and is compiled with DJGPP V2.01.  To compile your
  214. programs you need a working GCC-configuration, that means, gcc must be
  215. found in your path. Because DJGPP works only under DPMI you need a
  216. DPMI-Server.  If you run it under Windows 3.1(1)/95, you have DPMI. Under
  217. MS-DOS you need either a memory-manager, which give you DPMI-services (I
  218. think QEMM is it, EMM386 has no DPMI-support), or you use CWSDPMI, the
  219. free DPMI-server from Charles Sandman, which you can find on
  220. SimTel-ftp-sites. I use it and it works fine for me.
  221.  
  222. The builtin editor uses a simple heuristic to check, if a file is in UNIX
  223. or DOS text format. It checks the first 1024 Bytes, and if there is a lf
  224. without a cr, all lf's will be translated to cr/lf's. This is done at
  225. first only in memory. But if you save your file to disk, it will be saved
  226. in DOS text format.
  227.  
  228. At this time the program is only tested with a SVGA-video card (et4000), I
  229. don't know if it works with other cards, but I think so.
  230.  
  231. RHIDE will work correctly only with DJGPP version 2.01 or higher. If you
  232. have installed DJGPP 2.0 you will run into problems, when the commandline
  233. passed to the called compilers or the linker will exceed the 126 charcter
  234. limit. This is due to a new technique used from DJGPP 2.01 on, which
  235. programs compiled under 2.0 don't understand.
  236.  
  237. 
  238. File: rhide.inf,  Node: Getting started,  Next: The program GPR2MAK.EXE,  Prev: Requirements,  Up: Introduction
  239.  
  240. 1.5 Getting started
  241. ===================
  242.  
  243. To run RHIDE type
  244.      rhide [options] ['file-name']
  245. or
  246.      rhide [options] 'project-name' [options]
  247. Here stands 'file-name', for a file, which you want to open at start up.
  248. If it has no suffix it is assumed to be a 'project-name'.
  249.  
  250. 'project-name' stands for a name of your project. If you don't type it,
  251. RHIDE searches the current directory for a project file. If there exists
  252. only one, it will be opened. If there exist more than one or none, RHIDE
  253. will not open a project, you have to do it manually (*Note Open project::)
  254.  
  255. Possible options are for debugging RHIDE itself (*Note Debugging RHIDE::).
  256. If no project was open, you will see an empty desktop.  At the top-line of
  257. the screen you can see the menu. This is activated by pressing <F10>  or
  258. by clicking with the mouse at this line.  Alternatively you can press
  259. <Alt> plus the highlighted character of a pull-down menu. e.g. to activate
  260. the *File* menu, press <Alt+F>. At the bottom-line you can see the
  261. statusline with some hotkeys and it functions.
  262.  
  263. Other options are:
  264.  
  265. `-y'
  266.      Use long filenames (only under Windows 95)
  267.  
  268. `-n'
  269.      Do not use long filenames (only under Windows 95)
  270.  
  271. `-c'
  272.      Do not convert the case of any file name
  273.  
  274. `-h'
  275.      Show a short help about all the possible options.
  276.  
  277. `-b'
  278.      Use BIOS calls for setting and resetting the behaviour of the 7th bit
  279.      in a color attribute (blinking or 16 background colors) instead of
  280.      direct outputs to the VGA registers.
  281.  
  282. `-k KEY_FILE'
  283.      The editor in RHIDE is now configurable also for the keyboard.  The
  284.      file, where the key bindings are stored is searched at first in the
  285.      current directory, then in the directory `%DJDIR%/data', and then in
  286.      the directory where the executable is. If all this fails default
  287.      values are taken.
  288.  
  289.      With this switch you can override the default name of `keybind.txt'
  290.      to whatever you want.
  291.  
  292. `-p'
  293.      Normally RHIDE converts all the numpad keys to the equivalent keys on
  294.      the other keyboard (of course also by checking the num-lock key).
  295.      With this switch you can disable this.
  296.  
  297. `-G n'
  298.      Select which methode is used for swapping the display. Currently there
  299.      are two little different functions are implemented.
  300.  
  301.      If you have problems with display swapping when in graphics mode, try
  302.      to use an other methode and see if that helps.
  303.  
  304. `-K'
  305.      Tell RHIDE, to use real BIOS calls for it's keyboard input. This is
  306.      needed sometimes, when you have installed some special keyboard
  307.      drivers.
  308.  
  309. `-M'
  310.      This tells RHIDE to not to install the mouse callback function for
  311.      getting the mouse events. Instead of this RHIDE calls the mouse BIOS
  312.      functions for getting any event of the mouse.
  313.  
  314. At the upper right corner of the screen you can see the free
  315. virtual/physical memory (where M stands for Megabytes, K for Kilobytes and
  316. B for Bytes), if enabled (*Note Preferences::).
  317.  
  318. If you try to open a project, which does not exist, RHIDE will create a
  319. new one.  The way for creating a new project is done by RHIDE as follows.
  320. If there exist in the directory of RHIDE (usually in %DJDIR%/bin) a
  321. project file with the root name of the executable and the suffix `.gpr',
  322. this file is copied as your new project file with all customizations, which
  323. you have done in it. If this standard project file doesn't exist, a new
  324. project file is created with the hardcoded defaults.
  325.  
  326. To create such a standard project file, change to the directory, where the
  327. executable is and call the exe-file with the argument of its name without
  328. the suffix `.exe'. After leaving the program, the standard project file is
  329. created.
  330.  
  331. * Menu:
  332.  
  333. * Supported languages::
  334. * Debugging RHIDE::
  335.  
  336. 
  337. File: rhide.inf,  Node: Supported languages,  Next: Debugging RHIDE,  Prev: Getting started,  Up: Getting started
  338.  
  339. 1.5.1 Supported languages
  340. -------------------------
  341.  
  342. There is also support for multiple languages. For this RHIDE uses the GNU
  343. gettext library. With this lib it is possible to support multiple
  344. languages without changing any code of RHIDE, when adding a new language.
  345.  
  346. There are two ways for selecting the language. Either you set the
  347. environment variable LANGUAGE to the language you want or give it as a
  348. commandline argument to RHIDE. The normal way is by setting LANGUAGE. If
  349. you have installed RHIDE like described in the `readme', you should
  350. specify the language with a two character shortcut. Here is the list of
  351. the current supported languages together with the two character code:
  352.  
  353. `da'
  354.      Danish maintained by ERIK BACHMANN <ebp@dde.dk>
  355.  
  356. `de'
  357.      German maintained by ROBERT HöHNE
  358.      <Robert.Hoehne@Mathematik.TU-Chemnitz.DE>
  359.  
  360. `es'
  361.      Spanish maintained by SALVADOR EDUARDO TROPEA (SET) <ice@inti.edu.ar>
  362.  
  363. `fi'
  364.      Finnish maintained by JARI ANTTONEN <janttone@iwn.fi>
  365.  
  366. `fr'
  367.      Frensh maintained by ERIC NICOLAS <nicolas@dsys.ceng.cea.fr>
  368.  
  369. `it'
  370.      Italian maintained by NORMANDO MARCOLONGO
  371.      <i094968@spv.ing.uniroma1.it>
  372.  
  373. `nl'
  374.      Dutch maintained by MARTIJN LAAN <mlaan@cs.vu.nl>
  375.  
  376. `pt'
  377.      Portuguese maintained by GONCALO FARIAS <mad@telepac.pt>
  378.  
  379. `sv'
  380.      Swedish maintained by CHRISTIAN AXBRINK <sa9471@ida.utb.hb.se>
  381.  
  382. When you want to specify the language on the commandline, use the following
  383. syntax:
  384. rhide -L LANGUAGE
  385. where LANGUAGE represents the language code.
  386.  
  387. If you do not specify any language, English is assumed.
  388.  
  389. Because it was not possible to get all the translations at the time when
  390. RHIDE was ready, I included only the message files (that are the files
  391. with the `.mo' suffix) as they are ready in the binary archive. That
  392. means, that it is possible, that you see some strings in English instead
  393. of your language.
  394.  
  395. I will update the language files at the RHIDE homepage when they are
  396. complete. You can then download and use them without recompiling RHIDE
  397. simply by installing them in the correct directory.
  398.  
  399. 
  400. File: rhide.inf,  Node: Debugging RHIDE,  Prev: Supported languages,  Up: Getting started
  401.  
  402. 1.5.2 Debugging RHIDE
  403. ---------------------
  404.  
  405. I have added some commandline options, to debug the IDE itself. These
  406. options are the following:
  407.  
  408. `-dt'
  409.      Do not remove the temporary files, which the IDE creates. The names
  410.      of these files will be printed to stderr.
  411.  
  412. `-dc'
  413.      Print to stderr the commands which the IDE executes.
  414.  
  415. `-dd'
  416.      Print to stderr how the IDE checks the dependencies.
  417.  
  418. `-df'
  419.      Print to stderr how the IDE searches for files.
  420.  
  421. `-da'
  422.      Turns on all of the above
  423.  
  424. You can also combine these options like `-dct', which is the same as `-dc
  425. -dt'.
  426.  
  427. To examine this debugging information, it is the best to use the redir
  428. command, to redirect the stderr to a file like
  429. redir -e err rhide -da project
  430. which will redirect stderr to the file `err'.
  431.  
  432. If you want to supply certain switches for RHIDE as a default, you may put
  433. them into the environment variable `$(RHIDEOPT)'.  The contents of this
  434. variable is used before the the real commandline is parsed.  That means
  435. you can overwrite the switches from the environment variable.
  436.  
  437. 
  438. File: rhide.inf,  Node: The program GPR2MAK.EXE,  Next: First steps with RHIDE,  Prev: Getting started,  Up: Introduction
  439.  
  440. 1.6 The program GPR2MAK.EXE
  441. ===========================
  442.  
  443. This program can be used to create a makefile from your projectfile.  It
  444. does exctly the same like the function which is selectable from the RHIDE
  445. menu (*Note Write Makefile::).
  446.  
  447. In RHIDE you have only the possibility to say, if in the generated
  448. makefile all dependencies should be included or not. With `gpr2mak.exe'
  449. you can tell also to create recursively all the needed makefiles. This
  450. makes sense only if you have included other projects in your project.
  451.  
  452. Here are the possible commandline options for `gpr2mak.exe'.
  453. `-d'
  454.      Include all dependencies in the makefile
  455.  
  456. `-d-'
  457.      Include only the needed dependencies to create the final program or
  458.      library.
  459.  
  460. `-r'
  461.      Call `gpr2mak.exe' recursively, if there are other projects part of
  462.      the project.
  463.  
  464. `-r-'
  465.      Do not call `gpr2mak.exe' recursively.
  466.  
  467. `-o OUTFILE'
  468.      Use `OUTFILE' instead of the project name (with the suffix `.mak') as
  469.      the created makefile. If you want to write the makefile to `stdout',
  470.      use `-' as `OUTFILE'.
  471.  
  472. And the complete syntax for calling `gpr2mak.exe' is also:
  473.  
  474.      `gpr2mak.exe [-d[-]] [-r[-]] [-o OUTFILE] project-file'
  475.  
  476. If you give no options (the project-file must be given), `gpr2mak.exe'
  477. assumes the flags `-d- -r-' as default.
  478.  
  479. 
  480. File: rhide.inf,  Node: First steps with RHIDE,  Next: Environment variables,  Prev: The program GPR2MAK.EXE,  Up: Introduction
  481.  
  482. 1.7 First steps with RHIDE
  483. ==========================
  484.  
  485. Here I will give you some instructions for the first steps to get contact
  486. with RHIDE.
  487.  
  488. * Menu:
  489.  
  490. * What are these so called projects::
  491. * Creating your first project::
  492.  
  493. 
  494. File: rhide.inf,  Node: What are these so called projects,  Next: Creating your first project,  Prev: First steps with RHIDE,  Up: First steps with RHIDE
  495.  
  496. 1.7.1 What are these so called projects
  497. ---------------------------------------
  498.  
  499. A project for RHIDE is a file, where all the needed information are
  500. stored, which are required to build a program or library from one or more
  501. source files and also all the other options which belong to the look and
  502. feel of your desktop are stored there.
  503.  
  504. In genereal RHIDE creates for each project 2 files. One for the project
  505. itself (it has the suffix `.gpr') and one for the desktop related things
  506. (it has the suffix `.gdt').
  507.  
  508. To create a new project either run rhide with a not existing project name
  509. as argument or open within RHIDE a project by selecting a name which is
  510. not existent.
  511.  
  512. 
  513. File: rhide.inf,  Node: Creating your first project,  Prev: What are these so called projects,  Up: First steps with RHIDE
  514.  
  515. 1.7.2 Creating your first project
  516. ---------------------------------
  517.  
  518. For the next instructions I will assume, that you want to create a project
  519. for the standard "Hello world" program in the current directory. Create now
  520. the new project by running
  521.  
  522. rhide hello
  523.  
  524. and you will see an empty desktop and one window opened, the project
  525. window.  This window will show you, that there is no file defined for your
  526. project.  If the project window is selected (it has a double frame), then
  527. hit there <Ins> and you will be prompted for adding an item to your
  528. project.
  529.  
  530. Type in the inputline now `hello.c' and hit <ENTER>. Now hit <ESC> to
  531. leave the dialog. You will see now, that the project window contains a
  532. line with `hello.c'.
  533.  
  534. Now hit <ENTER> on that filename and you will get an empty editor window
  535. named `hello.c' prepended by the current directory. In this editor window
  536. you can type now the program:
  537.  
  538. #include <stdio.h>
  539.  
  540. int main()
  541. {
  542.   printf("Hello world!\n");
  543.   exit(0);
  544. }
  545.  
  546. Now you can select from the Run-menu the Run entry (or use the hotkey
  547. <Ctrl-F9>) and RHIDE will do all the neccessary steps to compile, link and
  548. execute the program.
  549.  
  550. If everything was correct (no typing errors) or some other error, you will
  551. get a messagebox where RHIDE tells you, that the program exited with an
  552. exit code of 0. (This is the value, which you have specified in your
  553. program above in the `exit(0);' statement) This box you can close with
  554. <ENTER> or <Esc>.
  555.  
  556. To see the output of the program, you can switch now to the user screen
  557. with <Alt+F5> or from the menu (Windows/User screen).  To return back to
  558. RHIDE hit any key.
  559.  
  560. 
  561. File: rhide.inf,  Node: Environment variables,  Prev: First steps with RHIDE,  Up: Introduction
  562.  
  563. 1.8 Environment variables
  564. =========================
  565.  
  566. RHIDE uses many environment variables for it's configuration and
  567. behaviour. This includes also some standard variables, which are used by
  568. the in RHIDE linked libraries. These are:
  569.  
  570. $(LOCALEDIR)
  571.      This should point to the directory, where your locale files are
  572.      stored. If it is not set, RHIDE tries to get the system default
  573.      value, which is for linux `/usr/share/locale' and for DJGPP
  574.      `$(DJDIR)/share/locale'.
  575.  
  576. $(INFOPATH)
  577.      This is a pathlist of directories, where your INFO files are stored.
  578.      If not set, RHIDE tries the standard directory, which should for
  579.      linux `/usr/info' and for DJGPP `$(DJDIR)/info'.
  580.  
  581. $(RHIDEOPT)
  582.      This variable can be used, to define global RHIDE commandline
  583.      options. The value of this variable is used, as if the contents would
  584.      given on commandline before any of the real commandline options,
  585.      which means, they can be overwritten on commandline.
  586.  
  587. $(ESCDELAY)
  588.      This variable is used *ONLY* in the linux version, where it defines
  589.      the delay after pressing <ESC> to wait for an other keypress to
  590.      simulate an <Alt> keycode. The value is given in milliseconds and
  591.      defaults to 1000.
  592.  
  593. $(LANGUAGE)
  594.      This variable is used to specify the language, in which RHIDE should
  595.      communicate with you. The contents of this variable should be the ISO
  596.      2-character code of your country.
  597.  
  598. * Menu:
  599.  
  600. * Setting environment variables for RHIDE::
  601. * Where to store the environment file::
  602.  
  603. 
  604. File: rhide.inf,  Node: Setting environment variables for RHIDE,  Next: Where to store the environment file,  Prev: Environment variables,  Up: Environment variables
  605.  
  606. 1.8.1 Setting environment variables for RHIDE
  607. ---------------------------------------------
  608.  
  609. There are some different ways for setting environment variables for RHIDE.
  610. One of them is to set them in the way, like it is done for any other
  611. environment variable on your system. But this means also, that these
  612. variables are visible also for all the other programs.
  613.  
  614. When using the DJGPP version, you can set them also in your `djgpp.env'
  615. file either at the beginning as global variables for any DJGPP program or
  616. in a special section `[RHIDE]' only for RHIDE. Please read the doc about
  617. the format of the `djgpp.env' file for more information.
  618.  
  619. Derived from the technique used on DJGPP for setting environment variables
  620. which are visible only for DJGPP programs, I have added in RHIDE a similar
  621. thing. RHIDE can read environment variables also from a file called
  622. `rhide.env'.
  623.  
  624. The syntax of this file is very simple. Each line has one of the following
  625. syntax:
  626. VARIABLE=CONTENTS
  627.      Which means, that the environment variable `VARIABLE' should become
  628.      the contents `CONTENTS' where `CONTENTS' can be also a variable,
  629.      which is expanded at runtime.
  630.  
  631. .OTHER_ENV_FILE
  632.      Such a line (it begins with a dot) tells RHIDE to read in at that
  633.      point the file `OTHER_ENV_FILE' as environment file. The name
  634.      `OTHER_ENV_FILE' can be also an environment variable, which is
  635.      expanded before reading the file.
  636.  
  637. # comments
  638.      A line, which begins with a `#' means, that this line is ignored.  It
  639.      can be used for you to write there some comments about that file.
  640.  
  641. RHIDE is very powerfull in handling the environment variables. Most of it
  642. is taken from the behaviour of GNU make. On of this great things is, that
  643. a variable name can consist also of other variables, which are computed
  644. when the variable should be expanded.
  645.  
  646. As an example of this, you can take a look on the RHIDE sources in the
  647. `rhide.env' files. There I'm using for instance the in RHIDE builtin
  648. variable $(RHIDE_OS) to define the libraries, which are linked in RHIDE
  649. depending on the operating system where RHIDE is built.
  650.  
  651. Here is a part of the environment file `rhide.var' in the main RHIDE
  652. source directory (which is included by `rhide.env' with
  653. .$(RHIDESRC)/rhide.var
  654.  
  655. RHIDE_OS_LIBS_Linux=ncurses gpm m
  656. RHIDE_OS_LIBS_DJGPP_idegc.exe=dbg
  657. RHIDE_OS_LIBS_DJGPP=$(RHIDE_OS_LIBS_DJGPP_$(MAIN_TARGET))
  658. RHIDE_OS_LIBS=$(RHIDE_OS_LIBS_$(RHIDE_OS))
  659.  
  660. The RHIDE builtin linker spec (*Note Builtin compiler specs::) includes
  661. also $(RHIDE_OS_LIBS) when linking. Since RHIDE can be built on DJGPP and
  662. linux and on these different operating systems I have to link different
  663. libraries.
  664.  
  665. Description of the above: When linking on DJGPP the file `idegc.exe'
  666. (which is RHIDE) I have to inlcude (in addition to all the other
  667. libraries) `libdbg.a', which contains all the DJGPP specific debugging
  668. functions. This is done at runtime by expanding RHIDE_OS_LIBS. Here are
  669. the steps, how RHIDE expands the variable RHIDE_OS_LIBS:
  670.  
  671. $(RHIDE_OS_LIBS)                      ->  $(RHIDE_OS_LIBS_$(RHIDE_OS))
  672. $(RHIDE_OS_LIBS_$(RHIDE_OS))          ->  $(RHIDE_OS_LIBS_DJGPP)
  673. $(RHIDE_OS_LIBS_DJGPP)                ->  $(RHIDE_OS_LIBS_DJGPP_$(MAIN_TARGET))
  674. $(RHIDE_OS_LIBS_DJGPP_$(MAIN_TARGET)) ->  $(RHIDE_OS_LIBS_DJGPP_idegc.exe)
  675. $(RHIDE_OS_LIBS_DJGPP_idegc.exe       ->  dbg
  676.  
  677. In a similar way it exapnds on linux to
  678.  
  679. $(RHIDE_OS_LIBS) -> ncurses gpm m
  680.  
  681. 
  682. File: rhide.inf,  Node: Where to store the environment file,  Prev: Setting environment variables for RHIDE,  Up: Environment variables
  683.  
  684. 1.8.2 Where to store the environment file
  685. -----------------------------------------
  686.  
  687. RHIDE searches some known directories for the file `rhide.env' (and of
  688. course also other there defined included files).
  689.  
  690. At first it searches for a global file in `/usr/local/share/rhide' (on
  691. linux) or `$(DJDIR)/share/rhide'. Then it searches in `$(HOME)' and at
  692. last in the current directory.
  693.  
  694. RHIDE does not only a search, it also loads the file, if it was found in
  695. any of the above mentioned directories. That means, if in all these
  696. directories `rhide.env' exists, it is loaded. This has the effect, that
  697. you can define some global defaults which can be overwritten with a
  698. `rhide.env' in the current or your home directory.
  699.  
  700. 
  701. File: rhide.inf,  Node: General information about how RHIDE works,  Next: Description of the pull-down menus,  Prev: Introduction,  Up: Top
  702.  
  703. 2. General information about how RHIDE works
  704. ********************************************
  705.  
  706. In this section I will give you some comments about the concept of RHIDE.
  707. RHIDE works with the GNU compilers. As a result of this, most of the
  708. options are fixed and they are mostly also specific only for these
  709. compiler. If I speak about compilers, I mean GCC, which calls the right
  710. compilers for you.  (`cpp' for preprocessing your input files, `cc1' for
  711. compiling C programs, `cc1plus' for compiling C++ programs and `as' for
  712. compiling assembler files and so on)
  713.  
  714. Selecting the right compiler for a specific file is done by RHIDE in the
  715. same way as GCC it does. It looks for the extension of the file and
  716. determines the language of this file.
  717.  
  718. * Menu:
  719.  
  720. * Known suffixes::
  721. * Syntax of arguments::
  722. * Running under Windows 95::
  723. * Running under OS/2::
  724. * General use of RHIDE::
  725.  
  726. 
  727. File: rhide.inf,  Node: Known suffixes,  Next: Syntax of arguments,  Prev: General information about how RHIDE works,  Up: General information about how RHIDE works
  728.  
  729. 2.1 Known suffixes
  730. ==================
  731.  
  732. The list of the known suffixes is taken from gcc. Remember the fact, that
  733. gcc and RHIDE check the suffixes in a case sensitive way especially when
  734. running under Windows 95 (*Note Running under Windows 95::).
  735.  
  736.    * Valid suffixes for C source files are
  737.     `.c'
  738.           Normal C source file
  739.  
  740.     `.i'
  741.           C source file, which doesn't need the preprocessor
  742.  
  743.    * Valid suffixes for C++ source files are
  744.     `.cc'
  745.     `.cpp'
  746.     `.cxx'
  747.     `.C'
  748.           Normal C++ source file
  749.  
  750.     `.ii'
  751.           C++ source file, which doesn't need the preprocessor
  752.  
  753.    * Valid suffixes for Objective C source files
  754.     `.m'
  755.           Normal Objective C source file
  756.  
  757.    * Valid suffixes for Pascal source files
  758.     `.p'
  759.     `.pas'
  760.           Normal Pascal source file
  761.  
  762.    * Valid suffixes for object files
  763.     `.o'
  764.           Normal object file
  765.  
  766.     `'
  767.           any other suffix, which has no predefined meaning
  768.  
  769.    * Valid suffixes for libraries
  770.     `.a'
  771.           Normal library file
  772.  
  773.    * Valid suffixes for executable files
  774.     `.exe'
  775.           Normal executable file for MS-DOS
  776.  
  777.     `.'
  778.           No suffix means the raw COFF image of an executable file. These
  779.           can be handled only by programs, which know about this format.
  780.           (DJGPP programs know this)
  781.  
  782.    * Valid suffixes for include files
  783.     `.h'
  784.           Normal include files
  785.  
  786.     `.hpp'
  787.           Some people telled me, that this suffix should be treated also
  788.           as a valid suffix for header files, so I applied it.
  789.  
  790.     `'
  791.           Theoretically there is no restriction for such a suffix, but
  792.           RHIDE searches and finds only files with the above suffixes in
  793.           the specified directories (*Note Include directories::)
  794.  
  795.    * Valid suffixes for Assembler source files
  796.     `.s'
  797.           Normal Assembler source file
  798.  
  799.     `.S'
  800.           Assembler source file, which must be preprocessed by `cpp'. If
  801.           you have such files, there is a problem, when long filenames are
  802.           not enabled (default in MS-DOS), because RHIDE converts all
  803.           filenames in this situation to lower case. But you can add to
  804.           the local options for this item (*Note Local options::) the
  805.           commandline argument -X ASSEMBLER-WITH-CPP, to tell `gcc' to
  806.           preprocess this file first before assembling it.
  807.  
  808. 
  809. File: rhide.inf,  Node: Syntax of arguments,  Next: Running under Windows 95,  Prev: Known suffixes,  Up: General information about how RHIDE works
  810.  
  811. 2.2 Syntax of arguments
  812. =======================
  813.  
  814. In RHIDE you can specify some arguments to other programs. These arguments
  815. must be a space separated list of strings. If you want to have one or more
  816. spaces as part of an argument, you have to enclose the whole argument in
  817. single or double quotes.
  818.  
  819. 
  820. File: rhide.inf,  Node: Running under Windows 95,  Next: Running under OS/2,  Prev: Syntax of arguments,  Up: General information about how RHIDE works
  821.  
  822. 2.3 Running under Windows 95
  823. ============================
  824.  
  825. With DJGPP 2.01 were many bugs fixed, which caused problems under Windows
  826. 95 with the long (and case sensetive) filenames. Now all filenames are
  827. shown in lower case, except they contain characters with different case.
  828. That means, all normal 8+3 DOS filenames, which are normaly reported in
  829. Windows 95 in upper cases, are automatically converted to lower case. For
  830. more information about  filename conversion look at the libc reference.
  831.  
  832. If you really need the filenames exactly  as they are reported by the OS,
  833. you can use the -C switch (*Note Getting started::).
  834.  
  835. You can also run more than one instance of RHIDE at once, in several
  836. DOS-boxes, because RHIDE creates and uses its own temp directory every
  837. time it starts to disable conflicts, when running multiple compilers at
  838. the same time. This is done by creating a directory in the directory
  839. pointed at by the environment variables %TMPDIR%, %TEMP% or %TMP%, in that
  840. order, until one of them exists. If none of them exists, the current
  841. directory is assumed. Then RHIDE puts the value of this directory into the
  842. environment variable %TMPDIR%. After leaving RHIDE this directory will be
  843. removed, if it is empty.
  844.  
  845. 
  846. File: rhide.inf,  Node: Running under OS/2,  Next: General use of RHIDE,  Prev: Running under Windows 95,  Up: General information about how RHIDE works
  847.  
  848. 2.4 Running under OS/2
  849. ======================
  850.  
  851. Because I have no access to OS/2, I cannot say anything about it. But some
  852. people said  that they run RHIDE under OS/2 successfully, but there must
  853. be the exclusive mouse access to the DOS window disabled.
  854.  
  855. 
  856. File: rhide.inf,  Node: General use of RHIDE,  Prev: Running under OS/2,  Up: General information about how RHIDE works
  857.  
  858. 2.5 General use of RHIDE
  859. ========================
  860.  
  861. * Menu:
  862.  
  863. * Creating a program::
  864. * Creating a library::
  865. * Saving/Loading the options::
  866.  
  867. 
  868. File: rhide.inf,  Node: Creating a program,  Next: Creating a library,  Prev: General use of RHIDE,  Up: General use of RHIDE
  869.  
  870. 2.5.1 Creating a program
  871. ------------------------
  872.  
  873. For creating a program, RHIDE allows you to define multiple source files
  874. which should be compiled and linked to your final program. This is done by
  875. creating a project. In this project you insert your source files (and not
  876. all the include files).
  877.  
  878. After a source file (which is inserted in your project) compiled at least
  879. once, RHIDE knows about all dependencies of this file, so this file will
  880. be compiled again only, if one of the include files have changed.
  881.  
  882. * Menu:
  883.  
  884. * Creating a program without a project::
  885.  
  886. 
  887. File: rhide.inf,  Node: Creating a program without a project,  Prev: Creating a program,  Up: Creating a program
  888.  
  889. 2.5.1.1 Creating a program without a project
  890. ............................................
  891.  
  892. Because of many requests of users I made RHIDE to work also without using
  893. a project. This may be good, if you have a single file, but if your
  894. program should be build from more than one file I suggest you to use a
  895. project.
  896.  
  897. If you have only one editor window opened, the name of the resulting
  898. program is taken from the name of the source file by removing the suffix
  899. and appending `.exe'.
  900.  
  901. If you have more than one files opened, I saw no other way for determining
  902. the name of the produced program, than naming it `aout.exe'.
  903.  
  904. 
  905. File: rhide.inf,  Node: Creating a library,  Next: Saving/Loading the options,  Prev: Creating a program,  Up: General use of RHIDE
  906.  
  907. 2.5.2 Creating a library
  908. ------------------------
  909.  
  910. You can also create libraries (a collection of object files, which can be
  911. linked with other programs) with RHIDE. The way for doing this is very
  912. simple. Because RHIDE knows about the meaning of file suffixes, you can
  913. change the name of the main target (*Note Main targetname::) to have a
  914. suffix `.a' and that's all. Now RHIDE will run `ar.exe' instead of linking
  915.  
  916. 
  917. File: rhide.inf,  Node: Saving/Loading the options,  Prev: Creating a library,  Up: General use of RHIDE
  918.  
  919. 2.5.3 Saving/Loading the options
  920. --------------------------------
  921.  
  922. RHIDE supports two different ways for saving the options which you have
  923. customized.
  924.  
  925. The first one (which I prefer) is the use of the so called default
  926. project. This is the project `rhide.gpr' and must be located in the same
  927. directory where `rhide.exe' is. To create or modify this default project
  928. change to that directory (normally %DJDIR%/bin) and type there
  929.  
  930. rhide rhide
  931.  
  932. Now chnage any options you want and exit RHIDE. From now on these options
  933. are used for any newly created project or when running RHIDE without a
  934. project.
  935.  
  936. The second way is to save your options to a project file (*Note Save
  937. options::) or to load them from any existing project file (*Note Load
  938. options::).
  939.  
  940. 
  941. File: rhide.inf,  Node: Description of the pull-down menus,  Next: Detailed description of some parts of RHIDE,  Prev: General information about how RHIDE works,  Up: Top
  942.  
  943. 3. Description of the pull-down menus
  944. *************************************
  945.  
  946. This chapter describes the pull-down menus and all their sub-menus.  The
  947. main menu bar, the topmost line of the screen, is selected with the hotkey
  948. <F10>  or by clicking with the mouse at this line. You can walk through
  949. the menu with the cursor keys and a menu entry is selected with <ENTER>
  950. or by clicking with the mouse on it.
  951.  
  952. * Menu:
  953.  
  954. * System menu::
  955. * File::
  956. * Edit::
  957. * Search::
  958. * RUN::
  959. * Compile menu::
  960. * Debug::
  961. * PROJECT::
  962. * Options::
  963. * Windows::
  964. * Help submenu::
  965.  
  966. 
  967. File: rhide.inf,  Node: System menu,  Next: File,  Prev: Description of the pull-down menus,  Up: Description of the pull-down menus
  968.  
  969. 3.1 System menu
  970. ===============
  971.  
  972. This menu has its name only that one can speak about it. The symbol for
  973. this menu is the leftmost symbol in the menu bar and can be selected by
  974. <Alt+SPACE> .
  975.  
  976. * Menu:
  977.  
  978. * About::
  979. * Bug report::
  980. * FSDB::
  981. * GREP::
  982. * GDB::
  983. * Refresh Desktop::
  984. * Calculator::
  985. * Puzzle::
  986. * Calender::
  987. * ASCII table::
  988.  
  989. 
  990. File: rhide.inf,  Node: About,  Next: Bug report,  Prev: System menu,  Up: System menu
  991.  
  992. 3.1.1 About
  993. -----------
  994.  
  995. This brings up a window with information about the author and the version
  996. of RHIDE.
  997.  
  998. 
  999. File: rhide.inf,  Node: Bug report,  Next: FSDB,  Prev: About,  Up: System menu
  1000.  
  1001. 3.1.2 Bug report
  1002. ----------------
  1003.  
  1004. This menu entry opens an editor with some important information which
  1005. should be part of a bug report and where you can describe the problem.
  1006.  
  1007. 
  1008. File: rhide.inf,  Node: FSDB,  Next: GREP,  Prev: Bug report,  Up: System menu
  1009.  
  1010. 3.1.3 FSDB
  1011. ----------
  1012.  
  1013. With this menu item you can call the FSDB debugger, which comes with
  1014. DJGPP. But remember, this runs the debugger as an external program and it
  1015. is not integrated in RHIDE.
  1016.  
  1017. 
  1018. File: rhide.inf,  Node: GREP,  Next: GDB,  Prev: FSDB,  Up: System menu
  1019.  
  1020. 3.1.4 GREP
  1021. ----------
  1022.  
  1023. This is a very useful function. You can type the arguments for grep in the
  1024. input line, which will be shown, and after this the program grep is
  1025. called. The messages from grep are redirected to the message window (*Note
  1026. Message window::).
  1027.  
  1028. 
  1029. File: rhide.inf,  Node: GDB,  Next: Refresh Desktop,  Prev: GREP,  Up: System menu
  1030.  
  1031. 3.1.5 GDB
  1032. ---------
  1033.  
  1034. This is analog to the call of FSDB (*Note FSDB::).
  1035.  
  1036. 
  1037. File: rhide.inf,  Node: Refresh Desktop,  Next: Calculator,  Prev: GDB,  Up: System menu
  1038.  
  1039. 3.1.6 Refresh Desktop
  1040. ---------------------
  1041.  
  1042. This function is sometimes useful, if you had run your program and it
  1043. wrote some things to the screen (for redirecting `stdout' and `stderr'
  1044. from your program to a window in RHIDE (*Note Preferences::)).
  1045.  
  1046. 
  1047. File: rhide.inf,  Node: Calculator,  Next: Puzzle,  Prev: Refresh Desktop,  Up: System menu
  1048.  
  1049. 3.1.7 Calculator
  1050. ----------------
  1051.  
  1052. This brings up a dialog, where you can do some calcualtions. This dialog
  1053. is similar to the evaluate dialog (*Note Evaluate/Modify::), but it uses
  1054. not the feature of gdb, but it is a separate calculator.
  1055.  
  1056. There can be used also some of the standard functions like `log', `sin'
  1057. and so on and it can convert also integer values between different bases
  1058. (`hex', `oct', `dec').
  1059.  
  1060. 
  1061. File: rhide.inf,  Node: Puzzle,  Next: Calender,  Prev: Calculator,  Up: System menu
  1062.  
  1063. 3.1.8 Puzzle
  1064. ------------
  1065.  
  1066. This will open a small window, where you can play a little puzzle game.
  1067. The "stones" are moved with the cursor keys or by clicking with the mouse
  1068. on it.
  1069.  
  1070. 
  1071. File: rhide.inf,  Node: Calender,  Next: ASCII table,  Prev: Puzzle,  Up: System menu
  1072.  
  1073. 3.1.9 Calender
  1074. --------------
  1075.  
  1076. This will open a little calender. With the cursor keys <Up> and <Down> you
  1077. can switch to the next/previous month or click with the mouse the small
  1078. symbols int the upper corners.
  1079.  
  1080. 
  1081. File: rhide.inf,  Node: ASCII table,  Prev: Calender,  Up: System menu
  1082.  
  1083. 3.1.10 ASCII table
  1084. ------------------
  1085.  
  1086. This will open a window with all the ASCII characters. Move around with
  1087. the curser keys or press any key to select any wanted charcter.  In the
  1088. bottom line you will see the the character and the value of it (decimal
  1089. and hexadecimal). The decimal value can be used to create that character
  1090. for instance in the editor by holding the <Alt> key down and typing the
  1091. value on the numeric key pad.
  1092.  
  1093. 
  1094. File: rhide.inf,  Node: File,  Next: Edit,  Prev: System menu,  Up: Description of the pull-down menus
  1095.  
  1096. 3.2 File
  1097. ========
  1098.  
  1099. In this menu you can find functions, which deal with files like open,
  1100. close, save and so on.
  1101.  
  1102. * Menu:
  1103.  
  1104. * Open::
  1105. * New::
  1106. * Save::
  1107. * Save as::
  1108. * Save all::
  1109. * DOS Shell::
  1110. * Exit::
  1111.  
  1112. 
  1113. File: rhide.inf,  Node: Open,  Next: New,  Prev: File,  Up: File
  1114.  
  1115. 3.2.1 Open
  1116. ----------
  1117.  
  1118. Brings up the file-open dialog, where you can select a file to open
  1119. (hotkey <F3> ). This dialog contains an inputline for the filename, a list
  1120. of filenames, an information window and the buttons for opening and
  1121. canceling.
  1122.  
  1123. In the filename inputline you can type direct the file, which you want to
  1124. open or you can type any mask to list only some files. The default mask is
  1125. `*.cc', but you can change this to anything and your last typed mask is
  1126. stored as the default mask for the next use. There is also a history of
  1127. your previous typed inputs available. This is selected when you hit the
  1128. down key or click at the small symbol at the end of the inputline with
  1129. your mouse.
  1130.  
  1131. The list of filenames shows all the files that correspond to the mask.  If
  1132. this list is selected you can choose a file with the cursor keys, or you
  1133. can type the first letters of the filename you want, and the bar is
  1134. located at the first file, which has these letters as the first
  1135. characters. To open the file simply press <ENTER> or double click with the
  1136. mouse on it.
  1137.  
  1138. Below the list of filenames there is a small window with information about
  1139. the selected file (complete path, size, modification time).
  1140.  
  1141. To leave the dialog without opening a file press <ESC>
  1142.  
  1143. 
  1144. File: rhide.inf,  Node: New,  Next: Save,  Prev: Open,  Up: File
  1145.  
  1146. 3.2.2 New
  1147. ---------
  1148.  
  1149. This is the menu entry for creating a new file to edit. This file gets the
  1150. title 'Untitled'. If you save or close it, you will be prompted for a new
  1151. name of this file by opening the file-open dialog.
  1152.  
  1153. 
  1154. File: rhide.inf,  Node: Save,  Next: Save as,  Prev: New,  Up: File
  1155.  
  1156. 3.2.3 Save
  1157. ----------
  1158.  
  1159. Save the file in the current editor-window to disk. If the name of the
  1160. current file is 'Untitled' you will be prompted for a new name. This
  1161. function has the hotkey <F2> .  The modification of the file on disk is
  1162. set to the time of the last modification of this file and not to the time
  1163. when saving to disk.
  1164.  
  1165. If the file was not modified, it is not saved!!
  1166.  
  1167. 
  1168. File: rhide.inf,  Node: Save as,  Next: Save all,  Prev: Save,  Up: File
  1169.  
  1170. 3.2.4 Save as
  1171. -------------
  1172.  
  1173. Save the file in the current editor-window to disk under a different name,
  1174. for which you will be prompted. For choosing the new name the file-open
  1175. dialog will be opened.
  1176.  
  1177. 
  1178. File: rhide.inf,  Node: Save all,  Next: DOS Shell,  Prev: Save as,  Up: File
  1179.  
  1180. 3.2.5 Save all
  1181. --------------
  1182.  
  1183. Save all the editor files to disk. If they are not modified, they will not
  1184. be saved.
  1185.  
  1186. 
  1187. File: rhide.inf,  Node: DOS Shell,  Next: Exit,  Prev: Save all,  Up: File
  1188.  
  1189. 3.2.6 DOS Shell
  1190. ---------------
  1191.  
  1192. This executes a DOS-Shell. This is done by calling the program, which is
  1193. set in the environment variable COMSPEC. If this variable does not exist,
  1194. the program `c:/command.com' is executed.  To return to the IDE type
  1195. `exit' at the DOS-prompt. Before calling DOS, the program does a *Save
  1196. all* (*Note Save all::) automatically.
  1197.  
  1198. 
  1199. File: rhide.inf,  Node: Exit,  Prev: DOS Shell,  Up: File
  1200.  
  1201. 3.2.7 Exit
  1202. ----------
  1203.  
  1204. Here you can quit the IDE. If there are any unsaved editor-files, you will
  1205. be prompted for saving them. (hotkey <Alt+X> )
  1206.  
  1207. 
  1208. File: rhide.inf,  Node: Edit,  Next: Search,  Prev: File,  Up: Description of the pull-down menus
  1209.  
  1210. 3.3 Edit
  1211. ========
  1212.  
  1213. In this menu you can activate functions, which are related to the
  1214. integrated editor. Most of them have a hotkey.
  1215.  
  1216. * Menu:
  1217.  
  1218. * Undo::
  1219. * Redo::
  1220. * Cut::
  1221. * Copy::
  1222. * Paste::
  1223. * Show Clipboard::
  1224. * Clear::
  1225. * Expand all tabs::
  1226. * Compact text::
  1227. * Macro::
  1228.  
  1229. 
  1230. File: rhide.inf,  Node: Undo,  Next: Redo,  Prev: Edit,  Up: Edit
  1231.  
  1232. 3.3.1 Undo
  1233. ----------
  1234.  
  1235. This undoes your last change in the current editor-window. The hotkey for
  1236. this function is <Alt+Backspace> .
  1237.  
  1238. 
  1239. File: rhide.inf,  Node: Redo,  Next: Cut,  Prev: Undo,  Up: Edit
  1240.  
  1241. 3.3.2 Redo
  1242. ----------
  1243.  
  1244. This does the reverse to undo (*Note Undo::). That means, it is the undo
  1245. of the undo.
  1246.  
  1247. 
  1248. File: rhide.inf,  Node: Cut,  Next: Copy,  Prev: Redo,  Up: Edit
  1249.  
  1250. 3.3.3 Cut
  1251. ---------
  1252.  
  1253. This *moves* the selected text in the current editor-window to the
  1254. clipboard. (hotkey <Shift+Del> )
  1255.  
  1256. 
  1257. File: rhide.inf,  Node: Copy,  Next: Paste,  Prev: Cut,  Up: Edit
  1258.  
  1259. 3.3.4 Copy
  1260. ----------
  1261.  
  1262. This *copys* the selected text in the current editor-window to the
  1263. clipboard. (hotkey <Ctrl+Ins> )
  1264.  
  1265. 
  1266. File: rhide.inf,  Node: Paste,  Next: Show Clipboard,  Prev: Copy,  Up: Edit
  1267.  
  1268. 3.3.5 Paste
  1269. -----------
  1270.  
  1271. This inserts the selected text in the clipboard in the current
  1272. editor-window at the current cursor-position. (hotkey <Shift+Ins> )
  1273.  
  1274. 
  1275. File: rhide.inf,  Node: Show Clipboard,  Next: Clear,  Prev: Paste,  Up: Edit
  1276.  
  1277. 3.3.6 Show Clipboard
  1278. --------------------
  1279.  
  1280. This brings up an editor-window with the contents of the clipboard. The
  1281. contents of the clipboard will be lost, if you exit the IDE.
  1282.  
  1283. 
  1284. File: rhide.inf,  Node: Clear,  Next: Expand all tabs,  Prev: Show Clipboard,  Up: Edit
  1285.  
  1286. 3.3.7 Clear
  1287. -----------
  1288.  
  1289. This erases the selected text in the current editor-window.
  1290.  
  1291. 
  1292. File: rhide.inf,  Node: Expand all tabs,  Next: Compact text,  Prev: Clear,  Up: Edit
  1293.  
  1294. 3.3.8 Expand all tabs
  1295. ---------------------
  1296.  
  1297. When selecting this menu entry, all real tabs (all characters with the
  1298. code `0x9') are expaned to as many spaces as defined as the tabsize (*Note
  1299. Preferences::).
  1300.  
  1301. 
  1302. File: rhide.inf,  Node: Compact text,  Next: Macro,  Prev: Expand all tabs,  Up: Edit
  1303.  
  1304. 3.3.9 Compact text
  1305. ------------------
  1306.  
  1307. This function is the reverse to (*Note Expand all tabs::). That means,
  1308. RHIDE tries to make as many as possible spaces (count is taken from the
  1309. defined tabsize) to real tabs.
  1310.  
  1311. 
  1312. File: rhide.inf,  Node: Macro,  Prev: Compact text,  Up: Edit
  1313.  
  1314. 3.3.10 Macro
  1315. ------------
  1316.  
  1317. Here is a submenu for handling macros. Currently there is only one
  1318. recordable macro available and it is NOT stored anywhere. That means it is
  1319. lost when you leave RHIDE and restart it. There is an other way of using
  1320. macros (*Note Defining macros::).
  1321.  
  1322. * Menu:
  1323.  
  1324. * Record::
  1325. * Stop::
  1326. * Play::
  1327.  
  1328. 
  1329. File: rhide.inf,  Node: Record,  Next: Stop,  Prev: Macro,  Up: Macro
  1330.  
  1331. 3.3.10.1 Record
  1332. ...............
  1333.  
  1334. After selecting this function, all your keystrokes are recorded to
  1335. reproduce them later.
  1336.  
  1337. (hotkey <Shift+F10> )
  1338.  
  1339. 
  1340. File: rhide.inf,  Node: Stop,  Next: Play,  Prev: Record,  Up: Macro
  1341.  
  1342. 3.3.10.2 Stop
  1343. .............
  1344.  
  1345. This stops the recording of a macro.
  1346.  
  1347. (hotkey <Alt+F10> )
  1348.  
  1349. 
  1350. File: rhide.inf,  Node: Play,  Prev: Stop,  Up: Macro
  1351.  
  1352. 3.3.10.3 Play
  1353. .............
  1354.  
  1355. This executes the recorded macro.
  1356.  
  1357. (hotkey <Ctrl+F10> )
  1358.  
  1359. 
  1360. File: rhide.inf,  Node: Search,  Next: RUN,  Prev: Edit,  Up: Description of the pull-down menus
  1361.  
  1362. 3.4 Search
  1363. ==========
  1364.  
  1365. Menu for searching and replacing strings in the editor-window. These
  1366. functions have also hotkeys.
  1367.  
  1368. * Menu:
  1369.  
  1370. * Find::
  1371. * Replace::
  1372. * Search again::
  1373. * Goto line::
  1374. * Jump to function::
  1375. * Next message::
  1376. * Previous message::
  1377.  
  1378. 
  1379. File: rhide.inf,  Node: Find,  Next: Replace,  Prev: Search,  Up: Search
  1380.  
  1381. 3.4.1 Find
  1382. ----------
  1383.  
  1384. Find a string in the current editor-window. You can type the string for
  1385. searching in an inputline and you can also select, if the search is case
  1386. sensitive or not and to search for whole words only or not.
  1387.  
  1388. (hotkey <Ctrl+Q+F> )
  1389.  
  1390. 
  1391. File: rhide.inf,  Node: Replace,  Next: Search again,  Prev: Find,  Up: Search
  1392.  
  1393. 3.4.2 Replace
  1394. -------------
  1395.  
  1396. Find and replace a string in the current editor-window. This works in the
  1397. same way like searching text, but additionally you can give a string, with
  1398. which the found text will be replaced.
  1399.  
  1400. (hotkey <Ctrl+Q+A> )
  1401.  
  1402. 
  1403. File: rhide.inf,  Node: Search again,  Next: Goto line,  Prev: Replace,  Up: Search
  1404.  
  1405. 3.4.3 Search again
  1406. ------------------
  1407.  
  1408. This function repeats the last search or replace operation.
  1409.  
  1410. (hotkey <Ctrl+L> )
  1411.  
  1412. 
  1413. File: rhide.inf,  Node: Goto line,  Next: Jump to function,  Prev: Search again,  Up: Search
  1414.  
  1415. 3.4.4 Goto line
  1416. ---------------
  1417.  
  1418. After prompting for a line number (with range checking), the cursor will
  1419. be located at this line.
  1420.  
  1421. (hotkey <Ctrl+J> )
  1422.  
  1423. 
  1424. File: rhide.inf,  Node: Jump to function,  Next: Next message,  Prev: Goto line,  Up: Search
  1425.  
  1426. 3.4.5 Jump to function
  1427. ----------------------
  1428.  
  1429. With this feature you can easily jump to the source line of a function to
  1430. edit or see it. This is only a heuristic by parsing your source file and
  1431. does not take the information from the debugging symbols.
  1432.  
  1433. After selecting it you will get a dialog, from where you can select the
  1434. function to which you want to jump.
  1435.  
  1436. (hotkey <Alt+F2> )
  1437.  
  1438. 
  1439. File: rhide.inf,  Node: Next message,  Next: Previous message,  Prev: Jump to function,  Up: Search
  1440.  
  1441. 3.4.6 Next message
  1442. ------------------
  1443.  
  1444. This selects the next message in the message window (*Note Message
  1445. window::), but only, if there is a next message available.
  1446.  
  1447. (hotkey <Alt+F8> )
  1448.  
  1449. 
  1450. File: rhide.inf,  Node: Previous message,  Prev: Next message,  Up: Search
  1451.  
  1452. 3.4.7 Previous message
  1453. ----------------------
  1454.  
  1455. This selects the previous message in the message window (*Note Message
  1456. window::), but only, if there is a previous message available.
  1457.  
  1458. (hotkey <Alt+F7> )
  1459.  
  1460. 
  1461. File: rhide.inf,  Node: RUN,  Next: Compile menu,  Prev: Search,  Up: Description of the pull-down menus
  1462.  
  1463. 3.5 Run
  1464. =======
  1465.  
  1466. In this menu you find the functions for running your program.
  1467.  
  1468. * Menu:
  1469.  
  1470. * Run::
  1471. * Step over::
  1472. * Trace into::
  1473. * Go to cursor::
  1474. * Program reset::
  1475. * Arguments::
  1476.  
  1477. 
  1478. File: rhide.inf,  Node: Run,  Next: Step over,  Prev: RUN,  Up: RUN
  1479.  
  1480. 3.5.1 Run
  1481. ---------
  1482.  
  1483. If your project-target is an executable, this will be run after doing a
  1484. Make (*Note Make::). (hotkey <Ctrl+F9> ) If building the program was not
  1485. successful, the programm will not be started. The debugging functions are
  1486. only available if `-g' was used for compiling.  (*Note Syntax of
  1487. arguments::)
  1488.  
  1489. 
  1490. File: rhide.inf,  Node: Step over,  Next: Trace into,  Prev: Run,  Up: RUN
  1491.  
  1492. 3.5.2 Step over
  1493. ---------------
  1494.  
  1495. This executes the code for exactly on source line. If there is a function
  1496. call at the current line this function is executed at once without
  1497. stepping through this function.
  1498.  
  1499. When using the <Shift>-key, RHIDE will NOT switch to the user screen when
  1500. executing the debuggee.
  1501.  
  1502. (hotkey <F8> ) (hotkey <Shift+F8> )
  1503.  
  1504. 
  1505. File: rhide.inf,  Node: Trace into,  Next: Go to cursor,  Prev: Step over,  Up: RUN
  1506.  
  1507. 3.5.3 Trace into
  1508. ----------------
  1509.  
  1510. This is the same as Step over (*Note Step over::), except when there is a
  1511. function call at the current line and for this function debugging
  1512. information is available, RHIDE steps into this function.
  1513.  
  1514. When using the <Shift>-key, RHIDE will NOT switch to the user screen when
  1515. executing the debuggee.
  1516.  
  1517. (hotkey <F7> ) (hotkey <Shift+F7> )
  1518.  
  1519. 
  1520. File: rhide.inf,  Node: Go to cursor,  Next: Program reset,  Prev: Trace into,  Up: RUN
  1521.  
  1522. 3.5.4 Go to cursor
  1523. ------------------
  1524.  
  1525. This will execute your program until the execution comes to the line,
  1526. where the cursor is. If the program is stopped at any other place by a
  1527. breakpoint the program will stop there and not at the cursor position.
  1528.  
  1529. When using the <Shift>-key, RHIDE will NOT switch to the user screen when
  1530. executing the debuggee.
  1531.  
  1532. (hotkey <F4> ) (hotkey <Shift+F4> )
  1533.  
  1534.