diff options
author | Paul Phillips <paulp@improving.org> | 2009-10-06 17:04:27 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2009-10-06 17:04:27 +0000 |
commit | ac5c2b3c67090ee7b7c6e3b5f212829de82c8ca0 (patch) | |
tree | 5194ccde75c3b9e88440d2edba2e1e6587b677e7 /src/jline | |
parent | c107643d20f3c68051c0dd8dd12b2a3919909d20 (diff) | |
download | scala-ac5c2b3c67090ee7b7c6e3b5f212829de82c8ca0.tar.gz scala-ac5c2b3c67090ee7b7c6e3b5f212829de82c8ca0.tar.bz2 scala-ac5c2b3c67090ee7b7c6e3b5f212829de82c8ca0.zip |
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.
Diffstat (limited to 'src/jline')
-rw-r--r-- | src/jline/pom.xml | 3 | ||||
-rw-r--r-- | src/jline/src/main/java/jline/ConsoleReader.java | 7 | ||||
-rw-r--r-- | 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"> +<properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> +</properties> <modelVersion>4.0.0</modelVersion> <groupId>jline</groupId> <artifactId>jline</artifactId> 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"); } /** |