[C] EFS 1.24
16 years, 12 months
Michael Sperber
I've committed the new version of EFS to the package repository. I'll
spare you the patch. ChangeLog:
2007-10-10 Michael Sperber <sperber(a)deinprogramm.de>
* EFS 1.24.
2007-08-27 Michael Sperber <sperber(a)informatik.uni-tuebingen.de>
* efs-cu.el (efs):
(efs-behavior):
(efs-auto-save):
(efs-gateways):
(efs-programs):
(efs-parameters):
(efs-hooks): Move these customization groups from efs.el.
(efs-vms-host-regexp):
(efs-cms-host-regexp):
(efs-mts-host-regexp):
(efs-ti-explorer-host-regexp):
(efs-ti-twenex-host-regexp):
(efs-sysV-unix-host-regexp):
(efs-bsd-unix-host-regexp):
(efs-next-unix-host-regexp):
(efs-unix-host-regexp):
(efs-dumb-unix-host-regexp):
(efs-super-dumb-unix-host-regexp):
(efs-dos-host-regexp):
(efs-apollo-unix-host-regexp):
(efs-mvs-host-regexp):
(efs-tops-20-host-regexp):
(efs-mpe-host-regexp):
(efs-ka9q-host-regexp):
(efs-dos-distinct-host-regexp):
(efs-os2-host-regexp):
(efs-vos-host-regexp):
(efs-hell-host-regexp):
(efs-guardian-host-regexp):
(efs-ms-unix-host-regexp):
(efs-plan9-host-regexp):
(efs-cms-knet-host-regexp):
(efs-nos-ve-host-regexp):
(efs-netware-host-regexp):
(efs-dumb-apollo-unix-regexp): Customize.
2007-08-21 Mike Sperber <sperber(a)informatik.uni-tuebingen.de>
* efs.el (efs-skip-msgs-alist): Ignore IPv6 "No route to host"
error messages from the client.
2007-05-10 Noah Friedman <friedman(a)splode.com>
* efs.el (efs-require): Handle extra arguments beyond feature and
filename portably. Emacs 22 has 'noerror' argument.
* efs-netrc.el (efs-root-file-name-completion): Handle optional
arg `predicate' for Emacs 22.
2007-02-05 Michael Sperber <sperber(a)informatik.uni-tuebingen.de>
* efs-dired.el (efs-dired-copy-file): Enable recursive copying.
2007-01-03 Mike Sperber <sperber(a)informatik.uni-tuebingen.de>
* efs.el (efs-month-and-time-regexp): Copy change for Breton month
names from Dired.
2006-04-12 Mike Sperber <sperber(a)informatik.uni-tuebingen.de>
* efs.el (efs-ftp-explicit-empty-file-name): Add, to handle
*BSD-specific kludge for ftp clients that don't accept an explicit
empty file name.
2005-04-09 Mike Sperber <sperber(a)informatik.uni-tuebingen.de>
* efs.texi (Getting help): Note new mailing list.
* efs-report.el (efs-bug-address): New mailing list.
* efs.el (efs-process-scream-and-yell)
(efs-require-scream-and-yell): New mailing list.
2005-01-14 Steve Youngs <steve(a)sxemacs.org>
* efs-fnh.el (efs-handle-emacs-version): Use `emacs-*-version'
variables for version info instead of string-matching through
`emacs-version'.
2005-01-23 Timothy OCallaghan <T.OCallaghan(a)elsevier.com>.
* efs-vms.el (efs-fix-path):
(efs-fix-dir-path): Make EFS work better for VMS hosts.
2005-01-23 Michael Sperber <sperber(a)informatik.uni-tuebingen.de>
* efs.el (efs-send-cmd): Kludge addition for VMS, based on a patch
by Timothy OCallaghan <T.OCallaghan(a)elsevier.com>.
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[AC web] Update issue 34, we're down again.
16 years, 12 months
Stephen J. Turnbull
APPROVE COMMIT web
Index: About/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacsweb/About/ChangeLog,v
retrieving revision 1.213
diff -u -U0 -r1.213 ChangeLog
--- About/ChangeLog 11 Oct 2007 00:20:11 -0000 1.213
+++ About/ChangeLog 11 Oct 2007 03:24:54 -0000
@@ -0,0 +1,5 @@
+2007-10-10 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * XEmacsServices.content: Record apparent reoccurrance of
+ issue 34.
+
Index: About/XEmacsServices.content
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacsweb/About/XEmacsServices.content,v
retrieving revision 1.66
diff -u -r1.66 XEmacsServices.content
--- About/XEmacsServices.content 11 Oct 2007 00:20:12 -0000 1.66
+++ About/XEmacsServices.content 11 Oct 2007 03:24:58 -0000
@@ -66,7 +66,7 @@
<td rowspan="4" valign="top"><a id="issue34" name="issue34">34</a></td>
<td>All xemacs.org services unavailable.</td>
<td nowrap="nowrap">2007-10-09 22:17:00 UTC</td>
- <td nowrap="nowrap">2007-10-10 18:21:00 UTC</td>
+ <td nowrap="nowrap"> </td>
</tr>
<tr>
<!-- one of (td th) -->
@@ -78,7 +78,10 @@
<tr>
<!-- one of (td th) -->
<td colspan="3">
- <p>System reboot after power restored.</p>
+ <p>System reboot at 2007-10-10 18:21:00 UTC after power
+ restored.</p>
+ <p>But at 2007-10-10 23:00 UTC or so lost contact again.
+ I'm assuming it's more of the same.</p>
</td>
</tr>
<tr>
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[AC web] Record occurrance and resolution of service outage
16 years, 12 months
Stephen J. Turnbull
APPROVE COMMIT web
Index: About/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacsweb/About/ChangeLog,v
retrieving revision 1.212
diff -u -U0 -r1.212 ChangeLog
--- About/ChangeLog 15 Sep 2007 19:31:58 -0000 1.212
+++ About/ChangeLog 11 Oct 2007 00:13:09 -0000
@@ -0,0 +1,5 @@
+2007-10-10 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * XEmacsServices.content: Record occurrance and resolution of
+ issue 34.
+
Index: About/XEmacsServices.content
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacsweb/About/XEmacsServices.content,v
retrieving revision 1.65
diff -u -r1.65 XEmacsServices.content
--- About/XEmacsServices.content 15 Sep 2007 19:31:59 -0000 1.65
+++ About/XEmacsServices.content 11 Oct 2007 00:13:12 -0000
@@ -63,6 +63,36 @@
-- in the name and id attributes of the anchor -->
<tr>
<!-- one of (td th) -->
+ <td rowspan="4" valign="top"><a id="issue34" name="issue34">34</a></td>
+ <td>All xemacs.org services unavailable.</td>
+ <td nowrap="nowrap">2007-10-09 22:17:00 UTC</td>
+ <td nowrap="nowrap">2007-10-10 18:21:00 UTC</td>
+ </tr>
+ <tr>
+ <!-- one of (td th) -->
+ <td colspan="3">
+ All services requiring connection to an xemacs.org address fail,
+ either due to failure of name service or connection time out.
+ </td>
+ </tr>
+ <tr>
+ <!-- one of (td th) -->
+ <td colspan="3">
+ <p>System reboot after power restored.</p>
+ </td>
+ </tr>
+ <tr>
+ <!-- one of (td th) -->
+ <td colspan="3">
+ <p>The main XEmacs services hosted at gwyn.tux.org were
+ unavailable due to loss of power to the host. Since this
+ host provides name service, other hosts became unavailable
+ by their xemacs.org aliases.</p>
+ </td>
+ </tr>
+ <!-- End of section to copy. -->
+ <tr>
+ <!-- one of (td th) -->
<td rowspan="4" valign="top"><a id="issue33" name="issue33">33</a></td>
<td>CVS down for cvs.xemacs.org, HTTP unavailable for http://www.dk.xemacs.org/</td>
<td nowrap="nowrap">2007-09-08</td>
@@ -97,7 +127,6 @@
href="http://dotsrc.org/">dotsrc.org</a> broke down.</p>
</td>
</tr>
- <!-- End of section to copy. -->
<tr>
<!-- one of (td th) -->
<td rowspan="4" valign="top"><a id="issue32" name="issue32">32</a></td>
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[C] xemacs-builds: Remove InstallShield and Netinstall information from package-get-2-download-sites.el, add Beta XEmacs and Gnuclient InnoSetup kits
17 years
Adrian Aichner
COMMIT
xemacs-builds ChangeLog patch:
Diff command: cvs -q diff -U 0
Files affected: ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs-builds/ChangeLog,v
retrieving revision 1.82
diff -u -U0 -r1.82 ChangeLog
--- ChangeLog 26 Sep 2007 20:53:16 -0000 1.82
+++ ChangeLog 7 Oct 2007 18:56:32 -0000
@@ -0,0 +1,13 @@
+2007-10-07 Adrian Aichner <adrian(a)xemacs.org>
+
+ * adrian/website/package-get-2-download-sites.el: Remove
+ InstallShield and Netinstall information, add Beta XEmacs and
+ Gnuclient InnoSetup kits.
+ * adrian/website/package-get-2-download-sites.el (package-get-2-download-sites-netinstall): Removed.
+ * adrian/website/package-get-2-download-sites.el (package-get-2-download-sites-installshield): Removed.
+ * adrian/website/package-get-2-download-sites.el (package-get-2-download-sites-innosetup): Refactor to handle Stable, Beta, and Gnuclient kits.
+ * adrian/website/package-get-2-download-sites.el
+ (package-get-2-download-sites): Generate download site files for
+ InnoSetup Beta and Gnuclient kits. No longer generate Netinstall
+ and InstallShield files.
+
xemacs-builds source patch:
Diff command: cvs -f -z3 -q diff -u -w -N
Files affected: adrian/website/package-get-2-download-sites.el
===================================================================
RCS
Index: adrian/website/package-get-2-download-sites.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs-builds/adrian/website/package-get-2-download-sites.el,v
retrieving revision 1.15
diff -u -w -r1.15 package-get-2-download-sites.el
--- adrian/website/package-get-2-download-sites.el 26 Sep 2007 20:53:19 -0000 1.15
+++ adrian/website/package-get-2-download-sites.el 7 Oct 2007 18:53:19 -0000
@@ -138,29 +138,29 @@
(replace-in-string (third e) "/packages$" "/stable")))
package-get-download-sites))
-(defun package-get-2-download-sites-netinstall ()
- (mapcar
- (lambda (e)
- (list (replace-in-string (first e) " Pre-Releases" "")
- (second e)
- (replace-in-string
- (third e)
- package-get-2-download-sites-experimental-packages-regex
- "binaries/win32/netinstall/xemacs-i586-pc-win32-21.4.13.tar.gz")))
- package-get-pre-release-download-sites))
-
-(defun package-get-2-download-sites-installshield ()
- (mapcar
- (lambda (e)
- (list (replace-in-string (first e) " Pre-Releases" "")
- (second e)
- (replace-in-string
- (third e)
- package-get-2-download-sites-experimental-packages-regex
- "binaries/win32/installshield/xemacs-21.5.17.exe")))
- package-get-pre-release-download-sites))
+; (defun package-get-2-download-sites-netinstall ()
+; (mapcar
+; (lambda (e)
+; (list (replace-in-string (first e) " Pre-Releases" "")
+; (second e)
+; (replace-in-string
+; (third e)
+; package-get-2-download-sites-experimental-packages-regex
+; "binaries/win32/netinstall/xemacs-i586-pc-win32-21.4.13.tar.gz")))
+; package-get-pre-release-download-sites))
+
+; (defun package-get-2-download-sites-installshield ()
+; (mapcar
+; (lambda (e)
+; (list (replace-in-string (first e) " Pre-Releases" "")
+; (second e)
+; (replace-in-string
+; (third e)
+; package-get-2-download-sites-experimental-packages-regex
+; "binaries/win32/installshield/xemacs-21.5.17.exe")))
+; package-get-pre-release-download-sites))
-(defun package-get-2-download-sites-innosetup ()
+(defun package-get-2-download-sites-innosetup (kit)
(mapcar
(lambda (e)
(list (replace-in-string (first e) " Pre-Releases" "")
@@ -168,7 +168,7 @@
(replace-in-string
(third e)
package-get-2-download-sites-experimental-packages-regex
- "binaries/win32/InnoSetup/XEmacs_Setup_21.4.20.exe")))
+ (concat "binaries/win32/InnoSetup/" kit))))
package-get-pre-release-download-sites))
; package-get-2-download-sites-gamma
@@ -229,45 +229,70 @@
<p><a href=\"#index\">Goto</a> Index</p>
")
+; (package-get-2-download-sites-file
+; "Download/win32/netinstall-win32.txt"
+; (package-get-2-download-sites-netinstall)
+; "
+; <a id=\"Netinstall-Download\" name=\"Netinstall-Download\">Download</a>
+; an outdated Windows installkit from <a
+; href=\"http://ftp.xemacs.org/xemacs/binaries/win32/netinstall/\">ftp.xema...>
+; or a mirror in your country, if you need to use a release not
+; available in form of the recommended <a
+; href=\"#InnoSetup-Download\">InnoSetup</a> install kit for some
+; reason:
+
+; <p><a href=\"#index\">Goto</a> Index</p>
+; ")
+; (package-get-2-download-sites-file
+; "Download/win32/installshield-win32.txt"
+; (package-get-2-download-sites-installshield)
+; " <a id=\"InstallShield-Download\"
+; name=\"InstallShield-Download\">Download</a> an outdated Windows
+; installkit from <a
+; href=\"http://ftp.xemacs.org/xemacs/binaries/win32/installshield/\">ftp.x...>
+; or a mirror in your country, if you don't want to use the if you
+; need to use a release not available in form of the recommended <a
+; href=\"#InnoSetup-Download\">InnoSetup</a> install kit for some
+; reason:
+
+; <p><a href=\"#index\">Goto</a> Index</p>
+
+; ")
(package-get-2-download-sites-file
- "Download/win32/netinstall-win32.txt"
- (package-get-2-download-sites-netinstall)
+ "Download/win32/innosetup-stable-win32.txt"
+ (package-get-2-download-sites-innosetup "XEmacs_Setup_21.4.20.exe")
"
- <a id=\"Netinstall-Download\" name=\"Netinstall-Download\">Download</a>
- an outdated Windows installkit from <a
- href=\"http://ftp.xemacs.org/xemacs/binaries/win32/netinstall/\">ftp.xema...>
- or a mirror in your country, if you need to use a release not
- available in form of the recommended <a
- href=\"#InnoSetup-Download\">InnoSetup</a> install kit for some
- reason:
+ <a id=\"InnoSetup-Stable-Download\" name=\"InnoSetup-Stable-Download\">Download</a>
+ the recommended stable native Windows installkit from <a
+ href=\"http://ftp.xemacs.org/xemacs/binaries/win32/InnoSetup/\">ftp.xemac...>
+ or a mirror in your country:
<p><a href=\"#index\">Goto</a> Index</p>
+
")
(package-get-2-download-sites-file
- "Download/win32/installshield-win32.txt"
- (package-get-2-download-sites-installshield)
- " <a id=\"InstallShield-Download\"
- name=\"InstallShield-Download\">Download</a> an outdated Windows
- installkit from <a
- href=\"http://ftp.xemacs.org/xemacs/binaries/win32/installshield/\">ftp.x...>
- or a mirror in your country, if you don't want to use the if you
- need to use a release not available in form of the recommended <a
- href=\"#InnoSetup-Download\">InnoSetup</a> install kit for some
- reason:
+ "Download/win32/innosetup-beta-win32.txt"
+ (package-get-2-download-sites-innosetup "XEmacs_Setup_21.5-b28.exe")
+ "
+ <a id=\"InnoSetup-Beta-Download\" name=\"InnoSetup-Beta-Download\">Download</a>
+ the recommended beta native Windows installkit from <a
+ href=\"http://ftp.xemacs.org/xemacs/binaries/win32/InnoSetup/\">ftp.xemac...>
+ or a mirror in your country:
<p><a href=\"#index\">Goto</a> Index</p>
")
(package-get-2-download-sites-file
- "Download/win32/innosetup-win32.txt"
- (package-get-2-download-sites-innosetup)
+ "Download/win32/innosetup-gnuclient-win32.txt"
+ (package-get-2-download-sites-innosetup "gnuclient_setup.exe")
"
- <a id=\"InnoSetup-Download\" name=\"InnoSetup-Download\">Download</a>
- the recommended stable native Windows installkit from <a
+ <a id=\"InnoSetup-Gnuclient-Download\" name=\"InnoSetup-Gnuclient-Download\">Download</a>
+ the recommended gnuclient Windows installkit from <a
href=\"http://ftp.xemacs.org/xemacs/binaries/win32/InnoSetup/\">ftp.xemac...>
or a mirror in your country:
<p><a href=\"#index\">Goto</a> Index</p>
+
"))
(defun package-get-2-download-sites-generated-by-string ()
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[COMMIT] Actually install recently added Quail IMs from GNU; add rot13, cyrillic-tajik
17 years
Aidan Kehoe
APPROVE COMMIT
NOTE: This patch has been committed.
mule-packages/leim/ChangeLog addition:
2007-10-07 Aidan Kehoe <kehoea(a)parhasard.net>
* quail/latin-alt.el:
Add rot13, a new input method.
* quail/cyrillic-tajik.el:
Add cyrillic-tajik, a new input method.
* quail/CTLauB.el:
Remove CTLauB.el; use the more recent CTLau-b5.el from GNU
instead.
2007-10-07 Aidan Kehoe <kehoea(a)parhasard.net>
* Makefile:
Add the input method files that are not to be compiled to
EXTRA_SOURCES, to have them actually installed with the package.
* leim-list.el:
Provide several input methods that were previously ignored in
leim-list.el; especially those that only work on 21.5. Document
things a little more.
XEmacs Packages source patch:
Diff command: cvs -q diff -Nu
Files affected: mule-packages/leim/quail/cyrillic-tajik.el
===================================================================
RCS mule-packages/leim/quail/CTLauB.el
===================================================================
RCS mule-packages/leim/quail/latin-alt.el
===================================================================
RCS mule-packages/leim/leim-list.el
===================================================================
RCS mule-packages/leim/Makefile
===================================================================
RCS
Index: mule-packages/leim/Makefile
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/mule-packages/leim/Makefile,v
retrieving revision 1.36
diff -u -u -r1.36 Makefile
--- mule-packages/leim/Makefile 2007/05/20 19:44:54 1.36
+++ mule-packages/leim/Makefile 2007/10/07 15:13:49
@@ -26,17 +26,34 @@
CATEGORY = mule
ELCS = quail.elc leim-list.elc
-ELCS_1 = quail/4Corner.elc quail/ARRAY30.elc quail/CCDOSPY.elc \
- quail/CTLau.elc quail/CTLauB.elc quail/ECDICT.elc quail/ETZY.elc \
- quail/PY-b5.elc quail/PY.elc quail/Punct-b5.elc quail/Punct.elc \
- quail/QJ-b5.elc quail/QJ.elc quail/SW.elc quail/TONEPY.elc \
- quail/ZIRANMA.elc quail/ZOZY.elc quail/czech.elc quail/cyril-jis.elc \
- quail/cyrillic.elc quail/greek.elc quail/hangul.elc \
+
+ELCS_1 = quail/4Corner.elc quail/ARRAY30.elc quail/CCDOSPY.elc \
+ quail/CTLau-b5.elc quail/CTLau.elc quail/ECDICT.elc quail/ETZY.elc \
+ quail/PY-b5.elc quail/PY.elc quail/Punct-b5.elc quail/Punct.elc \
+ quail/QJ-b5.elc quail/QJ.elc quail/SW.elc quail/TONEPY.elc \
+ quail/ZIRANMA.elc quail/ZOZY.elc quail/croatian.elc \
+ quail/cyril-jis.elc quail/cyrillic.elc quail/czech.elc \
+ quail/ethiopic.elc quail/greek.elc quail/hangul.elc \
quail/hangul3.elc quail/hanja-jis.elc quail/hanja.elc quail/ipa.elc \
- quail/latin-alt.elc quail/latin-post.elc quail/latin-pre.elc \
- quail/py-punct.elc quail/pypunct-b5.elc quail/quick-b5.elc \
- quail/quick-cns.elc quail/symbol-ksc.elc quail/thai-xtis.elc \
- quail/tsang-b5.elc quail/tsang-cns.elc quail/croatian.elc
+ quail/latin-alt.elc quail/latin-post.elc quail/latin-pre.elc \
+ quail/py-punct.elc quail/pypunct-b5.elc quail/quick-b5.elc \
+ quail/quick-cns.elc quail/sisheng.elc quail/slovak.elc \
+ quail/symbol-ksc.elc quail/thai-xtis.elc quail/tsang-b5.elc \
+ quail/tsang-cns.elc quail/viqr.elc quail/vntelex.elc
+
+# #### quail/thai.elc not included because it uses category infrastructure
+# that we haven't yet decided how to handle in XEmacs.
+
+# Compiling the following files fails with silent data corruption on 21.4,
+# and they are not computationally intensive, so we install them as Lisp
+# source, to be included in leim-list.el and loaded under 21.5 and ignored
+# under 21.4. They error when loaded in an XEmacs that doesn't support the
+# characters needed.
+
+# #### Move these to ELCS_1 once 21.4 is deprecated.
+
+EXTRA_SOURCES= quail/cyrillic-tajik.el quail/georgian.el quail/ipa-21.5.el \
+ quail/latin-ltx.el quail/rfc1345.el quail/sgml-input.el quail/welsh.el
ELCS_1_FILES = $(ELCS_1) $(ELCS_1:.elc=.el)
ELCS_1_DEST = $(PACKAGE)/quail
Index: mule-packages/leim/leim-list.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/mule-packages/leim/leim-list.el,v
retrieving revision 1.6
diff -u -u -r1.6 leim-list.el
--- mule-packages/leim/leim-list.el 2007/05/20 19:32:43 1.6
+++ mule-packages/leim/leim-list.el 2007/10/07 15:13:49
@@ -19,6 +19,10 @@
"VQ" "Vietnamese input method with VIQR mnemonic system"
"quail/viqr")
(register-input-method
+ "vietnamese-telex" "Vietnamese" 'quail-use-package
+ "VT" "Vietnamese telex input method"
+ "quail/vntelex")
+(register-input-method
"chinese-cns-tsangchi" "Chinese-CNS" 'quail-use-package
"$(GT?(BC" "$(GDcEFrSD+!JT?on!K(BCNS"
"quail/tsang-cns")
@@ -236,6 +240,22 @@
All other keys are the same as on standard US keyboard."
"quail/czech")
(register-input-method
+ "slovak" "Slovak" #'quail-use-package
+ "SK" "Standard Slovak keyboard."
+ "quail/slovak")
+(register-input-method
+ "slovak-prog-1" "Slovak" #'quail-use-package
+ "SK" "Slovak (non-standard) keyboard for programmers #1."
+ "quail/slovak")
+(register-input-method
+ "slovak-prog-2" "Slovak" #'quail-use-package
+ "SK" "Slovak (non-standard) keyboard for programmers #2."
+ "quail/slovak")
+(register-input-method
+ "slovak-prog-3" "Slovak" #'quail-use-package
+ "SK" "Slovak (non-standard) keyboard for programmers #3."
+ "quail/slovak")
+(register-input-method
"turkish-postfix" "Latin-3" 'quail-use-package
"TR<" "Turkish (T,C|(Brk,Cg(Be) input method with postfix modifiers"
"quail/latin-post")
@@ -288,6 +308,10 @@
"DV@" "English (ASCII) input method simulating Dvorak keyboard"
"quail/latin-post")
(register-input-method
+ "rot13" "English" #'quail-use-package
+ "r13" "ROT-13 input method for English. "
+ "quail/latin-alt")
+(register-input-method
"latin-1-alt-postfix" "Latin-1" 'quail-use-package
"1<" "Latin-1 character input method with postfix modifiers"
"quail/latin-alt")
@@ -362,28 +386,55 @@
(if (not (and (fboundp 'decode-char) (decode-char 'ucs #x31C)
(eq #x31C (encode-char (decode-char 'ucs #x31C) 'ucs))))
+ ;; We're on 21.4; use the non-UTF-8 IPA input method.
(register-input-method
"ipa" "IPA" 'quail-use-package
"IPA"
"International Phonetic Alphabet for English, French, German and Italian"
"quail/ipa")
-
+ ;; We're in 21.5; make those input methods available that require UTF-8
+ ;; support.
(register-input-method
"kirshenbaum-ipa" "IPA" 'quail-use-package
"IPA-K"
"International Phonetic Alphabet, Kirshenbaum ASCII transliteration."
- "quail/ipa-21.5")
+ "ipa-21.5")
(register-input-method
"x-sampa-ipa" "IPA" 'quail-use-package
"IPA-S"
"International Phonetic Alphabet, X-SAMPA ASCII transliteration."
- "quail/ipa-21.5")
+ "ipa-21.5")
(register-input-method
"ipa" "IPA" 'quail-use-package
"IPA"
"International Phonetic Alphabet for English, French, German and Italian"
- "quail/ipa-21.5"))
-
+ "ipa-21.5")
+ (register-input-method
+ "georgian" "Georgian" #'quail-use-package
+ (string (decode-char 'ucs #x10D2))
+ "A common Georgian transliteration (using Unicode)"
+ "georgian")
+ (register-input-method
+ "TeX" "UTF-8" 'quail-use-package
+ "\\" "LaTeX-like input method for many characters."
+ "latin-ltx")
+ (register-input-method
+ "rfc1345" "UTF-8" 'quail-use-package
+ "m"
+ "Unicode characters input method using RFC1345 mnemonics (non-ASCII only)."
+ "rfc1345")
+ (register-input-method
+ "sgml" "UTF-8" 'quail-use-package
+ "&" "Unicode characters input method using SGML entities."
+ "sgml-input")
+ (register-input-method
+ "welsh" "Welsh" 'quail-use-package
+ "$(D*q(B" "Welsh postfix input method, using Unicode"
+ "welsh")
+ (register-input-method
+ "cyrillic-tajik" "Cyrillic" 'quail-use-package
+ ",L6(Bt" "Transliterated keyboard layout optimized for Tajik."
+ "cyrillic-tajik"))
(register-input-method
"korean-hanja" "Korean" 'quail-use-package
"$(C9zyS(B" "2$(C9z=D(BKSC$(CySm.(B: $(Cz1SWGO4B(B $(CySm.@G(B $(Cj$@;(B $(CGQ1[(B2$(C9zcR@87N(B $(C{<usGO?)(B $(C`TwI(B"
@@ -497,13 +548,17 @@
"$(06/0D(B" "$(0&d'GTT&,!J6/'30D5x!K(B"
"quail/ETZY")
(register-input-method
+ "ethiopic" "Ethiopic" 'quail-use-package
+ (quote ("$(3$Q#U!.(B " (ethio-prefer-ascii-space "_" "$(3$h(B") (ethio-prefer-ascii-punctuation "." "$(3$i(B"))) " Quail package for Ethiopic (Tigrigna and Amharic)"
+ "quail/ethiopic")
+(register-input-method
"chinese-ecdict" "Chinese-BIG5" 'quail-use-package
"$(05CKH(B" "$(0&d'GTT&,!J5CKH[0.)!K(B"
"quail/ECDICT")
(register-input-method
"chinese-ctlaub" "Chinese-BIG5" 'quail-use-package
"$(0N,Gn(B" "$(0KH)tTT&,!(N,Tg>A*#Gn5x!((B"
- "quail/CTLauB")
+ "quail/CTLau-b5")
(register-input-method
"chinese-ctlau" "Chinese-GB" 'quail-use-package
"$AAuTA(B" "$A::WVJdHk!KAuN}OiJ=TARt!K(B"
@@ -520,6 +575,10 @@
"chinese-4corner" "Chinese-BIG5" 'quail-use-package
"$(0(?-F(B" "$(0(?-FHAP#(B:: "
"quail/4Corner")
+(register-input-method
+ "chinese-sisheng" "Chinese" 'quail-use-package
+ "$(D+o(B" "S,Al(Bsh,D:(Bng input method for p,Do(Bny,Do(Bn transliteration of Chinese."
+ "quail/sisheng")
(register-input-method
"croatian" "Croatian" 'quail-use-package
"HR" "\"Standard\" Croatian keyboard."
Index: mule-packages/leim/quail/latin-alt.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/mule-packages/leim/quail/latin-alt.el,v
retrieving revision 1.2
diff -u -u -r1.2 latin-alt.el
--- mule-packages/leim/quail/latin-alt.el 2006/08/04 19:46:22 1.2
+++ mule-packages/leim/quail/latin-alt.el 2007/10/07 15:13:49
@@ -40,6 +40,20 @@
(eq #x31C (encode-char (decode-char 'ucs #x31C) 'ucs)))
"Whether Unicode support in XEmacs is good enough for us.")
+;; XEmacs change; added.
+(quail-define-package
+ "rot13" "English" "r13" nil
+ "ROT-13 input method for English.
+Alphabetic characters are moved 13 places in the alphabet on input.
+See also `rot13-other-window'. ")
+
+(let ((i -1) (a (char-to-int ?a)) (A (char-to-int ?A)))
+ (while (< (incf i) 26)
+ (quail-defrule (string (+ i a))
+ (char-to-string (int-to-char (+ (% (+ i 13) 26) a))))
+ (quail-defrule (string (+ i A))
+ (char-to-string (int-to-char (+ (% (+ i 13) 26) A))))))
+
(quail-define-package
"latin-1-alt-postfix" "Latin-1" "1<" t
"Latin-1 character input method with postfix modifiers
Index: mule-packages/leim/quail/CTLauB.el
===================================================================
RCS file: CTLauB.el
diff -N CTLauB.el
--- /tmp/cvsDAAi4a4OU Sun Oct 7 17:13:49 2007
+++ /dev/null Sun Oct 7 17:13:47 2007
@@ -1,701 +0,0 @@
-;; Quail package `chinese-ctlaub' generated by the command `titdic-convert'
-;; Date: Tue Sep 23 14:58:50 1997
-;; Original TIT dictionary file: CTLauB.tit
-
-;;; Comment:
-
-;; Do byte-compile this file again after any modification.
-
-;;; Start of the header of original TIT dictionary.
-
-;; # HANZI input table for cxterm
-;; # To be used by cxterm, convert me to .cit format first
-;; # .cit version 1
-;; ENCODE: BIG5
-;; MULTICHOICE: YES
-;; PROMPT: $(0KH)tTT&,!(N,Tg>A*#Gn5x!((B
-;; #
-;; COMMENT $(0N,Tg>A*#GnM$0D5x'J7{(B
-;; COMMENT Sidney Lau's Cantonese transcription scheme as described in his book
-;; COMMENT \"Elementary Cantonese\", The Government Printer, Hong Kong, 1972.
-;; COMMENT This file was prepared by Fung Fung Lee ($(0,XFS76(B).
-;; COMMENT Originally converted from CTCPS3.tit
-;; COMMENT Last modified: June 2, 1993.
-;; COMMENT
-;; COMMENT Some infrequent GB characters are accessed by typing \\, followed by
-;; COMMENT the Cantonese romanization of the respective radical ($(0?f5}(B).
-;; #
-;; # define keys
-;; VALIDINPUTKEY: abcdefghijklmnopstuwy\\
-;; SELECTKEY: 1\040
-;; SELECTKEY: 2
-;; SELECTKEY: 3
-;; SELECTKEY: 4
-;; SELECTKEY: 5
-;; SELECTKEY: 6
-;; SELECTKEY: 7
-;; SELECTKEY: 8
-;; SELECTKEY: 9
-;; SELECTKEY: 0
-;; BACKSPACE: \010\177
-;; DELETEALL: \015\025
-;; MOVERIGHT: .>
-;; MOVELEFT: ,<
-;; # the following line must not be removed
-;; BEGINDICTIONARY
-
-;;; End of the header of original TIT dictionary.
-
-;;; Code:
-
-(require 'quail)
-
-(quail-define-package "chinese-ctlaub" "Chinese-BIG5" "$(0N,Gn(B"
- t
-"$(0KH)tTT&,!(N,Tg>A*#Gn5x!((B
- $(0N,Tg>A*#GnM$0D5x'J7{(B
- Sidney Lau's Cantonese transcription scheme as described in his book
- \"Elementary Cantonese\", The Government Printer, Hong Kong, 1972.
- This file was prepared by Fung Fung Lee ($(0,XFS76(B).
- Originally converted from CTCPS3.tit
- Last modified: June 2, 1993.
-
- Some infrequent GB characters are accessed by typing \\, followed by
- the Cantonese romanization of the respective radical ($(0?f5}(B).
-"
- '(("\C-?" . quail-delete-last-char)
- ("\C-M" . quail-abort-translation)
- ("\C-U" . quail-abort-translation)
- ("." . quail-next-translation)
- (">" . quail-next-translation)
- ("," . quail-prev-translation)
- ("<" . quail-prev-translation))
- nil nil nil nil)
-
-(quail-define-rules
-;; #
-("a" "$(01`;@R*+U&:;=-j!{B+$(1[5(B")
-("aai" "$(06n7e$(1Ar$(02:6aIRRF(B")
-("aan" "$(07o62(B")
-("aang" "$(0\.(B")
-("aap" "$(0U:(B")
-("aat" "$(0UM/f(B")
-("aau" "$(0/p(B")
-("ak" "$(0AJ,F'._!(B")
-("am" "$(0F=TE]S(B")
-("ang" "$(0]N(B")
-("au" "$(0OD^0OHJ,$(1KB(B")
-("ba" "$(0,E'<1A(=+D9>4QI_^_]>PH0jH<$(1A21m(B")
-("baai" "$(0BCXH<v39$(1Ec.=(B")
-("baak" "$(0(v*L+%-w/05e&4P\(B")
-("baan" "$(0TW8_AYId03W~0k,M-c!{$(1!C$(09o(B")
-("baang" "$(0ViYG(B")
-("baat" "$(0&-7g(B")
-("baau" "$(0'~5H52IhU6ZG$(1kM(B")
-("bai" "$(0J]?q$(1MR$(0PSUo<rJc:e(B")
-("bak" "$(0("(B")
-("bam" "$(04*)&(B")
-("ban" "$(0M4>H<3$(1<(a)$(0V$$(1\t$(0.e2CGcR4UQXXY-$(1[3n8(B")
-("bang" "$(0;~!{(B")
-("bat" "$(0&c>,C./aDCJ6A%!{(B")
-("be" "$(0;F(B")
-("bei" "$(0?8A,@-'SM|$(1(4$(0CQGW.9RX/?$(1+K$(0,+G=$(1E5$(0W"Wb9:9+0G3w&26?]z!{+n$(1fJ(B")
-("beng" "$(03dMo8k(B")
-("bik" "$(0I0$(13Q$(0KyRJZyXf(B")
-("bin" "$(0;6$(1Ck$(038$(1FvLQ$(01n^I[1D;'-TV]4\*Yk,z$(11Z(B")
-("bing" "$(0*!-e-x+/)D'`1'45:T(B")
-("bit" "$(0+2^+$(1PC$(0ZR(SIL(B")
-("biu" "$(01QTa$(1-q$(0O:?*;i^L[=(B")
-("bo" "$(06\$(1Ul$(01r?f(M+*@_HQ,dO3Pp7[ZZ/I@`[k6lZ;$(1D[V5(B")
-("boh" "$(04EC[O'0M.\QS$(13u(B")
-("bok" "$(0Mr$(1[m$(0F2@<IIL.>sLT0]:eI[Sl(B")
-("bong" "$(0-[UZ=<K'GrO|YU(B")
-("booi" "$(05.AT01$(12r$(04[QE-KQb8[BO(B")
-("boon" "$(0(%(\9p8eF1*s>R5K265)(B")
-("boot" "$(0>`7S>jO!20B9+y(B")
-("buk" "$(0&4P\X^!{:`&rIy(B")
-("bung" "$(04K(B")
-("cha" "$(0!{3h7:&G$(12V$(09~F0,&HZRl@L!{(B")
-("chaai" "$(0=wQ=8):AR5?k(B")
-("chaak" "$(0BBC-'v/qHqA4(B")
-("chaam" "$(0;7^g$(12l$(0JnJo[qJ}_/^k,_$(1p((B")
-("chaan" "$(0[7E8>)U(B%V5$(1E{(B")
-("chaang" "$(0N}Rw(B")
-("chaap" "$(0AG(B")
-("chaat" "$(0JWUiZL..$(14"\L(B")
-("chaau" "$(0,>DZ<&+Q0e$(12+(B")
-("chai" "$(0=_<E$(1.&$(0M}Au$(1/d$(0.g4h$(1Ae$(0C]$(1\M(B")
-("cham" "$(0@s,k1lJU,i^l!{O[$(1oh(B")
-("chan" "$(0?tJ9D@]sT68qD-2@$(1aB1%,K(B")
-("chang" "$(0NRAe(B")
-("chap" "$(0P=TS(B")
-("chat" "$(0&%KK3q(B")
-("chau" "$(04rYj/eI<ZP]0Ga\%LA$(1L.$(0&aWk9iB2(@0WWuEMR3$(1Y5(B")
-("che" "$(0-P'c,K$(1)I$(0;^-Z<|(B")
-("chek" "$(0':(B")
-("cheng" "$(0Py(B")
-("cheuk" "$(0XCL9-D&E.88&-$$(1-u$(0)s(B")
-("cheung" "$(0V<H\C(1\@\>A/z=yH$K$;A67K4ENW0F6CE/R;e(B")
-("chi" "$(0G?ZS*BD%./*:*~.oA"*;T[3Y9RR0S6>1:$KwMd[0Ev>'Q23>;3*$Ij7F-yY,({33NW$(1.8$(0@>EI$(1)O$(02G.t9-:+!{Q>IW(B")
-("chik" "$(0<RNi-L(Y$(1I7$(0(:<z(B")
-("chim" "$(0Z\^?OQJ>IwRp$(1U6Ah(B")
-("chin" "$(0&F^tTe^CVoX]2*=R\}\P^%\t$(1"H$(0!{QO($*k(B")
-("ching" "$(0OK$(1QT$(0L#<FC$Py+HZ4?_94VH1f=SA^$(1=-$(03DLo(B")
-("chip" "$(0.f(B")
-("chit" "$(0'#JuJfKS$(1$Q$(0?DYM(B")
-("chiu" "$(0AhD?OSVR7LVK711q5a-:3P:^(B")
-("cho" "$(09xRhVbO;=+>PQV<^S*\HRB\CV6J4$(1&W+H^X^^(B")
-("choh" "$(0Q`$(1)4$(07d1PQ]YfFHXpO{F+Td9q$(1>J(B")
-("choi" "$(0GJ<4LC&`:CC{,Z1Z<iCmP[WT8(ES(B")
-("chong" "$(0,,@7Y/6ALjS~FpOqY`N^$(1!%$(0AU@0(B")
-("chue" "$(0?)Z<NZ[)UDUpGx3[D2*p$(1n.(B")
-("chuen" "$(0,[)uE/)AAH&V4s@D*l$(1q@$(0Xu&Q$(1_s$(03y>2803GB@:%$(1$K$(0?nMV!{!{(B")
-("chuet" "$(0O&/h$(15X$(0L=5D;I$(1Om$(0.I(B")
-("chui" "$(0.>+MDlTr:g$(1D9$(00fANWsJz<!E29aLJWX;_Q77C$(13y(B")
-("chuk" "$(01s^d$(1C#$(0,W?[L`8g$(1!)$(0^3(B")
-("chun" "$(03O$(1CV$(0]&98A(*1-W(B")
-("chung" "$(05n's<8,tPm*fY:Z1VzP^+Z(!X;05Y{:0EW6E$(1H>(B")
-("chut" "$(0'y\aX6!{(B")
-("da" "$(0(U(B")
-("daai" "$(0&L<('QUc+E$(1Kr(B")
-("daam" "$(0;B9YRkW%B)=N$(1OX8H(B")
-("daan" "$(0+!@M&f$(1U$Pa$(0(ZNrPxN_?1$(1HB$(0Mg(B")
-("daap" "$(0C1Q<F/Om$(1'P(B")
-("daat" "$(0I/Rb$(1A|7x$(0^#(B")
-("dai" "$(0ME>JX"/6DM+&/k2u,/(c$(18:(B")
-("dak" "$(0Na<68X!{(B")
-("dang" "$(0C,[+S:BuJ"QR!{$(1B|jA(B")
-("dat" "$(0'z4t(B")
-("dau" "$(0-I$(18c$(0'H:o,@;(:d?YBr1,$(1A7$(0:(\#(B")
-("de" "$(08W$(1B%(B")
-("dei" "$(0)c(B")
-("dek" "$(0>I$(1mo(B")
-("deng" "$(0-2:\$(1$p(B")
-("deuh" "$(0*9(B")
-("deuk" "$(0Ba;<(B")
-("dik" "$(00|KA5bO.-*KXJGJ([6(B")
-("dim" "$(0X5$(15N$(0/4(B")
-("din" "$(0IZ.)GST{J=-0@eS)$(16E$(0F\[M]^IO^c(B")
-("ding" "$(0Ip.z5V&$(0@"T`L$$(1+T$(0&q$(1(K$(05m(B")
-("dip" "$(0KxPcT=]i@JG'(B")
-("dit" "$(0DF5d99DK$(10~(B")
-("diu" "$(0)S'?Tt<5$(1hV$(0<aP~GU(36I&0?m)$!{$(1O!$(0D1(B")
-("do" "$(0&/I-.02z?h;ZGHQ/,\WlB/+kF86077RSP*<JBzJ3$(1"X(B")
-("doh" "$(0)j$(1)Y$(0I$*9H~.3A3ND!{(B")
-("doi" "$(0'o3"?</*X8(B")
-("dok" "$(0]:TM(B")
-("dong" "$(0T%G6R>Ra\^$(1."$(0Us]9(B")
-("duen" "$(0B|Wv3uXKL'PA(B")
-("duet" "$(0JE(B")
-("dui" "$(0JX;U+,Dj(B")
-("duk" "$(0SBGG3vZJ]uZISb_C(B")
-("dun" "$(0AV<QIbNERA$(1#D$(0D_I9(B")
-("dung" "$(0;00*U^NV'wH;Ao$(1%?$(0356F4#.Q$(1+O(B")
-("fa" "$(01E'((B")
-("faai" "$(0,9E\Gg@/$(1VO(B")
-("faan" "$(00\*HVn'1=258P/&<(hZjZO)~BmY)O>\!?pFw1T?JE"T&$(1,>(B")
-("faat" "$(0BvR"0OB^(B")
-("fai" "$(0AMU\D7+S11NY0QQBF>$(1j@(B")
-("fan" "$(0):'"RNV_1F$(19y$(0+K0B9NNBBP,y9@/DNsH/0!;g$(1Kh$(0X`:<$(1H{$(0Y4$(1aA(B")
-("fat" "$(0*t/>/B/[3x(RLIC4)2'gM_!{$(18]1N(B")
-("fau" "$(0+B;V8G=k1^6J*P$(1,o(B")
-("fe" "$(0;>(B")
-("fei" "$(05{1gCSCh126OQ%$(16X$(0)oAZ$(1M{$(0LKTzA>(B")
-("foh" "$(04p?M'W).P{$(1A,$(0Pj(B")
-("fok" "$(0Tx^9(B")
-("fong" "$(0),6%0T'J/t+^1>19/S-`+l??9A9sE~7pEl3.WK,20(-;$(1A*$(09n(B")
-("foo" "$(0'4)0.L+x'Y@oM;>K:_PP;,O/JN,B1u-.O(6&/uCM/5LP5ZQ,@,'j5Y5W1b;b.M'h1N;J5<7=T23`$(1%S$(01@$(1-?$(0!{Q~R!WW$(1&r(B")
-("fooi" "$(07PM,*I31=)2YMvHa!{@X(B")
-("foon" "$(0]dNOB"(B")
-("foot" "$(0Wz(B")
-("fuk" "$(0A'Po$(1)b$(00%K~TR@z)4C}Y<H);1YwPd(B")
-("fung" "$(05zVj&eYC2mFSHI76QaKn=r?bE&TC.aMz6)$(13{(B")
-("ga" "$(03_:vN$$(1!q$(0'|EaRIJ0J.$(1+($(07'@*HsP&Q|$(1d"$(0?7(B")
-("gaai" "$(0HY&vDk4MCz-p,<1G4RM'/$4V$(17i$(0:~+}$(1:T(B")
-("gaak" "$(05u8,9cIS:p$(1Av$(0LSY\U2(B")
-("gaam" "$(0B6Kr]~]}UT$(1pZ(B")
-("gaan" "$(0)n2dDgX|W*Z`$(12X$(03^^|^|ABRiOXT:!{(B")
-("gaang" "$(09V(B")
-("gaap" "$(0(s+i>yU!ID50$(1U4(B")
-("gaau" "$(0<uI%))F-PO5h^:MP4BMnC8C)$(1%4$(0>4CrI"(B")
-("gai" "$(05U\,YgW5$(13Y(B")
-("gam" "$(01[&uEw(m3eAWP;TkG\R@(B")
-("gan" "$(01UL<Hz7~&[C3'IE0Y@$(1Hb4?)A$(0*c(B")
-("gang" "$(0=7,V/3ZgU)9ZGm6g(B")
-("gap" "$(0X2Cw3+(B")
-("gat" "$(00z)P8"$(1%9(B")
-("gau" "$(0-7Y.&';]5J0q2R-,5w&=-&A$<t.V0{$(1JI\D(B")
-("gei" "$(0&.@~:5S#$(1"T$(0;X3N4z,AL)*[:k\T["6z&X$(1!j$(0;m,5+s$(1.-$(0N>,^OkIo^f(B")
-("geng" "$(0[5U"(B")
-("geuk" "$(0H'(B")
-("geung" "$(0N#$(1]9$(02[W/ZQ1.$(1^<(B")
-("gik" "$(0AlS0FL$(1'G$(0Ue1h$(1D$$(0A=(B")
-("gim" "$(0N-Uu6BN'(B")
-("gin" "$(0:{-E)62{;S17Wo<[H"(B")
-("ging" "$(07B@!9uGo-lJ;A`21J!>z^R$(15F$(0\AF:Bq\$$(1)3OT$(04e(B")
-("gip" "$(0+7(B")
-("git" "$(0C9ON$(1+b$(002@.8+(B")
-("giu" "$(0^'(6NLVMZe!{(B")
-("go" "$(0:nP%+LS_8tLR9QSgYZP+GI$(1L3$(0M+(B")
-("goh" "$(0K;686Y(B")
-("goi" "$(0H[,R(B")
-("gok" "$(0\=)WUkM^-F0t(B")
-("gon" "$(0&\Em,`=34u-<M9$(13($(0C#:r(B")
-("gong" "$(0*AB,/&6MTf5!->L?<%,aWJ5s*,$(1YR2!(B")
-("goo" "$(0(-0J.W15.w3KDL$(1?h$(0.E*v.kIq^H]BDwI|I@U8Tn9P(B")
-("goon" "$(0L(2&_).{\u?LAiU)^eK!6#>v_J(B")
-("got" "$(0@5H7Pn(B")
-("guen" "$(07aZ&6w6'>8.;<WGp.-@;R;8D(B")
-("gui" "$(0.'Rd$(15Z$(0(<W)\k/#8}(IQ@Tb4665JJX)$(1X|(B")
-("guk" "$(0+~2"Ci-HP'X&$(1hoUB(B")
-("gung" "$(0'}&W&})B7I^n,S^4-s:F7)&_Qn3B:D:-(B")
-("gwa" "$(0(k3I<c$(13p$(0JQ.:.N(B")
-("gwaai" "$(0-f/g/J(B")
-("gwaan" "$(0[CJl(B")
-("gwaang" "$(0?d(B")
-("gwaat" "$(0.1Qr3E(B")
-("gwai" "$(1+#$(0XP.xKh)e$(17^$(0XWU@M\5^:qHf8!I!D9<O$(1kXjg3s$(0J%$(1O]$(04X(B")
-("gwan" "$(0+J5]+bK?AxD^:V?6Gi(B")
-("gwang" "$(0]3(B")
-("gwat" "$(0:m<]GeMt(B")
-("gwing" "$(047$(1*U(B")
-("gwoh" "$(0I50+'BLzApX($(1[6(B")
-("gwok" "$(0?g;PJa(B")
-("gwong" "$(0N])=(B")
-("ha" "$(06p&72EPeX%F?EoI2G.$(1Nn(B")
-("haai" "$(0T>U12gACQm=8ZtR]Wf(B")
-("haak" "$(02kUJ(B")
-("haam" "$(0MW;K2<\\=a.+@BU,(B")
-("haan" "$(05pDfDhNI(B")
-("haang" "$(1!R$(0+_*h(B")
-("haap" "$(15Y$(0728ZEG.H(B")
-("haau" "$(07h@2J~7y*T$(1$9$(0+TML3C8S(J6b+v2^(B")
-("hai" "$(0-81|Z_&|6s$(1LCp-(B")
-("hak" "$(0.,M7E*@?+-2,$(16D(B")
-("ham" "$(0R[+WDW$(1W$$(0Rc@[;/+c4i@u?yU$(B")
-("han" "$(03!>04A30RKU_(B")
-("hang" "$(0/26+*h6X*mT0321:;?,Y[A(B")
-("hap" "$(01o)Z>6G^4&+;!{Qq(B")
-("hat" "$(07z&(a)OvW].4(B")
-("hau" "$(0&H)\3&69@V1mB\25:S!{^y(B")
-("hei" "$(086$(1!B$(0:E6h,)@F,vN5B#:@RC=:K[N2\w?y=sUbIvNH[rS<VSSs(B")
-("hek" "$(0)[(B")
-("heuh" "$(0I^(B")
-("heung" "$(0)XX=]A-k5~7rDUMq$(1qJ(B")
-("him" "$(0TsWI'O(B")
-("hin" "$(0=u[y^PMC],:G<m!{RU5Q4jHK^CVo(B")
-("hing" "$(0S|M==H6PNc't\UVu(B")
-("hip" "$(0K:/G.77Y9^(B")
-("hit" "$(0FY(B")
-("hiu" "$(0OOIuS!Xv\gRo$(1Oc$(0^((B")
-("ho" "$(0HA8J)pULUFM1=F9XEO$(1\O$(00#Bx]C^&(B")
-("hoh" "$(0*u?$(,0I.B$(1?D$(0D8.Y!{$(18X(B")
-("hoi" "$(07&De$(1"<$(08B89)+U.@4@6EA$(1d)$(0!{$(1Ub(B")
-("hok" "$(0RQ]OB'(B")
-("hon" "$(0@nKH4a*?'{$(1(v$(0X'-9St7f,U7O=qQd-vZC$(1AR$(0X9(B")
-("hong" "$(0<+9m*h0')LC/>;JjV]+?CKD{2t!{$(1Hf(B")
-("hot" "$(0B?@C(B")
-("huen" "$(0@@$(1ZK$(0;O'^[aCAH14N(B")
-("huet" "$(0*g(B")
-("hui" "$(0Cq?C(+N8N@$(1GP$(08#F}$(18<(B")
-("huk" "$(0MN6_(B")
-("hung" "$(04($(1$$*N$(04yDu1)7G2DU58R5NX13|,g'7<V'!)>9b)KK]?i6((B")
-("ja" "$(1L7$(02HB5K(.T'f49D*!{!{)^?2(B")
-("jaai" "$(0X:E-JT(B")
-("jaak" "$(0?K)xLLRfS,XEJs9;YBJ2$(18[(B")
-("jaam" "$(09=O2<~JZ^FB7$(1Rk(B")
-("jaan" "$(0[&_5GA$(1U($(0ArL6\-N~$(1g,$(0WS(B")
-("jaang" "$(0<hGK={0i(B")
-("jaap" "$(0>eYdDv]rIQ8|$(1%`$(0Ml(B")
-("jaat" "$(0'E>U(_$(1Lc$(01R$(1.9(B")
-("jaau" "$(0,GN4-=^vGv,O'X(B")
-("jai" "$(0.2L|V%Ug>CR9McKJ'k^!A?(B")
-("jak" "$(02-;"&w(B")
-("jam" "$(00)8A3,F;:]$(1`!g+$(0R)(B")
-("jan" "$(0YY8z7Z4GQi:c)b$(1Ax$(0M5(B")
-("jang" "$(0NA$(1g>$(0IsNpAe[%$(1Ob$(0;|Ti!{L/$(1^P(B")
-("jap" "$(0(e;[(B")
-("jat" "$(08jEb$(1%<$(02bQ3>E(B")
-("jau" "$(03{:Y=%@t*b)}-MAP?:.SDO$(1TU_P$(0/-.JOt.}2XAFI:$(1Hx$(0;M@U4x2%5-(B")
-("je" "$(0?V106..mWM$(1[0$(0PRQLE@K5^/(B")
-("jek" "$(0(8:j:49f0g6e(B")
-("jeng" "$(0&k=h$(1.($(0QQ-b(B")
-("jeuk" "$(0:[Cb?{V;[f[Z$(1RU(B")
-("jeung" "$(0<0D0;sPZA(a)1\OIO?Od)MYRR}IzO6?~JeK=KN,]&8<)Q.'nCOSKMb63<H[?W8$(1!4(B")
-("ji" "$(0&N*]C<)t1"Ab,6M#&g2]=jHr0Z'P(8:j:49M*^)zEH*zIf&Z1?0/'F+VLs139\+`3A?R*0Nx55P:GuG`>/9|29BF+w4wT?1v1M.q1%4k92To$(1,v$(0>f$(1>m$(0]U(B")
-("jik" "$(0VeE>Y*X~1!\'+<SYHyYI;nY31#&K*C7;L_AyB&6-KE$(1(F$(0Z#$(1_6(B")
-("jim" "$(0){KM\F9!XnHj$(18%$(00KTv((*}\D(B")
-("jin" "$(07/X]L*Fu;+9wY7Q9Q-P-U*$(1SD$(0P!B(V"W^R^$(1&qS%(B")
-("jing" "$(0Nb(`T|D&Z}3JRmGCA_L5I]5X;!Lf/=/F@|8l[|K}$(1H:(B")
-("jip" "$(0<Z\e2I(B")
-("jit" "$(0Gh,LJq<[GD8C6Z$(1_6(B")
-("jiu" "$(0T'AzBQE7/^0LM8Fz(/$(1I+$(0D($(1I$$(0!{Ah(B")
-("jo" "$(0*/>[?`:y9/QNVa$(1cl$(0\2Am:*-1-#97!{93(B")
-("joh" "$(0+e+81a(K*w7?1~$(1.@(B")
-("joi" "$(0)d)C2;-%7%I&Fa$(1(5(B")
-("jok" "$(0+#_E3U3k(B")
-("jong" "$(00nY/]/]q^)H6O8$(1"=$(0>~HS+jNz+hLW(B")
-("jue" "$(0'e*o0DD"CbPzQ)8.8bCv*8>?HeBU/Y?,]|VlQx-~:#$(1)i$(0MT$(1\;(B")
-("juen" "$(0E/;r5'YL[($(1mS$(0_>@rTXSU\fYq(B")
-("juet" "$(0C;$(15X$(0L=;I$(1Om(B")
-("jui" "$(0@3QU,*.F0p8o0ULN?0<yD)N6GwA{Tj:RYDNC\`$(1H]$(0UV(B")
-("juk" "$(0-N=!\~1x\>$(1GL$(0VWC7DJ?]*MV7_4^^C5Sa917_S-J'.r];[8$(18Y$(01+(B")
-("jun" "$(0DQKqR26HFn3~7nXa733`C+8HX,S{Rt]<$(1,a(B")
-("jung" "$(0&dL"$(1,]$(0>9Vl.yVk>]Ie?EM"4\/A\MH()5YzAjYHL8E5Wt>p$(126$(0L4(B")
-("jut" "$(0.6(B")
-("ka" "$(0('.C$(1##$(0!{(B")
-("kaai" "$(0FI(B")
-("kaat" "$(1)?(B")
-("kaau" "$(0QkQ\(B")
-("kai" "$(02WP(<w:=FrWQ(B")
-("kam" "$(12}$(0ZwBeRjG^R<$(1#U(B")
-("kan" "$(0E<1D(B")
-("kap" "$(0'0+OC@,x9J$(11g(B")
-("kat" "$(02>(B")
-("kau" "$(0*+?lHRK-$(1'=$(0,fFeWU*_H,;k>!$(1)!$(0(1EdIn$(1(i(B")
-("ke" "$(0YxSL5=*y(B")
-("kei" "$(0Aw.(Ag4lK");G7R6.b0?;y1&,$B_GZ$(1Hh$(0[]]L(B")
-("kek" "$(0N*(B")
-("keuk" "$(024RE(B")
-("keung" "$(0<1$(1gUF6(B")
-("kim" "$(0U>IA(B")
-("kin" "$(0:&(B")
-("king" "$(0E1[TUd@#ZN$(1kC(B")
-("kit" "$(0Qo$(1PZ$(0ALL&Zs$(1S{$(0&OPIZ)(B")
-("kiu" "$(0[/R~@SI{O*Y(Ut(B")
-("koh" "$(1H;(B")
-("koi" "$(0FNLeD\BGA6P"&bOx(B")
-("kok" "$(0O}$(1>R$(0:W=[K/UN(B")
-("kong" "$(0,?XD-+[}&n0c)-$(1A8$(0Z:(B")
-("koo" "$(1L](B")
-("kooi" "$(0N.V9ZcHtN&OVW'$(1bj(B")
-("koot" "$(03EWPCH(B")
-("kuen" "$(0]cHn$(1q~$(07U(B")
-("kuet" "$(0?A,o,C9O$(1'q$(0@=J$[!$(1Oh$(0&P!{(B")
-("kui" "$(0;5/nQ}/]DB66YK]EB3+)^iJ[$(11K$(0Xm(B")
-("kuk" "$(0*3(B")
-("kung" "$(0P,1*(B")
-("kwa" "$(0)lH`Lx2T$(1*Z$(0H{9h$(1%;(B")
-("kwaang" "$(07|(B")
-("kwai" "$(0?>4UW6>5S^H2F%\n$(1:6BY$(0DN(B")
-("kwan" "$(0+[B{GqQJC'Cf.^/{;}7]HPG{Tm(B")
-("kwik" "$(0Ma$(1Si(B")
-("kwong" "$(0[}Z:(B")
-("la" "$(1^N$(0@I;;2+(B")
-("laai" "$(0/WTK(B")
-("laam" "$(0Y1XQ\1;c\&^`]+_:V)\<!{(B")
-("laan" "$(0]#\r[pW|[u$(1pR$(0Z6\v$(1qD(B")
-("laang" "$(0+1(B")
-("laap" "$(0Zi$(1?2$(0.X]($(1Me(B")
-("laat" "$(0M?[2$(1L&(B")
-("lai" "$(0-t[^=vR.Xq9tN0UE\c_H$(1kukE(B")
-("lak" "$(0;-*Z$(1!3$(0!{(B")
-("lam" "$(0N)B`00TwW(=U!{(B")
-("lap" "$(0)"'x>O>G(B")
-("lat" "$(0(p(B")
-("lau" "$(0KFO=8i3}Fo8`K2>>YsN,Oo3l;`JwVX5q$(1Ab$(0J/$(1jp$(0[@$(1d-^T$(0]I(B")
-("le" "$(02K(B")
-("lei" "$(0,X+4>"Oh1z$(1)<$(0=@_&$(1^9$(08\Yc$(17g$(0K@$(1mX$(0-_HTZ"?")QNSN)6^1}@T7!QcSr(B")
-("lek" "$(0(>(B")
-("leng" "$(1UZh6(B")
-("leuk" "$(0>*<U(B")
-("leung" "$(0=.OC.&DY6,X}=JGl-AQC1jPu(B")
-("lik" "$(0&1S&RnZD$(1eA(B")
-("lim" "$(0]6En/,ZYUnW&U~(B")
-("lin" "$(0?Z$(1Pz$(0Nn$(1&p$(0FyP8PUKO[9XG(B")
-("ling" "$(0C`Mk(7^rI\$(1<V$(0FR/s4F\bIJ+'>b6G?sUW$(1&F$(0'p$(1%p$(0>h(B")
-("lip" "$(0Xe$(1/>(B")
-("lit" "$(0)EC|8U.*(B")
-("liu" "$(0JR&(VLO$>gIxVDS=T\$(1JOj?$(0Jb7jN3$(13F(B")
-("lo" "$(0H|]@SN*SN|@9-'-r2a$(1QG$(0\6_.Z3[xRe@&KYH(a)R(Hw$(1W{$(0_8N1X<$(1P.$(0Z?$(1Ne$(0!{^{VC$(1jI$(0!{$(1mu$(0_B(B")
-("loh" "$(0Zd]\2F^GW>^K_@_'L{OM!{[>(B")
-("loi" "$(0-uCc<;*VGF(B")
-("lok" "$(0O@H0MUHpI=8T4)U0C?ZHO@(B")
-("long" "$(0=}G,FF8YA!5i7x8<Ac$(1:P$(0Pa(B")
-("luen" "$(0V{]_^8]]_3E+^7$(1mL(B")
-("luet" "$(0)J(B")
-("lui" "$(01t-_HT[K>\=bO~IY]7W-UCX?Rg+IQ^7lJYVgNeX[]HZh;L/T(B")
-("luk" "$(0Th@'&{?u[_GTG[NvB*L;(B")
-("lun" "$(0-|<"+=<fQG6(a)=eLDQ"VNQP^Y+>[.^\(B")
-("lung" "$(0[s\{U?]o[b]mVVDoZ/Z9[D,.[z(B")
-("lut" "$(08%F!3$!{=|*X(B")
-("m" "$(06](B")
-("ma" "$(0@)G;Ee:lP#KgT-PGJ)ED(B")
-("maai" "$(0Q16mD:We(B")
-("maan" "$(0G]$(1!&$(0Jk=&[O_(PX;8KQR7^.(B")
-("maang" "$(00~Tc=x.vLpL\(B")
-("maau" "$(0-(TJ59(zIP()M3$(1*x(B")
-("mai" "$(0Ow$(17M_q$(0:MWG*N2B(B")
-("mak" "$(0@(9dR/U=5r]G$(1I6(B")
-("man" "$(0'GLM(b;C/Z<xNoM]0A:'9C+N9D)H0_Dx$(1i?(B")
-("mang" "$(0CeGB(B")
-("mat" "$(00mLn;p])''$(1!"$(0WO(B")
-("mau" "$(03]D<YAT<*J8f5?$(1%G$(0><(B")
-("me" "$(02J(B")
-("mei" "$(05"(],#4`Wm@q(a)g[HV^Es.AW3$(1;C$(02}6y!{!{$(1FK$(07i^"$(1^J$(0X3(B")
-("mi" "$(02B(B")
-("mik" "$(0?=$(1$T(B")
-("min" "$(05t\]+.LB;)2/6}P<A|8{(B")
-("ming" "$(0)Y/}.U(xT,MxMS6D:!I>(B")
-("mit" "$(0PYFgVY(B")
-("miu" "$(0+oAA5BKsY24qBAN[Wn$(1:V$(0YP0,$(1=.$(09<(B")
-("mo" "$(00>BS(a;.NyO</i.lJ<O1E:Ng'T2$@{,(M%T)'RL[1y(T[G$(1)POo$(0NK[Y(B")
-("moh" "$(0&>M{Jv\4STNw]JUR!{R-(B")
-("mok" "$(0>|6NPMKDJOJ^R7(B")
-("mong" "$(09r,4&B-B*%>{L>$(1"i$(0=-)m1-(B")
-("mooi" "$(0080v==!{QjFx(a)i,e3R.iR%(B")
-("moon" "$(0KI611]SQA-$(1[7j^$(0YF(B")
-("moot" "$(0(^,u/\0N5@0@(B")
-("muk" "$(0'N(yGE0lS[!{5E,p$(1HC(B")
-("mung" "$(0LaV'ZTXOJCZ7XM$(1id(B")
-("na" "$(07W-\6c6v7c!{(B")
-("naai" "$(0*=&&:O(E(B")
-("naam" "$(023-/@K@v$(1F?(B")
-("naan" "$(0[E(B")
-("naap" "$(0+RD]9L?B(B")
-("naau" "$(0O"R$$(16T$(0.O\N(B")
-("nai" "$(00H(B")
-("nam" "$(1TG(B")
-("nang" "$(09e(B")
-("nau" "$(0,DD[9H*6+m$(1\\$(0Sw$(1Ri(B")
-("ne" "$(0.R(B")
-("nei" "$(0+$.s(HMp4".jSy<AU[[v=$$(1aqf3H?(B")
-("neung" "$(06u[i(B")
-("ng" "$(0&mM)=6+A+G7\$(1C:$(0'*)1='7M$(1!m$(0EJHD\_(B")
-("nga" "$(0(l1B'\:.HMDt?@$(1!v#!(B")
-("ngaai" "$(0*e;{=V'$<_(B")
-("ngaak" "$(0Ym(B")
-("ngaam" "$(0VE/((B")
-("ngaan" "$(0DsYn>:(B")
-("ngaang" "$(0B~(B")
-("ngaau" "$(0=i27'Z18U-$(1=)(B")
-("ngai" "$(0)OGOTy6>\j:tY|ZqZkOGHb]Z$(1fQ$(05#(B")
-("ngak" "$(0+F(B")
-("ngam" "$(0<.[[(B")
-("ngan" "$(0DzMQ]V(B")
-("ngat" "$(0-V)|&C$(1!+!I(B")
-("ngau" "$(0']IH'&Zm:|PK(B")
-("ngit" "$(1aL(B")
-("ngo" "$(0E.<sO_SuVx(B")
-("ngoh" "$(0,=1;HG75Z'1{?F6~Qt6d$(1U>(B")
-("ngoi" "$(0+E$(1Kr$(0(AZUM[(B")
-("ngok" "$(0DS/+UX$(1ZR$(0WyYpO@(B")
-("ngon" "$(0/'(B")
-("ngong" "$(0/|$(1!8(B")
-("ngung" "$(1,;(B")
-("ne" "$(0.R(B")
-("nik" "$(0\";4Fk(B")
-("nim" "$(0/C;G/cX4(B")
-("nin" "$(0*"(B")
-("ning" "$(0XRV=JP$(1!S$(00[V#$(1'g$(0*rUG$(1i`(B")
-("nip" "$(0<nO)7^Y+_6YX8N$(1q}(B")
-("niu" "$(0@%,"HU(B")
-("no" "$(0+9H+A7(D3(/;(B")
-("noh" "$(0U`\($(1kO:U(B")
-("noi" "$(0.c&z5%Qu$(1+8(B")
-("nok" "$(0T@!{(B")
-("nong" "$(0][]h$(1p~(B")
-("nuen" "$(0JIFA(B")
-("nui" "$(0&M$(1:$(B")
-("nuk" "$(12s(B")
-("nung" "$(0W$S+I*N%RD(B")
-("o" "$(0S/ZxE`R\E](B")
-("oh" "$(05;3c@HRH;dDI!{(B")
-("oi" "$(0Ey28Os\3$(1V_$(0!{^s(B")
-("ok" "$(0A+$(1Od$(0R?;TA2(B")
-("on" "$(0)y7{Ql883;$(12.$(0MX(B")
-("ong" "$(0Ms$(1(M$(08x(B")
-("pa" "$(0/K(W9W5\0hBd0-(B")
-("paai" "$(0<kBW4'6;(B")
-("paak" "$(03jR&>Q;:///j4H(B")
-("paan" "$(0,IZ84c(B")
-("paang" "$(0OTAt=oA&A}GVSz[\!{(B")
-("paau" "$(04:9*+6IG:B/b.KDE0[(B")
-("pai" "$(0,H(B")
-("pan" "$(0ZEN;U#?O(B")
-("pang" "$(0RV0&(B")
-("pat" "$(0')(u(B")
-("pei" "$(0\(a)(wMI$(1,O$(0/_Bc8mBs,!.D'b)9;f0.IN(B")
-("pek" "$(0N+(B")
-("pik" "$(0I)]=]?N"Xi(B")
-("pin" "$(0I6P>P2;$'[[RPh(B")
-("ping" "$(03<(N/d\7$(1-1$(0X+8~G})%.ZCZ>&D$2o$(1)($(02\7"U/(B")
-("pit" "$(0JrSS!{$(1!_(B")
-("piu" "$(0>BPQ\RKGSHE9$(1I2$(0JK$(16A(B")
-("po" "$(0Z{A\/m>iQ[$(1S0$(0?'H:Lc6i8@?;22Fh$(1j:(B")
-("poh" "$(09$;hMj(5!{$(1]e$(0DG(B")
-("pok" "$(0(XN{*7RuN:$(1jE(B")
-("pong" "$(07kLQ:,@+WHZ2$(1YQ$(0FcT+(B")
-("pooi" "$(06$:Z;\LyQ*?r-z8a,m$(1%s$(0CW<95+!{$(1UX(B")
-("poon" "$(0OuK8OY+3/X4ZP$(B")
-("poot" "$(0OLIB(B")
-("puk" "$(0&rIy(B")
-("pung" "$(0P]VZ<\GQ(B")
-("sa" "$(1+V$(0]e>u4f,h9B5&',$(1!FAy$(0HNZ!(B")
-("saai" "$(07q^;<7ZM9l(B")
-("saam" "$(0&6&65R$(1:#(B")
-("saan" "$(0&UAXSd;^4D+5*D3aOU5o.n56DD(B")
-("saang" "$(04](n(B")
-("saap" "$(0+d(#9"Tu(B")
-("saat" "$(0O%Y0=E2'G"[>(B")
-("saau" "$(0T~=07XC"6T$(1FL(B")
-("sai" "$(0>Y*jE='aM(?\RGSe$(17X$(0@hBY4$$(1>n(B")
-("sak" "$(0ES!{(B")
-("sam" "$(0'A4J,jNP$(19p$(0,8=fX@KW&pAq,%(B")
-("san" "$(090F<-O=((t*\-R9%.G*{6{>ZCNE}W+QX-Q(B")
-("sang" "$(0(nBj4=(B")
-("sap" "$(0&3V/3FV+(B")
-("sat" "$(0(CJS1O2jG/PN(B")
-("sau" "$(0\OY$'D&sE{*.6<5})w;H.@JA<gOpZKKLF3S}J+>a-56S?#$(1B#$(04@$(1d+S1(B")
-("se" "$(0NQ1$7--i1=<p?Q$(14'$(0M6?+.<XY$(1#'$(0]R(B")
-("sei" "$(0(?*<(B")
-("sek" "$(0(|K{Tg(B")
-("seng" "$(0H%Vy(B")
-("seuk" "$(02)^M(B")
-("seung" "$(0YeX$4_&9;9Ex<'J*UB!{E3Q+/!LwA#_,P.WCB8<<JH[hOF$(1Qs(B")
-("si" "$(0G~-h3S(L7m-q(}H^(93)&J7<D!G)3M&T2nQzEE'l-o'UH]A[O#N<-4(4C>2r!{$(1_\$(0Ep!{$(1H8`$$(0?H;37E(B")
-("sik" "$(0*d<I06*#7KIi\LQK$(131$(05|LtZ|3=/xA]Tg<?K^EgI'$(1E=Nk$(0Lq$(1?>$(0W@(B")
-("sim" "$(0:aY9$(1-7$(0:fNJ$(1Wn$(0VT(B")
-("sin" "$(0)@P@K\R_SxCD7TY!MZ'q$(1A_$(0X-H*Gz$(1?*$(0]k$(1%O$(06*$(1$J$(0!{!{\Q(B")
-("sing" "$(02SVy@:$(1-$$(0A1/M'+0$:i/V**6!HcG|$(1!P$(0>7Zb@83TB]T_.p)#$(1Np$(0H%(B")
-("sip" "$(0\m\l8F(B")
-("sit" "$(0^>*`FK0R7.W2Wq(B")
-("siu" "$(0&R9?N=QZ'8)?8>S9Mi1V>VT(B}Qg7*LOXw(B")
-("so" "$(0\8Bk^59EO0F4\X<bEhXIDXETF`D,EP$(1M.$(0S\D}^*(B")
-("soh" "$(0/UPV8$>.E4Lk=;6[KfYV$(1Az$(0EC6t$(1F7(B")
-("soi" "$(0H&\Z(B")
-("sok" "$(09F7vJ1$(1B&(B")
-("song" "$(08'EB@G=t$(1gu(B")
-("sue" "$(07u83TTIrO9,JCUW1AaE)Rz*)Q(<-F`!{(B")
-("suen" "$(0L,MMP17#>tLdF5+P2h="TZ$(1R,(B")
-("suet" "$(0M*?|(B")
-("sui" "$(0D}^*'VC%X#Mf2NG:L3=lG0J?Gs^UGPFZVUI.Tq9.:/2vQ!KvC=LFCXYO<25*(B")
-("suk" "$(0.?CI\i=W]v;jO^HFVdC6$(1H|$(0;o)i;%J:P_(B")
-("sun" "$(01k-UQT6f=K9GC2VJD|CVHgIl84*F::MBPw:"3%$(1%A(B")
-("sung" "$(005Y{;wV|Nk:K+{!{Ej$(1>b(B")
-("sut" "$(037.=([?55_Jt*(W7(B")
-("ta" "$(0'm$(1(C$(0(G-))q$(1H6(B")
-("taai" "$(0'5Ji$(1:<$(0D=8;!{,q$(1#;A/(B")
-("taam" "$(0Pv?NG9OPZ~<YC~(B")
-("taan" "$(0J-OE]b^b]fRLUr.]?9Kz48$(1&*#x(B")
-("taap" "$(0EZEXWZ+aMF(B")
-("tai" "$(0^V$(1"~$(0AIYo$(1>A$(0@]DrH.P7=/QYTL(a)AAfUK8=2($(1^w$(0;uT86|(B")
-("tan" "$(0+@$(1"Y(B")
-("tang" "$(0\WZnOZ(B")
-("tau" "$(0U%;#,N?a(B")
-("tek" "$(0Q;(B")
-("teng" "$(0_#H-(B")
-("tik" "$(06L<L$(1-y#wU5(B")
-("tim" "$(0<D=Q>(34LZ$(1+I$(0RWYv(B")
-("tin" "$(0'3Ff*|EY(qCP4O(B")
-("ting" "$(0,-:u]p+Y$(16p$(01i7>7`$(1Mr$(0@f$(1U;$(0HCQh$(1$n(B")
-("tip" "$(0D3/.(B")
-("tit" "$(0]8(B")
-("tiu" "$(0=?P~3H>=H}-{$(17aNj$(0>F$(1q/kJ(B")
-("to" "$(0?x$(1%X$(0;D$(1)D$(0<l$(1C7$(0;t?e)T&I6qJ8.#-?W[ZVV(FqGtCl8-:Q=d:77A$(10@$(0EV?&(2[IXb$(1:'(B")
-("toh" "$(0>q/oU71_IkQwR|+u@O*q0F(B")
-("toi" "$(051(;LXMmXU3tME5F/r(B")
-("tok" "$(0*-:;/`$(1@[(B")
-("tong" "$(0EU6UB>VFF.;YAkPLSh6:QA=OQ6S>]YOa!{$(1R}$(0W9Wi(B")
-("tuen" "$(0J7\)+\';W#(B")
-("tuet" "$(0>l(B")
-("tui" "$(0LU<eU&HHT1:N(B")
-("tuk" "$(0-6(B")
-("tun" "$(04b!{(B")
-("tung" "$(0?X)RBo>T8pWN8*$(1H4$(0VGMR,0C*=4$(1/9$(0C0$(1Ah$(0It$(1!J$(0!{9`$(1bn(B")
-("uk" "$(02qB4(B")
-("wa" "$(02?N7ZzBlC_Hd>+CsL$$(1+T$(02`$(1jC(B")
-("waai" "$(0Z.+fZ5$(1$&$(0=g3r(B")
-("waak" "$(0/QBlA*)GJ#(B")
-("waan" "$(0_%WdV@$(1lP$(0<>2i'=]`Ia7bM>$(1dp$(00s(B")
-("waang" "$(0Rx(B")
-("waat" "$(0G+Fm3:(B")
-("wai" "$(0F[V8$(1j%$(044T]TB*n@Y;ELEXsT;K3Nd(&A.2e5vI18/<NV1H3Ck.h:zP9PT4L5,@EB<;qNjPl:}@N(B")
-("wan" "$(0&jDyI+[JFl'%MwBE=\OnZX&h9U$(1H0$(0IT&y\9WjF@$(1ZL$(01I$(1YhK0$(0K<(B")
-("wang" "$(0+|(Q(B")
-("wat" "$(0/"64(B")
-("wik" "$(0;R(B")
-("wing" "$(0(d(VK+SZD#0EUY$(1QD(B")
-("woh" "$(0.P$(1n~$(0Wr(~L!PfB=L%6=@kGf(B")
-("wok" "$(0V>ZW!{$(1n:(B")
-("wong" "$(0A)/<E(VOPiXx4W;*A9F~,n'_04/w(B")
-("woo" "$(08V*E*@B:0r5/[SG-@dH4PbP6A.]-&lKU'CEKYW-C$(1!{=vK;$(0<T$(11M$(0>%(B")
-("wooi" "$(0)`:PFEE?Eq3#Cu(B")
-("woon" "$(00sAQPB7}@QKpG!BHQ'GRBwCJ2QAO)(6K(B")
-("woot" "$(04%(B")
-("ya" "$(0&?(B")
-("yai" "$(0*43@(B")
-("yam" "$(05x)7E$B$Hv'2+tPW?v+X=c$(1:LC|LS$(0[F(B")
-("yan" "$(00=?G&*7J,7'@)N)_$(1ic$(0_+&o&D4{$(1$%$(09y852f;lX!(FH?Kj53'r!{8:$(1Ni$(0:)(B")
-("yap" "$(0&,0CAK-XLb(B")
-("yat" "$(0&"'K@cDPF_++-}Y[(B")
-("yau" "$(0'd$(1%{$(01X*5(r'9&55lAD3\)32xUA$(1!k$(0<(a)NhDTIEBZ0SB-I,-]'/(.*x9,I?M-(O.!,T$(1%h$(02IG(Ob$(1Ng$(0?3R'X7Z+(B")
-("ye" "$(0.`EzFM5(G&?j+0:x(B")
-("yeuk" "$(0]1$(1ZQ$(04}'L7@5MKl5>Zo$(1Fz$(0_-$(1aC(B")
-("yeung" "$(0U9O5(B[o3z^o[g[c^j3s96FOAS-mKm*QDm87)8$(17C$(0[{QsKC3']l7DMh$(1mh(B")
-("yi" "$(0YQ6/K`.$&+&)'i>DEu*UGy/y>-$(1">$(0\?Kk.|Pt/L&Y*WUj$(1N`$(0-n)/*iU')kN!9]-"2_XAAn-3H!R:$(1%:$(0]aR=2=2LKTL@$(1Wm$(0K#$(1NdlNe/(B")
-("yik" "$(0M~,PVw:L<XCL=M,3V}4P)*RZ8v\B>cZa2|2V^SLr/y(B")
-("yim" "$(0[e0d'u3ZEcJ&BR^T$(1[U$(0=Z^}Tp.d<`^m$(1.*$(0]X$(1F3(B")
-("yin" "$(0/9>S>#-GS;BT4gFvS@Q0>r=IC!6V2~7($(1oP$(0T9=p2A/8K>@^2#$(1qx$(0B;+qJM9_L+^1$(1@G(B")
-("ying" "$(05CN`,12OM&R8&tU])F-Y\qUP^z^BOfT.V3K_Zr1S\E4Y3Q]wRP[dZ@_F(B")
-("yip" "$(0H5FG5y[j(B")
-("yit" "$(0O`N9TA9j(B")
-("yiu" "$(0Y"H#5S\/XF$(1$2$(0Wg+pKeF7@ZMDWL2c9k'6)]$(1BkW"$(0NMXL(B")
-("yoh" "$(0@P6W(B")
-("yue" "$(0LY$(1!0$(0/v1eM$&A)r&i_"9}\;R1US-g*>+(2!I8$(1Zq$(0@$A:BDKVDn6xUV4n)v*R)U_LI3@R74<:SXE|Xk].@pHVI`THE'-S=P0}FUH?EtWa4o$(1A`$(0TDUI+rG8$(1No$(0!{$(1LUR_$(01<$(125$(04v?}^2$(1>4(B")
-("yuen" "$(0U<M@6`+z6Q&x0Y$(1Cc$(0?U-aIF&;$(16n$(0<B.~;a[m(iSm8y=]6C:1W`EQERG*FdP?5GJh[L3-:b$(1(U$(04<IKMy$(1E,(B")
-("yuet" "$(0'M)!GnD>RQf$(1VL-bH=(B")
-("yui" "$(0T!Q_1HHOKu(B")
-("yuk" "$(0(j-@*Y:JT3,w*25j_I=DNlKc8IF]$(1nV$(0Ic3V$(1H9(B")
-("yun" "$(0DdOW(B")
-("yung" "$(08KB1<,$(1gO$(0(o2.T/7+*'9vL]KZFbC:&~EL9SR`+"E,V~$(1o;$(0IUTN$(1NF$(0HB<=1p$(1:W$(0:UK)--(B")
-("\\beng" "$(1b9$(0Xj0y!{4T8n8s$(11*$(0!{$(11'$(0!{8r!{>3$(1>8>;]d>5E1$(0G<$(1E4$(0G>$(1E7]cR:L)R9$(0!{$(1L'R;RAX\$(0OrOl!{$(1XXX_mdX]]a$(0]j$(1X[$(0!{\z!{$(1b8$(0!{(B")
-("\\booi" "$(0D6$(1@Q@O$(0D5$(1cb$(0HuHx$(1lBTWN=$(0!{$(1TY(B")
-("\\che" "$(0:H?T!{$(1oW@f@n$(0!{$(1n6@e$(0I($(1H#H"$(0M<QIQDQHTU$(1cs$(0!{(B")
-("\\chung" "$(1c8(kfq$(05P$(1-J$(05O$(12]2_2e2o2k$(0?-?.?/]%$(19*9)$(0?4$(1fl90@#G/$(0Y8Ct$(1Z8$(0CxCy$(1is?v@&$(0HJHE$(1G3$(0HL$(1G8G5M_MdMcMk$(0W?$(1Mt$(0LvLuLm!{$(1itT'$(0!{$(1T#$(0!{Pk$(1Sk$(0W=$(1SlT%Z+_5$(0!{W:L/$(1Z-Z4_(Z*$(0W<$(1c/_+_-c5_<_7c,c.$(0Y;$(1iwiv$(0Zu$(1ful2$(0]'^h$(1pNq_(B")
-("\\faat" "$(13M$(0ImMuR#$(1U~$(0U3U4$(1[|dh$(0!{^w$(1oe(B")
-("\\foh" "$(0F|$(1DU$(0S7$(1'xKl$(0!{!{$(1+o$(043$(196+rX9$(08Q$(16u6y$(0S?$(1=`=c$(0!{F{G$!{!{$(1D\$(0!{!{$(1Q|Qp$(0V:$(1X;$(0V2$(1b*ki$(0_G(B")
-("\\fong" "$(1/R/T/S$(0=#$(1<E(B")
-("\\fung" "$(1O7$(0[N$(1ld$(0!{(B")
-("\\gaak" "$(0!{$(1[b$(0_7$(1dK$(0Yi!{!{(B")
-("\\gam" "$(0IMDbD`IC!{$(1gPj<j8j7[1U<U:$(0!{$(1U/[.$(0!{$(1[,[-_~_|$(0Ww$(1gW$(0[:[;$(1Nq$(0_?$(1U@$(0[B$(1`,g[`*$(0!{(B")
-("\\gan" "$(0@}$(1&Q&P$(0/1$(1\gIy$(0J_,2$(1;X$(0J`J\!{NX(B")
-("\\gau" "$(1!e"c$(0Xd!{$(1$d$f$(00o!{$(1($,#XMDr0g$(08]$(10l0jXL0f0k7'$(0=z]g$(17+7/7&i>$(0!{B[!{!{$(1=w$(0Kd$(1Ks$(0Oe$(1R%XJ]Rkl(B")
-("\\gin" "$(1(a)8$(0WF$(1N.n$$(0T7$(1_H$(0Y=$(1g#(B")
-("\\gok" "$(0<}$(19K$(0Y>$(1@;GKGFN2g%(B")
-("\\gwai" "$(1V%$(0^xY}$(1`v$(0Y~]K(B")
-("\\gwoh" "$(1J@$(0<SF*F)$(1B}J?(B")
-("\\hau" "$(13w3v$(0!{$(1I0$(0!{!{$(1)L$(0!{$(1VI$(0!{!{(B")
-("\\him" "$(0XV$(16==!C~$(0S%(B")
-("\\jau" "$(1--$(0!{!{5[$(1@TGlGfq`3C3D3EA&$(0!{$(1A%$(0!{$(1H5$(0_=$(1qbN]$(0MO$(1N^$(0!{$(1U'[&[(['_rd!gN$(0[4$(1c~j4$(0\K]5(B")
-("\\juk" "$(0TQ$(1Zo$(0WY$(1Zp$(0TO_*W\[*['$(1gB$(0[-\I_<$(1n/n2qapS$(0\G$(1GzNJ$(0YE$(1cq3*9^9[$(0?S$(1_j@an1$(0DA$(1@]$(0DH$(1Gq$(0[,YJ$(1Gvn0$(0]2$(1NANETj$(0Q:]y$(1TbT_$(0]x!{$(1Zk$(0TP(B")
-("\\jukfa" "$(0!{!{$(1ErEuL[^*Ra$(0L0$(1Rc$(0L-$(1mkLa$(0Xz$(1LX$(0!{P0X{P3P5$(1Y&Y)Y($(0Sf$(1Y-$(0V[!{$(1^(pH^/bS$(0Xy$(1bV$(0Z[]nZ^$(11c$(0Gk$(11h7{1f7p8!$(0>L>N$(17z7r7u7vq-$(0>M$(1>k^0>l>h$(0Gj(B")
-("\\kwat" "$(0_1[<$(1ODm,$(0!{!{Yy$(1dfh0$(0_0$(1pd$(0^W(B")
-("\\ma" "$(1Ut$(0Qy$(1jn$(0Q{$(1UxnOd\d_dclljr$(0[Q$(1lmjq$(0]F$(1lknM$(0_9$(1r$(B")
-("\\mo" "$(05$!{$(1=,$(0F^$(1QBD($(0S'$(1eiWsmW(B")
-("\\moon" "$(1:+$(0W}DiDc$(1ABl[$(0Qe$(1UQr5UP[T[Wdk[X[Z[R`?$(0W{Y_Ya$(1jT(B")
-("\\muk" "$(1$C$(0,b$(1$DK#i%$(00;$(1';$(0!{07$(1<X$(0OA=A0:Uw$(1+&i#$(03b3m$(1i&$(03n$(1+-$(03g$(1+/$(03p=>$(1+D$(03i3o$(1e`*}]%/_/`<W$(0S$$(1/k$(0FP$(1/lJv$(0=9$(1/n$(0!{Rv82Uv$(1o2$(0!{$(1/^6%6#6&$(0=1$(16)$(0\s$(1r,$(0A~$(1<m$(0Z=$(1Q)$(0As$(1R"]#Ce<o$(0O7$(1C[$(0Av$(1<^CUCY$(0FJ$(1CZ$(0FV_$FQ!{!{$(1CfCg$(0K6[tZ>$(1Jik`(:,E$(0!{4^4d$(1,C1:1;197N$(0!{$(17V$(0Xo!{$(1EE$(0GMGNGL$(1RF$(0Kt$(1L1$(0OySRSPVI$(1]g$(0Xl(B")
-("\\nga" "$(0SI$(11"E(]_]]b7(B")
-("\\ngau" "$(1+~$(0!{*K!{4>$(17"7%$(0BX$(1=rDk$(0!{Ka(B")
-("\\niu" "$(1h_r(\5\:$(0^[$(1a*npa-a/$(0_K$(1d}r@$(0Z($(1e(p"p#d|$(0!{$(1h\$(0[X$(1k-k6$(0!{$(1k<$(0]P$(1m$nioso{o|ov$(0!{(B")
-("\\nui" "$(1:y4Y$(0!{$(14U4T$(0!{Ef@j$(1:|I[$(0Ei$(1B?I^V]$(0JL$(1ITV\Vc(B")
-("\\pao" "$(0Ho$(1Gbc__c(B")
-("\\saan" "$(1"8#`#b$(079!{!{$(1&@&G$(0!{$(1&C$(0/)$(1&E$(0!{/%$(1Vl$(02s$(1P4*!5!$(0<$$(15"5)$(0<#$(14x$(0;x;z!{@w$(1;L;I$(0Ek$(1Io;ABV$(0!{$(1IjP-$(0NTWR$(1\f(B")
-("\\sam" "$(1!\$(0*&[n$(1"C$(0Nu$(1#{J<#}#~$(0F#F$,;$(1#y$(0,:$(1&^$(0/H$(1&]$(0/P/E$(1&i$(0/N/O$(1&bW*$(0Jm$(1\r$(0F($(1*M!C;e$(07S7N$(1J0/*/+/($(07Q$(1/-$(0A/<G$(15C5A$(0<K<M<P<CF"$(1PO$(0A0A5A;A8$(1BoBn$(0JpNqNtNm!{RY$(1/!/"/#/$$(07E$(1J,$(0F'F&Nf$(1W#$(0UaXB$(1r+(B")
-("\\sau" "$(0<d$(1JG&}&y$(0/l3?$(1Pb*a/=/;5R<%$(0<q$(15V$(0Jy$(15^$(0<j$(15M$(0<o$(15_JQ<'<$$(0O-$(1<.$(0!{$(1;z$(0ARAE$(1<+a_C5C=C?C&K(C1C2CAJPhz$(0J|$(1PX$(0XJ$(1ad$(0O+$(1k\$(0!{$(1W1W/\x$(0Ul$(1eSo.q!$(07V$(15K;y$(09gUf(B")
-("\\sek" "$(0VQ$(1(=L8,T>U$(0!{$(1,N$(03L9'!{9#!{[~$(1kq$(09)!{9&$(11>1=1F$(0>@$(1>O>L]q7]7_$(0!{$(17\>Q$(0SWGX$(1EMELXqET$(0K|$(1L5$(0!{$(1L=RP$(0!{$(1RT$(0SV$(1]u]v$(0VP$(1bFiMf2f/(B")
-("\\si" "$(04~4|$(1,mkv$(0!{9I$(11y8,$(0>^>_Sq>W>X$(183$(0!{$(1?#$(0CC$(1F!F)E~$(0L:$(1Lw$(0!{$(1Lu$(0PCLH$(1LzLn$(0L7LGPD$(1Rq$(0PFPE$(1b`RuRvRwYDRr$(0SpSo$(1Y<$(0Sn$(1^=$(0SiSj\+VpVrVhVfVm$(1kx$(0Y#Y%!{$(1i[f@fBq1(B")
-("\\sik" "$(0]D^Q$(1nG`\$(0E#$(1dZ$(0E!$(1AT$(0E%IgMq$(1qJUk$(0QvU+!{Yt$(1g~g|$(0[P!{$(1jf$(0!{(B")
-("\\teng" "$(0TYWc$(1(o(r$(05c$(1-W$(05fYN5`?^5g$(1349h$(0^J$(19i$(0?W?c$(19l$(0DR$(1@s@uH)$(0I7$(1H'$(0QMMAMH(B")
-("\\to" "$(0.[!{$(1%veE$(0._$(1%|&"%u%y%}4E)U)VB-4>$(0!{!{2U2P$(1.O$(0E^@a$(1B,.P.U46$(0!{$(14;$(0;W!{$(14<4O494847:f:e$(0!{@b$(1B5$(0!{$(1IDI?$(0!{N?]T$(1#L$(0!{$(1VZ$(0RM)h)f$(1"*$(0X>$(1")$(0)gZ0+g(B")
-("\\wai" "$(0)a$(1"'40$(0+]$(1%r$(02M6j$(14/$(0;Q$(1VR(B")
-("\\woh" "$(1,\1U$(095$(11Q$(0!{@x$(1>^>\$(0GdGb$(1R\$(0P)Xr(B")
-("\\wong" "$(1"e$(0SD$(1Dy(-$(00u$(1,+$(04C4I!{$(1,,0o0n$(0=~$(10t0r$(08dG2$(1R-$(0G4BhBbBi$(1>$>">#$(0Bg$(1>'$(0G1G5$(1D|$(0G3VAKiOiSC\yOj$(1R0R,$(0OgSGVBV?$(1]V$(0^=(B")
-("\\yan" "$(0!{$(1)&$(0:w$(1OU(B")
-("\\yat" "$(1"O"N$:$(0Rr0<$(1',$(00"/~$(1's$(03X$(1*w*m*p$(09T$(1/W$(0Rq7t$(15m$(0!{AdFB$(1CG$(0K&$(1W?ah$(0\p(B")
-("\\yi" "$(1-P2w$(0:3$(12z$(0:2$(19:$(0Zv$(1@2@1@6_@G=f~cGN"$(0L~$(1N'$(0L}$(1N%N*$(0T5$(1T3$(0PqWDPsT4WB$(1_Ciyq<"v(z({$(01c:h$(1-d3JAG$(0?zDq(B")
-("\\yideuh" "$(0?w$(1AF$(0Dp$(1H\`C"r"tcx"qH1%)(u(w$(01YT^$(1(x3<-]-^[$$(0!{$(1-_@v$(0]{:X$(13A3@3?9t9m$(0DV$(1@xNU$(0MK$(1NRT~$(0Wh$(1j1lJ(B")
-("\\yin" "$(0:6:8:9$(1cK@=$(0D'D.D+$(1@C@FGNGTGO$(0H_$(1GU$(0HiHhQ#M/M.$(1N7T?TC$(0P|Q&P}Q$TFTG$(1ZV$(0Y?_;$(1_Nn'$(0[$(B")
-("\\yue" "$(1V'ok$(0!{!{$(1\)\*$(0X0$(1`w$(0X/$(1`yqM$(0X.$(1h?dtr?$(0^,$(1n]l{na$(0Z%[V$(1h7hEh:$(0[U!{$(1h<h=$(0[W!{$(1h>$(0!{$(1jz$(0_A\[$(1j}k'$(0!{!{!{$(1l|$(0]M$(1l}n^$(0^-$(1nZ$(0!{!{^Z^X$(1ogpg(B")
-("\\yuk" "$(1YU$(0?I$(1FI8Q8P8J$(0!{!{CRQWCT!{!{$(1F<$(0!{$(1M/$(0!{$(1FFB.BA$(0LV$(1S)$(0!{$(1^W^U$(0!{)I!{$(1$y$(0!{$(1'4$(0!{1416$(1(Q$(0!{!{!{\0$(1,}-#-+-)*|$(054$(18M$(09[!{$(12/$(09g7w!{(B")
-)
Index: mule-packages/leim/quail/cyrillic-tajik.el
===================================================================
RCS file: cyrillic-tajik.el
diff -N cyrillic-tajik.el
--- /dev/null Sun Oct 7 17:13:47 2007
+++ cyrillic-tajik.el Sun Oct 7 17:13:49 2007
@@ -0,0 +1,208 @@
+;;; quail/cyrillic-tajik.el -- Quail package for inputting Tajik in Cyrillic -*- coding: utf-8 -*-
+
+;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
+;; Licensed to the Free Software Foundation.
+;; Copyright (C) 2007 Free Software Foundation.
+
+;; Keywords: multilingual, input method, Cyrillic, Tajik
+
+;; This file is part of XEmacs.
+
+;; XEmacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; XEmacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with XEmacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'quail)
+
+;; This file breaks with 21.4 and early 21.5.
+(unless (and (fboundp 'decode-char) (decode-char 'ucs #x31C)
+ (eq #x31C (encode-char (decode-char 'ucs #x31C) 'ucs)))
+ (error 'unimplemented
+ "Unicode support needed for this file not available!"))
+
+;; Based on Valery Alexeev's cyrillic-translit. Aidan Kehoe, So Okt 7
+;; 16:50:03 CEST 2007
+
+(quail-define-package
+ "cyrillic-tajik" "Cyrillic" "Жt" nil
+ "Transliterated keyboard layout, with English consonant values. For Tajik.
+
+Russian alphabet: a b v=w g d e yo zh z i i' k l m n o p r s t
+u f kh=x c ch sh shch=sj=/s=/sht ~ y ' e' yu ya
+
+Tajik letters: gh = Ò“, i- = Ó£, q = Ò›, u- = Ó¯, h = Ò³, j = Ò·
+
+Notes:
+ for ц (TSE) use \"c\", never \"ts\"
+ щ (SHCHA = Bulgarian SHT) = \"shch\", \"sj\", \"/sht\" or \"/t\",
+ Ñ (REVERSE ROUNDED E) = \"e'\" or \"e`\"
+ Ñ… (KHA) when after Ñ (S) = \"x\" or \"kh\"
+ ъ (HARD SIGN) = \"~\", Ъ (CAPITAL HARD SIGN) = \"~~\",
+ ь (SOFT SIGN) = \"'\", Ь (CAPITAL SOFT SIGN) = \"''\",
+ Ñ (YA) = \"ya\"
+
+Also included are Ukrainian Ñ” (YE) = \"/e\" and Ñ— (YI) = \"yi\",
+Belorussian Ñž (SHORT U) = \"u'\",
+Serbian Ñ’ (DJE) = \"/d\", Ñ› (CHJE)= \"/ch\",
+Macedonian ѓ (GJE) = \"/g\", ѕ (DZE) = \"/s\", ќ (KJE) = \"/k\",
+cyrillic і (I DECIMAL) = \"/i\", ј (JE) = \"/j\",
+Ñ™ (LJE) = \"/l\", Ñš (NJE) = \"/n\" and ÑŸ (DZE) =\"/z\"."
+ nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("a" ?а) ;; U+0430 CYRILLIC SMALL LETTER A
+ ("A" ?Ð) ;; U+0410 CYRILLIC CAPITAL LETTER A
+ ("b" ?б) ;; U+0431 CYRILLIC SMALL LETTER BE
+ ("B" ?Б) ;; U+0411 CYRILLIC CAPITAL LETTER BE
+ ("c" ?ц) ;; U+0446 CYRILLIC SMALL LETTER TSE
+ ("C" ?Ц) ;; U+0426 CYRILLIC CAPITAL LETTER TSE
+ ("ch" ?ч) ;; U+0447 CYRILLIC SMALL LETTER CHE
+ ("Ch" ?Ч) ;; U+0427 CYRILLIC CAPITAL LETTER CHE
+ ("CH" ?Ч) ;; U+0427 CYRILLIC CAPITAL LETTER CHE
+ ("/ch" ?Ñ›) ;; U+045B CYRILLIC SMALL LETTER TSHE
+ ("/Ch" ?Ћ) ;; U+040B CYRILLIC CAPITAL LETTER TSHE
+ ("/CH" ?Ћ) ;; U+040B CYRILLIC CAPITAL LETTER TSHE
+ ("d" ?д) ;; U+0434 CYRILLIC SMALL LETTER DE
+ ("D" ?Д) ;; U+0414 CYRILLIC CAPITAL LETTER DE
+ ("/d" ?Ñ’) ;; U+0452 CYRILLIC SMALL LETTER DJE
+ ("/D" ?Ђ) ;; U+0402 CYRILLIC CAPITAL LETTER DJE
+ ("e" ?е) ;; U+0435 CYRILLIC SMALL LETTER IE
+ ("E" ?Е) ;; U+0415 CYRILLIC CAPITAL LETTER IE
+ ("@" ?Ñ) ;; U+044D CYRILLIC SMALL LETTER E
+ ("e'" ?Ñ) ;; U+044D CYRILLIC SMALL LETTER E
+ ("E'" ?Ð) ;; U+042D CYRILLIC CAPITAL LETTER E
+ ("e`" ?Ñ) ;; U+044D CYRILLIC SMALL LETTER E
+ ("E`" ?Ð) ;; U+042D CYRILLIC CAPITAL LETTER E
+ ("f" ?Ñ„) ;; U+0444 CYRILLIC SMALL LETTER EF
+ ("F" ?Ф) ;; U+0424 CYRILLIC CAPITAL LETTER EF
+ ("g" ?г) ;; U+0433 CYRILLIC SMALL LETTER GHE
+ ("G" ?Г) ;; U+0413 CYRILLIC CAPITAL LETTER GHE
+ ("/e" ?Ñ”) ;; U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE
+ ("/E" ?Є) ;; U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ ("/g" ?Ñ“) ;; U+0453 CYRILLIC SMALL LETTER GJE
+ ("/G" ?Ѓ) ;; U+0403 CYRILLIC CAPITAL LETTER GJE
+ ("gh" ?Ò“) ;; U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE
+ ("Gh" ?Ò’) ;; U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE
+ ("GH" ?Ò’) ;; U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE
+ ("H" ?Ò²) ;; U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+ ("h" ?Ò³) ;; U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER
+ ("i" ?и) ;; U+0438 CYRILLIC SMALL LETTER I
+ ("I" ?И) ;; U+0418 CYRILLIC CAPITAL LETTER I
+ ("i'" ?й) ;; U+0439 CYRILLIC SMALL LETTER SHORT I
+ ("I'" ?Й) ;; U+0419 CYRILLIC CAPITAL LETTER SHORT I
+ ("I-" ?Ó¢) ;; U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON
+ ("i-" ?Ó£) ;; U+04E3 CYRILLIC SMALL LETTER I WITH MACRON
+ ("i`" ?й) ;; U+0439 CYRILLIC SMALL LETTER SHORT I
+ ("I`" ?Й) ;; U+0419 CYRILLIC CAPITAL LETTER SHORT I
+ ("/i" ?Ñ–) ;; U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ ("/I" ?І) ;; U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ ("/j" ?ј) ;; U+0458 CYRILLIC SMALL LETTER JE
+ ("/J" ?Ј) ;; U+0408 CYRILLIC CAPITAL LETTER JE
+ ("J" ?Ò¶) ;; U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+ ("j" ?Ò·) ;; U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER
+ ("JA" ?Я) ;; U+042F CYRILLIC CAPITAL LETTER YA
+ ("JO" ?Ð) ;; U+0401 CYRILLIC CAPITAL LETTER IO
+ ("JU" ?Ю) ;; U+042E CYRILLIC CAPITAL LETTER YU
+ ("k" ?к) ;; U+043A CYRILLIC SMALL LETTER KA
+ ("K" ?К) ;; U+041A CYRILLIC CAPITAL LETTER KA
+ ("/k" ?ќ) ;; U+045C CYRILLIC SMALL LETTER KJE
+ ("/K" ?Ќ) ;; U+040C CYRILLIC CAPITAL LETTER KJE
+ ("kh" ?Ñ…) ;; U+0445 CYRILLIC SMALL LETTER HA
+ ("Kh" ?Ð¥) ;; U+0425 CYRILLIC CAPITAL LETTER HA
+ ("KH" ?Ð¥) ;; U+0425 CYRILLIC CAPITAL LETTER HA
+ ("l" ?л) ;; U+043B CYRILLIC SMALL LETTER EL
+ ("L" ?Л) ;; U+041B CYRILLIC CAPITAL LETTER EL
+ ("/l" ?Ñ™) ;; U+0459 CYRILLIC SMALL LETTER LJE
+ ("/L" ?Љ) ;; U+0409 CYRILLIC CAPITAL LETTER LJE
+ ("m" ?м) ;; U+043C CYRILLIC SMALL LETTER EM
+ ("M" ?М) ;; U+041C CYRILLIC CAPITAL LETTER EM
+ ("n" ?н) ;; U+043D CYRILLIC SMALL LETTER EN
+ ("N" ?Ð) ;; U+041D CYRILLIC CAPITAL LETTER EN
+ ("/n" ?Ñš) ;; U+045A CYRILLIC SMALL LETTER NJE
+ ("/N" ?Њ) ;; U+040A CYRILLIC CAPITAL LETTER NJE
+ ("o" ?о) ;; U+043E CYRILLIC SMALL LETTER O
+ ("O" ?О) ;; U+041E CYRILLIC CAPITAL LETTER O
+ ("p" ?п) ;; U+043F CYRILLIC SMALL LETTER PE
+ ("P" ?П) ;; U+041F CYRILLIC CAPITAL LETTER PE
+ ("Q" ?Я) ;; U+042F CYRILLIC CAPITAL LETTER YA
+ ("Q" ?Òš) ;; U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+ ("q" ?Ò›) ;; U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER
+ ("r" ?Ñ€) ;; U+0440 CYRILLIC SMALL LETTER ER
+ ("R" ?Ð ) ;; U+0420 CYRILLIC CAPITAL LETTER ER
+ ("s" ?Ñ) ;; U+0441 CYRILLIC SMALL LETTER ES
+ ("S" ?С) ;; U+0421 CYRILLIC CAPITAL LETTER ES
+ ("/s" ?Ñ•) ;; U+0455 CYRILLIC SMALL LETTER DZE
+ ("/S" ?Ð…) ;; U+0405 CYRILLIC CAPITAL LETTER DZE
+ ("sh" ?ш) ;; U+0448 CYRILLIC SMALL LETTER SHA
+ ("Sh" ?Ш) ;; U+0428 CYRILLIC CAPITAL LETTER SHA
+ ("SH" ?Ш) ;; U+0428 CYRILLIC CAPITAL LETTER SHA
+ ("shch" ?щ) ;; U+0449 CYRILLIC SMALL LETTER SHCHA
+ ("Shch" ?Щ) ;; U+0429 CYRILLIC CAPITAL LETTER SHCHA
+ ("SHCH" ?Щ) ;; U+0429 CYRILLIC CAPITAL LETTER SHCHA
+ ("/sht" ?щ) ;; U+0449 CYRILLIC SMALL LETTER SHCHA
+ ("/Sht" ?Щ) ;; U+0429 CYRILLIC CAPITAL LETTER SHCHA
+ ("/SHT" ?Щ) ;; U+0429 CYRILLIC CAPITAL LETTER SHCHA
+ ("sj" ?щ) ;; U+0449 CYRILLIC SMALL LETTER SHCHA
+ ("Sj" ?Щ) ;; U+0429 CYRILLIC CAPITAL LETTER SHCHA
+ ("SJ" ?Щ) ;; U+0429 CYRILLIC CAPITAL LETTER SHCHA
+ ("t" ?Ñ‚) ;; U+0442 CYRILLIC SMALL LETTER TE
+ ("T" ?Т) ;; U+0422 CYRILLIC CAPITAL LETTER TE
+ ("/t" ?щ) ;; U+0449 CYRILLIC SMALL LETTER SHCHA
+ ("/T" ?Щ) ;; U+0429 CYRILLIC CAPITAL LETTER SHCHA
+ ("u" ?у) ;; U+0443 CYRILLIC SMALL LETTER U
+ ("U" ?У) ;; U+0423 CYRILLIC CAPITAL LETTER U
+ ("u'" ?Ñž) ;; U+045E CYRILLIC SMALL LETTER SHORT U
+ ("U'" ?ÐŽ) ;; U+040E CYRILLIC CAPITAL LETTER SHORT U
+ ("U-" ?Ó®) ;; U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON
+ ("u-" ?Ó¯) ;; U+04EF CYRILLIC SMALL LETTER U WITH MACRON
+ ("v" ?в) ;; U+0432 CYRILLIC SMALL LETTER VE
+ ("V" ?Ð’) ;; U+0412 CYRILLIC CAPITAL LETTER VE
+ ("w" ?в) ;; U+0432 CYRILLIC SMALL LETTER VE
+ ("W" ?Ð’) ;; U+0412 CYRILLIC CAPITAL LETTER VE
+ ("x" ?Ñ…) ;; U+0445 CYRILLIC SMALL LETTER HA
+ ("X" ?Ð¥) ;; U+0425 CYRILLIC CAPITAL LETTER HA
+ ("y" ?Ñ‹) ;; U+044B CYRILLIC SMALL LETTER YERU
+ ("Y" ?Ы) ;; U+042B CYRILLIC CAPITAL LETTER YERU
+ ("ya" ?Ñ) ;; U+044F CYRILLIC SMALL LETTER YA
+ ("Ya" ?Я) ;; U+042F CYRILLIC CAPITAL LETTER YA
+ ("YA" ?Я) ;; U+042F CYRILLIC CAPITAL LETTER YA
+ ("ye" ?е) ;; U+0435 CYRILLIC SMALL LETTER IE
+ ("Ye" ?Е) ;; U+0415 CYRILLIC CAPITAL LETTER IE
+ ("YE" ?Е) ;; U+0415 CYRILLIC CAPITAL LETTER IE
+ ("yi" ?Ñ—) ;; U+0457 CYRILLIC SMALL LETTER YI
+ ("Yi" ?Ї) ;; U+0407 CYRILLIC CAPITAL LETTER YI
+ ("YI" ?Ї) ;; U+0407 CYRILLIC CAPITAL LETTER YI
+ ("yo" ?Ñ‘) ;; U+0451 CYRILLIC SMALL LETTER IO
+ ("Yo" ?Ð) ;; U+0401 CYRILLIC CAPITAL LETTER IO
+ ("YO" ?Ð) ;; U+0401 CYRILLIC CAPITAL LETTER IO
+ ("yu" ?ÑŽ) ;; U+044E CYRILLIC SMALL LETTER YU
+ ("Yu" ?Ю) ;; U+042E CYRILLIC CAPITAL LETTER YU
+ ("YU" ?Ю) ;; U+042E CYRILLIC CAPITAL LETTER YU
+ ("z" ?з) ;; U+0437 CYRILLIC SMALL LETTER ZE
+ ("Z" ?З) ;; U+0417 CYRILLIC CAPITAL LETTER ZE
+ ("/z" ?ÑŸ) ;; U+045F CYRILLIC SMALL LETTER DZHE
+ ("/Z" ?Ð) ;; U+040F CYRILLIC CAPITAL LETTER DZHE
+ ("zh" ?ж) ;; U+0436 CYRILLIC SMALL LETTER ZHE
+ ("Zh" ?Ж) ;; U+0416 CYRILLIC CAPITAL LETTER ZHE
+ ("ZH" ?Ж) ;; U+0416 CYRILLIC CAPITAL LETTER ZHE
+ ("~" ?ÑŠ) ;; U+044A CYRILLIC SMALL LETTER HARD SIGN
+ ("~~" "Ъ") ;; U+042A CYRILLIC CAPITAL LETTER HARD SIGN
+ ("'" ?ь) ;; U+044C CYRILLIC SMALL LETTER SOFT SIGN
+ ("''" "Ь") ;; U+042c CYRILLIC CAPITAL LETTER SOFT SIGN
+ ("`" ?ь)) ;; U+044C CYRILLIC SMALL LETTER SOFT SIGN
+
+
+
\ No newline at end of file
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[AC21.5] [Bug: 21.5-b21] list-colors-display
17 years
Stephen J. Turnbull
APPROVE COMMIT 21.5
Not for 21.4.
Please direct further discussion of the patch to XEmacs Patches
<xemacs-patches(a)xemacs.org>. Reply-To set.
Stephen J. Turnbull writes:
> Andreas Röhler writes:
> >
> > Command `list-colors-display' fails with error:
> >
> > "Wrong type argument: stringp, ("lightgreen")
> >
> > Diff below fixes it for me.
>
> And probably breaks it on TTYs, where it currently works fine. This
> requires more in-depth analysis.
What I came up with is below. Test suite passes, some light
interactive testing works on X11 and TTY devices. Rationale is in the
comment in x-faces.el.
Please watch for anomolies in color-handling. Shouldn't be any, AFAIK
this device method is only used for giving the user information.
That's why this bug hasn't been seen before now (it's been there since
2005-01-28).
Index: lisp/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/ChangeLog,v
retrieving revision 1.847
diff -u -U0 -r1.847 ChangeLog
--- lisp/ChangeLog 3 Oct 2007 16:53:38 -0000 1.847
+++ lisp/ChangeLog 7 Oct 2007 05:39:11 -0000
@@ -0,0 +1,5 @@
+2007-10-06 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * x-faces.el (x-color-list-internal): Should return a list of
+ strings. Make it so.
+
Index: lisp/x-faces.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/x-faces.el,v
retrieving revision 1.30
diff -u -r1.30 x-faces.el
--- lisp/x-faces.el 30 Sep 2007 11:59:35 -0000 1.30
+++ lisp/x-faces.el 7 Oct 2007 05:39:15 -0000
@@ -603,6 +603,15 @@
(defvar x-color-list-internal-cache)
+;; Ben originally coded this in 2005/01 to return a list of lists each
+;; containing a single string. This is apparently derived from use of
+;; this list in completion, but in fact `read-color-completion-table'
+;; already does this wrapping. So I'm changing this to return a list of
+;; strings as the TTY code does, and as expected by r-c-c-t.
+;; -- sjt 2007-10-06
+
+;; This function is probably also used by the GTK platform. Cf.
+;; gtk_color_list in src/objects-gtk.c.
(defun x-color-list-internal ()
(if (boundp 'x-color-list-internal-cache)
x-color-list-internal-cache
@@ -623,12 +632,12 @@
(setq p (point))
(end-of-line)
(setq color (buffer-substring p (point))
- clist (cons (list color) clist))
+ clist (cons color clist))
;; Ugh. If we want to be able to complete the lowercase form
;; of the color name, we need to add it twice! Yuck.
(let ((dcase (downcase color)))
(or (string= dcase color)
- (push (list dcase) clist)))
+ (push dcase clist)))
(forward-char 1))
(kill-buffer (current-buffer))))
(setq x-color-list-internal-cache clist)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[COMMIT] Comment out an assertion to avoid breaking the build
17 years
Aidan Kehoe
Okay, no need to have the build broken for everyone for the sake of some
build-time consistency checks.
APPROVE COMMIT
NOTE: This patch has been committed.
lisp/ChangeLog addition:
2007-10-03 Aidan Kehoe <kehoea(a)parhasard.net>
* unicode.el (featurep):
Comment out the assertion until the issue in
18179.49815.622843.336527(a)parhasard.net is fixed. This doesn't
remove any functionality, just a check.
XEmacs Trunk source patch:
Diff command: cvs -q diff -Nu
Files affected: lisp/unicode.el
===================================================================
RCS
Index: lisp/unicode.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/unicode.el,v
retrieving revision 1.24
diff -u -u -r1.24 unicode.el
--- lisp/unicode.el 2007/10/02 10:33:05 1.24
+++ lisp/unicode.el 2007/10/03 16:52:04
@@ -552,9 +552,11 @@
i))
(goto-char (point-min))
- (assert (re-search-forward (concat "["
- unicode-error-sequence-regexp-range
- "]"))
+ ;; Comment out until the issue in
+ ;; 18179.49815.622843.336527(a)parhasard.net is fixed.
+ (assert t ;(re-search-forward (concat "["
+ ; unicode-error-sequence-regexp-range
+ ; "]"))
nil
(format "Could not find char ?\\x%x in buffer" i))))
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[AC] Assert correct order in face cache
17 years
Didier Verna
NOTE: This patch has been committed. The version below is
informational only (whitespace differences have been removed).
Dear reviewers,
this patch implements Aidan's suggestion of asserting the
correct order of built-in faces additions to the cache.
src/ChangeLog addition:
2007-10-03 Didier Verna <didier(a)xemacs.org>
* faces.c (reset_face_cachels): Assert correct order of built-in
faces additions to the face cache, as per suggestion from Aidan.
XEmacs source patch:
Diff command: cvs -q diff -u -t -b -B -w
Files affected: src/faces.c
Index: src/faces.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/faces.c,v
retrieving revision 1.56
diff -u -u -t -b -B -w -r1.56 faces.c
--- src/faces.c 26 Sep 2007 13:28:00 -0000 1.56
+++ src/faces.c 3 Oct 2007 13:25:03 -0000
@@ -1584,6 +1584,7 @@
if (w->face_cachels)
{
int i;
+ face_index fi;
for (i = 0; i < Dynarr_length (w->face_cachels); i++)
{
@@ -1594,10 +1595,13 @@
Dynarr_reset (w->face_cachels);
/* #### NOTE: be careful with the order !
The cpp macros DEFAULT_INDEX and MODELINE_INDEX defined in
- redisplay.h depend on the code below, which is really clumsy.
+ redisplay.h depend on the code below. Please make sure to assert the
+ correct values if you ever add new built-in faces here.
-- dvl */
- get_builtin_face_cache_index (w, Vdefault_face);
- get_builtin_face_cache_index (w, Vmodeline_face);
+ fi = get_builtin_face_cache_index (w, Vdefault_face);
+ assert (fi == DEFAULT_INDEX);
+ fi = get_builtin_face_cache_index (w, Vmodeline_face);
+ assert (fi == MODELINE_INDEX);
XFRAME (w->frame)->window_face_cache_reset = 1;
}
}
--
New @-quartet featured CD Review !!
http://www.indie-music.com/modules.php?name=News&file=article&sid=6457
Didier Verna, didier(a)lrde.epita.fr, http://www.lrde.epita.fr/~didier
EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (1) 44 08 01 85
94276 Le Kremlin-Bicêtre, France Fax.+33 (1) 53 14 59 22 didier(a)xemacs.org
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[AC] Again, fix some DEFAULT_INDEX == 0 assumptions
17 years
Didier Verna
NOTE: This patch has been committed. The version below is
informational only (whitespace differences have been removed).
Dear reviewers,
here are again some new fixes for the DEFAULT_INDEX == 0
assumption. Oh boy. Do I miss C++ here :-(
src/ChangeLog addition:
2007-10-03 Didier Verna <didier(a)xemacs.org>
Again, fix some DEFAULT_INDEX == 0 assumptions. Actually, properly
initialize display_line structures.
* redisplay.h (DISPLAY_LINE_INIT): New macro. Properly initialize
the default_index field to DEFAULT_INDEX.
* frame.c (init_frame): Use it.
* redisplay.c (ensure_modeline_generated): Ditto.
* redisplay.c (generate_displayable_area): Ditto.
* redisplay.c (regenerate_window): Ditto.
* redisplay-output.c (sync_display_line_structs): Ditto.
* redisplay-output.c (redisplay_output_layout): Ditto.
XEmacs source patch:
Diff command: cvs -q diff -u -t -b -B -w
Files affected: src/redisplay-output.c src/redisplay.c src/redisplay.h src/frame.c
Index: src/frame.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/frame.c,v
retrieving revision 1.75
diff -u -u -t -b -B -w -r1.75 frame.c
--- src/frame.c 29 Aug 2006 14:10:54 -0000 1.75
+++ src/frame.c 3 Oct 2007 10:00:42 -0000
@@ -3605,7 +3605,7 @@
#endif
{
title_string_ichar_dynarr = Dynarr_new (Ichar);
- xzero (title_string_display_line);
+ DISPLAY_LINE_INIT (title_string_display_line);
}
}
Index: src/redisplay.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/redisplay.h,v
retrieving revision 1.24
diff -u -u -t -b -B -w -r1.24 redisplay.h
--- src/redisplay.h 26 Sep 2007 13:28:01 -0000 1.24
+++ src/redisplay.h 3 Oct 2007 10:00:42 -0000
@@ -329,6 +329,14 @@
face_index default_findex;
};
+#define DISPLAY_LINE_INIT(dl) \
+ do \
+ { \
+ xzero (dl); \
+ dl.default_findex = DEFAULT_INDEX; \
+ } \
+ while (0)
+
#define DISPLAY_LINE_HEIGHT(dl) \
(dl->ascent + dl->descent - (dl->clip + dl->top_clip))
#define DISPLAY_LINE_YPOS(dl) \
Index: src/redisplay.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/redisplay.c,v
retrieving revision 1.102
diff -u -u -t -b -B -w -r1.102 redisplay.c
--- src/redisplay.c 26 Sep 2007 13:28:01 -0000 1.102
+++ src/redisplay.c 3 Oct 2007 10:00:43 -0000
@@ -4529,7 +4529,8 @@
else
{
struct display_line modeline;
- xzero (modeline);
+
+ DISPLAY_LINE_INIT (modeline);
Dynarr_add (dla, modeline);
}
}
@@ -5355,8 +5356,7 @@
}
else
{
-
- xzero (dl);
+ DISPLAY_LINE_INIT (dl);
dlp = &dl;
local = 1;
}
@@ -5523,8 +5523,7 @@
}
else
{
-
- xzero (dl);
+ DISPLAY_LINE_INIT (dl);
dlp = &dl;
local = 1;
}
Index: src/redisplay-output.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/redisplay-output.c,v
retrieving revision 1.28
diff -u -u -t -b -B -w -r1.28 redisplay-output.c
--- src/redisplay-output.c 26 Sep 2007 13:28:01 -0000 1.28
+++ src/redisplay-output.c 3 Oct 2007 10:00:43 -0000
@@ -114,6 +114,9 @@
int db_elt;
int local = 0;
+ /* #### NOTE: practically, this is not needed because of the memcpy below.
+ #### However, it's cleaner and bugs-in-the-future proof. -- dvl */
+ DISPLAY_LINE_INIT (dl);
dlp = Dynarr_atp (ddla, line);
if (line >= Dynarr_largest (cdla))
{
@@ -1518,21 +1521,21 @@
IMAGE_INSTANCE_OPTIMIZE_OUTPUT (childii) =
IMAGE_INSTANCE_OPTIMIZE_OUTPUT (p);
- /* Although normalization is done by the output routines
- we have to do it here so that they don't try and
- clear all of db. This is true below also. */
+ /* Although normalization is done by the output routines we have to
+ do it here so that they don't try and clear all of db. This is
+ true below also. */
if (redisplay_normalize_glyph_area (&cdb, &cdga))
{
redisplay_normalize_display_box (&cdb, &cdga);
- /* Since the display boxes will now be totally in the
- window if they are visible at all we can now check this easily. */
+ /* Since the display boxes will now be totally in the window if
+ they are visible at all we can now check this easily. */
if (cdb.xpos < db->xpos || cdb.ypos < db->ypos
|| cdb.xpos + cdb.width > db->xpos + db->width
|| cdb.ypos + cdb.height > db->ypos + db->height)
continue;
- /* We have to invert the offset here as normalization
- will have made them positive which the output
- routines will treat as a truly +ve offset. */
+ /* We have to invert the offset here as normalization will have
+ made them positive which the output routines will treat as a
+ truly +ve offset. */
cdga.xoffset = -cdga.xoffset;
cdga.yoffset = -cdga.yoffset;
@@ -1551,7 +1554,10 @@
Lisp_Object string =
IMAGE_INSTANCE_TEXT_STRING (childii);
unsigned char charsets[NUM_LEADING_BYTES];
- struct face_cachel *cachel = WINDOW_FACE_CACHEL (w, findex);
+ struct face_cachel *cachel
+ = WINDOW_FACE_CACHEL (w, findex);
+
+ DISPLAY_LINE_INIT (dl);
find_charsets_in_ibyte_string (charsets,
XSTRING_DATA (string),
@@ -1559,24 +1565,26 @@
ensure_face_cachel_complete (cachel, window, charsets);
convert_ibyte_string_into_ichar_dynarr
- (XSTRING_DATA (string), XSTRING_LENGTH (string), buf);
+ (XSTRING_DATA (string), XSTRING_LENGTH (string),
+ buf);
redisplay_normalize_display_box (&cdb, &cdga);
/* Offsets are now +ve again so be careful
when fixing up the display line. */
- xzero (dl);
/* Munge boxes into display lines. */
dl.ypos = (cdb.ypos - cdga.yoffset)
+ glyph_ascent (child, image_instance);
dl.ascent = glyph_ascent (child, image_instance);
dl.descent = glyph_descent (child, image_instance);
dl.top_clip = cdga.yoffset;
- dl.clip = (dl.ypos + dl.descent) - (cdb.ypos + cdb.height);
+ dl.clip = (dl.ypos + dl.descent)
+ - (cdb.ypos + cdb.height);
/* output_string doesn't understand offsets in
the same way as other routines - we have to
add the offset to the width so that we
output the full string. */
- MAYBE_DEVMETH (d, output_string, (w, &dl, buf, cdb.xpos,
+ MAYBE_DEVMETH (d, output_string,
+ (w, &dl, buf, cdb.xpos,
cdga.xoffset, cdb.xpos,
cdga.width + cdga.xoffset,
findex, 0, 0, 0, 0));
--
New @-quartet featured CD Review !!
http://www.indie-music.com/modules.php?name=News&file=article&sid=6457
Didier Verna, didier(a)lrde.epita.fr, http://www.lrde.epita.fr/~didier
EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (1) 44 08 01 85
94276 Le Kremlin-Bicêtre, France Fax.+33 (1) 53 14 59 22 didier(a)xemacs.org
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[21.5R21.4] Implement replace-regexp-in-string with SUBEXP
17 years
Stephen J. Turnbull
21.5 RECOMMEND 21.4
This is reasonably complete, so I'm submitting it. Followups to
xemacs-patches, please. Reply-To set.
Stephen J. Turnbull writes:
> [Vin -- I'm not sure what status of 21.4 is w.r.t these APIs, but
> since it's an incompatibility with GNU, probably we ought to fix in
> 21.4 too. What do you want to do?]
>
> Please review and test the attached patch, as a proof of concept.
> The patch does compile and build, and the test Ville suggested passes.
Here's the patch again, with minimal tests.
Please review the tests at least to make sure that the behavior
implemented makes sense.
Index: tests/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/tests/ChangeLog,v
retrieving revision 1.95
diff -u -U0 -r1.95 ChangeLog
--- tests/ChangeLog 21 Aug 2007 12:39:06 -0000 1.95
+++ tests/ChangeLog 23 Sep 2007 20:58:56 -0000
@@ -0,0 +1,4 @@
+2007-09-23 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * automated/regexp-tests.el (replace-regexp-in-string): New tests.
+
Index: lisp/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/ChangeLog,v
retrieving revision 1.839
diff -u -U0 -r1.839 ChangeLog
--- lisp/ChangeLog 20 Sep 2007 21:18:33 -0000 1.839
+++ lisp/ChangeLog 24 Sep 2007 05:18:49 -0000
@@ -0,0 +1,4 @@
+2007-09-23 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * subr.el (replace-regexp-in-string): Handle SUBEXP arg properly.
+
Index: src/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/ChangeLog,v
retrieving revision 1.1094
diff -u -U0 -r1.1094 ChangeLog
--- src/ChangeLog 4 Sep 2007 21:20:18 -0000 1.1094
+++ src/ChangeLog 23 Sep 2007 04:36:07 -0000
@@ -0,0 +1,5 @@
+2007-09-22 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * search.c (Freplace_match): Allow STRBUFFER to specify a
+ subexpression when the source is a string.
+
Index: man/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/man/ChangeLog,v
retrieving revision 1.358
diff -u -U0 -r1.358 ChangeLog
--- man/ChangeLog 24 Aug 2007 22:26:42 -0000 1.358
+++ man/ChangeLog 23 Sep 2007 04:36:07 -0000
@@ -0,0 +1,6 @@
+2007-09-22 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * lispref/searching.texi (Replacing Match): Document the escapes
+ for changing case in `replace-match'. Document the change to
+ STRBUFFER to permit subexpressions in string replacement.
+
Index: tests/automated/regexp-tests.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/tests/automated/regexp-tests.el,v
retrieving revision 1.15
diff -u -r1.15 regexp-tests.el
--- tests/automated/regexp-tests.el 2 Feb 2005 11:37:21 -0000 1.15
+++ tests/automated/regexp-tests.el 23 Sep 2007 20:59:00 -0000
@@ -459,3 +459,39 @@
(Assert (null (match-string 2 text2)))
)
+;; replace-regexp-in-string (regexp rep source
+;; fixedcase literal buf-or-subexp start)
+
+;; Currently we test the following cases:
+;; where `cbuf' and `bar-or-empty' are bound below.
+
+;; #### Tests for the various functional features (fixedcase, literal,start)
+;; should be added.
+
+(with-temp-buffer
+ (flet ((bar-or-empty (subexp) (if (string= subexp "foo") "bar" "")))
+ (let ((cbuf (current-buffer)))
+ (dolist (test-case
+ ;; REP BUF-OR-SUBEXP EXPECTED RESULT
+ `(("bar" nil " bar")
+ ("bar" ,cbuf " bar")
+ ("bar" 0 " bar")
+ ("bar" 1 " bar foo")
+ (bar-or-empty nil " ")
+ (bar-or-empty ,cbuf " ")
+ (bar-or-empty 0 " ")
+ (bar-or-empty 1 " bar foo")))
+ (Assert
+ (string=
+ (nth 2 test-case)
+ (replace-regexp-in-string "\\(foo\\).*\\'" (nth 0 test-case)
+ " foo foo" nil nil (nth 1 test-case))))))))
+
+;; #### Tests for invalid arguments (esp. buf-or-subexp = 2) should be added.
+
+;; replace-match (REPLACEMENT &optional FIXEDCASE LITERAL STRING STRBUFFER)
+
+;; #### Write some tests! Much functionality is implicitly tested above
+;; via `replace-regexp-in-string', but we should specifically test bogus
+;; combinations of STRING and STRBUFFER.
+
Index: lisp/subr.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/subr.el,v
retrieving revision 1.41
diff -u -r1.41 subr.el
--- lisp/subr.el 7 Aug 2007 23:08:52 -0000 1.41
+++ lisp/subr.el 24 Sep 2007 05:16:20 -0000
@@ -791,14 +791,23 @@
Return a new string containing the replacements.
-Optional arguments FIXEDCASE, LITERAL and SUBEXP are like the
-arguments with the same names of function `replace-match'. If START
-is non-nil, start replacements at that index in STRING.
+Optional arguments FIXEDCASE and LITERAL are like the arguments with
+the same names of function `replace-match'. If START is non-nil,
+start replacements at that index in STRING.
+
+For compatibility with old XEmacs code and with recent GNU Emacs, the
+interpretation of SUBEXP is somewhat complicated. If SUBEXP is a
+buffer, it is interpreted as the buffer which provides syntax tables
+and case tables for the match and replacement. If it is not a buffer,
+the current buffer is used. If SUBEXP is an integer, it is the index
+of the subexpression of REGEXP which is to be replaced.
REP is either a string used as the NEWTEXT arg of `replace-match' or a
function. If it is a function it is applied to each match to generate
the replacement passed to `replace-match'; the match-data at this
-point are such that match 0 is the function's argument.
+point are such that `(match-string SUBEXP STRING)' is the function's
+argument if SUBEXP is an integer \(otherwise the whole match is passed
+and replaced).
To replace only the first match (if any), make REGEXP match up to \\'
and replace a sub-expression, e.g.
@@ -817,6 +826,7 @@
;; might be reasonable to do so for long enough STRING.]
(let ((l (length string))
(start (or start 0))
+ (expndx (if (integerp subexp) subexp 0))
matches str mb me)
(save-match-data
(while (and (< start l) (string-match regexp string start))
@@ -833,7 +843,7 @@
(setq matches
(cons (replace-match (if (stringp rep)
rep
- (funcall rep (match-string 0 str)))
+ (funcall rep (match-string expndx str)))
fixedcase literal str subexp)
(cons (substring string start mb) ; unmatched prefix
matches)))
Index: src/search.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/search.c,v
retrieving revision 1.46
diff -u -r1.46 search.c
--- src/search.c 24 Jan 2005 23:34:09 -0000 1.46
+++ src/search.c 23 Sep 2007 04:36:12 -0000
@@ -2364,15 +2364,22 @@
DEFUN ("replace-match", Freplace_match, 1, 5, 0, /*
Replace text matched by last search with REPLACEMENT.
-If second arg FIXEDCASE is non-nil, do not alter case of replacement text.
+Leaves point at end of replacement text.
+Optional boolean FIXEDCASE inhibits matching case of REPLACEMENT to source.
+Optional boolean LITERAL inhibits interpretation of escape sequences.
+Optional STRING provides the source text to replace.
+Optional STRBUFFER may be a buffer, providing match context, or an integer
+ specifying the subexpression to replace.
+
+If FIXEDCASE is non-nil, do not alter case of replacement text.
Otherwise maybe capitalize the whole text, or maybe just word initials,
based on the replaced text.
-If the replaced text has only capital letters
-and has at least one multiletter word, convert REPLACEMENT to all caps.
+If the replaced text has only capital letters and has at least one
+multiletter word, convert REPLACEMENT to all caps.
If the replaced text has at least one word starting with a capital letter,
then capitalize each word in REPLACEMENT.
-If third arg LITERAL is non-nil, insert REPLACEMENT literally.
+If LITERAL is non-nil, insert REPLACEMENT literally.
Otherwise treat `\\' as special:
`\\&' in REPLACEMENT means substitute original matched text.
`\\N' means substitute what matched the Nth `\\(...\\)'.
@@ -2385,24 +2392,31 @@
`\\E' means terminate the effect of any `\\U' or `\\L'.
Case changes made with `\\u', `\\l', `\\U', and `\\L' override
all other case changes that may be made in the replaced text.
-FIXEDCASE and LITERAL are optional arguments.
-Leaves point at end of replacement text.
-The optional fourth argument STRING can be a string to modify.
-In that case, this function creates and returns a new string
-which is made by replacing the part of STRING that was matched.
-When fourth argument is a string, fifth argument STRBUFFER specifies
-the buffer to be used for syntax-table and case-table lookup and
-defaults to the current buffer. When fourth argument is not a string,
-the buffer that the match occurred in has automatically been remembered
-and you do not need to specify it.
-
-When fourth argument is nil, STRBUFFER specifies a subexpression of
-the match. It says to replace just that subexpression instead of the
-whole match. This is useful only after a regular expression search or
-match since only regular expressions have distinguished subexpressions.
+If non-nil, STRING is the source string, and a new string with the specified
+replacements is created and returned. Otherwise the current buffer is the
+source text.
+
+If non-nil, STRBUFFER may be an integer, interpreted as the index of the
+subexpression to replace in the source text, or a buffer to provide the
+syntax table and case table. If nil, then the \"subexpression\" is 0, i.e.,
+the whole match, and the current buffer provides the syntax and case tables.
+If STRING is nil, STRBUFFER must be nil or an integer.
+
+Specifying a subexpression is only useful after a regular expression match,
+since a fixed string search has no non-trivial subexpressions.
+
+It is not possible to specify both a buffer and a subexpression. If that is
+desired, the idiom `(with-current-buffer BUFFER (replace-match ... INTEGER))'
+may be appropriate.
+
+If STRING is nil but the last thing matched (or searched) was a string, or
+STRING is a string but the last thing matched was a buffer, an
+`invalid-argument' error will be signaled. (XEmacs does not check that the
+last thing searched is the source string, but it is not useful to use a
+different string as source.)
-If no match (including searches) has been conducted or the requested
+If no match (including searches) has been successful or the requested
subexpression was not matched, an `args-out-of-range' error will be
signaled. (If no match has ever been conducted in this instance of
XEmacs, an `invalid-operation' error will be signaled. This is very
@@ -2430,31 +2444,59 @@
CHECK_STRING (replacement);
+ /* Because GNU decided to be incompatible here, we support the following
+ baroque and bogus API for the STRING and STRBUFFER arguments:
+ types interpretations
+ STRING STRBUFFER STRING STRBUFFER
+ nil nil none 0 = index of subexpression to replace
+ nil integer none index of subexpression to replace
+ nil other ***** error *****
+ string nil source current buffer provides syntax table
+ subexpression = 0 (whole match)
+ string buffer source buffer providing syntax table
+ subexpression = 0 (whole match)
+ string integer source current buffer provides syntax table
+ subexpression = STRBUFFER
+ string other ***** error *****
+ */
+
+ /* Do STRBUFFER first; if STRING is nil, we'll overwrite BUF and BUFFER. */
+
+ /* If the match data were abstracted into a special "match data" type
+ instead of the typical half-assed "let the implementation be visible"
+ form it's in, we could extend it to include the last string matched
+ and the buffer used for that matching. But of course we can't change
+ it as it is.
+ */
+ if (NILP (strbuffer) || BUFFERP (strbuffer))
+ {
+ buf = decode_buffer (strbuffer, 0);
+ }
+ else if (!NILP (strbuffer))
+ {
+ CHECK_INT (strbuffer);
+ sub = XINT (strbuffer);
+ if (sub < 0 || sub >= (int) search_regs.num_regs)
+ args_out_of_range (strbuffer, make_int (search_regs.num_regs));
+ buf = current_buffer;
+ }
+ else
+ invalid_argument ("STRBUFFER must be nil, a buffer, or an integer",
+ strbuffer);
+ buffer = wrap_buffer (buf);
+
if (! NILP (string))
{
CHECK_STRING (string);
if (!EQ (last_thing_searched, Qt))
- invalid_argument ("last thing matched was not a string", Qunbound);
- /* If the match data
- were abstracted into a special "match data" type instead
- of the typical half-assed "let the implementation be
- visible" form it's in, we could extend it to include
- the last string matched and the buffer used for that
- matching. But of course we can't change it as it is. */
- buf = decode_buffer (strbuffer, 0);
- buffer = wrap_buffer (buf);
+ invalid_argument ("last thing matched was not a string", Qunbound);
}
else
{
- if (!NILP (strbuffer))
- {
- CHECK_INT (strbuffer);
- sub = XINT (strbuffer);
- if (sub < 0 || sub >= (int) search_regs.num_regs)
- args_out_of_range (strbuffer, make_int (search_regs.num_regs));
- }
if (!BUFFERP (last_thing_searched))
- invalid_argument ("last thing matched was not a buffer", Qunbound);
+ invalid_argument ("last thing matched was not a buffer", Qunbound);
+ if (!NILP (strbuffer))
+ CHECK_INT (strbuffer);
buffer = last_thing_searched;
buf = XBUFFER (buffer);
}
@@ -2557,8 +2599,8 @@
Lisp_Object before, after;
speccount = specpdl_depth ();
- before = Fsubstring (string, Qzero, make_int (search_regs.start[0]));
- after = Fsubstring (string, make_int (search_regs.end[0]), Qnil);
+ before = Fsubstring (string, Qzero, make_int (search_regs.start[sub]));
+ after = Fsubstring (string, make_int (search_regs.end[sub]), Qnil);
/* Do case substitution into REPLACEMENT if desired. */
if (NILP (literal))
Index: man/lispref/searching.texi
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/man/lispref/searching.texi,v
retrieving revision 1.13
diff -u -r1.13 searching.texi
--- man/lispref/searching.texi 23 Feb 2005 15:33:38 -0000 1.13
+++ man/lispref/searching.texi 23 Sep 2007 04:36:12 -0000
@@ -1282,19 +1282,14 @@
@var{replacement}.
If you did the last search in a buffer, you should specify @code{nil}
-for @var{string}. Then @code{replace-match} does the replacement by
-editing the buffer; it leaves point at the end of the replacement text,
-and returns @code{t}.
+for @var{string}. (An error will be signaled if you don't.) Then
+@code{replace-match} does the replacement by editing the buffer; it
+leaves point at the end of the replacement text, and returns @code{t}.
If you did the search in a string, pass the same string as @var{string}.
-Then @code{replace-match} does the replacement by constructing and
-returning a new string.
-
-If the fourth argument @var{string} is a string, fifth argument
-@var{strbuffer} specifies the buffer to be used for syntax-table and
-case-table lookup and defaults to the current buffer. When @var{string}
-is not a string, the buffer that the match occurred in has automatically
-been remembered and you do not need to specify it.
+(An error will be signaled if you specify nil.) Then
+@code{replace-match} does the replacement by constructing and returning
+a new string.
If @var{fixedcase} is non-@code{nil}, then the case of the replacement
text is not changed; otherwise, the replacement text is converted to a
@@ -1317,20 +1312,64 @@
@table @asis
@item @samp{\&}
-@cindex @samp{&} in replacement
+@cindex @samp{\&} in replacement
@samp{\&} stands for the entire text being replaced.
@item @samp{\@var{n}}
@cindex @samp{\@var{n}} in replacement
+@cindex @samp{\@var{digit}} in replacement
@samp{\@var{n}}, where @var{n} is a digit, stands for the text that
matched the @var{n}th subexpression in the original regexp.
Subexpressions are those expressions grouped inside @samp{\(@dots{}\)}.
@item @samp{\\}
-@cindex @samp{\} in replacement
+@cindex @samp{\\} in replacement
@samp{\\} stands for a single @samp{\} in the replacement text.
+
+@item @samp{\u}
+@cindex @samp{\u} in replacement
+@samp{\u} means upcase the next character.
+
+@item @samp{\l}
+@cindex @samp{\l} in replacement
+@samp{\l} means downcase the next character.
+
+@item @samp{\U}
+@cindex @samp{\U} in replacement
+@samp{\U} means begin upcasing all following characters.
+
+@item @samp{\L}
+@cindex @samp{\L} in replacement
+@samp{\L} means begin downcasing all following characters.
+
+@item @samp{\E}
+@cindex @samp{\E} in replacement
+@samp{\E} means terminate the effect of any @samp{\U} or @samp{\L}.
@end table
+
+Case changes made with @samp{\u}, @samp{\l}, @samp{\U}, and @samp{\L}
+override all other case changes that may be made in the replaced text.
+
+The fifth argument @var{strbuffer} may be a buffer to be used for
+syntax-table and case-table lookup. If @var{strbuffer} is not a buffer,
+the current buffer is used. When @var{string} is not a string, the
+buffer that the match occurred in has automatically been remembered and
+you do not need to specify it. @var{string} may also be an integer,
+specifying the index of the subexpression to match. When @var{string}
+is not an integer, the ``subexpression'' is 0, @emph{i.e.}, the whole
+match. An @code{invalid-argument} error will be signaled if you specify
+a buffer when @var{string} is nil, or specify a subexpression which was
+not matched.
+
+It is not possible to specify both a buffer and a subexpression, but the
+idiom
+@example
+(with-current-buffer @var{buffer} (replace-match ... @var{integer}))
+@end example
+may be used.
+
@end defun
+
@node Entire Match Data
@subsection Accessing the Entire Match Data
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches