Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Aug 2012 14:30:13 GMT
From:      sdaoden@gmail.com (Steffen "Daode" Nurpmeso)
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: bin/170651: On 9.0-RELEASE#0 and master sh(1) gobbles high bit at first
Message-ID:  <201208181430.q7IEUDYS054727@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/170651; it has been noted by GNATS.

From: sdaoden@gmail.com (Steffen "Daode" Nurpmeso)
To: freebsd-gnats-submit@FreeBSD.org
Cc:  
Subject: Re: bin/170651: On 9.0-RELEASE#0 and master sh(1) gobbles high bit at first
Date: Sat, 18 Aug 2012 16:20:05 +0200

  |>Number:         170651
  |>Synopsis:       On 9.0-RELEASE#0 and master sh(1) gobbles high bit at first
  |>Confidential:   no no no!
  |>Severity:       non-critical
  |>Priority:       low
  |>Responsible:    freebsd-bugs
  |>Arrival-Date:   Wed Aug 15 15:10:09 UTC 2012
  |>Release:        9.0-REALEASE, and git master branch
  |>Description:
  [.]
  |If /bin/sh is the login shell, starting it won't allow input of
  |german umlauts in ISO8859-15 locale with fonts plus well set up.
  |Issue a set with arguments ($set +o, $set -o), and it'll work
  |as expected.
  [.]
  |So it turns out the problem is the histedit() function.
  |If it isn't called from within optschanged() then everything is fine.
  |
  |Now i've spend some hours trying to adjust that, but i've no idea
  |on sh(1) and libedit(3) internals, so i still don't understand the
  |problem, though i've found a getaround.
  [.]
  |The problem occurs when 'el' must be initialized.  If that actually
  |happens (upon sh(1) startup), then it'll change handling of the high
  |bit (or say, i'm just fiddling around with german umlauts here).
  |I've split up histedit() in individual parts, i've used sleeps and
  |recursive calls and whatever, but it didn't help.
  |The only solution i've found is to call histedit() from within main()
  |again (or outsource the pure initialization code to histedit_init(),
  |but anyway call it once from within main()).
  [.]
 
 An update: i've compiled the shell again, linked against libedit
 as of today (master branch, 493ac26f0cdccc, [Add mvts(4) driver
 for internal thermal sensor.., 2012-08-18]), and the problem
 persists.  (I'm still using 9.0-RELEASE#0, just in case it's even
 deeper than libedit.)
 
 --steffen



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208181430.q7IEUDYS054727>