home | help
fp(1)				 Free Pascal IDE			   fp(1)

NAME
     fp - Free Pascal Compiler (FPC) integrated development environment

SYNOPSIS
     fp [options] [sourcefile]

DESCRIPTION
     This  binary  is  the integrated development environment of the Free Pascal
     Compiler (FPC) which is an advanced Turbo Pascal and Delphi (7.0)	compati-
     ble  multitarget  Pascal compiler. The compiler engine is not based on GCC,
     but is completely standalone.

     The compiler uses LD(1) and can use AS(1) (see parameter  -Aas),  but  also
     has its own binary object writer.

     The  current  main targets are Go32V2 (Dos DJGPP extender), Freebsd, Linux,
     MacOS, MacOSX, MorphOS, Netware, OS/2 and Win32.  The other  targets  (M68K
     compilers	for  Atari  and Amiga) are either based on older versions of the
     compiler or are still in development.

     This manpage is meant for quick-reference only.  FPC  comes  with	a  great
     (2000+  pages) manual, which is updated constantly, while this man page can
     be out of date.

Usage
     The user interface of the IDE has been designed to be similar to Turbo Pas-
     cal.  It provides the user with a user friendly, but rather  powerful  edi-
     tor, an extensive on-line help system and a debugger.

     A	text  mode windowing system is the base of the user interface. The mouse
     is supported, but most people will use the keyboard. The user will  usually
     open  a few text editor windows in which he will design his program, during
     which he can regularly check and debug through the use  of  hot  keys.  The
     high  speed  of the compiler ensures that programmers can do this often and
     therefore allows speedy development of code.

Help files
     No help files are provided by default. The user must download the Free Pas-
     cal documentation in HTML format and install it  into  the  IDE  using  the
     Help->Files  menu.  Turbo	Pascal	.tph files can also be installed in this
     menu and can be useful for source code that ships with  .tphfilesasdocumen-
     tation.

Character sets
     The  IDE has been designed for VGA text mode fonts. These fonts allow visu-
     ally more interresting text modes than the the VT100 fonts normally used on
     Unix systems and also more portable, since most operating systems	use  VGA
     character sets for their text modes.

     When running on a VT100 compatible terminal, some emulation will occur. In-
     ternally  the  IDE  will  think it is running on a VGA text mode font (most
     likely code page 850), while all characters will (in the case of code  page
     850) be converted to Latin-1 and VT100 alternate character set characters.

     The  Linux  console can do VGA fonts and therefore the IDE can be viewed as
     it was intended on it. The Linux console mode supports the all of	the  VGA
     character	set through the /dev/vcsa* devices and most of it through normal
     escape sequences. To prevent bad user experiences, the IDE  has  been  made
     rather  aggressive in using VGA character sets. First it will determine the
     actual console number you are running on (even if you run on a pty, like in
     Midnight Commander). Then the IDE will open the /dev/vcsa* device belonging
     to that console. If permission is denied the IDE will  call  the  grab_vcsa
     utility, which is a setuid root utility which will grant permissions to the
     vcsa device.

     In case the vcsa device is not available, the IDE will send escape codes to
     enable  the VGA font. In this mode a few characters in the low 32 ascii po-
     sitions are unavailable, but mainly since the  full  set  of  line  drawing
     characters is available the user will notice few differences.

     The Linux frame buffer device and the Free Pascal IDE are an excellent com-
     bination.	 With  fbdev  it is possible to use text mode resolutions higher
     than the normal 80x25, which allows the programmer to see a lot  more  code
     at a time.

     The  Linux  console  allows  the user to load user defined fonts. If you do
     this, such a font must have a VGA styled layout, i.e. code page 437/850/...
     (Note that this does not mean your file system has to use such an encoding,
     the Linux console handles the conversion from ISO-8859-1, UTF-8 or whatever
     to the font.) Since the default fonts have a code	page  437  layout,  only
     users that have experimented with fonts will have to take care here.

     The IDE recognizes the environment variable CONSOLEFONT_CP in which you can
     specify  the code page of the console font. Recognized values are currently
     "cp437" and "cp850".  If you do not set this variable code page 437 will be
     assumed. Currently, if you use code page 850 without setting  the	variable
     there won't be a huge impact at this time, the characters that the IDE uses
     exist in both code pages.

     Note:  KOI8-R/KOI8-U fonts have all required characters, but the line draw-
     ing characters are not in the right positions. We may support this  in  the
     future, but currently do not.

Keyboard
     Unix keyboard handling is a complicated matter because not all key combina-
     tions  generate escape codes, different terminal emulators generate differ-
     ent escape codes, and some key combinations may trigger actions in the  X11
     Window manager.

     Because  the  Free Pascal IDE's user interface is designed to be similar to
     Turbo Pascal, including keyboard commands, you may experience  one  of  the
     above  situations.  Some alternative keys have been added, and perhaps more
     will have to be added in the future.

     When running on the Linux console, the keyboard is  reprogrammed  for  full
     functionality.

     Here are some common problems you may encounter and possible work-arounds:

     Problem: Selecting text with shift+arrow keys does not work.

     Solution: Use the mouse

     Solution:	Use  "ctrl+k b" to mark start of block,"ctrl+k e" to mark end of
     block, "ctrl+k h" to hide the block.

     Problem: Cut/Copy/Paste keys do not work.

     Solution: Go to Options->Environment->Keyboard & mouse and enable	the  Mi-
     crosoft styled Cut/Copy/Paste keys.

     Solution: Use the menu bar.

     Problem: Alt key does not work.

     Solution:	Press  Escape first, then the key without alt. Note that this is
     not possible on the Linux console, but the Alt key does work there.

     If for whatever reason the reprogrammed Linux console keyboard is	not  re-
     stored  to the original state after exit (IDE crash?), you can do something
     like "/etc/init.d/kbd start" to reprogram it into its normal behaviour.

AUTHORS
     Free Pascal development team (see http://www.freepascal.org)

SEE ALSO
     grab_vcsa fpc fpc.cfg(5) ppdep(1) ppudump(1)  ppumove(1)  ptop(1)	h2pas(1)
     ld(1) as(1)

Free Pascal			   14 apr 2006				   fp(1)

home | help