Mercurial > emacs
annotate etc/CENSORSHIP @ 31384:f6cb7dfe5e7c
(vc-cvs-show-log-entry): New function.
(vc-cvs-stay-local): Allow it to be a hostname regexp
as well.
(vc-cvs-remote-p): Renamed to vc-cvs-stay-local-p. Handle
hostname regexps. Updated all callers.
(vc-cvs-responsible-p): Handle directories as well.
(vc-cvs-could-register): New function.
(vc-cvs-retrieve-snapshot): Parse "cvs update" output, keep file
properties up-to-date.
(vc-cvs-checkout): Do the right thing when the
workfile does not exist.
(vc-cvs-registered): Use new function
vc-cvs-parse-entry to do the actual work.
(vc-cvs-remote-p): Allow FILE to be a directory, too.
(vc-cvs-dir-state): New function.
(vc-cvs-dir-state-heuristic): New function, subroutine of the
above.
(vc-cvs-parse-entry): New function, also to be used in
vc-cvs-registered.
(vc-cvs-checkout): Slight restructuring to make the
control-flow more clear and to avoid running `cvs' twice.
(vc-cvs-workfile-version): Removed comment that this
is not reached. It is.
(vc-cvs-merge): Set state to 'edited after merge.
(vc-cvs-merge-news): Set workfile version to nil if not known.
(vc-cvs-latest-on-branch-p): Recommented. Candidate for removal.
(vc-cvs-checkin): Raise the max-correct status from 0
to 1. Make sure to switch to *vc* before looking for an error
message. Use vc-parse-buffer.
(vc-cvs-create-snapshot): Swap DIR and NAME.
(vc-cvs-retrieve-snapshot): New function (untested).
(vc-cvs-stay-local): Default to t.
(vc-cvs-remote-p): New function and property.
(vc-cvs-state): Stay local only if the above is t.
(vc-handle-cvs): Removed.
(vc-cvs-registered): Don't check vc-handle-cvs -- it should all be
done via vc-handled-backends now.
(vc-cvs-header): Escape Id.
(vc-cvs-state, vc-cvs-fetch-status): Use
with-temp-file. Use the new BUFFER=t argument to vc-do-command.
(vc-cvs-print-log, vc-cvs-diff): Insert in the current buffer.
(vc-cvs-state): Use vc-do-command instead of
vc-simple-command.
(vc-cvs-diff): Remove unused and unsupported argument CMP.
(vc-cvs-registered): Obey vc-handle-cvs.
(vc-cvs-registered): Use with-temp-buffer. Reorder
extraction of fields and call to file-attributes because of a
temporary bug in rcp.el.
(vc-cvs-fetch-status): Use with-current-buffer.
Merge in code
from vc-cvs-hooks.el.
(proto vc-cvs-registered): Require 'vc-cvs instead of
'vc-cvs-hooks. Don't require 'vc anymore.
(vc-cvs-responsible-p): Use expand-file-name instead of concat and
file-directory-p instead of file-exists-p.
(vc-cvs-create-snapshot): New function, replacing
vc-cvs-assign-name.
(vc-cvs-assign-name): Remove.
(vc-cvs-header): New var.
Update Copyright.
(vc-cvs-diff): Remove unused `backend' variable.
(vc-cvs-checkout): Only toggle read-only if the buffer is setup
right.
(tail): Provide vc-cvs.
(vc-cvs-merge-news, vc-cvs-checkout): Removed call to
vc-file-clear-masterprops.
(vc-cvs-state): Typo.
(vc-cvs-merge-news): Return the status code rather than the error
msg.
(vc-cvs-state): Don't overwrite a non-heuristic state
with a heuristic one.
(vc-cvs-merge-news): Just use 'edited for the case with conflicts.
(vc-cvs-checkin): Do a trivial parse to set the state in case of
error. That allows us to get to 'needs-merge even in the
stay-local case. There's still no way to detect 'needs-patch in
such a setup (or to force an update for that matter).
(vc-cvs-logentry-check): Remove, the default works as well.
(vc-cvs-print-log, vc-cvs-diff): Run cvs
asynchronously.
(vc-cvs-stay-local): Renamed from
vc-cvs-simple-toggle. Redocumented.
(vc-cvs-state): If locality is wanted, use vc-cvs-state-heuristic.
(vc-cvs-toggle-read-only): Removed.
(for compiler
warnings).
(vc-cvs-release, vc-cvs-system-release): Remove.
(vc-cvs-use-edit, vc-cvs-simple-toggle): New config variables.
(vc-cvs-dired-state-info): Use `cvs-state' and slightly different
status symbols.
(vc-cvs-parse-status, vc-cvs-state): Move from vc-cvs-hooks.el.
(vc-cvs-toggle-read-only): First cut at a function to allow a
cvs-status-free vc-toggle-read-only.
(vc-cvs-merge-news): Move from cvs-merge-news in vc.el.
(vc-cvs-checkin): Use vc-recompute-state+vc-state instead of
vc-cvs-status. Also set vc-state rather than vc-locking-user.
(vc-cvs-checkout): Modify access rights directly if the user
requested not to use `cvs edit'. And refresh the mode line.
(if
workfile' that got lost when the code was extracted from vc.el.
And merged the tail with the rest of the code (not possible in the
old vc.el where the tail was shared among all backends). And
explicitly set the state to 'edited if `writable' is set.
(vc-cvs-revert,vc-cvs-checkout): References to
`vc-checkout-model' updated to `vc-cvs-update-model'.
(vc-cvs-logentry-check): Function added.
(vc-cvs-revert,vc-cvs-checkout): Function calls to
`vc-checkout-required' updated to `vc-cvs-uses-locking'.
(vc-cvs-admin): Added the query-only option as
required by the vc.el file.
(vc-cvs-annotate-difference): Updated to handle
beginning of annotate buffers correctly.
Rename `vc-uses-locking' to
`vc-checkout-required'. Rename the `locked' state to `reserved'.
(vc-cvs-annotate-difference): Handle possible
millenium problem (merged from mainline).
Split the annotate feature into a BACKEND-specific
part and moved the non-BACKEND stuff to vc.el.
(vc-cvs-latest-on-branch-p): Function added.
(vc-cvs-revert): Merged and adapted "unedit" patch
from main line.
(vc-cvs-diff): Function added.
(vc-cvs-checkout): Function `vc-cvs-checkout' added.
Require vc when compiling.
(vc-cvs-register-switches): Doc fix.
(vc-annotate-color-map, vc-annotate-menu-elements): Fix custom type.
(vc-cvs-print-log, vc-cvs-assign-name, vc-cvs-merge)
(vc-cvs-check-headers, vc-cvs-steal, vc-cvs-revert, vc-cvs-checkin):
New functions (code from vc.el).
(vc-annotate-display-default): Fix interactive spec.
(vc-annotate-time-span): Doc fix.
Moved the annotate functionality from vc.el.
(vc-cvs-admin, vc-cvs-fetch-status): Added from vc.el.
(vc-cvs-system-release):
Renamed from vc-cvs-backend-release.
(vc-cvs-release): Moved from vc.el.
(vc-cvs-backend-release): New function.
(vc-cvs-dired-state-info, vc-cvs-fetch-status): Moved
from vc.el and renamed.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Mon, 04 Sep 2000 19:48:04 +0000 |
parents | e96ffe544684 |
children | 01772baf50a3 |
rev | line source |
---|---|
25853 | 1 Censoring my Software |
2 Richard Stallman | |
3 [From Datamation, 1 March 1996] | |
4 | |
5 | |
6 Last summer, a few clever legislators proposed a bill to "prohibit | |
7 pornography" on the Internet. Last fall, right-wing Christians made | |
8 this cause their own. Last week, President Clinton signed the bill, | |
9 and we lost the freedom of the press for the public library of the | |
10 future. This week, I'm censoring GNU Emacs. | |
11 | |
12 No, GNU Emacs does not contain pornography. It is a software package, | |
13 an award-winning extensible and programmable text editor. But the law | |
14 that was passed applies to far more than pornography. It prohibits | |
15 "indecent" speech, which can include anything from famous poems, to | |
16 masterpieces hanging in the Louvre, to advice about safe sex...to | |
17 software. | |
18 | |
19 Naturally, there was a lot of opposition to this bill. Not only from | |
20 people who use the Internet, and people who appreciate erotica, but | |
21 from everyone who cares about freedom of the press. | |
22 | |
23 But every time we tried to tell the public what was at stake, the | |
24 forces of censorship responded with a lie: they told the public that | |
25 the issue was simply pornography. By embedding this lie as a | |
26 presupposition in their statements about the issue, they succeeded in | |
27 misinforming the public. So here I am, censoring my software. | |
28 | |
29 You see, Emacs contains a version of the famous "doctor program", | |
30 a.k.a. Eliza, originally developed by Professor Weizenbaum at MIT. | |
31 This is the program that imitates a Rogerian psychotherapist. The | |
32 user talks to the program, and the program responds--by playing back | |
33 the user's own statements, and by recognizing a long list of | |
34 particular words. | |
35 | |
36 The Emacs doctor program was set up to recognize many common curse | |
37 words, and respond with an appropriately cute message such as, "Would | |
38 you please watch your tongue?" or "Let's not be vulgar." In order to | |
39 do this, it had to have a list of curse words. That means the source | |
40 code for the program was indecent. | |
41 | |
42 Because of the censorship law, I had to remove this feature. (I | |
43 replaced it with a message announcing that the program has been | |
44 censored for your protection.) The new version of the doctor doesn't | |
45 recognize the indecent words. If you curse at it, it curses right | |
46 back to you--for lack of knowing better. | |
47 | |
48 Now that people are facing the threat of two years in prison for | |
49 indecent network postings, it would be helpful if they could access | |
50 precise rules via the Internet for how to avoid imprisonment. | |
51 However, this is impossible. The rules would have to mention the | |
52 forbidden words, so posting them on the Internet would be against the | |
53 rules. | |
54 | |
55 Of course, I'm making an assumption about just what "indecent" means. | |
56 I have to do this, because nobody knows for sure. The most obvious | |
57 possibile meaning is the meaning it has for television, so I'm using | |
58 that as a tentative assumption. However, there is a good chance that | |
59 our courts will reject that interpretation of the law as | |
60 unconstitutional. | |
61 | |
62 We can hope that the courts will recognize the Internet as a medium of | |
63 publication like books and magazines. If they do, they will entirely | |
64 reject any law prohibiting "indecent" publications on the Internet. | |
65 | |
66 What really worries me is that the courts might take a muddled | |
67 in-between escape route--by choosing another interpretation of | |
68 "indecent", one that permits the doctor program or a statement of the | |
69 decency rules, but prohibits some of the books that children can | |
70 browse through in the public library and the bookstore. Over the | |
71 years, as the Internet replaces the public library and the bookstore, | |
72 some of our freedom of the press will be lost. | |
73 | |
74 Just a few weeks ago, another country imposed censorship on the | |
75 Internet. That was China. We don't think well of China in this | |
76 country--its government doesn't respect basic freedoms. But how well | |
77 does our government respect them? And do you care enough to preserve | |
78 them here? | |
79 | |
80 If you care, stay in touch with the Voters Telecommunications Watch. | |
81 Look in their Web site http://www.vtw.org/ for background information | |
82 and political action recommendations. Censorship won in February, but | |
83 we can beat it in November. | |
84 | |
85 | |
86 Copyright 1996 Richard Stallman | |
87 Verbatim copying and distribution is permitted in any medium | |
88 provided this notice is preserved. |