Mercurial > emacs
annotate etc/CENSORSHIP @ 111350:8027e412df98
Backport VC improvements from trunk.
* vc/log-edit.el (log-edit-rewrite-fixes): New var.
(log-edit-author): New dynamic var.
(log-edit-changelog-ours-p, log-edit-insert-changelog-entries):
Use it to return the author if different from committer.
(log-edit-insert-changelog): Use them to add Author: and Fixes headers.
* vc/vc-hooks.el (vc-default-mode-line-string): Doc fix.
* vc/vc.el (vc-deduce-backend): New fun. Handle diff buffers.
(vc-root-diff, vc-print-root-log, vc-log-incoming)
(vc-log-outgoing): Use it.
(vc-diff-internal): Set diff-vc-backend.
* vc/diff-mode.el (diff-vc-backend): New var.
* vc/vc.el (vc-diff-internal): Set `revert-buffer-function'
buffer-locally to lambda that re-runs the vc diff command.
(Bug#6447)
* vc/log-view.el (log-view-mode-map): Bind revert-buffer.
Make 'g' (AKA revert-buffer) rerun VC log, log-incoming and
log-outgoing commands.
* vc/vc.el (vc-log-internal-common): Add a new argument and use it
to create a buffer local revert-buffer-function variable.
(vc-print-log-internal, vc-log-incoming, vc-log-outgoing): Pass a
revert-buffer-function lambda.
Improve VC create/retrieve tag/branch.
* vc.el (vc-create-tag): Do not read the directory name for VCs
with repository revision granularity. Adjust the tag/branch
prompt. Reset VC properties.
(vc-retrieve-tag): Do not read the directory name for VCs
with repository revision granularity. Reset VC properties.
Add optional support for resetting VC properties.
* vc-dispatcher.el (vc-resynch-window): Add new optional argument,
call vc-file-clearprops when true.
(vc-resynch-buffer): Add new optional argument, pass it down.
(vc-resynch-buffers-in-directory): Likewise.
Improve support for special markup in the VC commit message.
* vc-mtn.el (vc-mtn-checkin): Support Author: and Date: markup.
* vc-hg.el (vc-hg-checkin): Add support for Date:.
* vc-git.el (vc-git-checkin):
* vc-bzr.el (vc-bzr-checkin): Likewise.
Add support for vc-log-incoming, improve vc-log-outgoing for Git.
* vc-git.el (vc-git-log-view-mode): Fix font lock for
incoming/outgoing logs.
(vc-git-log-outgoing, vc-git-log-incoming): New functions.
* vc-git.el (vc-git-log-outgoing): Use the same format as the
short log.
(vc-git-log-incoming): Likewise. Run "git fetch" before the log
command
Add bindings for vc-log-incoming and vc-log-outgoing.
* vc-hooks.el (vc-prefix-map): Add bindings for vc-log-incoming
and vc-log-outgoing.
* vc-dir.el (vc-dir-menu-map): Add menu bindings for vc-log-incoming
and vc-log-outgoing.
Improve state updating for VC tag commands.
* vc.el (vc-create-tag, vc-retrieve-tag): Call vc-resynch-buffer
to update the state of all buffers in the directory.
* vc-dir.el (vc-dir): Don't pop-up-windows. (Bug#6204)
* vc.el (vc-checkin, vc-modify-change-comment):
Adjust to new vc-start/finish-logentry.
(vc-find-conflicted-file): New command.
(vc-transfer-file): Adjust to new vc-checkin.
(vc-next-action): Improve scoping.
* vc-git.el (vc-git-checkin): Use log-edit-extract-headers.
(vc-git-commits-coding-system): Rename from git-commits-coding-system.
* vc-dispatcher.el (vc-log-edit): Shorten names for
log-edit-show-files.
* vc-bzr.el (vc-bzr-checkin): Use log-edit-extract-headers.
(vc-bzr-conflicted-files): New function.
* log-edit.el (log-edit-summary, log-edit-header)
(log-edit-unknown-header): New faces.
(log-edit-headers-alist): New var.
(log-edit-header-contents-regexp): New const.
(log-edit-match-to-eoh): New function.
(log-edit-font-lock-keywords): Use them.
(log-edit): Insert a "Summary:" header as default.
(log-edit-mode): Mark font-lock rules as case-insensitive.
(log-edit-done): Cleanup headers.
(log-edit-extract-headers): New function to replace it.
* vc-dispatcher.el (vc-finish-logentry): Don't mess so badly with
the windows/frames.
* vc-bzr.el (vc-bzr-shelve-apply): Don't use *vc-bzr-shelve*.
* vc-dir.el (vc-dir-kill-line): New command.
(vc-dir-mode-map): Bind it to C-k.
(vc-dir-headers): Abbreviate the working dir.
* vc-git.el (vc-git-revision-table): Include remote branches.
New VC methods: vc-log-incoming and vc-log-outgoing.
* vc.el (vc-print-log-setup-buttons, vc-log-internal-common)
(vc-incoming-outgoing-internal, vc-log-incoming, vc-log-outgoing):
New functions.
(vc-print-log-internal): Just call vc-log-internal-common.
(vc-log-view-type): New permanent local variable.
* vc-hooks.el (vc-menu-map): Bind vc-log-incoming and vc-log-outgoing.
* vc-bzr.el (vc-bzr-log-view-mode): Use vc-log-view-type instead
of the dynamic bound vc-short-log.
(vc-bzr-log-incoming, vc-bzr-log-outgoing): New functions.
* vc-git.el (vc-git-log-outgoing): New function.
(vc-git-log-view-mode): Use vc-log-view-type instead
of the dynamic bound vc-short-log.
* vc-hg.el (vc-hg-log-view-mode): Use vc-log-view-type instead of
the dynamic bound vc-short-log. Highlight the tag.
(vc-hg-log-incoming, vc-hg-log-outgoing): New functions.
(vc-hg-outgoing, vc-hg-incoming, vc-hg-outgoing-mode):
(vc-hg-incoming-mode): Remove.
(vc-hg-extra-menu-map): Do not bind vc-hg-incoming and vc-hg-outgoing.
Fix default-directory for vc-root-diff.
* vc.el (vc-root-diff): Bind default-directory to the root
directory for the diff command.
* vc-hg.el (vc-hg-push, vc-hg-pull): Use `apply' when calling
`vc-hg-command' with a list of flags.
* vc-bzr.el (vc-bzr-log-edit-mode): Add --fixes support to
log-edit-before-checkin-process.
* vc.el (vc-modify-change-comment): Pass MODE to vc-start-logentry.
* vc-bzr.el, vc-hg.el (log-edit-mode): Declare.
* vc-dispatcher.el (vc-start-logentry): Doc fix.
(log-view-process-buffer, log-edit-extra-flags): Declare.
Add special markup processing for commit logs.
* log-edit.el (log-edit): Add new argument MODE. Use that mode
when non-nil instead of the log-view-mode.
* vc.el (vc-default-log-edit-mode): New function.
* vc-dispatcher.el (vc-log-edit): Add a mode argument, pass it to
log-edit.
Support for shelving snapshots and for showing shelves.
* vc-bzr.el (vc-bzr-shelve-show, vc-bzr-shelve-show-at-point)
(vc-bzr-shelve-apply-and-keep-at-point, vc-bzr-shelve-snapshot):
New functions.
(vc-bzr-shelve-map, vc-bzr-shelve-menu-map)
(vc-bzr-extra-menu-map): Map them.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sun, 31 Oct 2010 23:13:42 -0400 |
parents | 632018b817e3 |
children |
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 | |
57465 | 57 possible meaning is the meaning it has for television, so I'm using |
25853 | 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 Copyright 1996 Richard Stallman | |
86 Verbatim copying and distribution is permitted in any medium | |
87 provided this notice is preserved. |