home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.006 / xemacs-1 / lib / xemacs-19.13 / lisp / iso / iso8859-1.el < prev    next >
Encoding:
Text File  |  1995-03-25  |  7.7 KB  |  191 lines

  1. ;; Sets the case and syntax tables for the ISO-8859/1 character set.
  2. ;; Copyright (C) 1992 Free Software Foundation, Inc.
  3.  
  4. ;; This file is part of XEmacs.
  5.  
  6. ;; XEmacs is free software; you can redistribute it and/or modify it
  7. ;; under the terms of the GNU General Public License as published by
  8. ;; the Free Software Foundation; either version 2, or (at your option)
  9. ;; any later version.
  10.  
  11. ;; XEmacs is distributed in the hope that it will be useful, but
  12. ;; WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14. ;; General Public License for more details.
  15.  
  16. ;; You should have received a copy of the GNU General Public License
  17. ;; along with XEmacs; see the file COPYING.  If not, write to the Free
  18. ;; Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. ;; created by jwz, 19-aug-92.
  21.  
  22. (let ((table (standard-syntax-table)))
  23.   ;;
  24.   ;; The symbol characters
  25.   ;;
  26.   (modify-syntax-entry ?\240 "_"     table)   ; nobreakspace
  27.   (modify-syntax-entry ?\241 "."     table)   ; exclamdown
  28.   (modify-syntax-entry ?\242 "_"     table)   ; cent
  29.   (modify-syntax-entry ?\243 "_"     table)   ; sterling
  30.   (modify-syntax-entry ?\244 "_"     table)   ; currency
  31.   (modify-syntax-entry ?\245 "_"     table)   ; yen
  32.   (modify-syntax-entry ?\246 "_"     table)   ; brokenbar
  33.   (modify-syntax-entry ?\247 "_"     table)   ; section
  34.   (modify-syntax-entry ?\250 "_"     table)   ; diaeresis
  35.   (modify-syntax-entry ?\251 "_"     table)   ; copyright
  36.   (modify-syntax-entry ?\252 "_"     table)   ; ordfeminine
  37.   (modify-syntax-entry ?\253 "(\273" table)   ; guillemotleft
  38.   (modify-syntax-entry ?\254 "_"     table)   ; notsign
  39.   (modify-syntax-entry ?\255 "_"     table)   ; hyphen
  40.   (modify-syntax-entry ?\256 "_"     table)   ; registered
  41.   (modify-syntax-entry ?\257 "_"     table)   ; macron
  42.   (modify-syntax-entry ?\260 "_"     table)   ; degree
  43.   (modify-syntax-entry ?\261 "_"     table)   ; plusminus
  44.   (modify-syntax-entry ?\262 "_"     table)   ; twosuperior
  45.   (modify-syntax-entry ?\263 "_"     table)   ; threesuperior
  46.   (modify-syntax-entry ?\264 "_"     table)   ; acute
  47.   (modify-syntax-entry ?\265 "_"     table)   ; mu
  48.   (modify-syntax-entry ?\266 "_"     table)   ; paragraph
  49.   (modify-syntax-entry ?\267 "_"     table)   ; periodcentered
  50.   (modify-syntax-entry ?\270 "_"     table)   ; cedilla
  51.   (modify-syntax-entry ?\271 "_"     table)   ; onesuperior
  52.   (modify-syntax-entry ?\272 "_"     table)   ; masculine
  53.   (modify-syntax-entry ?\273 ")\253" table)   ; guillemotright
  54.   (modify-syntax-entry ?\274 "_"     table)   ; onequarter
  55.   (modify-syntax-entry ?\275 "_"     table)   ; onehalf
  56.   (modify-syntax-entry ?\276 "_"     table)   ; threequarters
  57.   (modify-syntax-entry ?\277 "_"     table)   ; questiondown
  58.   ;;
  59.   ;; the upper-case characters (plus "multiply" and "ssharp") 
  60.   ;;
  61.   (modify-syntax-entry ?\300 "w" table)   ; Agrave
  62.   (modify-syntax-entry ?\301 "w" table)   ; Aacute
  63.   (modify-syntax-entry ?\302 "w" table)   ; Acircumflex
  64.   (modify-syntax-entry ?\303 "w" table)   ; Atilde
  65.   (modify-syntax-entry ?\304 "w" table)   ; Adiaeresis
  66.   (modify-syntax-entry ?\305 "w" table)   ; Aring
  67.   (modify-syntax-entry ?\306 "w" table)   ; AE
  68.   (modify-syntax-entry ?\307 "w" table)   ; Ccedilla
  69.   (modify-syntax-entry ?\310 "w" table)   ; Egrave
  70.   (modify-syntax-entry ?\311 "w" table)   ; Eacute
  71.   (modify-syntax-entry ?\312 "w" table)   ; Ecircumflex
  72.   (modify-syntax-entry ?\313 "w" table)   ; Ediaeresis
  73.   (modify-syntax-entry ?\314 "w" table)   ; Igrave
  74.   (modify-syntax-entry ?\315 "w" table)   ; Iacute
  75.   (modify-syntax-entry ?\316 "w" table)   ; Icircumflex
  76.   (modify-syntax-entry ?\317 "w" table)   ; Idiaeresis
  77.   (modify-syntax-entry ?\320 "w" table)   ; ETH
  78.   (modify-syntax-entry ?\321 "w" table)   ; Ntilde
  79.   (modify-syntax-entry ?\322 "w" table)   ; Ograve
  80.   (modify-syntax-entry ?\323 "w" table)   ; Oacute
  81.   (modify-syntax-entry ?\324 "w" table)   ; Ocircumflex
  82.   (modify-syntax-entry ?\325 "w" table)   ; Otilde
  83.   (modify-syntax-entry ?\326 "w" table)   ; Odiaeresis
  84.   (modify-syntax-entry ?\327 "_" table)   ; multiply
  85.   (modify-syntax-entry ?\330 "w" table)   ; Ooblique
  86.   (modify-syntax-entry ?\331 "w" table)   ; Ugrave
  87.   (modify-syntax-entry ?\332 "w" table)   ; Uacute
  88.   (modify-syntax-entry ?\333 "w" table)   ; Ucircumflex
  89.   (modify-syntax-entry ?\334 "w" table)   ; Udiaeresis
  90.   (modify-syntax-entry ?\335 "w" table)   ; Yacute
  91.   (modify-syntax-entry ?\336 "w" table)   ; THORN
  92.   (modify-syntax-entry ?\337 "w" table)   ; ssharp
  93.   ;;
  94.   ;; the lower-case characters (plus "division" and "ydiaeresis")
  95.   ;;
  96.   (modify-syntax-entry ?\340 "w" table)   ; agrave
  97.   (modify-syntax-entry ?\341 "w" table)   ; aacute
  98.   (modify-syntax-entry ?\342 "w" table)   ; acircumflex
  99.   (modify-syntax-entry ?\343 "w" table)   ; atilde
  100.   (modify-syntax-entry ?\344 "w" table)   ; adiaeresis
  101.   (modify-syntax-entry ?\345 "w" table)   ; aring
  102.   (modify-syntax-entry ?\346 "w" table)   ; ae
  103.   (modify-syntax-entry ?\347 "w" table)   ; ccedilla
  104.   (modify-syntax-entry ?\350 "w" table)   ; egrave
  105.   (modify-syntax-entry ?\351 "w" table)   ; eacute
  106.   (modify-syntax-entry ?\352 "w" table)   ; ecircumflex
  107.   (modify-syntax-entry ?\353 "w" table)   ; ediaeresis
  108.   (modify-syntax-entry ?\354 "w" table)   ; igrave
  109.   (modify-syntax-entry ?\355 "w" table)   ; iacute
  110.   (modify-syntax-entry ?\356 "w" table)   ; icircumflex
  111.   (modify-syntax-entry ?\357 "w" table)   ; idiaeresis
  112.   (modify-syntax-entry ?\360 "w" table)   ; eth
  113.   (modify-syntax-entry ?\361 "w" table)   ; ntilde
  114.   (modify-syntax-entry ?\362 "w" table)   ; ograve
  115.   (modify-syntax-entry ?\363 "w" table)   ; oacute
  116.   (modify-syntax-entry ?\364 "w" table)   ; ocircumflex
  117.   (modify-syntax-entry ?\365 "w" table)   ; otilde
  118.   (modify-syntax-entry ?\366 "w" table)   ; odiaeresis
  119.   (modify-syntax-entry ?\367 "_" table)   ; division
  120.   (modify-syntax-entry ?\370 "w" table)   ; ooblique
  121.   (modify-syntax-entry ?\371 "w" table)   ; ugrave
  122.   (modify-syntax-entry ?\372 "w" table)   ; uacute
  123.   (modify-syntax-entry ?\373 "w" table)   ; ucircumflex
  124.   (modify-syntax-entry ?\374 "w" table)   ; udiaeresis
  125.   (modify-syntax-entry ?\375 "w" table)   ; yacute
  126.   (modify-syntax-entry ?\376 "w" table)   ; thorn
  127.   (modify-syntax-entry ?\377 "w" table)   ; ydiaeresis
  128.   )
  129.  
  130.  
  131. (defconst iso8859/1-case-table nil
  132.   "The case table for ISO-8859/1 characters.")
  133.  
  134. ;;; This macro expands into
  135. ;;;  (setq iso8859/1-case-table (purecopy '("..." nil nil nil)))
  136. ;;; doing the computation of the case table at compile-time.
  137.  
  138. ((macro
  139.   . (lambda (&rest pairs)
  140.       (let ((downcase (make-string 256 0))
  141.         (i 0))
  142.     (while (< i 256)
  143.       (aset downcase i (if (and (>= i ?A) (<= i ?Z)) (+ i 32) i))
  144.       (setq i (1+ i)))
  145.     (while pairs
  146.       (aset downcase (car (car pairs)) (car (cdr (car pairs))))
  147.       (setq pairs (cdr pairs)))
  148.     (cons 'setq
  149.           (cons 'iso8859/1-case-table
  150.             (list (list 'purecopy
  151.                 (list 'quote
  152.                       (list downcase nil nil nil)))))))))
  153.  
  154.  (?\300  ?\340)        ; Agrave
  155.  (?\301  ?\341)        ; Aacute
  156.  (?\302  ?\342)        ; Acircumflex
  157.  (?\303  ?\343)        ; Atilde
  158.  (?\304  ?\344)        ; Adiaeresis
  159.  (?\305  ?\345)        ; Aring
  160.  (?\306  ?\346)        ; AE
  161.  (?\307  ?\347)        ; Ccedilla
  162.  (?\310  ?\350)        ; Egrave
  163.  (?\311  ?\351)        ; Eacute
  164.  (?\312  ?\352)        ; Ecircumflex
  165.  (?\313  ?\353)        ; Ediaeresis
  166.  (?\314  ?\354)        ; Igrave
  167.  (?\315  ?\355)        ; Iacute
  168.  (?\316  ?\356)        ; Icircumflex
  169.  (?\317  ?\357)        ; Idiaeresis
  170.  (?\320  ?\360)        ; ETH
  171.  (?\321  ?\361)        ; Ntilde
  172.  (?\322  ?\362)        ; Ograve
  173.  (?\323  ?\363)        ; Oacute
  174.  (?\324  ?\364)        ; Ocircumflex
  175.  (?\325  ?\365)        ; Otilde
  176.  (?\326  ?\366)        ; Odiaeresis
  177.  (?\330  ?\370)        ; Ooblique
  178.  (?\331  ?\371)        ; Ugrave
  179.  (?\332  ?\372)        ; Uacute
  180.  (?\333  ?\373)        ; Ucircumflex
  181.  (?\334  ?\374)        ; Udiaeresis
  182.  (?\335  ?\375)        ; Yacute
  183.  (?\336  ?\376)        ; THORN
  184.  )
  185.  
  186. (set-standard-case-table (mapcar 'copy-sequence iso8859/1-case-table))
  187.  
  188. (setq-default ctl-arrow 'iso-8859/1)
  189.  
  190. (provide 'iso8859-1)
  191.