SHA256
1
0
forked from pool/joe

Accepting request 312384 from home:thehejik:branches:editors

- Version update to 4.0:
  - JOE now has pop-up shell windows with full terminal emulation
    and shell commands that can control the editor. Hit F1 - F4 to bring up a shell window.
  - See Pop-up shell feature for a full description.
  - The status command (^K SPACE) can now be customized using the same syntax
    as the status bar. Look for smsg and zmsg in joerc to see how to do this.
    parserr (the error parser) will parse only the highlighted block if it's set.
    Before it always parsed the entire buffer.
  - Now there is a per-buffer concept of current directory. This was added to
    make the pop-up shell windows work better, but it's useful in general.
  - At file prompts you can begin a new anchored path without having to delete
    the old one. It means that ~jhallen/foo//etc/passwd is translated to /etc/passwd.
  - Prompt windows are now highighted to indicate which parts of the path are
    being dropped. There is a syntax file for this: filename.jsf
  - The error parser now ignores ANSI sequences (some versions of grep
    color their results, now JOE can still parse it).
  - Temporary messages are now dismissed by keyboard input only. Before, they
    could also be dismissed by shell input.
  - Tags search now supports multiple matches. ^K ; can be configured to
    either provide a menu of the matches or to cycle through them.
  - Tags search will now match on the member name part of member functions
    ('fred' will match 'myclass::fred').
  - Tags search will prepend the path to the tags file file name in the tags
    file. This is important when JOE finds the tags file via the TAGS
    environment variable.
  - Remove ` as quote character from incremental search.
  - Clean up documentation, convert much of it to Markdown.
- Cleanup with spec-cleaner
- Drop languages as they don't work at all
- refreshed patches:

OBS-URL: https://build.opensuse.org/request/show/312384
OBS-URL: https://build.opensuse.org/package/show/editors/joe?expand=0&rev=20
This commit is contained in:
Daniel Rahn 2015-07-08 07:36:46 +00:00 committed by Git OBS Bridge
parent 63ae3d96f7
commit f7544adc66
13 changed files with 144 additions and 190 deletions

View File

@ -1,6 +1,8 @@
--- b.c.orig 2008-11-02 21:59:06.000000000 +0100 Index: joe-4.0/joe/b.c
+++ b.c 2009-10-20 12:18:46.443802718 +0200 ===================================================================
@@ -601,9 +601,10 @@ int piseow(P *p) --- joe-4.0.orig/joe/b.c
+++ joe-4.0/joe/b.c
@@ -626,9 +626,10 @@ int piseow(P *p)
int pisblank(P *p) int pisblank(P *p)
{ {
P *q = pdup(p, USTR "pisblank"); P *q = pdup(p, USTR "pisblank");
@ -12,7 +14,7 @@
pgetb(q); pgetb(q);
if (piseol(q)) { if (piseol(q)) {
prm(q); prm(q);
@@ -635,9 +636,10 @@ long pisindent(P *p) @@ -660,9 +661,10 @@ long pisindent(P *p)
{ {
P *q = pdup(p, USTR "pisindent"); P *q = pdup(p, USTR "pisindent");
long col; long col;

View File

@ -1,7 +1,7 @@
Index: path.c Index: joe-4.0/joe/path.c
=================================================================== ===================================================================
--- path.c.orig 2008-11-02 21:33:23.000000000 +0100 --- joe-4.0.orig/joe/path.c
+++ path.c 2009-10-20 12:04:34.844305049 +0200 +++ joe-4.0/joe/path.c
@@ -200,6 +200,8 @@ unsigned char *mktmp(unsigned char *wher @@ -200,6 +200,8 @@ unsigned char *mktmp(unsigned char *wher
where = (unsigned char *)getenv("TEMP"); where = (unsigned char *)getenv("TEMP");
if (!where) if (!where)

View File

@ -1,6 +1,8 @@
--- bw.c Index: joe-4.0/joe/bw.c
+++ bw.c ===================================================================
@@ -206,6 +206,7 @@ --- joe-4.0.orig/joe/bw.c
+++ joe-4.0/joe/bw.c
@@ -206,6 +206,7 @@ HIGHLIGHT_STATE get_highlight_state(BW *
#ifdef junk #ifdef junk
P *tmp = 0; P *tmp = 0;
HIGHLIGHT_STATE state; HIGHLIGHT_STATE state;

View File

@ -1,8 +1,8 @@
Index: rc/jmacsrc.in Index: joe-4.0/rc/jmacsrc.in
=================================================================== ===================================================================
--- rc/jmacsrc.in.orig 2008-11-02 20:13:54.000000000 +0100 --- joe-4.0.orig/rc/jmacsrc.in
+++ rc/jmacsrc.in 2009-10-20 12:23:51.005295489 +0200 +++ joe-4.0/rc/jmacsrc.in
@@ -868,6 +868,7 @@ home .kh Goto beginning of line @@ -938,6 +938,7 @@ home .kh Goto beginning of line
home ^A home ^A
home ^[ [ H home ^[ [ H
home ^[ [ 1 ~ home ^[ [ 1 ~
@ -10,7 +10,7 @@ Index: rc/jmacsrc.in
bop ^[ p (uemacs) bop ^[ p (uemacs)
bop ^[ { bop ^[ {
bufed ^X b bufed ^X b
@@ -896,6 +897,7 @@ eol .@7 @@ -966,6 +967,7 @@ eol .@7
eol ^E eol ^E
eol ^[ [ F eol ^[ [ F
eol ^[ [ 4 ~ eol ^[ [ 4 ~
@ -18,11 +18,11 @@ Index: rc/jmacsrc.in
eop ^[ n (uemacs) eop ^[ n (uemacs)
eop ^[ } eop ^[ }
execmd ^[ x execmd ^[ x
Index: rc/joerc.in Index: joe-4.0/rc/joerc.in
=================================================================== ===================================================================
--- rc/joerc.in.orig 2008-11-02 04:29:43.000000000 +0100 --- joe-4.0.orig/rc/joerc.in
+++ rc/joerc.in 2009-10-20 12:23:51.039801181 +0200 +++ joe-4.0/rc/joerc.in
@@ -949,6 +949,9 @@ bof ^K u @@ -1016,6 +1016,9 @@ bof ^K u
bol ^# SP A bol ^# SP A
home .kh home .kh
home ^A home ^A
@ -32,7 +32,7 @@ Index: rc/joerc.in
center ^K A Center line center ^K A Center line
center ^K ^A center ^K ^A
center ^K a center ^K a
@@ -973,6 +976,9 @@ eof ^K v @@ -1040,6 +1043,9 @@ eof ^K v
eol .kH Go to end of line eol .kH Go to end of line
eol .@7 eol .@7
eol ^E eol ^E
@ -42,11 +42,11 @@ Index: rc/joerc.in
exsave ^K X Save and exit exsave ^K X Save and exit
exsave ^K ^X exsave ^K ^X
exsave ^K x exsave ^K x
Index: rc/jpicorc.in Index: joe-4.0/rc/jpicorc.in
=================================================================== ===================================================================
--- rc/jpicorc.in.orig 2008-11-02 04:19:48.000000000 +0100 --- joe-4.0.orig/rc/jpicorc.in
+++ rc/jpicorc.in 2009-10-20 12:23:51.092404427 +0200 +++ joe-4.0/rc/jpicorc.in
@@ -766,6 +766,7 @@ home .kh Goto beginning of line @@ -837,6 +837,7 @@ home .kh Goto beginning of line
home ^A home ^A
home ^[ [ H home ^[ [ H
home ^[ [ 1 ~ home ^[ [ 1 ~
@ -54,7 +54,7 @@ Index: rc/jpicorc.in
center ^[ ^C Center line center ^[ ^C Center line
center ^[ c center ^[ c
delch .kD Delete character delch .kD Delete character
@@ -794,6 +795,7 @@ eol .@7 @@ -865,6 +866,7 @@ eol .@7
eol ^E eol ^E
eol ^[ [ F eol ^[ [ F
eol ^[ [ 4 ~ eol ^[ [ 4 ~
@ -62,11 +62,11 @@ Index: rc/jpicorc.in
execmd ^[ X Prompt for command to execute execmd ^[ X Prompt for command to execute
execmd ^[ ^X Prompt for command to execute execmd ^[ ^X Prompt for command to execute
execmd ^[ x Prompt for command to execute execmd ^[ x Prompt for command to execute
Index: rc/jstarrc.in Index: joe-4.0/rc/jstarrc.in
=================================================================== ===================================================================
--- rc/jstarrc.in.orig 2008-11-02 04:20:19.000000000 +0100 --- joe-4.0.orig/rc/jstarrc.in
+++ rc/jstarrc.in 2009-10-20 12:23:51.131880999 +0200 +++ joe-4.0/rc/jstarrc.in
@@ -805,6 +805,7 @@ bof ^Q .kP @@ -875,6 +875,7 @@ bof ^Q .kP
home .kh Goto beginning of line home .kh Goto beginning of line
home ^[ [ H home ^[ [ H
home ^[ [ 1 ~ home ^[ [ 1 ~
@ -74,7 +74,7 @@ Index: rc/jstarrc.in
home ^Q S home ^Q S
home ^Q ^S home ^Q ^S
home ^Q s home ^Q s
@@ -846,6 +847,7 @@ eol .kH Go to end of line @@ -916,6 +917,7 @@ eol .kH Go to end of line
eol .@7 eol .@7
eol ^[ [ F eol ^[ [ F
eol ^[ [ 4 ~ eol ^[ [ 4 ~
@ -82,11 +82,11 @@ Index: rc/jstarrc.in
eol ^Q D eol ^Q D
eol ^Q ^D eol ^Q ^D
eol ^Q d eol ^Q d
Index: rc/rjoerc.in Index: joe-4.0/rc/rjoerc.in
=================================================================== ===================================================================
--- rc/rjoerc.in.orig 2008-11-02 04:20:28.000000000 +0100 --- joe-4.0.orig/rc/rjoerc.in
+++ rc/rjoerc.in 2009-10-20 12:23:51.176448836 +0200 +++ joe-4.0/rc/rjoerc.in
@@ -837,6 +837,7 @@ bol .kh Goto beginning of line @@ -880,6 +880,7 @@ bol .kh Goto beginning of line
bol ^A bol ^A
bol ^[ [ H bol ^[ [ H
bol ^[ [ 1 ~ bol ^[ [ 1 ~
@ -94,7 +94,7 @@ Index: rc/rjoerc.in
bol ^# SP A bol ^# SP A
center ^K A Center line center ^K A Center line
center ^K ^A center ^K ^A
@@ -863,6 +864,7 @@ eol .kH Go to end of line @@ -906,6 +907,7 @@ eol .kH Go to end of line
eol ^E eol ^E
eol ^[ [ F eol ^[ [ F
eol ^[ [ 4 ~ eol ^[ [ 4 ~

View File

@ -1,6 +1,8 @@
--- rc/ftyperc Index: joe-4.0/rc/ftyperc
+++ rc/ftyperc ===================================================================
@@ -753,3 +753,9 @@ --- joe-4.0.orig/rc/ftyperc
+++ joe-4.0/rc/ftyperc
@@ -935,6 +935,12 @@
*jpicorc.in *jpicorc.in
-syntax joerc -syntax joerc
@ -10,3 +12,6 @@
+*.spec.in +*.spec.in
+-syntax spec +-syntax spec
+ +
Markdown
*.md
-syntax md

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cae456e1ad5a8c1d3c94920a3416c2347277739b260e3494d3bc0f2b9b73106f
size 696036

3
joe-4.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c556adff77fd97bf1b86198de6cb82e0b92cda18579c4fef6c83b608d2ed2915
size 838783

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a894bc5b4ddc122fd5802444600a9eb4c43ff58b27a6ad5fe5dca9333fb5b1fd
size 37371

View File

@ -1,40 +1,40 @@
Index: b.c Index: joe-4.0/joe/b.c
=================================================================== ===================================================================
--- b.c.orig 2009-10-20 18:31:36.000000000 +0200 --- joe-4.0.orig/joe/b.c
+++ b.c 2009-10-20 18:35:09.643712608 +0200 +++ joe-4.0/joe/b.c
@@ -2194,13 +2194,13 @@ unsigned char *parsens(unsigned char *s, @@ -2327,13 +2327,13 @@ unsigned char *parsens(unsigned char *s,
#if SIZEOF_LONG_LONG && SIZEOF_OFF_T == SIZEOF_LONG_LONG #if HAVE_LONG_LONG
if (n[x + 1] == 'x' || n[x + 1] == 'X') if (n[x + 1] == 'x' || n[x + 1] == 'X')
- sscanf((char *)(n + x + 2), "%llx", skip); - sscanf((char *)(n + x + 2), "%llx", &skipr);
+ sscanf((char *)(n + x + 2), "%llx", (long long unsigned int *)skip); + sscanf((char *)(n + x + 2), "%llx", (long long unsigned int *)skipr);
else if (n[x + 1] == '0' && (n[x + 2] == 'x' || n[x + 2] == 'X')) else if (n[x + 1] == '0' && (n[x + 2] == 'x' || n[x + 2] == 'X'))
- sscanf((char *)(n + x + 3), "%llx", skip); - sscanf((char *)(n + x + 3), "%llx", &skipr);
+ sscanf((char *)(n + x + 3), "%llx", (long long unsigned int *)skip); + sscanf((char *)(n + x + 3), "%llx", (long long unsigned int *)skipr);
else if (n[x + 1] == '0') else if (n[x + 1] == '0')
- sscanf((char *)(n + x + 1), "%llo", skip); - sscanf((char *)(n + x + 1), "%llo", &skipr);
+ sscanf((char *)(n + x + 1), "%llo", (long long unsigned int *)skip); + sscanf((char *)(n + x + 1), "%llo", (long long unsigned int *)skipr);
else else
- sscanf((char *)(n + x + 1), "%lld", skip); - sscanf((char *)(n + x + 1), "%llu", &skipr);
+ sscanf((char *)(n + x + 1), "%lld", (long long int *)skip); + sscanf((char *)(n + x + 1), "%llu", (long long int *)skipr);
#else #else
if (n[x + 1] == 'x' || n[x + 1] == 'X') if (n[x + 1] == 'x' || n[x + 1] == 'X')
sscanf((char *)(n + x + 2), "%lx", skip); sscanf((char *)(n + x + 2), "%lx", &skipr);
@@ -2219,13 +2219,13 @@ unsigned char *parsens(unsigned char *s, @@ -2353,13 +2353,13 @@ unsigned char *parsens(unsigned char *s,
*amnt = *skip; *amnt = *skip;
#if SIZEOF_LONG_LONG && SIZEOF_OFF_T == SIZEOF_LONG_LONG #ifdef HAVE_LONG_LONG
if (n[x + 1] == 'x' || n[x + 1] == 'X') if (n[x + 1] == 'x' || n[x + 1] == 'X')
- sscanf((char *)(n + x + 2), "%llx", skip); - sscanf((char *)(n + x + 2), "%llx", &skipr);
+ sscanf((char *)(n + x + 2), "%llx", (long long unsigned int *)skip); + sscanf((char *)(n + x + 2), "%llx", (long long unsigned int *)&skipr);
else if (n[x + 1] == '0' && (n[x + 2] == 'x' || n[x + 2] == 'X')) else if (n[x + 1] == '0' && (n[x + 2] == 'x' || n[x + 2] == 'X'))
- sscanf((char *)(n + x + 3), "%llx", skip); - sscanf((char *)(n + x + 3), "%llx", &skipr);
+ sscanf((char *)(n + x + 3), "%llx", (long long unsigned int *)skip); + sscanf((char *)(n + x + 3), "%llx", (long long unsigned int *)skipr);
else if (n[x + 1] == '0') else if (n[x + 1] == '0')
- sscanf((char *)(n + x + 1), "%llo", skip); - sscanf((char *)(n + x + 1), "%llo", &skipr);
+ sscanf((char *)(n + x + 1), "%llo", (long long unsigned int *)skip); + sscanf((char *)(n + x + 1), "%llo", (long long unsigned int *)skipr);
else else
- sscanf((char *)(n + x + 1), "%lld", skip); - sscanf((char *)(n + x + 1), "%llu", &skipr);
+ sscanf((char *)(n + x + 1), "%lld", (long long int *)skip); + sscanf((char *)(n + x + 1), "%llu", (long long int *)skipr);
#else #else
if (n[x + 1] == 'x' || n[x + 1] == 'X') if (n[x + 1] == 'x' || n[x + 1] == 'X')
sscanf((char *)(n + x + 2), "%lx", skip); sscanf((char *)(n + x + 2), "%lx", &skipr);

View File

@ -1,30 +0,0 @@
--- po/fr.po
+++ po/fr.po
@@ -1714,27 +1714,3 @@
#: w.c:822
msgid "There is no message buffer"
msgstr "Il n'y a pas de message"
-
-#~msgid "|error list files|eE"
-#~msgstr "Erreur à l'écriture du fichier"
-
-#~msgid "|don't wrap|nN"
-#~msgstr "La recherche ne recommence pas au début du fichier"
-
-#~msgid "|ignore lock, continue with edit|iI"
-#~ msgstr "Pressez Entrée pour continuer avec %s "
-
-#~ msgid "sS"
-#~ msgstr "sS"
-
-#~ msgid "qQ"
-#~ msgstr "qQaA"
-
-#~ msgid "iI"
-#~ msgstr "iIeE"
-
-#~ msgid "yY"
-#~ msgstr "yYoO"
-
-#~ msgid "nN"
-#~ msgstr "nN"

View File

@ -1,20 +1,8 @@
Index: uformat.c Index: joe-4.0/joe/uformat.c
=================================================================== ===================================================================
--- uformat.c.orig 2008-10-28 05:13:56.000000000 +0100 --- joe-4.0.orig/joe/uformat.c
+++ uformat.c 2009-10-26 18:13:08.726241696 +0100 +++ joe-4.0/joe/uformat.c
@@ -361,9 +361,10 @@ void wrapword(BW *bw, P *p, long int ind @@ -444,7 +444,7 @@ void wrapword(BW *bw, P *p, long int ind
if (!bw->o.autoindent) {
/* Don't indent second line of single-line paragraphs if autoindent is off */
int x = zlen(indents);
+ int start = x;
while (x && (indents[x - 1] == ' ' || indents[x - 1] == '\t'))
indents[--x] = 0;
- if (x) {
+ if (x < start) {
indents[x++] = ' ';
indents[x] = 0;
}
@@ -430,7 +431,7 @@ void wrapword(BW *bw, P *p, long int ind
if (!pisbol(p) && piscol(p) > indent) { if (!pisbol(p) && piscol(p) > indent) {
/* Move q to two (or one if 'french' is set) spaces after end of previous /* Move q to two (or one if 'french' is set) spaces after end of previous
word */ word */
@ -23,7 +11,7 @@ Index: uformat.c
while (!pisbol(q)) while (!pisbol(q))
if (!joe_isblank(p->b->o.charmap, (c = prgetc(q)))) { if (!joe_isblank(p->b->o.charmap, (c = prgetc(q)))) {
pgetc(q); pgetc(q);
@@ -564,10 +565,12 @@ int uformat(BW *bw) @@ -578,10 +578,12 @@ int uformat(BW *bw)
if (!bw->o.autoindent) { if (!bw->o.autoindent) {
/* Don't indent second line of single-line paragraphs if autoindent is off */ /* Don't indent second line of single-line paragraphs if autoindent is off */
int x = zlen(indents); int x = zlen(indents);

View File

@ -1,3 +1,47 @@
-------------------------------------------------------------------
Wed Jun 17 08:12:37 UTC 2015 - thehejik@suse.com
- Version update to 4.0:
- JOE now has pop-up shell windows with full terminal emulation
and shell commands that can control the editor. Hit F1 - F4 to bring up a shell window.
- See Pop-up shell feature for a full description.
- The status command (^K SPACE) can now be customized using the same syntax
as the status bar. Look for smsg and zmsg in joerc to see how to do this.
parserr (the error parser) will parse only the highlighted block if it's set.
Before it always parsed the entire buffer.
- Now there is a per-buffer concept of current directory. This was added to
make the pop-up shell windows work better, but it's useful in general.
- At file prompts you can begin a new anchored path without having to delete
the old one. It means that ~jhallen/foo//etc/passwd is translated to /etc/passwd.
- Prompt windows are now highighted to indicate which parts of the path are
being dropped. There is a syntax file for this: filename.jsf
- The error parser now ignores ANSI sequences (some versions of grep
color their results, now JOE can still parse it).
- Temporary messages are now dismissed by keyboard input only. Before, they
could also be dismissed by shell input.
- Tags search now supports multiple matches. ^K ; can be configured to
either provide a menu of the matches or to cycle through them.
- Tags search will now match on the member name part of member functions
('fred' will match 'myclass::fred').
- Tags search will prepend the path to the tags file file name in the tags
file. This is important when JOE finds the tags file via the TAGS
environment variable.
- Remove ` as quote character from incremental search.
- Clean up documentation, convert much of it to Markdown.
- Cleanup with spec-cleaner
- Drop languages as they don't work at all
- refreshed patches:
* joe-3.1-fix_isblanck_argument.patch
* joe-3.1-terminate_buffer.patch
* joe-3.3-warnings.patch
* joe-3.7-additional_key_mappings.patch
* joe-3.7-spec_association.patch
* joe-codecleanup.patch
* joe-sigiot.patch
- deleted patches:
* joe-activate_po.patch.bz2
* joe-fr_trans.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Nov 26 13:18:15 UTC 2013 - jengelh@inai.de Tue Nov 26 13:18:15 UTC 2013 - jengelh@inai.de

