Mercurial > emacs
view lisp/international/latin-8.el @ 67575:d0f7b15488df
(bibtex-expand-strings)
(bibtex-autokey-expand-string, bibtex-name-part)
(bibtex-entry-type-whitespace, bibtex-entry-type-str)
(bibtex-any-entry-maybe-empty-head, bibtex-string-type)
(bibtex-preamble-prefix, bibtex-string-empty-key): New variables.
(bibtex-entry-type, bibtex-entry-head): Match only valid entries.
(bibtex-entry-postfix, bibtex-known-entry-type-re)
(bibtex-valid-entry-re, bibtex-any-valid-entry-re)
(bibtex-valid-entry-whitespace-re, bibtex-empty-field-re)
(bibtex-field-name-for-parsing, bibtex-remove-delimiters-string)
(bibtex-beginning-of-last-entry): Remove.
(bibtex-parse-field-name): Use bibtex-field-name. Issue error
message if comma is missing but buffer is read-only.
(bibtex-parse-field-text): Handle whitespaces at the end of field
text. Return 3-element list with beginning and end of field text
and end of field.
(bibtex-end-of-text-in-field, bibtex-end-of-field): Change accordingly.
(bibtex-parse-field): Remove arg name. Use bibtex-field-name.
(bibtex-search-forward-field, bibtex-search-backward-field):
Search always delimited by limits of entry. Use more efficient
search algorithms.
(bibtex-name-in-field): Use bibtex-start-of-name-in-field and
bibtex-end-of-name-in-field.
(bibtex-text-in-field-bounds): Handle BibTeX strings when
extracting the content of a field.
(bibtex-text-in-field): Use search limits.
(bibtex-parse-string-prefix): Handle empty string keys based on
bibtex-string-empty-key.
(bibtex-parse-string): Fix docstring.
(bibtex-text-in-string): Use bibtex-text-in-field-bounds.
(bibtex-preamble-prefix, bibtex-strings): New functions.
(bibtex-skip-to-valid-entry): Include preceding whitespace in
BibTeX entries (consistent with other BibTeX functions).
(bibtex-map-entries): Use bibtex-skip-to-valid-entry.
(bibtex-search-entry): Fix docstring. Simplify.
(bibtex-flash-head, bibtex-complete-string-cleanup)
(bibtex-count-entries, bibtex-sort-buffer): Simplify.
(bibtex-beginning-of-first-entry): Use bibtex-skip-to-valid-entry.
(bibtex-parse-entry): New optional arg content.
(bibtex-format-entry, bibtex-autofill-entry, bibtex-url): Use it.
Use bibtex-text-in-field-bounds.
(bibtex-print-help-message): Handle BibTeX strings and preambles.
(bibtex-end-of-entry): Use bibtex-preamble-prefix and
bibtex-parse-string-postfix.
(bibtex-find-text-internal): New function.
(bibtex-remove-delimiters): Use it.
(bibtex-find-text): Use it. New optional arg help.
(bibtex-complete): Handle BibTeX string and preamble entries.
(bibtex-Preamble): Fix order of closing delimiters.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 14 Dec 2005 17:15:20 +0000 |
parents | 18a818a2ee7c |
children | 43cc94d955c2 |
line wrap: on
line source
;;; latin-8.el --- set up case-conversion and syntax tables for ISO Latin-8 ;; Copyright (C) 1988, 1997, 1999, 2005 Free Software Foundation, Inc. ;; Author: Dave Love ;; Maintainer: FSF ;; Keywords: i18n ;; This file is part of GNU Emacs. ;; GNU Emacs 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. ;; GNU Emacs 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 GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Commentary: ;; Case-conversion and syntax tables for ISO-8859-14 (Latin-8), ;; adapted from latin-1.el. ;; <URL:http://czyborra.com/charsets/iso8859.html>: ;; Latin8 adds the last Gaelic and Welsh (cy) letters to Latin1 to cover ;; all Celtic languages. ;; The differences from Latin-1 are starred in the comments below. ;; This is now ISO/IEC 8859-8:1999. As of 1999-05, there was a `final ;; proof' at <URL:http://www.indigo.ie/egt/standards/iso8859/8859-14-en.pdf>. ;; See also <URL:http://www.itscj.ipsj.or.jp/ISO-IR/199.pdf>. ;;; Code: (require 'case-table) (let ((tbl (standard-case-table)) (set-case-syntax-offset (if set-case-syntax-set-multibyte (- (make-char 'latin-iso8859-14) 128) 0))) ;; NBSP isn't semantically interchangeable with other whitespace chars, ;; so it's more like punctation. (set-case-syntax 160 "." tbl) ;no-break space (set-case-syntax-pair 161 162 tbl) ;latin letter b with dot above * (set-case-syntax 163 "w" tbl) ;pound sign (set-case-syntax-pair 164 165 tbl) ;latin letter c with dot above * (set-case-syntax-pair 166 171 tbl) ;latin letter d with dot above * (set-case-syntax 167 "." tbl) ;section sign (set-case-syntax-pair 168 184 tbl) ;latin letter w with grave * (set-case-syntax 169 "_" tbl) ;copyright sign (set-case-syntax-pair 170 186 tbl) ;latin letter w with acute * (set-case-syntax-pair 172 188 tbl) ;latin letter y with grave * (set-case-syntax 173 "_" tbl) ;soft hyphen (set-case-syntax 174 "_" tbl) ;registered sign (set-case-syntax-pair 175 255 tbl) ;latin letter y with diaeresis * (set-case-syntax-pair 176 177 tbl) ;capital f with dot above * (set-case-syntax-pair 178 179 tbl) ;latin letter g with dot above * (set-case-syntax-pair 180 181 tbl) ;latin letter m with dot above * (set-case-syntax 182 "w" tbl) ;pilcrow sign (set-case-syntax-pair 183 185 tbl) ;latin letter p with dot above * (set-case-syntax-pair 187 191 tbl) ;latin letter s with dot above * (set-case-syntax-pair 189 190 tbl) ;latin letter w with diaeresis * (set-case-syntax-pair 192 224 tbl) ;latin letter a with grave (set-case-syntax-pair 193 225 tbl) ;latin letter a with acute (set-case-syntax-pair 194 226 tbl) ;latin letter a with circumflex (set-case-syntax-pair 195 227 tbl) ;latin letter a with tilde (set-case-syntax-pair 196 228 tbl) ;latin letter a with diaeresis (set-case-syntax-pair 197 229 tbl) ;latin letter a with ring above (set-case-syntax-pair 198 230 tbl) ;latin letter ae (set-case-syntax-pair 199 231 tbl) ;latin letter c with cedilla (set-case-syntax-pair 200 232 tbl) ;latin letter e with grave (set-case-syntax-pair 201 233 tbl) ;latin letter e with acute (set-case-syntax-pair 202 234 tbl) ;latin letter e with circumflex (set-case-syntax-pair 203 235 tbl) ;latin letter e with diaeresis (set-case-syntax-pair 204 236 tbl) ;latin letter i with grave (set-case-syntax-pair 205 237 tbl) ;latin letter i with acute (set-case-syntax-pair 206 238 tbl) ;latin letter i with circumflex (set-case-syntax-pair 207 239 tbl) ;latin letter i with diaeresis (set-case-syntax-pair 208 240 tbl) ;latin letter w with circumflex * (set-case-syntax-pair 209 241 tbl) ;latin letter n with tilde (set-case-syntax-pair 210 242 tbl) ;latin letter o with grave (set-case-syntax-pair 211 243 tbl) ;latin letter o with acute (set-case-syntax-pair 212 244 tbl) ;latin letter o with circumflex (set-case-syntax-pair 213 245 tbl) ;latin letter o with tilde (set-case-syntax-pair 214 246 tbl) ;latin letter o with diaeresis (set-case-syntax-pair 215 247 tbl) ;latin letter t with dot above * (set-case-syntax-pair 216 248 tbl) ;latin letter o with stroke (set-case-syntax-pair 217 249 tbl) ;latin letter u with grave (set-case-syntax-pair 218 250 tbl) ;latin letter u with acute (set-case-syntax-pair 219 251 tbl) ;latin letter u with circumflex (set-case-syntax-pair 220 252 tbl) ;latin letter u with diaeresis (set-case-syntax-pair 221 253 tbl) ;latin letter y with acute (set-case-syntax-pair 222 254 tbl) ;latin letter y with circumflex * (set-case-syntax 223 "w" tbl)) ;latin small letter sharp s ;; When preloading this file, don't provide the feature. ;; Explicit `require' is used to load this for 8-bit characters. (or set-case-syntax-set-multibyte (provide 'latin-8)) ;; Don't compile this file: src/Makefile.in instructs make-docfile ;; to look at the .el file! ;; Local Variables: ;; no-byte-compile: t ;; End: ;; arch-tag: a916b4b5-4204-485b-8b57-8ab3a43a2e29 ;;; latin-8.el ends here