about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--Doc/Zsh/options.yo6
-rw-r--r--Src/options.c1
-rw-r--r--Src/utils.c19
-rw-r--r--Src/zsh.h1
5 files changed, 33 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 405ebdd52..c5201cb14 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2000-05-08  Peter Stephenson  <pws@cambridgesiliconradio.com>
+
+	* 11260: Doc/Zsh/options.yo: docs for 11044
+
+	* Hiroki Tamakoshi: 11044: Src/options.c, Src/utils.c, Src/zsh.h: 
+	Option to use Dvorak keyboard in spell-checking.
+
 2000-05-08  Geoff Wing  <gcw@zsh.org>
 
 	* gcw: unposted: Etc/CONTRIBUTORS fix
diff --git a/Doc/Zsh/options.yo b/Doc/Zsh/options.yo
index e55ed53bd..9b2d34b92 100644
--- a/Doc/Zsh/options.yo
+++ b/Doc/Zsh/options.yo
@@ -326,6 +326,12 @@ do not report an error unless all the patterns
 in a command have no matches.
 Overrides tt(NULL_GLOB).
 )
+pindex(DVORAK)
+item(tt(DVORAK))(
+Use the Dvorak keyboard instead of the standard qwerty keyboard as a basis
+for examining spelling mistakes for the tt(CORRECT) and tt(CORRECT_ALL)
+options and the tt(spell-word) editor command.
+)
 pindex(EQUALS)
 cindex(filename expansion, =)
 item(tt(EQUALS) <Z>)(
diff --git a/Src/options.c b/Src/options.c
index c68d58986..9125a2380 100644
--- a/Src/options.c
+++ b/Src/options.c
@@ -210,6 +210,7 @@ static struct optname optns[] = {
 {NULL, "promptvars",	      OPT_ALIAS, /* bash */	 PROMPTSUBST},
 {NULL, "stdin",		      OPT_ALIAS, /* ksh */	 SHINSTDIN},
 {NULL, "trackall",	      OPT_ALIAS, /* ksh */	 HASHCMDS},
+{NULL, "dvorak",	      0,			 DVORAK},
 {NULL, NULL, 0, 0}
 };
 
diff --git a/Src/utils.c b/Src/utils.c
index 416d0aeaf..e109d8ba5 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -2127,7 +2127,7 @@ static int
 spdist(char *s, char *t, int thresh)
 {
     char *p, *q;
-    char *keymap =
+    const char qwertykeymap[] =
     "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\
 \t1234567890-=\t\
 \tqwertyuiop[]\t\
@@ -2139,6 +2139,23 @@ spdist(char *s, char *t, int thresh)
 \tASDFGHJKL:\"\n\t\
 \tZXCVBNM<>?\n\n\t\
 \n\n\n\n\n\n\n\n\n\n\n\n\n\n";
+    const char dvorakkeymap[] =
+    "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\
+\t1234567890[]\t\
+\t',.pyfgcrl/=\t\
+\taoeuidhtns-\n\t\
+\t;qjkxbmwvz\t\t\t\
+\n\n\n\n\n\n\n\n\n\n\n\n\n\n\
+\t!@#$%^&*(){}\t\
+\t\"<>PYFGCRL?+\t\
+\tAOEUIDHTNS_\n\t\
+\t:QJKXBMWVZ\n\n\t\
+\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
+    const char *keymap;
+    if ( isset( DVORAK ) )
+      keymap = dvorakkeymap;
+    else
+      keymap = qwertykeymap;
 
     if (!strcmp(s, t))
 	return 0;
diff --git a/Src/zsh.h b/Src/zsh.h
index 585e94e59..dec00c9e7 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -1431,6 +1431,7 @@ enum {
     VERBOSE,
     XTRACE,
     USEZLE,
+    DVORAK,
     OPT_SIZE
 };