summaryrefslogtreecommitdiff
path: root/src/jline
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2009-10-06 17:04:27 +0000
committerPaul Phillips <paulp@improving.org>2009-10-06 17:04:27 +0000
commitac5c2b3c67090ee7b7c6e3b5f212829de82c8ca0 (patch)
tree5194ccde75c3b9e88440d2edba2e1e6587b677e7 /src/jline
parentc107643d20f3c68051c0dd8dd12b2a3919909d20 (diff)
downloadscala-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.xml3
-rw-r--r--src/jline/src/main/java/jline/ConsoleReader.java7
-rw-r--r--src/jline/src/main/java/jline/UnixTerminal.java19
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");
}
/**