view lisp/language/hebrew.el @ 20555:80a546059cbd

(move_gap): Use move_gap_both. (move_gap_both): New function. (gap_left, gap_right): Take both charpos and bytepos args. (adjust_markers_gap_motion): Renamed from adjust_markers and simplified. (adjust_markers_for_delete): New function. (adjust_markers_for_insert): Take args in chars and bytes. Also new arg BEFORE_MARKERS. One call does all marker updating needed for any insert. (adjust_point): Take 2 args and update PT and PT_BYTE. (make_gap): Handle bytes vs chars. (insert, insert_and_inherit): Handle bytes vs chars. Pass new BEFORE_MARKERS arg to insert_1. (insert_before_markers, insert_before_markers_and_inherit): Likewise. (insert_from_string, insert_from_string_before_markers): Likewise. (insert_from_buffer): Likewise. (insert_1): Handle bytes vs chars. New arg BEFORE_MARKERS. (insert_from_string_1, insert_from_buffer_1): Likewise. (replace_range): Likewise. (del_range_2): New subroutine, taken from del_range_1. (del_range_1): Use del_range_2. (del_range_byte, del_range_both): New functions.
author Richard M. Stallman <rms@gnu.org>
date Thu, 01 Jan 1998 07:03:19 +0000
parents dce0d588d203
children dcad2d056d80
line wrap: on
line source

;;; hebrew.el --- Support for Hebrew

;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.

;; Keywords: multilingual, Hebrew

;; 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., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.

;;; Commentary:

;; For Hebrew, the character sets ISO8859-8 is supported.

;;; Code:

(make-coding-system
 'hebrew-iso-8bit 2 ?8
 "ISO 2022 based 8-bit encoding for Hebrew (MIME:ISO-8859-8)"
 '((ascii t) (hebrew-iso8859-8 t) nil nil
   nil ascii-eol ascii-cntl nil nil nil nil nil t)
 '(ascii hebrew-iso8859-8))

(define-coding-system-alias 'iso-8859-8 'hebrew-iso-8bit)

(defun setup-hebrew-environment ()
  "Setup multilingual environment (MULE) for Hebrew.
But, please note that right-to-left writing is not yet supported."
  (interactive)
  (setup-8-bit-environment "Hebrew" 'hebrew-iso8859-8 'hebrew-iso-8bit
			   "hebrew"))

(set-language-info-alist
 "Hebrew" '((setup-function . setup-hebrew-environment)
	    (describe-function . describe-hebrew-support)
	    (charset . (hebrew-iso8859-8))
	    (coding-system . (hebrew-iso-8bit))
	    (sample-text . "Hebrew	,Hylem(B")
	    (documentation . "Right-to-left writing is not yet supported.")
	    ))

;;; hebrew.el ends here