#449569: Ensure shell/macro accelerators also have accelerator fix
[nedit.git] / README
blob2afe43baafe8cbc3d24861a59c64a25c4d0ce51d
1                     NEdit Version 5.2.0beta,  July 2001
3 $Id: README,v 1.13 2001/08/18 11:48:37 jlous Exp $
4              
5 NEdit is a multi-purpose text editor for the X Window System, which combines a
6 standard, easy to use, graphical user interface with the thorough functionality
7 and stability required by users who edit text eight hours a day.  It provides
8 intensive support for development in a wide variety of languages, text
9 processors, and other tools, but at the same time can be used productively by
10 just about anyone who needs to edit text.
12 As of this version, NEdit may be freely distributed under the terms of the GNU
13 General Public License (see the file COPYRIGHT which is also part of this
14 distribution).
16 AUTHORS
18 NEdit was written by Mark Edel, Joy Kyriakopulos, Christopher Conrad,
19 Jim Clark, Arnulfo Zepeda-Navratil, Suresh Ravoor, Tony Balinski, Max
20 Vohlken, Yunliang Yu, Donna Reid, Arne Førlie, Eddy De Greef, Steve
21 LoBasso, Alexander Mai, Scott Tringali, and Thorsten Haude.
23 The regular expression matching routines used in NEdit are adapted (with
24 permission) from original code written by Henry Spencer at the University of
25 Toronto.
27 Syntax highlighting patterns and smart indent macros were contributed
28 by: Simon T. MacDonald,  Maurice Leysens, Matt Majka, Alfred Smeenk,
29 Alain Fargues, Christopher Conrad, Scott Markinson, Konrad Bernloehr,
30 Ivan Herman, Patrice Venant, Christian Denat, Philippe Couton, Max
31 Vohlken, Markus Schwarzenberg, Himanshu Gohel, Steven C. Kapp, Michael
32 Turomsha, John Fieber, Chris Ross, Nathaniel Gray, Joachim Lous, Mike
33 Duigou, Seak Teng-Fong, Joor Loohuis, Mark Jones, and
34 Niek van den Berg.
36 NEdit sources, executables, additional documentation, and contributed software
37 are available from the NEdit web site at http://nedit.org.
39 This program is free software; you can redistribute it and/or modify it under
40 the terms of the GNU General Public License as published by the Free Software
41 Foundation; either version 2 of the License, or (at your option) any later
42 version.
44 This program is distributed in the hope that it will be useful, but WITHOUT ANY
45 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
46 PARTICULAR PURPOSE.  See the GNU General Public License below for more details.
48 VERSION 5.1
50 Version 5.1 is the first release of NEdit under the GNU General Public
51 License, and the first release to be done entirely by volunteer effort.
53 The most significant enhancements in this release are:
55   * New regular expression code, boosts highlighting performance by 40%,
56     and introduces many new and powerful features to regular expression
57     operations and syntax highlighting.
58   
59   * Incremental search, and optional search bar.
60   
61   * New ctags code with full support for Exuberant Ctags, better
62     handling of tag collisions, multiple tag file support, on-demand
63     loading of tag files, and automatic reload of modified tag files.
65   * Optional display of line numbers along the left side of the text.
67   * NEdit can now read and write MS DOS format files.
68   
69   * New built-in syntax highlighting patterns for Lex, PostScript, SQL,
70     and Matlab, and improved SGML/HTML and Java patterns.  Many minor
71     improvements to other patterns.
72     
73   * Improved international character set input
74   
75   * New macro subroutines: list_dialog, getenv, set_language_mode.
76   
77   * Optional warnings about external modifications to files
78   
79   * Clearcase awareness
80   
81   * Session manager restart capability
82      
83 There are also many smaller improvements and bug fixes, see the release
84 notes for details.
87 BUILDING NEDIT
89 Pre-built executables will be available for most major Unix and VMS systems, so
90 check the NEdit web page (http://nedit.org), first. 
91 Requirements to build NEdit are: 
93  - ANSI C89 system (compiler, headers, libraries)
94  - make utility
95  - X11 development stuff (headers, libraries)
96  - Motif 1.2 or above (Motif 1.1 might work, but is no longer supported)
97    This GUI library is a standard part on most systems which have 
98    an X11 installation. Most commercial Unix systems feature this, 
99    others may require a separate installation. 
100    A free version of Motif, called LessTif, is now available and stable enough 
101    to run NEdit reasonably well on these systems. See the LessTif section 
102    under PLATFORM SPECIFIC ISSUES for details.
104 Optionally one may use:
106  - yacc (bison)
109 The two directories called 'source' and 'util 'contain the sources for NEdit.
110 Util should be built first, followed by source.  The makefile in this directory
111 can be used to build both in sequence if your system is one of the supported
112 machines and no modifications are necessary to the makefiles.  To build NEdit
113 from this directory, issue the command: "make <machine-type>"; where
114 <machine-type> is one of suffixes of a Makefile in the directory "makefiles". 
115 For example, to build the Silicon Graphics version, type:
117         make sgi
119 If everything works properly, this will produce an executable called nedit in
120 the directory called source.
123 The Source Directories
125 Since executables are already available for the supported systems, you are
126 probably not just rebuilding an existing configuration, and need to know more
127 about how the directories are organized.
129 The util directory builds a library file called libNUtil.a, which is later
130 linked with the code in the source directory to create the nedit executable.
132 The makefiles in both source directories consist of two parts, a machine
133 dependent part and a machine independent part.  The machine dependent makefiles
134 can be found in the directory called "makefiles", and contain machine specific
135 header information.  They invoke a common machine independent part called
136 Makefile.common.  To compile the files in either of these directories, copy or
137 link one of the system-specific makefiles from the directory "makefiles" into
138 the directory, and issue the command:
140     make -f Makefile.<machine-type>
141     
142 (where <machine type> is the Makefile suffix).  Alternatively, you can
143 name the file "Makefile" and simply type "make".
145 If no makefile exists for your system, check the NEdit web site at:
146 http://nedit.org for more contributed Makefiles.  If you can't find one that's
147 close, start from Makefile.generic.  See the comments in Makefile.generic for
148 more porting information.
151 Building NEdit on VMS Systems
153 Command files are provided for compiling and linking files in the source
154 and util directories.  comutil.com compiles the files in the util directory
155 and produces two library files, vmsutils.olb and libutil.olb.  comnedit.com
156 compiles and links the files in the source directory to produce the nedit.exe
157 executable.
160 Additional Settings
162 Some C preprocessor macros may be used to en/disable certain
163 parts of the code. Usually this correponds to some non-important
164 features being selected or certain workarounds for platform-specifc
165 problems. Those which might be useful on more than one platform
166 are documented in makefiles/Makefile.generic.
168 Note that a special compilation flag, namely REPLACE_SCOPE, is currently
169 available. Its purpose is to allow the evaluation of two alternative
170 (but functionally equivalent) Replace/Find dialog box layouts. 
171 By default, NEdit is built with a Replace/Find dialog containing 2 rows
172 of push buttons. Compiling with the REPLACE_SCOPE flag enables an 
173 alternative layout with a row of radio buttons for selecting the scope of 
174 the replace operations. Eventually, one of these alternatives will
175 probably disappear, but up to now, the NEdit developers have not been able
176 to decide which one to drop. Please give them both a try and let us know 
177 which one you prefer (via the discuss mailing list, for instance).
180 INSTALLATION
182 NEdit consists of a single, stand-alone executable file which does not require
183 any special installation.  To install NEdit on Unix systems, simply put the
184 nedit executable in your path.  On VMS systems, nedit must be defined as a
185 foreign command so that it can process command line arguments.  For example,
186 if nedit.exe were in the directory mydir on the disk called mydev, adding the
187 following line to your login.com file would define the nedit command:
189         $ ned*it :== $mydev:[mydir]nedit.exe
191 To use NEdit in client/server mode, you also need the nedit client program, nc,
192 which, again, needs no special installation, except in the VMS case, as above.
193 On some systems, the name nc may conflict with an existing program.  In that
194 case, choose a different name for the executable and simply rename it.  The
195 recommend alternative is "ncl".
198 RUNNING NEDIT
200 If you are accessing a host Unix system from a remote workstation or X terminal,
201 you need to set the Unix environment variable for your display:
203         % setenv DISPLAY devicename:0
204         
205 where devicename is the network node name of the workstation or X terminal
206 where you are typing.  On VMS systems, the equivalent command is:
208         $ set display/create/node=devicename
210 To run NEdit, simply type "nedit", optionally followed by the name of a file or
211 files to edit.  On-line help is available from the pulldown menu on the far
212 right of the menu bar.  For more information on the syntax of the nedit command
213 line, look under the heading of "NEdit Command Line."
216 PLATFORM SPECIFIC ISSUES
218 Systems with LessTif, rather than Motif libraries
220 As of Lesstif 0.92.26, NEdit is very stable with Lesstif. 
221 You can get the latest LessTif version from http://www.lesstif.org.
222 If you are having trouble building with LessTif, remember there are
223 pre-compiled statically linked executables available from http://nedit.org.
224 Known bugs which might show off in NEdit linked with LessTif include:
226   1) Some dialogs which are intended to be modal (prevent other activity
227      while up) are not, and doing other actions while these dialogs are
228      up can cause trouble (.89.9+)
229      
230   2) Switching to continuous wrap mode, sometimes the horizontal scroll
231      remains partially drawn after the change, rather than disappearing
232      completely as it should. (.89.9+)
233   
234   3) Secondary selection operations are not yet supported in text fields.
237 Linux Systems
239 The default key bindings for arrow keys in fvwm interfere with some of the
240 arrow key bindings in NEdit, particularly, Ctrl+Arrow and Alt+Arrow.  You
241 may want to re-bind them either in NEdit (see Customizing -> Key Binding
242 in the Help menu) or in fvwm in your .fvwmrc file.
244 Some older Linux distributions are missing the /usr/X11R6/lib/X11/XKeysymDB
245 file, which is necessary for running Motif programs.  When XKeysymDB is
246 missing, NEdit will spew screenfulls of messages about translation table syntax
247 errors, and many keys won't work.  You can obtain a copy of the XKeysymDB file
248 from the contrib sub-directory of the NEdit distribution directory.  
250 SGI Systems
252 Beginning with IRIX 6.3, SGI is distributing a customized version of NEdit
253 along with their operating system releases.  Their installation uses an
254 app-defaults file (/usr/lib/X11/app-defaults/NEdit) which overrides the
255 default settings in any new nedit version that you install, and may result in
256 missing accelerator keys or cosmetic appearance glitches.  If you are
257 re-installing NEdit for the entire system, just remove the existing app-
258 defaults file.  If you want to run a newer copy individually, get a copy of
259 the app-defaults file for this version the contrib sub-directory of the
260 distribution directory for this version on ftp.nedit.org (/pub/<version>/
261 contrib/nedit.app-defaults), and install it in your home directory or set
262 XAPPLRESDIR or XUSERFILESEARCHPATH to point to a directory and install it
263 there.  In all cases, the file should be named simply NEdit.
265 No additional installation or resource settings are necessary on IRIX systems
266 before 6.3
268 HP-UX Systems
270 If you are using HPVUE and have trouble setting colors, for example part
271 of the menu bar stubornly remains at whatever HPVUE's default is, try setting:
273    nedit*useColorObj: False
275 IBM AIX Systems
277 Due to an optimizer bug in IBM's C compiler, the file, textDisp.c, must be
278 compiled without optimization on some AIX systems.
280 Solaris (SunOS 5.3 and beyond) Systems
282 The nedit_solaris executable may require the environment variable OPENWINHOME
283 to be set to the directory where Open Windows is installed.  If this is not set
284 properly, NEdit will spew screenfulls of messages about translation table
285 syntax errors.
287 Solaris 2.4 -- Add -DDONT_HAVE_GLOB to the CFLAGS line in Makefile.solaris.
289 Solaris 2.5 -- Solaris 2.5 systems were shipped with a bad shared Motif
290 library, in which the file selection dialog (Open, Save, Save As, Include,
291 etc.) shows long path names in the file list, but no horizontal scroll bar,
292 and no way to read the actual file names.  Depending on your system, the
293 patch is one of ID# 103461-07, # 102226-19, or # 103186-21.  It affects all
294 Motif based programs which use the library.  If you can't patch your system,
295 you might want to just try the nedit_sunos executable (from ftp.nedit.org
296 /pub/<version>), which is statically linked with a good Motif.  You can also
297 set the X resource: nedit.stdOpenDialog to True, which at least gives you a
298 text field where you can enter file names by hand.
300 Solaris 2.6 -- If you're experiencing performance problems (windows come up
301 slowly), the patch for Sun's shared Motif library is ID# 105284-04.  Installing
302 the patch alone will improve nedit's performance dramatically.  The patch also
303 enables a resource, *XmMenuReduceGrabs. Setting this to True will eliminate the
304 delay completely.
306 SunOS 4.x Systems
308 On some SunOS systems, NEdit will also complain about translation table syntax
309 errors.  This happens when Motif can't access the keysym database, usually
310 located in the file /usr/lib/X11/XKeysymDB.  If this file exists on your
311 system, but NEdit fails to locate it properly, you can set the environment
312 variable XKEYSYMDB to point to the file.  If you can't find the file, or if
313 some of the errors persist despite setting XKEYSYMDB, there is a XKeysymDB
314 which you can use to update or replace your /usr/lib/X11/XKeysymDB file
315 available in the contrib sub-directory of the NEdit distribution directory.
316 If you don't want to change your existing XKeysymDB file, make a local copy
317 and set XKEYSYMDB to point to it.
319 If you find that some of the labeled keys on your keyboard are not properly
320 bound to the corresponding action in NEdit, try the following:
322   1) Get a copy of motifbind.sun (for Sun standard keyboards), or
323      motifbind.sun_at (for Sun PC style keyboards) from the NEdit contrib
324      directory on ftp.nedit.org:/pub/<version>/contrib.
325   2) Copy it to a file called .motifbind in your home directory.
326   3) Shutdown and restart your X server.
329 COMPATIBILITY WITH PREVIOUS VERSIONS
331 Existing .nedit Files
333 NEdit 5.1 makes significant changes to the syntax of regular expressions.
334 Mostly, these are upward compatible, but two changes; introducing the brace
335 operator, and changing the meaning of \0; are not.  Brace characters must now
336 be escaped with backslash, and & must be used in place of \0 in substitutions.
338 NEdit 5.1 employs a new built-in upgrade mechanism which will automatically
339 detect pre-5.1 .nedit files and fix regular expressions which appear in
340 user-defined highlight patterns.  The automatic upgrade mechanism, however, can
341 not fix regular expression problems within user-defined macros.  If you have
342 a macro which is failing under NEdit 5.1, you will have to fix it by hand.
344 If you are upgrading from a pre-5.0 version of NEdit, there are significant
345 changes to the macro language, and you are best off simply editing out the
346 nedit.macroCommands section of your .nedit file, generating a new .nedit file,
347 and then re-introducing your user-written commands into the new file.  Most
348 macros written for previous versions will function properly under the new macro
349 language.  The most common problems with old macros is lack of a terminating
350 newline on the last line of the macro, and the addition of "<", ">", and now
351 "{" to the regular expression syntax.  These characters must now be escaped
352 with \ (backslash).  Also, if you have been using a font other than the default
353 for the text portion of your NEdit windows, be sure to check the Preferences ->
354 Default Settings -> Text Font dialog, and select highlighting fonts which match
355 your primary font in size.  Matching in height is desirable, but not essential,
356 and sometimes impossible to achive on some systems.  When fonts don't match in
357 height, turning on syntax highlighting will cause the window size to change
358 slightly.  NEdit can handle unmatched font sizes (width), but leaving them
359 unmatched means sometimes columns and indentation don't line up (as with
360 proportional fonts).
363 FURTHER INFORMATION
365 More information is available in the file nedit.doc in this kit, from NEdit's
366 on-line help system, and from the enclosed FAQ file.  There is also a web page
367 for NEdit at: http://nedit.org.  For discussion with other NEdit users, or to
368 receive notification of new releases and news about news, you can subscribe to
369 one or both of the NEdit mailing lists, discuss@nedit.org, and
370 announce@nedit.org.  The NEdit on-line help has information on subscribing
371 under Help -> Mailing Lists.
374 REPORTING BUGS
376 The NEdit developers subscribe to both discuss@nedit.org and develop@nedit.org,
377 either of which may be used for reporting bugs.  If you're not sure, or you
378 think the report might be of interest to the general NEdit user community,
379 send the report to discuss@nedit.org.  If it's something obvious and boring,
380 like we misspelled "anemometer" in the on-line help, send it to develop.  If
381 you don't want to subscribe to these lists, please add a note to your mail
382 about cc'ing you on responses.