From ac5c2b3c67090ee7b7c6e3b5f212829de82c8ca0 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Tue, 6 Oct 2009 17:04:27 +0000 Subject: Set encoding to UTF-8 regardless of system defa... Set encoding to UTF-8 regardless of system default, and applied patch from jython trac to improve cursor handling on OSX. --- src/jline/pom.xml | 3 +++ src/jline/src/main/java/jline/ConsoleReader.java | 7 ++++--- src/jline/src/main/java/jline/UnixTerminal.java | 19 +++++++++++-------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/jline/pom.xml b/src/jline/pom.xml index 25356ff432..ac0e188585 100644 --- a/src/jline/pom.xml +++ b/src/jline/pom.xml @@ -48,6 +48,9 @@ To make a bundle and request that ibilio upload it, do: xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + UTF-8 + 4.0.0 jline jline diff --git a/src/jline/src/main/java/jline/ConsoleReader.java b/src/jline/src/main/java/jline/ConsoleReader.java index 6c7fff1aed..66655cce73 100644 --- a/src/jline/src/main/java/jline/ConsoleReader.java +++ b/src/jline/src/main/java/jline/ConsoleReader.java @@ -210,9 +210,10 @@ public class ConsoleReader implements ConsoleOperations { this.out = out; if (bindings == null) { try { - String bindingFile = System.getProperty("jline.keybindings", - new File(System.getProperty("user.home", - ".jlinebindings.properties")).getAbsolutePath()); + String defaultBindingFile = + new File(System.getProperty("user.home"), + ".jlinebindings.properties").getAbsolutePath(); + String bindingFile = System.getProperty("jline.keybindings", defaultBindingFile); if (new File(bindingFile).isFile()) { bindings = new FileInputStream(new File(bindingFile)); diff --git a/src/jline/src/main/java/jline/UnixTerminal.java b/src/jline/src/main/java/jline/UnixTerminal.java index e9f76053ff..a873b40ff1 100644 --- a/src/jline/src/main/java/jline/UnixTerminal.java +++ b/src/jline/src/main/java/jline/UnixTerminal.java @@ -36,7 +36,6 @@ public class UnixTerminal extends Terminal { public static final short DEL_THIRD = 51; public static final short DEL_SECOND = 126; - private Map terminfo; private boolean echoEnabled; private String ttyConfig; private boolean backspaceDeleteSwitched = false; @@ -44,7 +43,7 @@ public class UnixTerminal extends Terminal { System.getProperty("jline.sttyCommand", "stty"); - String encoding = System.getProperty("input.encoding", "UTF-8"); + String encoding = System.getProperty("jline.UnixTerminal.input.encoding", "UTF-8"); ReplayPrefixOneCharInputStream replayStream = new ReplayPrefixOneCharInputStream(encoding); InputStreamReader replayReader; @@ -58,14 +57,18 @@ public class UnixTerminal extends Terminal { protected void checkBackspace(){ String[] ttyConfigSplit = ttyConfig.split(":|="); - - if (ttyConfigSplit.length < 7) - return; - - if (ttyConfigSplit[6] == null) + String eof; + + if ("gfmt1".equals(ttyConfigSplit[0]) && ttyConfigSplit.length > 20) { + // BSD style -g + eof = ttyConfigSplit[20]; + } else if (ttyConfigSplit.length > 6 && ttyConfigSplit[6] != null) { + eof = ttyConfigSplit[6]; + } else { return; + } - backspaceDeleteSwitched = ttyConfigSplit[6].equals("7f"); + backspaceDeleteSwitched = eof.equals("7f"); } /** -- cgit v1.2.3