Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
280b8e59
Commit
280b8e59
authored
May 25, 2002
by
Simon Josefsson
Browse files
(rot13-translate-table): New variable.
(rot13, rot13-string, rot13-region): New functions.
parent
3ce79cf5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
47 additions
and
2 deletions
+47
-2
lisp/ChangeLog
lisp/ChangeLog
+5
-0
lisp/rot13.el
lisp/rot13.el
+42
-2
No files found.
lisp/ChangeLog
View file @
280b8e59
2002-05-24 Simon Josefsson <jas@extundo.com>
* rot13.el (rot13-translate-table): New variable.
(rot13, rot13-string, rot13-region): New functions.
2002-05-25 Martin Stjernholm <bug-cc-mode@gnu.org>
* progmodes/cc-engine.el (c-add-stmt-syntax): Fixed some cases
...
...
lisp/rot13.el
View file @
280b8e59
;;; rot13.el --- display a buffer in rot13
;; Copyright (C) 1988 Free Software Foundation, Inc.
;; Copyright (C) 1988
,2002
Free Software Foundation, Inc.
;; Author: Howard Gayle
;; Maintainer: FSF
...
...
@@ -24,7 +24,7 @@
;;; Commentary:
;; The
single
entry point, `rot13-other-window', performs a Caesar cipher
;; The entry point, `rot13-other-window', performs a Caesar cipher
;; encrypt/decrypt on the current buffer and displays the result in another
;; window. Rot13 encryption is sometimes used on USENET as a read-at-your-
;; own-risk wrapper for material some might consider offensive, such as
...
...
@@ -32,6 +32,10 @@
;;
;; Written by Howard Gayle.
;; This hack is mainly to show off the char table stuff.
;;
;; New entry points, `rot13', `rot13-string', and `rot13-region' that
;; performs Ceasar cipher encrypt/decrypt on buffers and strings, was
;; added by Simon Josefsson.
;;; Code:
...
...
@@ -45,6 +49,42 @@
table
)
"Char table for rot 13 display."
)
(
defvar
rot13-translate-table
(
let
((
str
(
make-string
127
0
))
(
i
0
))
(
while
(
<
i
127
)
(
aset
str
i
i
)
(
setq
i
(
1+
i
)))
(
setq
i
0
)
(
while
(
<
i
26
)
(
aset
str
(
+
i
?a
)
(
+
(
%
(
+
i
13
)
26
)
?a
))
(
aset
str
(
+
i
?A
)
(
+
(
%
(
+
i
13
)
26
)
?A
))
(
setq
i
(
1+
i
)))
str
)
"String table for rot 13 translation."
)
;;;###autoload
(
defun
rot13
(
object
&optional
start
end
)
"Return Rot13 encryption of OBJECT, a buffer or string."
(
if
(
bufferp
object
)
(
with-current-buffer
object
(
rot13-region
start
end
))
(
rot13-string
object
)))
;;;###autoload
(
defun
rot13-string
(
string
)
"Return Rot13 encryption of STRING."
(
with-temp-buffer
(
insert
string
)
(
rot13-region
(
point-min
)
(
point-max
))
(
buffer-string
)))
;;;###autoload
(
defun
rot13-region
(
start
end
)
"Rot13 encrypt the region between START and END in current buffer."
(
interactive
"r"
)
(
translate-region
start
end
rot13-translate-table
))
;;;###autoload
(
defun
rot13-other-window
()
"Display current buffer in rot 13 in another window.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment