Mercurial > emacs
annotate lisp/rot13.el @ 3471:0b6fc4c47891
[__GNUC__ >= 2]: Don't include alloca.h.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 04 Jun 1993 05:21:01 +0000 |
parents | d026367ad08e |
children | 36f561d76b12 |
rev | line source |
---|---|
658
7cbd4fcd8b0f
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
583
diff
changeset
|
1 ;;; rot13.el --- display a buffer in rot13. |
7cbd4fcd8b0f
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
583
diff
changeset
|
2 |
845 | 3 ;; Copyright (C) 1988 Free Software Foundation, Inc. |
4 | |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
5 ;; Author: Howard Gayle: |
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
6 ;; Maintainer: FSF |
583 | 7 |
8 ;; This file is part of GNU Emacs. | |
9 | |
10 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
11 ;; it under the terms of the GNU General Public License as published by | |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
12 ;; the Free Software Foundation; either version 2, or (at your option) |
583 | 13 ;; any later version. |
14 | |
15 ;; GNU Emacs is distributed in the hope that it will be useful, | |
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 ;; GNU General Public License for more details. | |
19 | |
20 ;; You should have received a copy of the GNU General Public License | |
21 ;; along with GNU Emacs; see the file COPYING. If not, write to | |
22 ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
23 | |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
24 ;; Commentary: |
583 | 25 |
2315
9e7ec92a4fdf
Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
845
diff
changeset
|
26 ;; The single entry point, `rot13-other-window', oerforms a Caesar cipher |
9e7ec92a4fdf
Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
845
diff
changeset
|
27 ;; encrypt/decrypt on the current buffer and displays the result in another |
9e7ec92a4fdf
Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
845
diff
changeset
|
28 ;; window. Rot13 encryption is sometimes used on USENET as a read-at-yur- |
9e7ec92a4fdf
Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
845
diff
changeset
|
29 ;; own-risk wrapper for material some might consider offensive, such as |
9e7ec92a4fdf
Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
845
diff
changeset
|
30 ;; ethnic humor. |
9e7ec92a4fdf
Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
845
diff
changeset
|
31 ;; |
583 | 32 ;; Written by Howard Gayle. See case-table.el for details. |
33 ;; This hack is mainly to show off the char table stuff. | |
34 | |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
35 ;;; Code: |
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
36 |
583 | 37 (defvar rot13-display-table |
38 (let ((table (make-display-table)) | |
39 (i 0)) | |
40 (while (< i 26) | |
2524
d026367ad08e
(rot13-display-table): Use `vector', not `make-rope'.
Richard M. Stallman <rms@gnu.org>
parents:
2522
diff
changeset
|
41 (aset table (+ i ?a) (vector (+ (% (+ i 13) 26) ?a))) |
d026367ad08e
(rot13-display-table): Use `vector', not `make-rope'.
Richard M. Stallman <rms@gnu.org>
parents:
2522
diff
changeset
|
42 (aset table (+ i ?A) (vector (+ (% (+ i 13) 26) ?A))) |
583 | 43 (setq i (1+ i))) |
44 table) | |
45 "Char table for rot 13 display.") | |
46 | |
2522
c93900809245
(rot13-other-window): Add autoload.
Richard M. Stallman <rms@gnu.org>
parents:
2315
diff
changeset
|
47 ;;;###autoload |
583 | 48 (defun rot13-other-window () |
49 "Display current buffer in rot 13 in another window." | |
50 (interactive) | |
51 (let ((w (display-buffer (current-buffer) t))) | |
52 (set-window-display-table w rot13-display-table))) | |
53 | |
54 (provide 'rot13) | |
658
7cbd4fcd8b0f
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
583
diff
changeset
|
55 |
7cbd4fcd8b0f
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
583
diff
changeset
|
56 ;;; rot13.el ends here |