From xemacs-m  Sun Jun 22 10:04:46 1997
Received: from steadfast.teradyne.com (steadfast.teradyne.com [131.101.1.200])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id KAA16528
	for <xemacs-beta@xemacs.org>; Sun, 22 Jun 1997 10:04:45 -0500 (CDT)
Received: from engine.ecf.teradyne.com (engine.ecf.teradyne.com [131.101.192.6]) by steadfast.teradyne.com (8.7.1/8.7.1) with ESMTP id LAA27075; Sun, 22 Jun 1997 11:08:46 -0400 (EDT)
Received: (from aichner@localhost) by engine.ecf.teradyne.com (8.7.1/8.7.1) id RAA02242; Sun, 22 Jun 1997 17:04:10 +0200 (MET DST)
To: Hrvoje Niksic <hniksic@srce.hr>
Cc: XEmacs Developers <xemacs-beta@xemacs.org>
Subject: Re: Quail overlay problem
References: <kig7mforn9y.fsf@jagor.srce.hr>
X-Face: 4[iHdXiTu\V3u[~\I)<f9HC);%~nG8`oUqv#uzvs6=\V{AjN6Sn
 c/qi;YLwRmEbt8Y*=j5n(urqY@chPh@J'D"QlqD!C8>*}#kYF[-tYl3VZga/HSOP|K,{L
 Rtu@f0y/=O&Cu}\:~d|P$JON?pn?j,&CnPb1z#/TL9bkAJwyol&a:SvYj-VYbM=Dtxhk9
 =w|R6U3_;SH&B<Mfy6Q%#
Mime-Version: 1.0 (generated by tm-edit 7.108)
Content-Type: multipart/mixed;
 boundary="Multipart_Sun_Jun_22_17:04:10_1997-1"
Content-Transfer-Encoding: 7bit
From: Adrian Aichner <aichner@ecf.teradyne.com>
Date: 22 Jun 1997 17:04:10 +0200
In-Reply-To: Hrvoje Niksic's message of "21 Jun 1997 17:25:28 +0200"
Message-ID: <rxsd8pehe6t.fsf@ecf.teradyne.com>
Lines: 100
X-Mailer: Gnus v5.4.59/XEmacs 20.3(beta8) - "Copenhagen"

--Multipart_Sun_Jun_22_17:04:10_1997-1
Content-Type: text/plain; charset=US-ASCII

>>>>> "Hrv" == Hrvoje Niksic <hniksic@srce.hr> writes:

    Hrv> I don't find my way through the Quail code, but I think I understand
    Hrv> the overlay emulation now.  The wrong-type-argument error Adrian and
    Hrv> the others experience is caused by passing nil argument to overlay-*
    Hrv> functions (specifically `overlay-move').

    Hrv> This would indicate that either the value of `quail-overlay' somehow
    Hrv> gets corrupted (reset to nil), or it doesn't get initialized at all.

Hello Hrvoje,

I was able to simplify my quail lossage test-case under emacs-version
"20.3 \"Copenhagen\" XEmacs Lucid (beta8)". It seems to point to the
initialisation.

I have investigated three cases, meaningfully named a, b, and c (;->).

To reproduce, just start xemacs with one of these command-lines:

xemacs -no-site-file -no-init-file -nw -l lossage -f a
xemacs -no-site-file -no-init-file -nw -l lossage -f b
xemacs -no-site-file -no-init-file -nw -l lossage -f c

Cases a and b will fail immediately when you type the letter l (I
believe any letter without a quail-completion will do in these case).

Here are their *Backtrace*s:


--Multipart_Sun_Jun_22_17:04:10_1997-1
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="*Backtrace*a"
Content-Transfer-Encoding: 7bit

Signaling: (wrong-type-argument overlayp nil)
  wrong-type-argument(overlayp nil)
  overlay-start(nil)
  quail-toggle-mode-temporarily()

--Multipart_Sun_Jun_22_17:04:10_1997-1
Content-Type: text/plain; charset=US-ASCII



--Multipart_Sun_Jun_22_17:04:10_1997-1
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="*Backtrace*b"
Content-Transfer-Encoding: 7bit

Signaling: (wrong-type-argument overlayp nil)
  wrong-type-argument(overlayp nil)
  overlay-start(nil)
  quail-toggle-mode-temporarily()

--Multipart_Sun_Jun_22_17:04:10_1997-1
Content-Type: text/plain; charset=US-ASCII


Case c didn't fail for me at all.  There is one obvious difference
between a and c (or b and c): quail-grmn (which is case c) does not
offer any quail-completions, since there are none.  quail-grmn uses a
German-Keyboard layout, which allows to enter `Umlaute' in one
keystroke.

When the first letter you type has a quail-completion in cases a or b
(A, O, U, a, o, s, and u; in German) you'll be `OK'.

Finally here's that test-case:


--Multipart_Sun_Jun_22_17:04:10_1997-1
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="lossage"
Content-Transfer-Encoding: 7bit

(setq debug-on-error t)
(defun a ()
  (quail-use-package "quail-latin-1" "quail/latin"))
(defun b ()
  (quail-use-package "quail-german" "quail/latin"))
(defun c ()
  (quail-use-package "quail-grmn" "quail/latin"))

Hope this helps...

Adrian

-- 
                            Adrian Aichner
                        Applications Engineer
  Teradyne GmbH
  Semiconductor Test Group    Telephone +49/89/41861(0)-208
  Dingolfinger Strae 2       Fax       +49/89/41861-217
  D-81673 MNCHEN             E-mail    aichner@ecf.teradyne.com

--Multipart_Sun_Jun_22_17:04:10_1997-1--

