LINUX.ORG.RU

История изменений

Исправление Evgueni, (текущая версия) :

В начале тоже так было, но в какой-то момент привык и перестал искать другие решения. И ещё у меня в .emacs есть следующие функции (подсказанные на LOR):


(defun lat<->rus (beg end &optional arg)
  "Recode region that contains russain text typed in english into russian.
With ARG given recode region in the other direction."
  (interactive "*r\nP")
  (save-excursion
    (goto-char beg)
    (do () ((>= (point) end))
      (let* ((en-char (char-after (point)))
             (ru-char (if arg
                          (car (rassoc en-char usr:*en/ru-table*))
                        (cdr (assoc en-char usr:*en/ru-table*)))))
        (delete-char 1)
        (insert (if ru-char ru-char en-char))))))

(defun rus<->lat (beg end &optional arg)
  "Recode region that contains russain text typed in english into russian.
With ARG given recode region in the other direction."
  (interactive "*r\nP")
  (save-excursion
    (goto-char beg)
    (do () ((>= (point) end))
      (let* ((en-char (char-after (point)))
             (ru-char (if arg
                          (cdr (assoc en-char usr:*en/ru-table*))
                        (car (rassoc en-char usr:*en/ru-table*)))))
        (delete-char 1)
        (insert (if ru-char ru-char en-char))))))

Исходная версия Evgueni, :

В начале тоже так было, но в какой-то момент привык и перестал искать другие решения.