Mercurial > emacs
comparison lisp/rot13.el @ 74262:1ef61f432321
(rot13-display-table, rot13-translate-table, rot13, rot13-string, rot13-region,
rot13-other-window, toggle-rot13-mode): Fix typos in docstrings.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Mon, 27 Nov 2006 17:05:05 +0000 |
parents | 3bd95f4f2941 |
children | b2e5081b9320 |
comparison
equal
deleted
inserted
replaced
74261:adf198775e30 | 74262:1ef61f432321 |
---|---|
1 ;;; rot13.el --- display a buffer in rot13 | 1 ;;; rot13.el --- display a buffer in ROT13 |
2 | 2 |
3 ;; Copyright (C) 1988, 2002, 2003, 2004, 2005, | 3 ;; Copyright (C) 1988, 2002, 2003, 2004, 2005, |
4 ;; 2006 Free Software Foundation, Inc. | 4 ;; 2006 Free Software Foundation, Inc. |
5 | 5 |
6 ;; Author: Howard Gayle | 6 ;; Author: Howard Gayle |
25 | 25 |
26 ;;; Commentary: | 26 ;;; Commentary: |
27 | 27 |
28 ;; The entry point, `rot13-other-window', performs a Caesar cipher | 28 ;; The entry point, `rot13-other-window', performs a Caesar cipher |
29 ;; encrypt/decrypt on the current buffer and displays the result in another | 29 ;; encrypt/decrypt on the current buffer and displays the result in another |
30 ;; window. Rot13 encryption is sometimes used on USENET as a read-at-your- | 30 ;; window. ROT13 encryption is sometimes used on USENET as a read-at-your- |
31 ;; own-risk wrapper for material some might consider offensive, such as | 31 ;; own-risk wrapper for material some might consider offensive, such as |
32 ;; ethnic humor. | 32 ;; ethnic humor. |
33 ;; | 33 ;; |
34 ;; Written by Howard Gayle. | 34 ;; Written by Howard Gayle. |
35 ;; This hack is mainly to show off the char table stuff. | 35 ;; This hack is mainly to show off the char table stuff. |
46 (while (< i 26) | 46 (while (< i 26) |
47 (aset table (+ i ?a) (vector (+ (% (+ i 13) 26) ?a))) | 47 (aset table (+ i ?a) (vector (+ (% (+ i 13) 26) ?a))) |
48 (aset table (+ i ?A) (vector (+ (% (+ i 13) 26) ?A))) | 48 (aset table (+ i ?A) (vector (+ (% (+ i 13) 26) ?A))) |
49 (setq i (1+ i))) | 49 (setq i (1+ i))) |
50 table) | 50 table) |
51 "Char table for rot 13 display.") | 51 "Char table for ROT13 display.") |
52 | 52 |
53 (defvar rot13-translate-table | 53 (defvar rot13-translate-table |
54 (let ((str (make-string 127 0)) | 54 (let ((str (make-string 127 0)) |
55 (i 0)) | 55 (i 0)) |
56 (while (< i 127) | 56 (while (< i 127) |
60 (while (< i 26) | 60 (while (< i 26) |
61 (aset str (+ i ?a) (+ (% (+ i 13) 26) ?a)) | 61 (aset str (+ i ?a) (+ (% (+ i 13) 26) ?a)) |
62 (aset str (+ i ?A) (+ (% (+ i 13) 26) ?A)) | 62 (aset str (+ i ?A) (+ (% (+ i 13) 26) ?A)) |
63 (setq i (1+ i))) | 63 (setq i (1+ i))) |
64 str) | 64 str) |
65 "String table for rot 13 translation.") | 65 "String table for ROT13 translation.") |
66 | 66 |
67 ;;;###autoload | 67 ;;;###autoload |
68 (defun rot13 (object &optional start end) | 68 (defun rot13 (object &optional start end) |
69 "Return Rot13 encryption of OBJECT, a buffer or string." | 69 "Return ROT13 encryption of OBJECT, a buffer or string." |
70 (if (bufferp object) | 70 (if (bufferp object) |
71 (with-current-buffer object | 71 (with-current-buffer object |
72 (rot13-region start end)) | 72 (rot13-region start end)) |
73 (rot13-string object))) | 73 (rot13-string object))) |
74 | 74 |
75 ;;;###autoload | 75 ;;;###autoload |
76 (defun rot13-string (string) | 76 (defun rot13-string (string) |
77 "Return Rot13 encryption of STRING." | 77 "Return ROT13 encryption of STRING." |
78 (with-temp-buffer | 78 (with-temp-buffer |
79 (insert string) | 79 (insert string) |
80 (rot13-region (point-min) (point-max)) | 80 (rot13-region (point-min) (point-max)) |
81 (buffer-string))) | 81 (buffer-string))) |
82 | 82 |
83 ;;;###autoload | 83 ;;;###autoload |
84 (defun rot13-region (start end) | 84 (defun rot13-region (start end) |
85 "Rot13 encrypt the region between START and END in current buffer." | 85 "ROT13 encrypt the region between START and END in current buffer." |
86 (interactive "r") | 86 (interactive "r") |
87 (translate-region start end rot13-translate-table)) | 87 (translate-region start end rot13-translate-table)) |
88 | 88 |
89 ;;;###autoload | 89 ;;;###autoload |
90 (defun rot13-other-window () | 90 (defun rot13-other-window () |
91 "Display current buffer in rot 13 in another window. | 91 "Display current buffer in ROT13 in another window. |
92 The text itself is not modified, only the way it is displayed is affected. | 92 The text itself is not modified, only the way it is displayed is affected. |
93 | 93 |
94 To terminate the rot13 display, delete that window. As long as that window | 94 To terminate the ROT13 display, delete that window. As long as that window |
95 is not deleted, any buffer displayed in it will become instantly encoded | 95 is not deleted, any buffer displayed in it will become instantly encoded |
96 in rot 13. | 96 in ROT13. |
97 | 97 |
98 See also `toggle-rot13-mode'." | 98 See also `toggle-rot13-mode'." |
99 (interactive) | 99 (interactive) |
100 (let ((w (display-buffer (current-buffer) t))) | 100 (let ((w (display-buffer (current-buffer) t))) |
101 (set-window-display-table w rot13-display-table))) | 101 (set-window-display-table w rot13-display-table))) |
102 | 102 |
103 ;;;###autoload | 103 ;;;###autoload |
104 (defun toggle-rot13-mode () | 104 (defun toggle-rot13-mode () |
105 "Toggle the use of rot 13 encoding for the current window." | 105 "Toggle the use of ROT13 encoding for the current window." |
106 (interactive) | 106 (interactive) |
107 (if (eq (window-display-table (selected-window)) rot13-display-table) | 107 (if (eq (window-display-table (selected-window)) rot13-display-table) |
108 (set-window-display-table (selected-window) nil) | 108 (set-window-display-table (selected-window) nil) |
109 (if (null (window-display-table (selected-window))) | 109 (if (null (window-display-table (selected-window))) |
110 (set-window-display-table (selected-window) rot13-display-table)))) | 110 (set-window-display-table (selected-window) rot13-display-table)))) |