view admin/unidata/makefile.w32-in @ 107595:69c12db7031d

Retrospective commit from 2009-10-05. Continue working on paragraph base direction. Support per-buffer default paragraph direction. buffer.h (struct buffer): New member paragraph_direction. buffer.c (init_buffer_once): Initialize it. (syms_of_buffer): Declare Lisp variables default-paragraph-direction and paragraph-direction. dispextern.h (struct it): New member paragraph_embedding. xdisp.c (init_iterator): Initialize it from the buffer's value of paragraph-direction. <Qright_to_left, Qleft_to_right>: New variables. (syms_of_xdisp): Initialize and staticpro them. (set_iterator_to_next, next_element_from_buffer): Use the value of paragraph_embedding to determine the paragraph direction. bidi.c (bidi_line_init): Fix second argument to bidi_set_sor_type. (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR. (bidi_get_next_char_visually): Record the last character of the separator in separator_limit, not the character after that. (bidi_find_paragraph_start): Accept character and byte positions instead of the whole iterator stricture. All callers changed.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 01 Jan 2010 06:22:52 -0500
parents ce88a631c161
children 1d1d5d9bd884
line wrap: on
line source

# makefile.w32-in -- W32 -*- Makefile -*- to generate character property tables.
# Copyright (C) 2005, 2006, 2007, 2008, 2009
#   National Institute of Advanced Industrial Science and Technology (AIST)
#   Registration Number H13PRO009
#
# 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 3 of the License, 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.  If not, see <http://www.gnu.org/licenses/>.


EMACS = ../../src/$(BLD)/emacs.exe
DSTDIR = ../../lisp/international
lisp = $(CURDIR)/../../lisp
# EMACSLOADPATH should include international, so Emacs finds encoded-kb.
# It should include emacs-lisp, so Emacs finds bytecomp.  This is because
# lisp/subdirs.el is not generated yet when the commands below run.
EMACSLOADPATH = $(lisp);$(lisp)/international;$(lisp)/emacs-lisp
# Quote EMACS so it could be a file name with embedded whitespace
RUNEMACS = "$(EMACS)" -Q --multibyte -batch

all: $(DSTDIR)/charprop.el

.el.elc:
	$(RUNEMACS) -f batch-byte-compile $<

unidata.txt: UnicodeData.txt
	sed -e \
	  $(ARGQUOTE)s/\([^;]*\);\(.*\)/(#x\1 $(DQUOTE)\2$(DQUOTE))/$(ARGQUOTE)\
	  -e $(ARGQUOTE)s/;/$(DQUOTE) $(DQUOTE)/g$(ARGQUOTE) < UnicodeData.txt > $@

charprop-SH: unidata-gen.elc unidata.txt
	ELC=$(CURDIR)/unidata-gen.elc; \
	DATA=$(CURDIR)/unidata.txt; \
	cd $(DSTDIR); \
	  $(RUNEMACS) --load $${ELC} -f unidata-gen-files $${DATA}

charprop-CMD: unidata-gen.elc unidata.txt
	$(RUNEMACS) --eval $(ARGQUOTE)(cd $(DQUOTE)$(DSTDIR)$(DQUOTE))$(ARGQUOTE) --load $(CURDIR)/unidata-gen.elc -f unidata-gen-files $(CURDIR)/unidata.txt

${DSTDIR}/charprop.el: charprop-$(SHELLTYPE)

clean:
	- $(DEL) unidata-gen.elc unidata.txt