Function: morse-region

morse-region is an autoloaded, interactive and byte-compiled function defined in morse.el.gz.

Signature

(morse-region BEG END)

Documentation

Convert plain text in region to Morse code.

See <https://en.wikipedia.org/wiki/Morse_code>.

View in manual

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/play/morse.el.gz
;;;###autoload
(defun morse-region (beg end)
  "Convert plain text in region to Morse code.
See <https://en.wikipedia.org/wiki/Morse_code>."
  (interactive "*r")
  (if (integerp end)
      (setq end (copy-marker end)))
  (save-excursion
    (let ((sep "")
	  str morse)
      (goto-char beg)
      (while (< (point) end)
	(setq str (downcase (buffer-substring (point) (1+ (point)))))
	(cond ((looking-at "\\s-+")
	       (goto-char (match-end 0))
	       (setq sep ""))
	      ((setq morse (assoc str morse-code))
	       (delete-char 1)
	       (insert-before-markers sep (cdr morse))
	       (setq sep "/"))
	      (t
	       (forward-char 1)
	       (setq sep "")))))))