root/foundation-apps/nedit-maxx/README

Revision 11, 24.4 KB (checked in by emasson, 3 years ago)

initial import for the community edition

Line 
1                    NEdit Version 5.4, November 2003
2
3$Id: README,v 1.1 2008/07/18 19:14:55 emasson Exp $
4             
5
6NEdit is a multi-purpose text editor for the X Window System, which combines a
7standard, easy to use, graphical user interface with the thorough functionality
8and stability required by users who edit text eight hours a day.  It provides
9intensive support for development in a wide variety of languages, text
10processors, and other tools, but at the same time can be used productively by
11just about anyone who needs to edit text.
12
13This program is distributed in the hope that it will be useful, but WITHOUT ANY
14WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
15PARTICULAR PURPOSE.
16As of version 5.1, NEdit may be freely distributed under the terms of the GNU
17General Public License (see the file COPYRIGHT which is also part of this
18distribution).
19
20NEdit sources, executables, additional documentation, and contributed software
21are available from the NEdit web site at http://nedit.org.
22
23
24AUTHORS
25
26NEdit was written by Mark Edel, Joy Kyriakopulos, Christopher Conrad,
27Jim Clark, Arnulfo Zepeda-Navratil, Suresh Ravoor, Tony Balinski, Max
28Vohlken, Yunliang Yu, Donna Reid, Arne Førlie, Eddy De Greef, Steve
29LoBasso, Alexander Mai, Scott Tringali, Thorsten Haude, Steve Haehn,
30Andrew Hood, and Nathaniel Gray.
31
32The regular expression matching routines used in NEdit are adapted (with
33permission) from original code written by Henry Spencer at the University of
34Toronto.
35
36Syntax highlighting patterns and smart indent macros were contributed
37by: Simon T. MacDonald,  Maurice Leysens, Matt Majka, Alfred Smeenk,
38Alain Fargues, Christopher Conrad, Scott Markinson, Konrad Bernloehr,
39Ivan Herman, Patrice Venant, Christian Denat, Philippe Couton, Max Vohlken,
40Markus Schwarzenberg, Himanshu Gohel, Steven C. Kapp, Michael Turomsha,
41John Fieber, Chris Ross, Nathaniel Gray, Joachim Lous, Mike Duigou,
42Seak Teng-Fong, Joor Loohuis, Mark Jones, and Niek van den Berg.
43
44
45VERSION 5.4
46
47Version 5.4 offers several new features:
48
49  - Calltips
50  - Rangesets
51  - Backlighting
52  - Highlighting information macros
53  - Full mouse wheel support (on XFree86 servers)
54  - Look-behind matching for regular expressions
55  - Regular expression and syntax highlighting speed-ups
56  - Flexible resource file location
57  - Color dialog
58  - Option to auto-hide mouse pointer while typing
59  - Option to keep cursor away from top and bottom of the screen
60  - Check for real changes of externally modified files
61  - Synchronized interaction between nc and nedit
62  - Several smaller improvements on usability and speed
63  - Several smaller improvements to the macro language
64
65For a more detailed description of these new features and a list of
66important bug fixes, see the ReleaseNotes file for more details.
67
68BUILDING NEDIT
69
70Pre-built executables will be available for many operating systems, including
71most major Unix and VMS systems. Check out the NEdit web page at
72
73  http://nedit.org
74
75
76The requirements to build NEdit from the sources are:
77
78 - ANSI C89 system (compiler, headers, libraries)
79 - make utility (eg, GNU make)
80 - X11R5 development stuff (headers, libraries), or newer
81 - Motif 1.2 or above (Motif 1.1 might work, but is no longer supported)
82   This GUI library is a standard part on most systems which have an
83   X11 installation. Most commercial Unix systems feature this, others may
84   require a separate installation.
85   A "free" (LGPL'ed) alternative to Motif, called LessTif, is available.
86   See the LessTif section under PLATFORM SPECIFIC ISSUES for details.
87 
88Optionally one may use:
89 
90 - yacc (or GNU bison)
91
92
93The two directories called 'source' and 'util' contain the sources for NEdit.
94'util' should be built first, followed by 'source'. The makefile in NEdit's
95root directory can be used to build both in sequence if your system is one of
96the supported machines and no modifications are necessary to the makefiles. To
97build NEdit from the root directory, issue the command: 'make <machine-type>';
98where <machine-type> is one of suffixes of a makefile in the directory
99'makefiles'. For example, to build the Silicon Graphics version, type:
100
101        make sgi
102
103If everything works properly, this will produce two executables called
104'nedit' and 'nc' in the directory called 'source'.
105
106
107The Source Directories
108
109Since executables are already available for the supported systems, you are
110probably not just rebuilding an existing configuration, and need to know more
111about how the directories are organized.
112
113The util directory builds a library file called libNUtil.a, which is later
114linked with the code in the source directory to create the nedit executable.
115
116The makefiles in both source directories consist of two parts, a machine
117dependent part and a machine independent part. The machine dependent makefiles
118can be found in the directory called 'makefiles', and contain machine specific
119header information. They invoke a common machine independent part called
120Makefile.common (which in turn includes also Makefile.dependencies).
121To compile the files in either of these directories, copy or link one of the
122system-specific makefiles from the directory 'makefiles' into the directory,
123and issue the command:
124
125    make -f Makefile.<machine-type>
126   
127(where <machine-type> is the makefile suffix).  Alternatively, you can
128name the file 'Makefile' and simply type "make".
129
130If no makefile exists for your system, you should start from Makefile.generic,
131which is extensively commented. Contact the developer at develop@nedit.org for
132help.
133
134 
135Building NEdit on VMS Systems
136
137Command files are provided for compiling and linking files in the source
138and util directories.  comutil.com compiles the files in the util directory
139and produces two library files, vmsutils.olb and libutil.olb.  comnedit.com
140compiles and links the files in the source directory to produce the nedit.exe
141executable.
142
143
144Additional Settings
145
146Some C preprocessor macros may be used to en/disable certain parts
147of the code. Usually this correponds to some non-important features
148being selected or certain workarounds for platform-specifc problems.
149Those which might be useful on more than one platform are documented
150in makefiles/Makefile.generic.
151
152Note that a special compilation flag, namely REPLACE_SCOPE, is currently
153available. Its purpose is to allow the evaluation of two alternative
154(but functionally equivalent) Replace/Find dialog box layouts.
155By default, NEdit is built with a Replace/Find dialog containing 2 rows
156of push buttons. Compiling with the REPLACE_SCOPE flag enables an
157alternative layout with a row of radio buttons for selecting the scope of
158the replace operations. Eventually, one of these alternatives will
159probably disappear, but up to now, the NEdit developers have not been able
160to decide which one to drop. Please give them both a try and let us know
161which one you prefer (via the discuss mailing list, for instance).
162
163Another compilation flag, HAVE__XMVERSIONSTRING, adds additional
164information about the Motif version in the menu item "Help->Version" or
165the command line option "-version". Whether this is available on your
166system depends on the Motif implementation. It is known to work with
167OpenMotif 2.1.30, and Motif on Solaris 2.6 and AIX 4.3.3.
168
169INSTALLATION
170
171NEdit consists of a single, stand-alone executable file which does not require
172any special installation.  To install NEdit on Unix systems, simply put the
173nedit executable in your path. 
174On VMS systems, nedit must be defined as a foreign command so that it can
175process command line arguments. For example, if nedit.exe were in the
176directory mydir on the disk called mydev, adding the following line to your
177login.com file would define the nedit command:
178
179        $ ned*it :== $mydev:[mydir]nedit.exe
180
181To use NEdit in client/server mode, you also need the nedit client program, nc,
182which, again, needs no special installation, except in the VMS case, as above.
183On some systems, the name nc may conflict with an existing program.  In that
184case, choose a different name for the executable and simply rename it.  The
185recommend alternative is 'ncl'.
186Don't forget to put the man-pages for nedit and nc into a place where your
187man command is able to find them (e.g. /usr/man/man1/nedit.1)
188
189
190RUNNING NEDIT
191
192To run NEdit, simply type 'nedit', optionally followed by the name of a file
193or files to edit. On-line help is available from the pulldown menu on the far
194right of the menu bar. For more information on the syntax of the nedit command
195line, look under the heading of "NEdit Command Line".
196
197The recommended way to use NEdit, though, is in client/server mode, invoked by
198the nc executable. It allows you to edit multiple files within the same
199instance of NEdit (but still in multiple windows). This saves memory (only one
200process keeps running), and enables additional functionality (such as find &
201replace accross multiple windows). See "Server Mode and nc" in the help menu
202for more information.
203
204If you are accessing a host Unix system from a remote workstation or X
205terminal, you need to set the Unix environment variable for your display:
206csh:
207        % setenv DISPLAY devicename:0
208sh, ksh, bash, zsh:
209        % export DISPLAY=devicename:0
210
211where devicename is the network node name (hostname) of the workstation or X
212terminal where you are typing.
213On VMS systems, the equivalent command is:
214
215        $ set display/create/node=devicename
216
217
218
219PLATFORM SPECIFIC ISSUES
220
221Systems with LessTif, rather than Motif libraries
222
223As of Lesstif 0.93.18, NEdit is very stable with Lesstif.
224You can get the latest LessTif version from http://www.lesstif.org.
225If you are having trouble building or running NEdit with LessTif,
226remember there are pre-compiled statically linked executables available
227from our website.
228Known bugs which might show off in NEdit linked with LessTif include:
229
230  1) Some dialogs which are intended to be modal (prevent other activity
231     while up) are not, and doing other actions while these dialogs are
232     up can cause trouble (.89.9+)
233     
234  2) Switching to continuous wrap mode, sometimes the horizontal scroll
235     remains partially drawn after the change, rather than disappearing
236     completely as it should. (.89.9+)
237 
238  3) Secondary selection operations are not yet supported in text fields.
239
240  4) Status bar is blank after usage of Incremental Search field
241     (0.93.18+-)
242
243
244Linux Systems
245
246Red Hat Linux, as of version 8.0, no longer automatically reads X resources out
247of the ~/.Xdefaults file.  Instead, it reads a file named ~/.Xresources.  Any
248customizations stored in ~/.Xdefaults will not be honored, for all X
249applications.  To fix this, copy the resources into ~/.Xdefaults, or link the
250files together.
251
252The default key bindings for arrow keys in fvwm interfere with some of the
253arrow key bindings in NEdit, particularly, Ctrl+Arrow and Alt+Arrow.  You
254may want to re-bind them either in NEdit (see Customizing -> Key Binding
255in the Help menu) or in fvwm in your .fvwmrc file.
256
257Some older Linux distributions are missing the /usr/X11R6/lib/X11/XKeysymDB
258file, which is necessary for running Motif programs.  When XKeysymDB is
259missing, NEdit will spew screenfulls of messages about translation table syntax
260errors, and many keys won't work.  You can obtain a copy of the XKeysymDB file
261from the contrib sub-directory of the NEdit distribution directory. 
262
263
264Mac OS X Systems
265
266You will probably need to edit makefiles/Makefile.macosx to point NEdit at
267the correct version of Motif.  There are comments in the makefile to help you
268do this correctly.
269
270
271SGI Systems
272
273Beginning with IRIX 6.3, SGI is distributing a customized version of NEdit
274along with their operating system releases.  Their installation uses an
275app-defaults file (/usr/lib/X11/app-defaults/NEdit) which overrides the
276default settings in any new nedit version that you install, and may result in
277missing accelerator keys or cosmetic appearance glitches.  If you are
278re-installing NEdit for the entire system, just remove the existing app-
279defaults file.  If you want to run a newer copy individually, get a copy of
280the app-defaults file for this version the contrib sub-directory of the
281distribution directory for this version on ftp.nedit.org (/pub/<version>/
282contrib/nedit.app-defaults), and install it in your home directory or set
283the environment variables XAPPLRESDIR or XUSERFILESEARCHPATH to point
284to a directory and install it there.  In all cases, the file should be
285named simply 'NEdit'.
286
287No additional installation or resource settings are necessary on IRIX systems
288before 6.3
289
290
291HP-UX Systems
292
293If you are using HPVUE and have trouble setting colors, for example part
294of the menu bar stubornly remains at whatever HPVUE's default is, try setting:
295
296   nedit*useColorObj: False
297
298   
299IBM AIX Systems
300
301Due to an optimizer bug in IBM's C compiler, the file, textDisp.c, must be
302compiled without optimization on some AIX systems.
303
304
305Solaris (SunOS 5.3 and beyond) Systems
306
307The nedit_solaris executable may require the environment variable OPENWINHOME
308to be set to the directory where Open Windows is installed.  If this is not set
309properly, NEdit will spew screenfulls of messages about translation table
310syntax errors.
311
312Solaris 2.4 -- Add -DDONT_HAVE_GLOB to the CFLAGS line in Makefile.solaris.
313
314Solaris 2.5 -- Solaris 2.5 systems were shipped with a bad shared Motif
315library, in which the file selection dialog (Open, Save, Save As, Include,
316etc.) shows long path names in the file list, but no horizontal scroll bar,
317and no way to read the actual file names.  Depending on your system, the
318patch is one of ID# 103461-07, # 102226-19, or # 103186-21.  It affects all
319Motif based programs which use the library.  If you can't patch your system,
320you might want to just try the nedit_sunos executable (from ftp.nedit.org
321/pub/<version>), which is statically linked with a good Motif.  You can also
322set the X resource: nedit.stdOpenDialog to True, which at least gives you a
323text field where you can enter file names by hand.
324
325Solaris 2.6 -- If you're experiencing performance problems (windows come up
326slowly), the patch for Sun's shared Motif library is ID# 105284-04.  Installing
327the patch alone will improve nedit's performance dramatically.  The patch also
328enables a resource, *XmMenuReduceGrabs. Setting this to True will eliminate the
329delay completely.
330
331SunOS 4.x Systems
332
333On some SunOS systems, NEdit will also complain about translation table syntax
334errors.  This happens when Motif can't access the keysym database, usually
335located in the file /usr/lib/X11/XKeysymDB.  If this file exists on your
336system, but NEdit fails to locate it properly, you can set the environment
337variable XKEYSYMDB to point to the file.  If you can't find the file, or if
338some of the errors persist despite setting XKEYSYMDB, there is a XKeysymDB
339which you can use to update or replace your /usr/lib/X11/XKeysymDB file
340available in the contrib sub-directory of the NEdit distribution directory.
341If you don't want to change your existing XKeysymDB file, make a local copy
342and set XKEYSYMDB to point to it.
343
344If you find that some of the labeled keys on your keyboard are not properly
345bound to the corresponding action in NEdit, try the following:
346
347  1) Get a copy of motifbind.sun (for Sun standard keyboards), or
348     motifbind.sun_at (for Sun PC style keyboards) from the NEdit contrib
349     directory on ftp.nedit.org:/pub/<version>/contrib.
350  2) Copy it to a file called .motifbind in your home directory.
351  3) Shutdown and restart your X server.
352
353
354COMPATIBILITY WITH PREVIOUS VERSIONS
355
356Existing .nedit Files
357
358As of version 5.1, NEdit employs a built-in upgrade mechanism which will
359automatically detects .nedit files of older versions. In general, NEdit
360will try to convert and insert entries to match the latest version.
361However, in certain cases where the user has customized the default entries,
362NEdit will leave them untouched (except for possible syntactic conversions).
363As a result, the latest syntax highlighting patterns for certain languages may
364not get activated, for instance, if the user has customized the entries. The
365latest default patterns can always be activated through the
366Preferences->Syntax Highlighting->Recognition Patterns menu, though.
367
368Next, some version specific upgrading issues are listed. Note that
369non-incremental upgrading (eg., from 5.0 to 5.2) is supported too.
370
371* Upgrading from 5.3 to 5.4
372
373  - Resource syntax
374 
375    Basic colors, like the text foreground and background, are now true
376    preferences.  A new dialog (Preferences > Default Settings > Colors) is
377    provided to change them, previously only changeable from X resources.
378    Upon starting, NEdit will migrate any custom colors you have set from
379    the old X resources.  Most users will not need to do anything.
380   
381    However, if you used X resources to dynamically change the colors on
382    different invocations, you will need to use the new application-level
383    resources instead.  See the .nedit file for details.
384     
385    In 5.3, color resources needed to be qualified by "nedit*" in order to
386    prevent problems when the deepest color visual was not the default.
387    This is no longer necessary, and the qualification may be removed.
388   
389  - New location of configuration files
390 
391    The default location and name of NEdit's resource files has been changed.
392    The most important change is the fact that they can now be stored in a
393    custom directory, defined by the NEDIT_HOME environment variable. If the
394    variable is not set, the directory defaults to ~/.nedit.
395    The files have been renamed as follows:
396   
397       ~/.nedit        -> $NEDIT_HOME/nedit.rc
398       ~/.neditmacro   -> $NEDIT_HOME/autoload.nm
399       ~/.neditdb      -> $NEDIT_HOME/nedit.history
400       
401    For backward compatibility reasons, NEdit continues to use the old
402    convention when these files are already present. No attempt is made
403    to force the user to adopt the new convention.
404
405    Users that would like to migrate to the new setup can do so manually
406    by moving and renaming the files.
407   
408  - Changed regular expression word boundary semantics and its effect
409    on the syntax highlighting patterns.
410 
411    During the 5.4 development cycle, it was noted that the implementation
412    of NEdit's regular expression word boundary matching was rather
413    unconventional. More in particular, the '<', '>', and '\B' patterns
414    interpreted the boundary between any two characters of which at least
415    one was not a word character as a word boundary. A striking effect of this
416    was that the boundary between two spaces was considered to be a word
417    boundary, which is obviously rather unintuitive. This has been corrected
418    in 5.4: the boundary between two characters is a word boundary, only if
419    exactly one of them is a word character.
420
421    Several of the built-in syntax highlighting patterns (implicitly) relied
422    on the old word boundary interpretation and they have been corrected too.
423   
424    However, if the user has customized some of these buggy built-in
425    highlighting patterns, the automatic upgrading routines will NOT upgrade
426    them in order not to loose any customizations. It is left up to the user
427    to correct his/her customized patterns manually (using the corrected
428    built-in patterns as a guideline).
429
430    The following is a list of all language modes and patterns that have been
431    corrected:
432   
433      Ada:         Based Numeric Literals
434      Awk:         Numeric constant
435      C++:         numeric constant
436      C:           numeric constant
437      CSS:         property, selector pseudo class
438      Java:        decimal const, case numeric const
439      JavaScript:  Numeric
440      Lex:         numeric constant, markers
441      Matlab:      Numeric const
442      NEdit Macro: Built-in Vars, Numeric Const
443      Pascal:      TP Numeric Values:
444      Perl:        dq string, sq string, bq string, subroutine call,
445                   numerics, re match
446      PostScript:  Number, Operator1
447      Python:      Number
448      SQL:         data types, keywords2
449      Sh Ksh Bash: keywords, built ins
450      Tcl:         Keywords
451      VHDL:        Numeric Literals
452      Verilog:     Reserved WordsA, Numeric Literals, Delay Word,
453                   Pins Declaration
454      XML:         element declaration keyword
455      Yacc:        numeric constant, percent keyword, markers
456
457    So, if the user has customized the highlighting definitions for any of
458    these language modes (not restricted to the listed patterns), (s)he is
459    strongly advised to restore the default patterns in the syntax
460    highlighting dialog and to re-apply his/her customizations.
461   
462    Moreover, it is advised to check any custom language modes for potential
463    boundary matching problems as described above.
464
465* Upgrading from 5.2 to 5.3
466
467  There are no major changes in the format of the .nedit file for version
468  5.2. Users that have customized the X Resources syntax highlighting
469  pattern may consider restoring the default patterns, as they resolve
470  a performance issue when editing the .nedit file itself, for instance.
471 
472* Upgrading from 5.1 to 5.2
473
474  There are no major changes in the format of the .nedit file for version
475  5.2. NEdit will try to insert additional entries for the newly supported
476  language modes and syntax highlighting patterns (CSS, Regex, and XML) and
477  highlight styles (Pointer, Regex, Warning).
478
479  Moreover, the formerly boolean 'showMatching' option will silently be
480  converted to a tri-state value.
481
482  Users that have customized some of the syntax highlighting patterns may
483  consider restoring the default patterns, as many of them have been improved
484  considerably.
485 
486* Upgrading from 5.0 to 5.1
487 
488  NEdit 5.1 makes significant changes to the syntax of regular expressions.
489  Mostly, these are upward compatible, but two changes; introducing the brace
490  operator, and changing the meaning of \0; are not. Brace characters must now
491  be escaped with backslash, and & must be used in place of \0 in
492  substitutions.
493
494  NEdit 5.1 employs a built-in upgrade mechanism which will automatically
495  detect pre-5.1 .nedit files and fix regular expressions which appear in
496  user-defined highlight patterns. The automatic upgrade mechanism, however,
497  can not fix regular expression problems within user-defined macros. If you
498  have a macro which is failing under NEdit 5.1, you will have to fix it by
499  hand.
500 
501* Upgrading from pre-5.0
502
503  If you are upgrading from a pre-5.0 version of NEdit, there are significant
504  changes to the macro language, and you are best off simply editing out the
505  nedit.macroCommands section of your .nedit file, generating a new .nedit
506  file, and then re-introducing your user-written commands into the new file.
507  Most macros written for previous versions will function properly under the
508  new macro language. The most common problems with old macros is lack of a
509  terminating newline on the last line of the macro, and the addition of "<",
510  ">", and now "{" to the regular expression syntax. These characters must now
511  be escaped with \ (backslash). Also, if you have been using a font other
512  than the default for the text portion of your NEdit windows, be sure to
513  check the Preferences -> Default Settings -> Text Font dialog, and select
514  highlighting fonts which match your primary font in size. Matching in height
515  is desirable, but not essential, and sometimes impossible to achive on some
516  systems. When fonts don't match in height, turning on syntax highlighting
517  will cause the window size to change slightly. NEdit can handle unmatched
518  font sizes (width), but leaving them unmatched means sometimes columns and
519  indentation don't line up (as with proportional fonts).
520
521FURTHER INFORMATION
522
523More information is available in the file nedit.doc in this kit, from NEdit's
524on-line help system, the man-pages and from the enclosed FAQ file.
525There is also a web page for NEdit at: http://nedit.org.  For discussion with
526other NEdit users, or to receive notification of new releases you can
527subscribe to one or more of the NEdit mailing lists, announce@nedit.org,
528discuss@nedit.org or develop@nedit.org.  The NEdit on-line help has information
529on subscribing under Help -> Mailing Lists.
530
531
532REPORTING BUGS
533
534
535The preferred way to report bugs is to submit an entry on our web-based
536bug tracker at:
537
538  http://sourceforge.net/projects/nedit/
539
540The NEdit developers subscribe to both discuss@nedit.org and develop@nedit.org,
541either of which may be used for reporting bugs.  If you're not sure, or you
542think the report might be of interest to the general NEdit user community,
543send the report to discuss@nedit.org.  If it's something obvious and boring,
544like we misspelled "anemometer" in the on-line help, send it to develop.  If
545you don't want to subscribe to these lists, please add a note to your mail
546about cc'ing you on responses.
Note: See TracBrowser for help on using the browser.