annotate lispref/README @ 18260:a642c99198ec

(PTR_TO_OFFSET): New macro. (POS_AS_IN_BUFFER): New macro. (SYNTAX_ENTRY_VIA_PROPERTY): Set to take `syntax-table' text property into account when doing SYNTAX (c). (re_compile_fastmap): disable fastmap if any of wordbound notwordbound wordbeg wordend notsyntaxspec syntaxspec are seen. (re_search_2): SETUP_SYNTAX_TABLE_FOR_OBJECT at the start. (re_match_object): New variable. (re_match_2): SETUP_SYNTAX_TABLE_FOR_OBJECT at the start. (re_match_2_internal): For any of wordbound notwordbound wordbeg wordend notsyntaxspec syntaxspec call UPDATE_SYNTAX_TABLE before doing SYNTAX (c). [emacs]: Include charset.h and category.h [!emacs] (BASE_LEADING_CODE_P, WORD_BOUNDARY_P, CHAR_HEAD_P, SINGLE_BYTE_CHAR_P, SAME_CHARSET_P, MULTIBYTE_FORM_LENGTH, STRING_CHAR_AND_LENGTH, GET_CHAR_AFTER_2, GET_CHAR_BEFORE_2): New dummy macros. (enum re_opcode_t): New member categoryspec and notcategoryspec. (STORE_CHARACTER_AND_INCR, EXTRACT_CHARACTER, CHARSET_LOOKUP_RANGE_TABLE_WITH_COUNT, CHARSET_LOOKUP_RANGE_TABLE, CHARSET_BITMAP_SIZE, CHARSET_RANGE_TABLE_EXISTS_P, CHARSET_RANGE_TABLE CHARSET_PAST_RANGE_TABLE): New macros. (TRANSLATE): Cast return value to unsigned char, not char. (struct range_table_work_area): New structure. (EXTEND_RANGE_TABLE_WORK_AREA, SET_RANGE_TABLE_WORK_AREA, FREE_RANGE_TABLE_WORK_AREA, CLEAR_RANGE_TABLE_WORK_USED, RANGE_TABLE_WORK_USED, RANGE_TABLE_WORK_ELT): New macros. (FREE_STACK_RETURN): Call FREE_RANGE_TABLE_WORK_AREA. (regex_compile): Declare `c' and `c1' as int to store multibyte characters. Declare range_table_work and initialize it. Initialize bufp->multibyte to 0 if not emacs. For case '[' and `default', code re-written to handle multibyte characters. Add code for case 'c' and 'C' to handle category spec. (re_compile_fastmap): New local variables k, simple_char_max, and match_any_multibyte_characters. Use macro CHARSET_BITMAP_SIZE. Handle multibyte characters in cases charset, charset_not, wordchar, notwordchar, anychar, syntaxspec, notsyntaxspec, categoryspec, notcategoryspec. (STOP_ADDR_VSTRING, POS_ADDR_VSTRING): New macros. (re_search_2): Code re-written to handle multibyte characters. (AT_WORD_BOUNDARY): Macro disabled. (re_match_2_internal): New local variable multibyte. `d' is incremented while paying attention to multibyte characters if necessary. For case charset, charsetnot, wordbound, notwordbound, wordbeg, wordend, matchsyntax, and matchnotsyntax, code re-written to handle multibyte characters. Add code for case categoryspec and notcategoryspec. Declare c, c1 as unsigned int, not unsigned char.
author Richard M. Stallman <rms@gnu.org>
date Sun, 15 Jun 1997 19:00:12 +0000
parents 3da02d85c801
children 67d43c178919
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12318
960d7332adc5 Update version number.
Richard M. Stallman <rms@gnu.org>
parents: 6450
diff changeset
1 README for Edition 2.4 of the Emacs Lisp Reference Manual.
4184
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3 * This directory contains the texinfo source files for the Reference
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 Manual, make-permuted-index, and the latest version of texinfo.tex,
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5 which handles forms that cannot be handled by the older versions of
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 texinfo.tex. Also, it contains makeinfo.c.
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7
6450
1b17fc16d5c5 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 6449
diff changeset
8 * Report Lisp Manual bugs to bug-lisp-manual@prep.ai.mit.edu. We
1b17fc16d5c5 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 6449
diff changeset
9 don't read these bug reports until it's time for a new edition. To
1b17fc16d5c5 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 6449
diff changeset
10 report other Emacs bugs, use bug-gnu-emacs@prep.ai.mit.edu.
1b17fc16d5c5 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 6449
diff changeset
11 To ask questions, use the newsgroup gnu.emacs.help.
1b17fc16d5c5 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 6449
diff changeset
12
1b17fc16d5c5 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 6449
diff changeset
13 * The Emacs Lisp Reference Manual is quite large. It totals around
1b17fc16d5c5 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 6449
diff changeset
14 700 pages in smallbook format; the info files total almost two
1b17fc16d5c5 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 6449
diff changeset
15 megabytes.
4184
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 * You can format this manual either for Info or for printing hardcopy
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 using TeX.
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19
6450
1b17fc16d5c5 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 6449
diff changeset
20 * You can buy nicely printed copies from the Free Software Foundation.
14933
3da02d85c801 Update phone number.
Karl Heuer <kwzh@gnu.org>
parents: 12318
diff changeset
21 For info, send mail to gnu@prep.ai.mit.edu or phone 617-542-5942.
6450
1b17fc16d5c5 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 6449
diff changeset
22 Buying a manual from the Free Software Foundation helps support our
1b17fc16d5c5 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 6449
diff changeset
23 GNU development work.
1b17fc16d5c5 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 6449
diff changeset
24
4184
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 ** This distribution contains a Makefile that you can use with GNU Make.
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 Otherwise, here are detailed instructions:
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 ** HARDCOPY: A copy of the version of `texinfo.tex' that formats this
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 manual is included in this distribution.
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 The master file for formatting this manual for Tex is called
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 `elisp.texi'. It contains @include commands to include all the
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 chapters that make up the manual. In addition, `elisp.texi' has
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 the title page in a new format designed by Karl Berry, using the
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 @titlespec command.
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 To create a DVI file with a sorted index, execute the following
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 commands in the shell:
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 % make index.texi
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 % make elisp.dvi
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 *** To create a DVI file with a permuted index, you may experiment
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44 with `make-permuted-index'.
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 ** INFO: A copy of makeinfo.c that will format this manual for Info is
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47 included in this distribution. This program is written in C and can
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
48 be used separately from Emacs. `makeinfo' produces much better error
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49 messages than the old `texinfo-format-buffer'. You can run `makeinfo'
4a40e0433bf9 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
50 it on the `elisp.texi' file.