(defun replace-pairs-region (Begin End Pairs) ;; modified xah (let ((case-fold-search nil) ($tempMapPoints nil) ($changeLog nil)) (dotimes (i (length Pairs)) (push (char-to-string (+ #xe000 i)) $tempMapPoints)) (save-excursion (save-restriction (narrow-to-region Begin End) (dotimes (i (length Pairs)) (goto-char (point-min)) (while (search-forward (elt (elt Pairs i) 0) nil t) (replace-match (elt $tempMapPoints i) t t))) (dotimes (i (length Pairs)) (goto-char (point-min)) (while (search-forward (elt $tempMapPoints i) nil t) (push (vector (point) (elt (elt Pairs i) 0) (elt (elt Pairs i) 1)) $changeLog) (replace-match (elt (elt Pairs i) 1) t t))))) $changeLog)) (defun al-bhed (*begin *end) (interactive (if (use-region-p) (list (region-beginning) (region-end)) (list (line-beginning-position) (line-end-position)))) (replace-pairs-region *begin *end '( ["a" "y"] ["b" "p"] ["c" "l"] ["d" "t"] ["e" "a"] ["f" "v"] ["g" "k"] ["h" "r"] ["i" "e"] ["j" "z"] ["k" "g"] ["l" "m"] ["m" "s"] ["n" "h"] ["o" "u"] ["p" "b"] ["q" "x"] ["r" "n"] ["s" "c"] ["t" "d"] ["u" "i"] ["v" "j"] ["w" "f"] ["x" "q"] ["y" "o"] ["z" "w"] ["A" "Y"] ["B" "P"] ["C" "L"] ["D" "T"] ["E" "A"] ["F" "V"] ["G" "K"] ["H" "R"] ["I" "E"] ["J" "Z"] ["K" "G"] ["L" "M"] ["M" "S"] ["N" "H"] ["O" "U"] ["P" "B"] ["Q" "X"] ["R" "N"] ["S" "C"] ["T" "D"] ["U" "I"] ["V" "J"] ["W" "F"] ["X" "Q"] ["Y" "O"] ["Z" "W"]))) (defun de-al-bhed (*begin *end) (interactive (if (use-region-p) (list (region-beginning) (region-end)) (list (line-beginning-position) (line-end-position)))) (replace-pairs-region *begin *end '( ["y" "a"] ["p" "b"] ["l" "c"] ["t" "d"] ["a" "e"] ["v" "f"] ["k" "g"] ["r" "h"] ["e" "i"] ["z" "j"] ["g" "k"] ["m" "l"] ["s" "m"] ["h" "n"] ["u" "o"] ["b" "p"] ["x" "q"] ["n" "r"] ["c" "s"] ["d" "t"] ["i" "u"] ["j" "v"] ["f" "w"] ["q" "x"] ["o" "y"] ["w" "z"] ["Y" "A"] ["P" "B"] ["L" "C"] ["T" "D"] ["A" "E"] ["V" "F"] ["K" "G"] ["R" "H"] ["E" "I"] ["Z" "J"] ["G" "K"] ["M" "L"] ["S" "M"] ["H" "N"] ["U" "O"] ["B" "P"] ["X" "Q"] ["N" "R"] ["C" "S"] ["D" "T"] ["I" "U"] ["J" "V"] ["F" "W"] ["Q" "X"] ["O" "Y"] ["W" "Z"]))) (defun redact (*begin *end) (interactive (if (use-region-p) (list (region-beginning) (region-end)) (list (line-beginning-position) (line-end-position)))) (replace-pairs-region *begin *end '( ["a" "x"] ["b" "x"] ["c" "x"] ["d" "x"] ["e" "x"] ["f" "x"] ["g" "x"] ["h" "x"] ["i" "x"] ["j" "x"] ["k" "x"] ["l" "x"] ["m" "x"] ["n" "x"] ["o" "x"] ["p" "x"] ["q" "x"] ["r" "x"] ["s" "x"] ["t" "x"] ["u" "x"] ["v" "x"] ["w" "x"] ["x" "x"] ["y" "x"] ["z" "x"] ["A" "x"] ["B" "x"] ["C" "x"] ["D" "x"] ["E" "x"] ["F" "x"] ["G" "x"] ["H" "x"] ["I" "x"] ["J" "x"] ["K" "x"] ["L" "x"] ["M" "x"] ["N" "x"] ["O" "x"] ["P" "x"] ["Q" "x"] ["R" "x"] ["S" "x"] ["T" "x"] ["U" "x"] ["V" "x"] ["W" "x"] ["X" "x"] ["Y" "x"] ["Z" "x"])))