1
by tg
Initial revision |
1 |
This documentation should go elsewhere, but I haven't gotten around to it |
2 |
yet.
|
|
3 |
||
44
by tg
sync a few files with upstream; bump to 3.1jupp6; mention gcc glitch |
4 |
GCC
|
5 |
---
|
|
6 |
||
176
by tg
fixes from packages.debian.org/joe are merged; now do a warning cleanup |
7 |
Disable the following warnings; the code doesn't cope with it: |
684
by tg
major overhaul of charmap handling + quelling of lots of warnings |
8 |
-Wno-pointer-sign |
9 |
-Wno-unused-parameter |
|
530
by tg
unfortunately, the polymorphic problems are not yet solved |
10 |
-Wno-strict-prototypes |
176
by tg
fixes from packages.debian.org/joe are merged; now do a warning cleanup |
11 |
|
1
by tg
Initial revision |
12 |
UTF-8 |
13 |
-----
|
|
14 |
||
520
by tg
update |
15 |
Do note that the joerc files must be written using the 8-bit encoding, |
16 |
not in UTF-8. Syntax files, on the other hand, absolutely must be |
|
17 |
written in UTF-8 since jupp29. |
|
313
by tg
bump |
18 |
|
1
by tg
Initial revision |
19 |
JOE now handles two classes of character sets: UTF-8 and byte coded (like |
20 |
ISO-8859-1). It can not yet handle other major classes such as UTF-16 or |
|
21 |
GB2312. There are other restrictions: character sets must use LF (0x0A) or |
|
22 |
CR-LF (0x0D - 0x0A) as line terminators, space must be 0x20 and tab must be |
|
23 |
0x09. Basically, the files must be UNIX or MS-DOS compatible text files. |
|
24 |
||
25 |
This means EBCDIC will not work properly (but you would need to handle fixed |
|
26 |
record length lines anyway) and character sets which use CR terminated lines |
|
27 |
(MACs) will not yet work. |
|
28 |
||
29 |
The terminal and the file can have different encodings. JOE will translate |
|
30 |
between the two. Currently, one of the two must be UTF-8 for translation to |
|
31 |
work. |
|
32 |
||
33 |
The character set for the terminal and the default character set assumed for |
|
34 |
files is determined by the 'LC_ALL' environment variable (and if that's not |
|
520
by tg
update |
35 |
set, LC_CTYPE and LANG are also checked). 'JOECHARMAP' overrides this value. |
1
by tg
Initial revision |
36 |
|
37 |
For example, if LC_ALL is set to:
|
|
38 |
||
39 |
de_DE
|
|
40 |
||
41 |
Then the character set will be ISO-8859-1.
|
|
42 |
||
43 |
If LC_ALL is set to:
|
|
44 |
||
45 |
de_DE.UTF-8
|
|
46 |
||
47 |
The character set will UTF-8.
|
|
48 |
||
49 |
Hit ^T E to change the coding for the file. Hit <tab> <tab> at this prompt
|
|
50 |
to get a list of available codings. There are a number of built-in
|
|
412
by tg
use ~/.jupp/ (for now) not ~/.joe/ to not conflict with joe 4.x |
51 |
character sets, plus you can install character sets in the ~/.jupp/charmaps
|
1
by tg
Initial revision |
52 |
and /usr/local/etc/joe/charmaps directories.
|
53 |
||
54 |
Check: /usr/share/i18n/charmaps for example character set files. Only
|
|
55 |
byte oriented character sets will work. Also, the file should not be
|
|
56 |
gzipped (all of the charmap file in /usr/share/i18n/charmaps on my computer
|
|
57 |
were compressed). The parser is very bad, so basically the file has to look
|
|
58 |
exactly like the example one in /usr/local/etc/joe/charmaps.
|
|
59 |
||
60 |
You can hit ^K <space> to see the current character set.
|
|
61 |
||
649
by tg
same as in commitid 1005B6CF36E3932B560, plus assorted cleanup |
62 |
You can hit ` x to enter a UCS character if the file coding is UTF-8.
|
1
by tg
Initial revision |
63 |
|
64 |
Programming
|
|
65 |
-----------
|
|
66 |
||
67 |
Try ^K , and ^K . These keys select the current block (based on
|
|
68 |
indentation) and shift it left or right by the -istep and -indentc.
|
|
69 |
||
70 |
Selecting blocks
|
|
71 |
----------------
|
|
72 |
||
73 |
The "classic" way is to hit ^K B at the beginning and ^K K at the
|
|
74 |
end. These set pointers called markb and markk. Once these are set you
|
|
75 |
can jump to markb with ^[ b and jump to markk with ^[ k.
|
|
76 |
||
77 |
New way no.1: hit Ctrl-space to start selecting, move the cursor,
|
|
78 |
then hit Ctrl-space to complete the block. Hit Ctrl-space in the block to
|
|
79 |
cancel it. Hit Ctrl-space outside of the block to start selecting a new
|
|
80 |
one. This uses the "toggle_marking" function. Also any block command will
|
|
191
by tg
release this as joe 3.1jupp18 |
81 |
complete the block. (joe flavour only)
|
1
by tg
Initial revision |
82 |
|
83 |
New way no.2: hit Ctrl-rtarw to start selecting rightward. Each
|
|
84 |
time you hit Ctrl-rtarw, the block is extended one more to the right. This
|
|
85 |
uses a simple macro: "begin_marking,rtarw,toggle_marking". Unfortunately,
|
|
86 |
there is no standard way to get the keysequence given by the terminal
|
|
87 |
emulator when you hit Ctrl-rtarw. Instead you have to determine this
|
|
88 |
sequence yourself and enter it directly in the joerc file. Some examples
|
|
89 |
are given for xterm and gnome-terminal. Hit ` rtarw to have the sequence
|
|
90 |
shown on your screen. Note that Putty uses ^[ ^[ [ C which will not appear
|
|
91 |
with ` rtarw (also ^[ ^[ is set book mark, so you need to unbind it to do
|
|
191
by tg
release this as joe 3.1jupp18 |
92 |
this in Putty). (joe flavour only)
|
1
by tg
Initial revision |
93 |
|
94 |
Also you can hit Ctrl-delete to cut and Ctrl-insert to paste if the
|
|
191
by tg
release this as joe 3.1jupp18 |
95 |
sequence for these keys are known. (joe flavour only)
|
96 |
||
97 |
New way No.3: press down shift, then move the cursor with the
|
|
98 |
arrow keys or, optionally with ctrl, the Home and End keys; release the
|
|
99 |
shift key when done and remember that the cursor indicator on screen is
|
|
100 |
not part of the selection. (all flavours)
|
|
101 |
||
102 |
Also, you can pass "-keymap cua" on the command line to change
|
|
103 |
the key bindings for ^Z (Undo), ^X (Cut), ^C (Copy), ^V (Paste) as in
|
|
104 |
contemporary GUI editors. (joe, rjoe, jstar, jupp flavours only)
|
|
105 |
||
106 |
Using Picture mode and Rectangle mode may help with that.
|
|
78
by tg
RCS IDs to the remaining few (non-autogen'd) files |
107 |
|
121
by tg
backport hex editing mode from joe 3.7 for waga as late birthday present |
108 |
Hex edit mode
|
109 |
-------------
|
|
110 |
||
111 |
When this mode is selected (either put -hex on the command line, or look for
|
|
112 |
"Hex edit mode" after hitting ^T), the buffer is displayed as a hex dump,
|
|
113 |
but all of the editing commands operate the same way. It is most useful to
|
|
114 |
select overtype mode in conjunction with hex dump (hit ^T T). Then typing
|
|
115 |
will not insert.
|
|
116 |
||
117 |
- To enter the hex byte 0xF8 type ` x F 8
|
|
118 |
||
119 |
- You can use ^KC to copy a block as usual. If overtype mode is selected,
|
|
120 |
the block will overwrite the destination data without changing the size of
|
|
522
by tg
whitespace at EOL annoys me |
121 |
the file. Otherwise it inserts.
|
121
by tg
backport hex editing mode from joe 3.7 for waga as late birthday present |
122 |
|
123 |
- Hit ESC x byte <Enter>, to jump to a particular byte offset. Hex values
|
|
124 |
can be entered into this prompt like this: 0x2000.
|
|
125 |
||
126 |
- Search, incremental search, and search & replace all operate as usual.
|
|
127 |
||
689
by tg
add © hints for the binary package |
128 |
Licences (binary package summary)
|
129 |
---------------------------------
|
|
130 |
||
131 |
joe is Copyright
|
|
132 |
© 1992, 2004 Joseph H. Allen
|
|
133 |
© 2001 Marek 'Marx' Grac |
|
134 |
© 2004, 2006, 2011, 2013, 2014, 2017, 2018, 2020 mirabilos
|
|
135 |
jupp is Copyright
|
|
136 |
© 1997–2020 Thorsten Glaser
|
|
137 |
||
138 |
* jupp is free software; you can redistribute and/or modify it, deal
|
|
139 |
* in the work, etc. under the terms of the GNU General Public Licen-
|
|
140 |
* se, version 1 (of February 1989) as published by the Free Software
|
|
141 |
* Foundation, reproduced in the file COPYING in the jupp source code
|
|
142 |
* distribution. If jupp is combined with other independent work, for
|
|
143 |
* example libraries or when using crunchgen, into a combined binary,
|
|
144 |
* that may be conveyed under any version of the GPL, as published by
|
|
145 |
* the Free Software Foundation, and any compatible licence permitted
|
|
146 |
* by any version of the GPL, as above.
|
|
147 |
||
148 |
jupp is also:
|
|
149 |
* Copyright © 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
|
|
150 |
* 2013, 2014, 2016, 2017, 2018, 2020
|
|
151 |
* mirabilos <m@mirbsd.org>
|
|
152 |
*
|
|
153 |
* Provided that these terms and disclaimer and all copyright notices
|
|
154 |
* are retained or reproduced in an accompanying document, permission
|
|
155 |
* is granted to deal in this work without restriction, including un‐
|
|
156 |
* limited rights to use, publicly perform, distribute, sell, modify,
|
|
157 |
* merge, give away, or sublicence.
|
|
158 |
*
|
|
159 |
* This work is provided “AS IS” and WITHOUT WARRANTY of any kind, to
|
|
160 |
* the utmost extent permitted by applicable law, neither express nor
|
|
161 |
* implied; without malicious intent or gross negligence. In no event
|
|
162 |
* may a licensor, author or contributor be held liable for indirect,
|
|
163 |
* direct, other damage, loss, or other issues arising in any way out
|
|
164 |
* of dealing in the work, even if advised of the possibility of such
|
|
165 |
* damage or existence of a defect, except proven that it results out
|
|
166 |
* of said person’s immediate fault when using the work as intended.
|
|
167 |
||
168 |
strlfun.inc (optional) additionally is:
|
|
169 |
* Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
|
|
170 |
*
|
|
171 |
* Permission to use, copy, modify, and distribute this software for any
|
|
172 |
* purpose with or without fee is hereby granted, provided that the above
|
|
173 |
* copyright notice and this permission notice appear in all copies.
|
|
174 |
*
|
|
175 |
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
176 |
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
177 |
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
178 |
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
179 |
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
180 |
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
181 |
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
182 |
||
183 |
I18N data is:
|
|
184 |
* Parts Copyright © 1991–2020 Unicode, Inc. All rights reserved.
|
|
185 |
* Distributed under the Terms of Use in
|
|
186 |
* https://www.unicode.org/copyright.html.
|
|
187 |
*
|
|
188 |
* Permission is hereby granted, free of charge, to any person obtaining
|
|
189 |
* a copy of the Unicode data files and any associated documentation
|
|
190 |
* (the "Data Files") or Unicode software and any associated documentation
|
|
191 |
* (the "Software") to deal in the Data Files or Software
|
|
192 |
* without restriction, including without limitation the rights to use,
|
|
193 |
* copy, modify, merge, publish, distribute, and/or sell copies of
|
|
194 |
* the Data Files or Software, and to permit persons to whom the Data Files
|
|
195 |
* or Software are furnished to do so, provided that either
|
|
196 |
* (a) this copyright and permission notice appear with all copies
|
|
197 |
* of the Data Files or Software, or
|
|
198 |
* (b) this copyright and permission notice appear in associated
|
|
199 |
* Documentation.
|
|
200 |
*
|
|
201 |
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
|
|
202 |
* ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
203 |
* WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
204 |
* NONINFRINGEMENT OF THIRD PARTY RIGHTS.
|
|
205 |
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
|
|
206 |
* NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
|
|
207 |
* DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
|
208 |
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
209 |
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
210 |
* PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
|
211 |
*
|
|
212 |
* Except as contained in this notice, the name of a copyright holder
|
|
213 |
* shall not be used in advertising or otherwise to promote the sale,
|
|
214 |
* use or other dealings in these Data Files or Software without prior
|
|
215 |
* written authorization of the copyright holder.
|
|
216 |
||
217 |
popen.inc (optional) is:
|
|
218 |
* Copyright (c) 1988, 1993
|
|
219 |
* The Regents of the University of California. All rights reserved.
|
|
220 |
*
|
|
221 |
* This code is derived from software written by Ken Arnold and
|
|
222 |
* published in UNIX Review, Vol. 6, No. 8.
|
|
223 |
*
|
|
224 |
* Redistribution and use in source and binary forms, with or without
|
|
225 |
* modification, are permitted provided that the following conditions
|
|
226 |
* are met:
|
|
227 |
* 1. Redistributions of source code must retain the above copyright
|
|
228 |
* notice, this list of conditions and the following disclaimer.
|
|
229 |
* 2. Redistributions in binary form must reproduce the above copyright
|
|
230 |
* notice, this list of conditions and the following disclaimer in the
|
|
231 |
* documentation and/or other materials provided with the distribution.
|
|
232 |
* 3. Neither the name of the University nor the names of its contributors
|
|
233 |
* may be used to endorse or promote products derived from this software
|
|
234 |
* without specific prior written permission.
|
|
235 |
*
|
|
236 |
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
|
237 |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
238 |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
|
239 |
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
|
240 |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
|
241 |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
|
242 |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
243 |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
|
244 |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
|
245 |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
|
246 |
* SUCH DAMAGE. |
|
247 |
||
412
by tg
use ~/.jupp/ (for now) not ~/.joe/ to not conflict with joe 4.x |
248 |
___________________________________________________________________
|
689
by tg
add © hints for the binary package |
249 |
$MirOS: contrib/code/jupp/HINTS,v 1.19 2020/03/27 08:28:53 tg Exp $ |