Mercurial > emacs
annotate etc/DISTRIB @ 106395:f2b36fb84bf7
Enhance `c-parse-state' to run efficiently in "brace desserts".
* progmodes/cc-mode.el (c-basic-common-init): Call
c-state-cache-init.
(c-neutralize-syntax-in-and-mark-CPP): Renamed from
c-extend-and-neutralize-syntax-in-CPP. Mark each CPP construct by
placing `category' properties value 'c-cpp-delimiter at its
boundaries.
* progmodes/cc-langs.el (c-before-font-lock-function):
c-extend-and-neutralize-syntax-in-CPP has been renamed
c-neutralize-syntax-in-and-mark-CPP.
* progmodes/cc-fonts.el (c-cpp-matchers): Mark template brackets
with `category' properties now, not `syntax-table' ones.
* progmodes/cc-engine.el (c-syntactic-end-of-macro): A new
enhanced (but slower) version of c-end-of-macro that won't land
inside a literal or on another awkward character.
(c-state-cache-too-far, c-state-cache-start)
(c-state-nonlit-pos-interval, c-state-nonlit-pos-cache)
(c-state-nonlit-pos-cache-limit, c-state-point-min)
(c-state-point-min-lit-type, c-state-point-min-lit-start)
(c-state-min-scan-pos, c-state-brace-pair-desert)
(c-state-old-cpp-beg, c-state-old-cpp-end): New constants and
buffer local variables.
(c-state-literal-at, c-state-lit-beg)
(c-state-cache-non-literal-place, c-state-get-min-scan-pos)
(c-state-mark-point-min-literal, c-state-cache-top-lparen)
(c-state-cache-top-paren, c-state-cache-after-top-paren)
(c-get-cache-scan-pos, c-get-fallback-scan-pos)
(c-state-balance-parens-backwards, c-parse-state-get-strategy)
(c-renarrow-state-cache)
(c-append-lower-brace-pair-to-state-cache)
(c-state-push-any-brace-pair, c-append-to-state-cache)
(c-remove-stale-state-cache)
(c-remove-stale-state-cache-backwards, c-state-cache-init)
(c-invalidate-state-cache-1, c-parse-state-1)
(c-invalidate-state-cache): New defuns/defmacros/defsubsts.
(c-parse-state): Enhanced and refactored.
(c-debug-parse-state): Amended to deal with all the new variables.
* progmodes/cc-defs.el (c-<-as-paren-syntax, c-mark-<-as-paren)
(c->-as-paren-syntax, c-mark->-as-paren, c-unmark-<->-as-paren):
modify to use category text properties rather than syntax-table
ones.
(c-suppress-<->-as-parens, c-restore-<->-as-parens): new defsubsts
to switch off/on the syntactic paren property of C++ template
delimiters using the category property.
(c-with-<->-as-parens-suppressed): Macro to invoke code with
template delims suppressed.
(c-cpp-delimiter, c-set-cpp-delimiters, c-clear-cpp-delimiters):
New constant/macros which apply category properties to the start
and end of preprocessor constructs.
(c-comment-out-cpps, c-uncomment-out-cpps): defsubsts which
"comment out" the syntactic value of characters in preprocessor
constructs.
(c-with-cpps-commented-out)
(c-with-all-but-one-cpps-commented-out): Macros to invoke code
with characters in all or all but one preprocessor constructs
"commented out".
author | Alan Mackenzie <acm@muc.de> |
---|---|
date | Thu, 03 Dec 2009 16:02:10 +0000 |
parents | c90853557b90 |
children | 1d1d5d9bd884 |
rev | line source |
---|---|
26119 | 1 -*- text -*- |
2 For an order form for all Emacs and FSF distributions deliverable from | |
51419
58e60480bcdd
Delete mention of etc/ORDERS file. Say VMS and Apollo systems were
Richard M. Stallman <rms@gnu.org>
parents:
51302
diff
changeset
|
3 the USA, see http://www.gnu.org/order/order.html. |
26119 | 4 |
32809 | 5 GNU Emacs availability information, October 2000 |
65088
f05a048483cc
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
59059
diff
changeset
|
6 |
75774
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
7 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1995, |
100972 | 8 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 |
75774
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
9 Free Software Foundation, Inc. |
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
10 See the end of the file for license conditions. |
26119 | 11 |
12 | |
13 GNU Emacs is legally owned by the Free Software Foundation, but we | |
14 regard the foundation more as its custodian on behalf of the public. | |
15 | |
16 In the GNU project, when we speak of "free software", this refers to | |
17 liberty, not price. Specifically, it refers to the users' freedom to | |
18 study, copy, change and improve the software. Sometimes users pay | |
19 money for copies of GNU software, and sometimes they get copies at no | |
20 charge. But regardless of how they got the software, or whether it | |
21 was modified by anyone else along the way, they have the freedom to | |
22 copy and change it--those freedoms are what "free software" means. | |
23 | |
24 The precise conditions for copying and modification are stated in the | |
25 document "GNU General Public License," a copy of which is required to | |
26 be distributed with every copy of GNU Emacs. It is usually in a file | |
27 named `COPYING' in the same directory as this file. These conditions | |
28 are designed to make sure that everyone who has a copy of GNU Emacs | |
29 (including modified versions) has the freedom to redistribute and | |
30 change it. | |
31 | |
32 If you do not know anyone to get a copy of GNU Emacs from, you can | |
32809 | 33 order a cd-rom from the Free Software Foundation. We distribute |
34 several Emacs versions. We also distribute nicely typeset copies of | |
35 the Emacs user manual, Emacs Lisp Reference Manual, the Emacs | |
51419
58e60480bcdd
Delete mention of etc/ORDERS file. Say VMS and Apollo systems were
Richard M. Stallman <rms@gnu.org>
parents:
51302
diff
changeset
|
36 reference card, etc. See http://www.gnu.org/order/order.html. |
26119 | 37 |
38 If you have Internet access, you can copy the latest Emacs | |
32809 | 39 distribution from hosts, such as ftp.gnu.org. There are several ways |
40 to do this; see http://www.gnu.org/software/software.html for more | |
41 information. | |
26119 | 42 |
32809 | 43 Emacs has been run on GNU/Linux, FreeBSD, NetBSD, OpenBSD, and on many |
51419
58e60480bcdd
Delete mention of etc/ORDERS file. Say VMS and Apollo systems were
Richard M. Stallman <rms@gnu.org>
parents:
51302
diff
changeset
|
44 Unix systems, on a variety of types of cpu, as well as on MSDOS, |
58e60480bcdd
Delete mention of etc/ORDERS file. Say VMS and Apollo systems were
Richard M. Stallman <rms@gnu.org>
parents:
51302
diff
changeset
|
45 Windows and MacOS. It also formerly worked on VMS and on Apollo |
58e60480bcdd
Delete mention of etc/ORDERS file. Say VMS and Apollo systems were
Richard M. Stallman <rms@gnu.org>
parents:
51302
diff
changeset
|
46 computers, though with some deficiencies that reflect problems in |
58e60480bcdd
Delete mention of etc/ORDERS file. Say VMS and Apollo systems were
Richard M. Stallman <rms@gnu.org>
parents:
51302
diff
changeset
|
47 these operating systems. See the file `MACHINES' in this directory |
58e60480bcdd
Delete mention of etc/ORDERS file. Say VMS and Apollo systems were
Richard M. Stallman <rms@gnu.org>
parents:
51302
diff
changeset
|
48 (see above) for a full list of machines that GNU Emacs has been tested |
58e60480bcdd
Delete mention of etc/ORDERS file. Say VMS and Apollo systems were
Richard M. Stallman <rms@gnu.org>
parents:
51302
diff
changeset
|
49 on, with machine-specific installation notes and warnings. |
26119 | 50 |
51 Note that there is significant variation between Unix systems | |
52 supposedly running the same version of Unix; it is possible that what | |
53 works in GNU Emacs for me does not work on your system due to such an | |
54 incompatibility. Since I must avoid reading Unix source code, I | |
55 cannot even guess what such problems may exist. | |
56 | |
57 GNU Emacs is distributed with no warranty (see the General Public | |
58 License for full details, in the file `COPYING' in this directory (see | |
59 above)), and neither I nor the Free Software Foundation promises any | |
60 kind of support or assistance to users. The foundation keeps a list | |
61 of people who are willing to offer support and assistance for hire. | |
32809 | 62 See http://www.gnu.org/help/gethelp.html. |
26119 | 63 |
64 However, we plan to continue to improve GNU Emacs and keep it | |
65 reliable, so please send me any complaints and suggestions you have. | |
66 I will probably fix anything that I consider a malfunction. I may | |
67 make improvements that are suggested, but I may choose not to. | |
68 | |
32809 | 69 If you are on the Internet, report bugs to bug-gnu-emacs@gnu.org. You |
70 can use the Emacs command M-x report-bug RET to mail a bug report. | |
71 Please read the Bugs section of the Emacs manual before reporting | |
72 bugs. | |
26119 | 73 |
32809 | 74 General questions about the GNU Project can be asked of gnu@gnu.org. |
26119 | 75 |
76 If you are a computer manufacturer, I encourage you to ship a copy of | |
77 GNU Emacs with every computer you deliver. The same copying | |
78 permission terms apply to computer manufacturers as to everyone else. | |
79 You should consider making a donation to help support the GNU project; | |
80 if you estimate what it would cost to distribute some commercial | |
81 product and divide it by five, that is a good amount. | |
82 | |
83 If you like GNU Emacs, please express your satisfaction with a | |
84 donation: send me or the Foundation what you feel Emacs has been worth | |
85 to you. If you are glad that I developed GNU Emacs and distribute it | |
59059 | 86 as free software, rather than following the obstructive and antisocial |
26119 | 87 practices typical of software developers, reward me. If you would |
88 like the Foundation to develop more free software, contribute. | |
89 | |
90 Your donations will help to support the development of additional GNU | |
91 software. GNU/Linux systems (variants of GNU, based on the kernel | |
92 Linux) have millions of users, but there is still much to be done. | |
93 For more information on GNU, see the file `GNU' in this directory (see | |
94 above). | |
95 | |
96 Richard M Stallman | |
97 Chief GNUisance, | |
98 President of the Free Software Foundation | |
75774
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
99 |
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
100 This file is part of GNU Emacs. |
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
101 |
95004
cbf5528cf447
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79776
diff
changeset
|
102 GNU Emacs is free software: you can redistribute it and/or modify |
75774
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
103 it under the terms of the GNU General Public License as published by |
95004
cbf5528cf447
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79776
diff
changeset
|
104 the Free Software Foundation, either version 3 of the License, or |
cbf5528cf447
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79776
diff
changeset
|
105 (at your option) any later version. |
75774
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
106 |
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
107 GNU Emacs is distributed in the hope that it will be useful, |
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
108 but WITHOUT ANY WARRANTY; without even the implied warranty of |
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
109 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
110 GNU General Public License for more details. |
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
111 |
dc23aaa67696
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75343
diff
changeset
|
112 You should have received a copy of the GNU General Public License |
95004
cbf5528cf447
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79776
diff
changeset
|
113 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |