08/02/24 22:21:05 psOzRihu0
>>386
(defun emacs-reverse-region (start end)
(interactive "*r")
(let* ((s (save-excursion (goto-char (min start end))
(unless (bolp) (goto-eol) (forward-char 1))
(point)))
(e (save-excursion (goto-char (max start end))
(unless (and (eolp) (not (bolp))) (goto-bol) (backward-char 1))
(point)))
(l (split-string (buffer-substring s e) "\n" t)))
(when (< s e)
(delete-region s e)
(goto-char s)
(insert (format nil "~{~A~^~%~}" (reverse l))))))