zsh-workers
 help / color / mirror / code / Atom feed
* Command line editor doesn't work well
@ 1996-12-02  6:58 KIMURA Yasuhiro / 木村康浩 
  1996-12-03  4:52 ` gwing
  0 siblings, 1 reply; 3+ messages in thread
From: KIMURA Yasuhiro / 木村康浩  @ 1996-12-02  6:58 UTC (permalink / raw)
  To: zsh-workers

Hello Maintainers.

A user in my site found a problem of command line editor. Since I'm
not a subscriber, please ask directly to me if you have any question.

Version of zsh
==============

3.0.1

Description
===========

Command line editor doesn't work well when PS1 variable includes
Newline (^J) character.

Example
=======

Testsuite:

1. Type 'echo $PS1[RET]'
2. Type 'echo foo[RET]'
3. Type '^P', '^A' and 'a'

When PS1='%n@%m[%h]%# ' (Not include Newline), this produces following
result.

yasu@siva[1]% echo $PS1
%n@%m[%h]%# 
yasu@siva[2]% echo foo 
foo
yasu@siva[3]% aecho foo  (Cursor is on the 'e' character.)


When PS1='%n@%m[%h]%#^J' (Include Newline), the result should be

yasu@siva[4]%
 echo $PS1
%n@%m[%h]%#

yasu@siva[5]%
 echo foo
foo
yasu@siva[6]%
 aecho foo  (Cursor is on the 'e' character.)


But the result is

yasu@siva[4]%
 echo $PS1
%n@%m[%h]%#

yasu@siva[5]%
 echo foo
foo
yasu@siva[6]%
 aacho foo  (Cursor is on the 'c' character.)

Environment
===========

This problem happens on following environment.

SunOS 4.1.{3,3C,3U1,4} with JLE (Japanese Language Environment)

And it DOESN'T happen on following one.

Japanese Solaris 2.{3,4,5,5.1} for Sparc
FreeBSD 2.1.5-RELEASE

Output of 'reporter'
====================

As I reported before (and mabey many other people repoted prior to me
:-)), 

% source reporter

cause core dump on this environment (i.e. zsh 3.0.1 on SunOS
4.1.x). So I applied following patch to original 'reporter' script and 
created the reporter log below.

*** zsh-3.0.1/Util/reporter.dist	Mon May  6 23:09:00 1996
--- zsh-3.0.1/Util/reporter	Mon Dec  2 15:18:28 1996
***************
*** 326,340 ****
  		echo "TERM='$TERM'"
  		unset TERMCAP
  
! 		set | grep '=' | grep -v 'prompt=' |
! 			grep -v 'reporter_do' |
! 			grep -v '^[!#$*0?@_-]=' |
! 			grep -v '=(' | sed -e "s/'/\\\'/g" |
!                         sed -e 's/`/\\`/g' |
! 			sed -e 's/=/="/' -e 's/$/"/' |
! 			grep -v '^IFS=' |
! 			grep -v '^TERMCAP=' |
! 			grep -v '^TERM='
  
  		echo "prompt='test%'"
  	)
--- 326,344 ----
  		echo "TERM='$TERM'"
  		unset TERMCAP
  
! 		set |
! 		sed	-e '/^[^=]*$/d' \
! 			-e '/prompt=/d' \
! 			-e '/reporter_do/d' \
! 			-e '/^[!#$*0?@_-]=/d' \
! 			-e '/=(/d' \
! 			-e "s/'/\\\'/g" \
!                         -e 's/`/\\`/g' \
! 			-e 's/=/="/' \
! 			-e 's/$/"/' \
! 			-e '/^IFS=/d' \
! 			-e '/^TERMCAP=/d' \
! 			-e '/^TERM=/d'
  
  		echo "prompt='test%'"
  	)

----------------------------------------------------------------------
# START zsh saveset
# uname:  SunOS siva 4.1.3-JL 1 sun4m

# Aliases.

alias dir='ls -AFgl'
alias la='ls -AF'
alias lg='ls -Fgl'
alias ll='ls -Fl'
alias ls='ls -F'
alias ne='mule -nw'
alias po=popd
alias pu=pushd
alias run-help=man
alias which-command=whence

# Key bindings.

bindkey -r "^@"
bindkey -r "^A"
bindkey -r "^B"
bindkey -r "^C"
bindkey -r "^D"
bindkey -r "^E"
bindkey -r "^F"
bindkey -r "^G"
bindkey -r "^H"
bindkey -r "^I"
bindkey -r "^J"
bindkey -r "^K"
bindkey -r "^L"
bindkey -r "^M"
bindkey -r "^N"
bindkey -r "^O"
bindkey -r "^P"
bindkey -r "^Q"
bindkey -r "^R"
bindkey -r "^S"
bindkey -r "^T"
bindkey -r "^U"
bindkey -r "^V"
bindkey -r "^W"
bindkey -r "^X"
bindkey -r "^Y"
bindkey -r "^Z"
bindkey -r "\e"
bindkey -r "^_"
bindkey -r "^?"
bindkey -r "^X^B"
bindkey -r "^X^F"
bindkey -r "^X^J"
bindkey -r "^X^K"
bindkey -r "^X^N"
bindkey -r "^X^O"
bindkey -r "^X^U"
bindkey -r "^X^V"
bindkey -r "^X^X"
bindkey -r "^X*"
bindkey -r "^XG"
bindkey -r "^Xg"
bindkey -r "^Xr"
bindkey -r "^Xs"
bindkey -r "^Xu"
bindkey -r "\e^D"
bindkey -r "\e^G"
bindkey -r "\e^H"
bindkey -r "\e^I"
bindkey -r "\e^J"
bindkey -r "\e^L"
bindkey -r "\e^M"
bindkey -r "\e^_"
bindkey -r "\e "
bindkey -r "\e!"
bindkey -r "\e\\""
bindkey -r "\e$"
bindkey -r "\e'"
bindkey -r "\e-"
bindkey -r "\e."
bindkey -r "\e0"
bindkey -r "\e1"
bindkey -r "\e2"
bindkey -r "\e3"
bindkey -r "\e4"
bindkey -r "\e5"
bindkey -r "\e6"
bindkey -r "\e7"
bindkey -r "\e8"
bindkey -r "\e9"
bindkey -r "\e<"
bindkey -r "\e>"
bindkey -r "\e?"
bindkey -r "\eA"
bindkey -r "\eB"
bindkey -r "\eC"
bindkey -r "\eD"
bindkey -r "\eF"
bindkey -r "\eG"
bindkey -r "\eH"
bindkey -r "\eL"
bindkey -r "\eN"
bindkey -r "\eP"
bindkey -r "\eQ"
bindkey -r "\eS"
bindkey -r "\eT"
bindkey -r "\eU"
bindkey -r "\eW"
bindkey -r "\e[A"
bindkey -r "\e[B"
bindkey -r "\e[C"
bindkey -r "\e[D"
bindkey -r "\e_"
bindkey -r "\ea"
bindkey -r "\eb"
bindkey -r "\ec"
bindkey -r "\ed"
bindkey -r "\ef"
bindkey -r "\eg"
bindkey -r "\eh"
bindkey -r "\el"
bindkey -r "\en"
bindkey -r "\ep"
bindkey -r "\eq"
bindkey -r "\es"
bindkey -r "\et"
bindkey -r "\eu"
bindkey -r "\ew"
bindkey -r "\ex"
bindkey -r "\ey"
bindkey -r "\ez"
bindkey -r "\e|"
bindkey -r "\e^?"

bindkey "^@"	set-mark-command
bindkey "^A"	beginning-of-line
bindkey "^B"	backward-char
bindkey "^C"	undefined-key
bindkey "^D"	delete-char-or-list
bindkey "^E"	end-of-line
bindkey "^F"	forward-char
bindkey "^G"	send-break
bindkey "^H"	backward-delete-char
bindkey "^I"	expand-or-complete
bindkey "^J"	accept-line
bindkey "^K"	kill-line
bindkey "^L"	clear-screen
bindkey "^M"	accept-line
bindkey "^N"	down-line-or-history
bindkey "^O"	accept-line-and-down-history
bindkey "^P"	up-line-or-history
bindkey "^Q"	push-line
bindkey "^R"	history-incremental-search-backward
bindkey "^S"	history-incremental-search-forward
bindkey "^T"	transpose-chars
bindkey "^U"	kill-whole-line
bindkey "^V"	quoted-insert
bindkey "^W"	backward-kill-word
bindkey "^X"	prefix
bindkey "^Y"	yank
bindkey "^Z"	undefined-key
bindkey "\e"	prefix
bindkey "^_"	undo
bindkey "^?"	backward-delete-char
bindkey "^X^B"	vi-match-bracket
bindkey "^X^F"	vi-find-next-char
bindkey "^X^J"	vi-join
bindkey "^X^K"	kill-buffer
bindkey "^X^N"	infer-next-history
bindkey "^X^O"	overwrite-mode
bindkey "^X^U"	undo
bindkey "^X^V"	vi-cmd-mode
bindkey "^X^X"	exchange-point-and-mark
bindkey "^X*"	expand-word
bindkey "^XG"	list-expand
bindkey "^Xg"	list-expand
bindkey "^Xr"	history-incremental-search-backward
bindkey "^Xs"	history-incremental-search-forward
bindkey "^Xu"	undo
bindkey "\e^D"	list-choices
bindkey "\e^G"	send-break
bindkey "\e^H"	backward-kill-word
bindkey "\e^I"	self-insert-unmeta
bindkey "\e^J"	self-insert-unmeta
bindkey "\e^L"	clear-screen
bindkey "\e^M"	self-insert-unmeta
bindkey "\e^_"	copy-prev-word
bindkey "\e "	expand-history
bindkey "\e!"	expand-history
bindkey "\e\\""	quote-region
bindkey "\e$"	spell-word
bindkey "\e'"	quote-line
bindkey "\e-"	neg-argument
bindkey "\e."	insert-last-word
bindkey "\e0"	digit-argument
bindkey "\e1"	digit-argument
bindkey "\e2"	digit-argument
bindkey "\e3"	digit-argument
bindkey "\e4"	digit-argument
bindkey "\e5"	digit-argument
bindkey "\e6"	digit-argument
bindkey "\e7"	digit-argument
bindkey "\e8"	digit-argument
bindkey "\e9"	digit-argument
bindkey "\e<"	beginning-of-buffer-or-history
bindkey "\e>"	end-of-buffer-or-history
bindkey "\e?"	which-command
bindkey "\eA"	accept-and-hold
bindkey "\eB"	backward-word
bindkey "\eC"	capitalize-word
bindkey "\eD"	kill-word
bindkey "\eF"	forward-word
bindkey "\eG"	get-line
bindkey "\eH"	run-help
bindkey "\eL"	down-case-word
bindkey "\eN"	history-search-forward
bindkey "\eP"	history-search-backward
bindkey "\eQ"	push-line
bindkey "\eS"	spell-word
bindkey "\eT"	transpose-words
bindkey "\eU"	up-case-word
bindkey "\eW"	copy-region-as-kill
bindkey "\e[A"	up-line-or-history
bindkey "\e[B"	down-line-or-history
bindkey "\e[C"	forward-char
bindkey "\e[D"	backward-char
bindkey "\e_"	insert-last-word
bindkey "\ea"	accept-and-hold
bindkey "\eb"	backward-word
bindkey "\ec"	capitalize-word
bindkey "\ed"	kill-word
bindkey "\ef"	forward-word
bindkey "\eg"	get-line
bindkey "\eh"	run-help
bindkey "\el"	down-case-word
bindkey "\en"	history-search-forward
bindkey "\ep"	history-search-backward
bindkey "\eq"	push-line
bindkey "\es"	spell-word
bindkey "\et"	transpose-words
bindkey "\eu"	up-case-word
bindkey "\ew"	copy-region-as-kill
bindkey "\ex"	execute-named-cmd
bindkey "\ey"	yank-pop
bindkey "\ez"	execute-last-named-cmd
bindkey "\e|"	vi-goto-column
bindkey "\e^?"	backward-kill-word

# Completions.

compctl -b bindkey
compctl -c builtin
compctl -v export
compctl -o setopt
compctl -v typeset
compctl -v unset
compctl -o unsetopt
compctl -v vared
compctl -c which
compctl -C -c
compctl -D -f
compctl -T

# Undefined functions.


# Defined functions.


# Limits.

limit stacksize       8MB
limit descriptors     64

# Non-array variables.

TERMCAP='vk|kterm|kanji version of xterm (X window system):li#24:co#80:  :	:KJ:sc=\E7:rc=\E8:cs=\E[%i%d;%dr:TY=ascii:li#24:co#80:  :	:co#80:li#24:li#24:co#80:  :	:cr=^M:do=^J:nl=^J:bl=^G:le=^H:ho=\E[H:	:co#80:li#65:cl=\E[H\E[2J:bs:am:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:	:ce=\E[K:cd=\E[J:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:	:md=\E[1m:mr=\E[7m:me=\E[m:	:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:	:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:ta=^I:pt:sf=
:sr=\EM:	:al=\E[L:dl=\E[M:ic=\E[@:dc=\E[P:	:MT:ks=\E[?1h\E=:ke=\E[?1l\E>:	:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l:	:rs=\E[r\E<\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l:xn:	:AL=\E[%dL:DL=\E[%dM:IC=\E[%d@:DC=\E[%dP:	:ti=\E7\E[?47h:te=\E[2J\E[?47l\E8:	:hs:ts=\E[?E\E[?%i%dT:fs=\E[?F:es:ds=\E[?E:'
TERM='kterm'
\'#\'="0"
\'$\'="1970"
\'?\'="0"
ARGC="0"
AWK="awk"
BAUD="9600"
BBSEDITOR="\'mule -nw\'"
BBSPAGER="more"
BBSREADER="less"
CC_DEF_PATH="/isl/home/yasu/lib/X11/ccdef"
CDPATH="\'\'"
COLUMNS="80"
CPP="/lib/cpp"
DISPLAY="siva:0.0"
EGID="600"
ERRNO="0"
EUID="382"
FCEDIT="vi"
FIGNORE="\'\'"
FPATH="\'\'"
GID="600"
HISTCHARS="\'!^#\'"
HISTSIZE="30"
HOME="/isl/home/yasu"
HOST="siva"
HOSTDISPLAY="siva:0.0"
JTEX="ASCII"
KEYTIMEOUT="40"
LANG="japanese"
LESSCHARSET="japanese-ujis"
LINENO="329"
LINES="24"
LISTMAX="100"
LOGCHECK="60"
LOGNAME="yasu"
MACHTYPE="sparc"
MAILCHECK="60"
MAILPATH="\'\'"
MANPATH="/usr/man:/usr/X11R6/man:/usr/X11R5/man:/usr/local/man:/usr/local/gnu/man:/isl/man"
NNTPSERVER="monaco.csl.rdc.toshiba.co.jp"
NULLCMD="cat"
OLDPWD="/isl/home/yasu"
ONEW_ROMKAND="/usr/local/lib/wnn/ja_JP/rk"
OPTARG="\'\'"
OPTIND="1"
OSTYPE="sunos4"
PAGER="less"
PATH="/isl/home/yasu/bin:/isl/home/yasu/bin/sunos4:/usr/local/gnu/bin:/usr/local/bin:/usr/ucb:/usr/bin:/isl/bin:/usr/X11R6/bin:/usr/X11R5/bin:/usr/local/image/bin:/usr/bin/X11:/usr/local/TeX/bin:/usr/local/bin/mh:/usr/local/bin/rcs:/usr/local/bin/mtools:/isl/proj/k-mail/bin:/usr/local/etc:/usr/etc"
POSTEDIT="\'\'"
PPID="1965"
PRINTER="ml.aag"
PROMPT="\'%n@%m[%h]%# \'"
PROMPT2="\'%_> \'"
PROMPT3="\'?# \'"
PROMPT4="\'+ \'"
PS1="\'%n@%m[%h]%# \'"
PS2="\'%_> \'"
PS3="\'?# \'"
PS4="\'+ \'"
PSPRINTER="ml.aag"
PSVAR="\'\'"
PWD="/tmp"
RANDOM="26734"
READNULLCMD="more"
RPROMPT="\'\'"
RPS1="\'\'"
SECONDS="52"
SHELL="/bin/zsh"
SHLVL="2"
SPROMPT="\'zsh: correct \'\\'\'%R\'\\'\' to \'\\'\'%r\'\\'\' [nyae]? \'"
TIMEFMT="\'%J  %U user %S system %P cpu %*E total\'"
TMPPREFIX="/tmp/zsh"
TTY="/dev/ttyp2"
TTYIDLE="-1"
UID="382"
USER="yasu"
USERNAME="yasu"
VENDOR="sun"
WATCH="\'\'"
WATCHFMT="\'%n has %a %l from %m.\'"
WINDOWID="58720269"
WORDCHARS="\'*?_-.[]~=/&;!#$%^(){}<>\'"
XAUTHORITY="/isl/home/yasu/.Xauthority.siva"
XINITRC="/isl/home/yasu/.Xinitrc"
XRSH_AUTH_TYPE="none"
XRSH_ENVS_TO_PASS="\'XAUTHORITY XRSH_AUTH_TYPE\'"
ZSH_NAME="zsh"
ZSH_VERSION="3.0.1"
each="/usr/bin"
histchars="\'!^#\'"
reporter_OSVersion="SunOS_4.1.3-JL"
reporter_junkiequotes="no"
status="0"
str="\'SunOS siva 4.1.3-JL 1 sun4m\'"
prompt='test%'

# Array variables.

argv=()
'*'=()
cdpath=()
fignore=()
fpath=()
mailpath=()
manpath=(/usr/man /usr/X11R6/man /usr/X11R5/man /usr/local/man /usr/local/gnu/man /isl/man)
path=(/isl/home/yasu/bin /isl/home/yasu/bin/sunos4 /usr/local/gnu/bin /usr/local/bin /usr/ucb /usr/bin /isl/bin /usr/X11R6/bin /usr/X11R5/bin /usr/local/image/bin /usr/bin/X11 /usr/local/TeX/bin /usr/local/bin/mh /usr/local/bin/rcs /usr/local/bin/mtools /isl/proj/k-mail/bin /usr/local/etc /usr/etc)
psvar=()
signals=(EXIT HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH LOST USR1 USR2 ZERR DEBUG)
watch=()

# Exported variables.

export TERMCAP
export TERM
export BBSEDITOR
export BBSPAGER
export BBSREADER
export CC_DEF_PATH
export DISPLAY
export HOME
export HOSTDISPLAY
export JTEX
export LANG
export LESSCHARSET
export LOGNAME
export MANPATH
export NNTPSERVER
export ONEW_ROMKAND
export PAGER
export PATH
export PRINTER
export PSPRINTER
export PWD
export SHELL
export SHLVL
export TERM
export USER
export WINDOWID
export XAUTHORITY
export XINITRC
export XRSH_AUTH_TYPE
export XRSH_ENVS_TO_PASS

# Setopt.

setopt histignoredups
setopt ignoreeof
setopt listtypes
setopt pushdignoredups

# END zsh saveset
----------------------------------------------------------------------

---
KIMURA Yasuhiro // yasu@isl.rdc.toshiba.co.jp
Reserch Lab. III    Communication and Information System Labs.
Research and Developement Center    TOSHIBA CORPORATION


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Command line editor doesn't work well
  1996-12-02  6:58 Command line editor doesn't work well KIMURA Yasuhiro / 木村康浩 
@ 1996-12-03  4:52 ` gwing
  1996-12-03  5:49   ` KIMURA Yasuhiro / 木村康浩 
  0 siblings, 1 reply; 3+ messages in thread
From: gwing @ 1996-12-03  4:52 UTC (permalink / raw)
  To: KIMURA Yasuhiro; +Cc: zsh-workers

:Command line editor doesn't work well when PS1 variable includes
:Newline (^J) character.
:When PS1='%n@%m[%h]%# ' (Not include Newline), this produces following
:result.

This is fixed in the current zle_refresh.c (You can wait for 3.0.2 or 3.1.0
or I can send it to you).
-- 
Geoff Wing [gwing@primenet.com.au]   Technical Manager
  Phone    : +61-3-9818 2977	     PrimeNet - Internet Consultancy
  Facsimile: +61-3-9819 3788	     Web : <URL:http://www.primenet.com.au/>
  Mobile   : 0412 162 441


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Command line editor doesn't work well
  1996-12-03  4:52 ` gwing
@ 1996-12-03  5:49   ` KIMURA Yasuhiro / 木村康浩 
  0 siblings, 0 replies; 3+ messages in thread
From: KIMURA Yasuhiro / 木村康浩  @ 1996-12-03  5:49 UTC (permalink / raw)
  To: gwing; +Cc: zsh-workers

>>>>>   gwing@primenet.com.au wrote:

> This is fixed in the current zle_refresh.c (You can wait for 3.0.2 or 3.1.0
> or I can send it to you).

Thank you for your reply. The user who reported this problem says it
isn't so serious and doesn't need to be fixed immediately. So I wait
for the next release.

---
KIMURA Yasuhiro // yasu@isl.rdc.toshiba.co.jp
Reserch Lab. III    Communication and Information System Labs.
Research and Developement Center    TOSHIBA CORPORATION


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1996-12-03  6:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-12-02  6:58 Command line editor doesn't work well KIMURA Yasuhiro / 木村康浩 
1996-12-03  4:52 ` gwing
1996-12-03  5:49   ` KIMURA Yasuhiro / 木村康浩 

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).