From e8e0f3c1d3cb2ccf4ff5c61fb82284b0d5290ec7 Mon Sep 17 00:00:00 2001 From: tomo Date: Mon, 17 May 1999 09:41:29 +0000 Subject: [PATCH] XEmacs 21.2.14. --- lisp/iso8859-1.el | 206 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 lisp/iso8859-1.el diff --git a/lisp/iso8859-1.el b/lisp/iso8859-1.el new file mode 100644 index 0000000..50bd40a --- /dev/null +++ b/lisp/iso8859-1.el @@ -0,0 +1,206 @@ +;;; iso8859-1.el --- Set case and syntax tables for Latin 1 + +;; Copyright (C) 1992, 1997 Free Software Foundation, Inc. + +;; Author: Jamie Zawinski +;; Created: 19-aug-92 +;; Maintainer: XEmacs Development Team +;; Keywords: internal, dumped + +;; 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., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Synched up with: Not synched + +;;; Commentary: + +;; created by jwz, 19-aug-92. +;; Sets the case and syntax tables for the ISO-8859/1 character set. + +;;; Code: + +(let ((table (standard-syntax-table))) + ;; + ;; The symbol characters + ;; + (modify-syntax-entry ?\240 "_" table) ; nobreakspace + (modify-syntax-entry ?\241 "." table) ; exclamdown + (modify-syntax-entry ?\242 "_" table) ; cent + (modify-syntax-entry ?\243 "_" table) ; sterling + (modify-syntax-entry ?\244 "_" table) ; currency + (modify-syntax-entry ?\245 "_" table) ; yen + (modify-syntax-entry ?\246 "_" table) ; brokenbar + (modify-syntax-entry ?\247 "_" table) ; section + (modify-syntax-entry ?\250 "_" table) ; diaeresis + (modify-syntax-entry ?\251 "_" table) ; copyright + (modify-syntax-entry ?\252 "_" table) ; ordfeminine + (modify-syntax-entry ?\253 "(\273" table) ; guillemotleft + (modify-syntax-entry ?\254 "_" table) ; notsign + (modify-syntax-entry ?\255 "_" table) ; hyphen + (modify-syntax-entry ?\256 "_" table) ; registered + (modify-syntax-entry ?\257 "_" table) ; macron + (modify-syntax-entry ?\260 "_" table) ; degree + (modify-syntax-entry ?\261 "_" table) ; plusminus + (modify-syntax-entry ?\262 "_" table) ; twosuperior + (modify-syntax-entry ?\263 "_" table) ; threesuperior + (modify-syntax-entry ?\264 "_" table) ; acute + (modify-syntax-entry ?\265 "_" table) ; mu + (modify-syntax-entry ?\266 "_" table) ; paragraph + (modify-syntax-entry ?\267 "_" table) ; periodcentered + (modify-syntax-entry ?\270 "_" table) ; cedilla + (modify-syntax-entry ?\271 "_" table) ; onesuperior + (modify-syntax-entry ?\272 "_" table) ; masculine + (modify-syntax-entry ?\273 ")\253" table) ; guillemotright + (modify-syntax-entry ?\274 "_" table) ; onequarter + (modify-syntax-entry ?\275 "_" table) ; onehalf + (modify-syntax-entry ?\276 "_" table) ; threequarters + (modify-syntax-entry ?\277 "_" table) ; questiondown + ;; + ;; the upper-case characters (plus "multiply" and "ssharp") + ;; + (modify-syntax-entry ?\300 "w" table) ; Agrave + (modify-syntax-entry ?\301 "w" table) ; Aacute + (modify-syntax-entry ?\302 "w" table) ; Acircumflex + (modify-syntax-entry ?\303 "w" table) ; Atilde + (modify-syntax-entry ?\304 "w" table) ; Adiaeresis + (modify-syntax-entry ?\305 "w" table) ; Aring + (modify-syntax-entry ?\306 "w" table) ; AE + (modify-syntax-entry ?\307 "w" table) ; Ccedilla + (modify-syntax-entry ?\310 "w" table) ; Egrave + (modify-syntax-entry ?\311 "w" table) ; Eacute + (modify-syntax-entry ?\312 "w" table) ; Ecircumflex + (modify-syntax-entry ?\313 "w" table) ; Ediaeresis + (modify-syntax-entry ?\314 "w" table) ; Igrave + (modify-syntax-entry ?\315 "w" table) ; Iacute + (modify-syntax-entry ?\316 "w" table) ; Icircumflex + (modify-syntax-entry ?\317 "w" table) ; Idiaeresis + (modify-syntax-entry ?\320 "w" table) ; ETH + (modify-syntax-entry ?\321 "w" table) ; Ntilde + (modify-syntax-entry ?\322 "w" table) ; Ograve + (modify-syntax-entry ?\323 "w" table) ; Oacute + (modify-syntax-entry ?\324 "w" table) ; Ocircumflex + (modify-syntax-entry ?\325 "w" table) ; Otilde + (modify-syntax-entry ?\326 "w" table) ; Odiaeresis + (modify-syntax-entry ?\327 "_" table) ; multiply + (modify-syntax-entry ?\330 "w" table) ; Ooblique + (modify-syntax-entry ?\331 "w" table) ; Ugrave + (modify-syntax-entry ?\332 "w" table) ; Uacute + (modify-syntax-entry ?\333 "w" table) ; Ucircumflex + (modify-syntax-entry ?\334 "w" table) ; Udiaeresis + (modify-syntax-entry ?\335 "w" table) ; Yacute + (modify-syntax-entry ?\336 "w" table) ; THORN + (modify-syntax-entry ?\337 "w" table) ; ssharp + ;; + ;; the lower-case characters (plus "division" and "ydiaeresis") + ;; + (modify-syntax-entry ?\340 "w" table) ; agrave + (modify-syntax-entry ?\341 "w" table) ; aacute + (modify-syntax-entry ?\342 "w" table) ; acircumflex + (modify-syntax-entry ?\343 "w" table) ; atilde + (modify-syntax-entry ?\344 "w" table) ; adiaeresis + (modify-syntax-entry ?\345 "w" table) ; aring + (modify-syntax-entry ?\346 "w" table) ; ae + (modify-syntax-entry ?\347 "w" table) ; ccedilla + (modify-syntax-entry ?\350 "w" table) ; egrave + (modify-syntax-entry ?\351 "w" table) ; eacute + (modify-syntax-entry ?\352 "w" table) ; ecircumflex + (modify-syntax-entry ?\353 "w" table) ; ediaeresis + (modify-syntax-entry ?\354 "w" table) ; igrave + (modify-syntax-entry ?\355 "w" table) ; iacute + (modify-syntax-entry ?\356 "w" table) ; icircumflex + (modify-syntax-entry ?\357 "w" table) ; idiaeresis + (modify-syntax-entry ?\360 "w" table) ; eth + (modify-syntax-entry ?\361 "w" table) ; ntilde + (modify-syntax-entry ?\362 "w" table) ; ograve + (modify-syntax-entry ?\363 "w" table) ; oacute + (modify-syntax-entry ?\364 "w" table) ; ocircumflex + (modify-syntax-entry ?\365 "w" table) ; otilde + (modify-syntax-entry ?\366 "w" table) ; odiaeresis + (modify-syntax-entry ?\367 "_" table) ; division + (modify-syntax-entry ?\370 "w" table) ; ooblique + (modify-syntax-entry ?\371 "w" table) ; ugrave + (modify-syntax-entry ?\372 "w" table) ; uacute + (modify-syntax-entry ?\373 "w" table) ; ucircumflex + (modify-syntax-entry ?\374 "w" table) ; udiaeresis + (modify-syntax-entry ?\375 "w" table) ; yacute + (modify-syntax-entry ?\376 "w" table) ; thorn + (modify-syntax-entry ?\377 "w" table) ; ydiaeresis + ) + + +(defconst iso8859/1-case-table nil + "The case table for ISO-8859/1 characters.") + +;;; This macro expands into +;;; (setq iso8859/1-case-table (purecopy '("..." nil nil nil))) +;;; doing the computation of the case table at compile-time. + +((macro + . (lambda (&rest pairs) + (let ((downcase (make-string 256 0)) + (i 0)) + (while (< i 256) + (aset downcase i (if (and (>= i ?A) (<= i ?Z)) (+ i 32) i)) + (setq i (1+ i))) + (while pairs + (aset downcase (car (car pairs)) (car (cdr (car pairs)))) + (setq pairs (cdr pairs))) + (cons 'setq + (cons 'iso8859/1-case-table + (list (list 'purecopy + (list 'quote + (list downcase nil nil nil))))))))) + + (?\300 ?\340) ; Agrave + (?\301 ?\341) ; Aacute + (?\302 ?\342) ; Acircumflex + (?\303 ?\343) ; Atilde + (?\304 ?\344) ; Adiaeresis + (?\305 ?\345) ; Aring + (?\306 ?\346) ; AE + (?\307 ?\347) ; Ccedilla + (?\310 ?\350) ; Egrave + (?\311 ?\351) ; Eacute + (?\312 ?\352) ; Ecircumflex + (?\313 ?\353) ; Ediaeresis + (?\314 ?\354) ; Igrave + (?\315 ?\355) ; Iacute + (?\316 ?\356) ; Icircumflex + (?\317 ?\357) ; Idiaeresis + (?\320 ?\360) ; ETH + (?\321 ?\361) ; Ntilde + (?\322 ?\362) ; Ograve + (?\323 ?\363) ; Oacute + (?\324 ?\364) ; Ocircumflex + (?\325 ?\365) ; Otilde + (?\326 ?\366) ; Odiaeresis + (?\330 ?\370) ; Ooblique + (?\331 ?\371) ; Ugrave + (?\332 ?\372) ; Uacute + (?\333 ?\373) ; Ucircumflex + (?\334 ?\374) ; Udiaeresis + (?\335 ?\375) ; Yacute + (?\336 ?\376) ; THORN + ) + +(set-standard-case-table (mapcar 'copy-sequence iso8859/1-case-table)) + +(setq-default ctl-arrow 'iso-8859/1) + +(provide 'iso8859-1) + +;;; iso8859-1.el ends here -- 1.7.10.4