View File

@ -1,7 +1,7 @@
# #
# spec file for package joe # spec file for package joe
# #
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -17,86 +17,38 @@
Name: joe Name: joe
BuildRequires: automake Version: 4.0
BuildRequires: ncurses-devel
Version: 3.7
Release: 0 Release: 0
Summary: A Text Editor Summary: A Text Editor
License: GPL-2.0+ License: GPL-2.0+
Group: Productivity/Editors/Other Group: Productivity/Editors/Other
Url: http://sourceforge.net/projects/joe-editor Url: http://sourceforge.net/projects/joe-editor
Source0: http://sourceforge.net/projects/joe-editor/files/JOE%{20sources}/%{name}-%{version}/%{name}-%{version}.tar.gz
Source0: http://downloads.sourceforge.net/joe-editor/%{name}-%{version}.tar.gz
Source2: de.po Source2: de.po
Patch0: joe-3.1-terminate_buffer.patch Patch0: joe-3.1-terminate_buffer.patch
Patch2: joe-3.1-fix_isblanck_argument.patch Patch2: joe-3.1-fix_isblanck_argument.patch
Patch3: joe-3.3-warnings.patch Patch3: joe-3.3-warnings.patch
Patch5: joe-activate_po.patch.bz2
Patch6: joe-fr_trans.patch
Patch7: joe-3.7-additional_key_mappings.patch Patch7: joe-3.7-additional_key_mappings.patch
Patch8: joe-3.7-spec_association.patch Patch8: joe-3.7-spec_association.patch
Patch9: joe-codecleanup.patch Patch9: joe-codecleanup.patch
Patch10: joe-sigiot.patch Patch10: joe-sigiot.patch
BuildRequires: automake
BuildRequires: ncurses-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description %description
JOE (Joe's Own Editor) is a freeware ASCII editor for UNIX. Joe is Joe is a powerful, easy to use, modeless text editor. It uses the same
similar to most IBM PC text editors. The keyboard combinations are WordStar keybindings used in Borland's development environment.
similar to WordStar[tm] and Turbo C. Some of Joe's features include:
-full support of termcap and terminfo (useful for device-independent
descriptions to control screen output) -optimized screen refresh like
GNU Emacs (Joe can even be used at 2400 baud) -easy installation with
all features for UNIX integration with vi: a marked block of text can
be filtered through a UNIX command and wherever JOE accepts a filename
parameter, the following can also be substituted:
!command\t\t:to redirect from or to another command
>>filename\t\t:to append onto an existing file
filename,start,size\t:to edit a part of a file or device
-\t\t\t:to use standard input/output
When JOE has several files opened at the same time, each file is
displayed in its own window. Additionally, JOE allows for shell windows
from which the output of the executed commands are saved in a buffer,
automatic filename completion (via TAB), help windows, undo and redo,
and search and replace using regular expressions.
Authors:
--------
Joseph H. Allen <jhallen@world.std.com>
Marek 'Marx' Grac <xgrac@fi.muni.cz>
%prep %prep
%setup -q %setup -q
%patch0 %patch0 -p1
%patch2 %patch2 -p1
%patch3 %patch3 -p1
%patch5 %patch7 -p1
%patch6 %patch8 -p1
%patch7 %patch9 -p1
%patch8 %patch10 -p1
%patch9
%patch10
cp %{S:2} po
# Convert Russian docs and locale from KOI8-R to UTF-8.
for ru in man/ru/joe.1.in po/ru.po rc/jicerc.ru.in ; do
iconv -f KOI8-R -t UTF-8 -o "${ru}.tmp" "${ru}" && \
mv -f "${ru}.tmp" "${ru}"
done
sed -i 's/charset=koi8-r/charset=UTF-8/' po/ru.po
# Convert Ukrainian locale from KOI8-U to UTF-8.
iconv -f KOI8-U -t UTF-8 po/uk.po | \
sed 's/charset=koi8-u/charset=UTF-8/' > po/uk.po.tmp && \
mv -f po/uk.po.tmp po/uk.po
# new automake-1.13.1 removed old macro
sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac
%build %build
autoreconf -fi autoreconf -fi
@ -105,36 +57,30 @@ export CFLAGS="%{optflags} -W -Wno-unused"
--prefix=%{_prefix} \ --prefix=%{_prefix} \
--mandir=%{_mandir} \ --mandir=%{_mandir} \
--sysconfdir=%{_sysconfdir} \ --sysconfdir=%{_sysconfdir} \
--docdir=%{_defaultdocdir}/%name --docdir=%{_defaultdocdir}/%{name}
cd po
make update-po
make %{?_smp_mflags} make %{?_smp_mflags}
%install %install
make install DESTDIR="%buildroot" make DESTDIR=%{buildroot} install %{?_smp_mflags}
for i in jmacs jpico jstar rjoe; do for i in jmacs jpico jstar rjoe; do
ln -s joe.1.gz %{buildroot}%{_mandir}/man1/$i.1.gz ln -s joe.1.gz %{buildroot}%{_mandir}/man1/$i.1.gz
done done
rm -rf %{buildroot}/%{_datadir}/%{name}/lang
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%doc %{_defaultdocdir}/%{name} %doc %{_defaultdocdir}/%{name}
%doc %{_mandir}/man1/* %{_mandir}/man1/*
%doc %{_mandir}/*/man1/* %{_mandir}/*/man1/*
%config %{_sysconfdir}/joe/* %config %{_sysconfdir}/joe/*
%dir %{_sysconfdir}/joe %dir %{_sysconfdir}/joe
%dir %{_datadir}/%{name} %dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/lang
%dir %{_mandir}/ru %dir %{_mandir}/ru
%dir %{_mandir}/ru/man1 %dir %{_mandir}/ru/man1
%{_bindir}/* %{_bindir}/*
%{_datadir}/%{name}/charmaps %{_datadir}/%{name}/charmaps
%dir %{_datadir}/%{name}/syntax %dir %{_datadir}/%{name}/syntax
%config(noreplace) %{_datadir}/%{name}/syntax/* %config(noreplace) %{_datadir}/%{name}/syntax/*
%lang(de) %{_datadir}/%{name}/lang/de.mo
%lang(en) %{_datadir}/%{name}/lang/en@*.mo
%lang(fr) %{_datadir}/%{name}/lang/fr.mo
%lang(ru) %{_datadir}/%{name}/lang/ru.mo
%lang(uk) %{_datadir}/%{name}/lang/uk.mo
%changelog %changelog