home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0400 / CCE_0410.ZIP / CCE_0410.PD / EMACS_58.ZOO / e-lisp / txtmode.el < prev    next >
Lisp/Scheme  |  1992-06-12  |  1KB  |  43 lines

  1. ;;
  2. ;;
  3. ;; Switch between translated (LF<-->CRLF) and untranslated reading
  4. ;; and writing of files in Gnu-emacs.
  5. ;;
  6. ;; Make this part of your default.el file and it will load automatically.
  7. ;; On Atari ST you may want to add also a '(text-files)' line
  8. ;;
  9. ;; Michal Jaegermann, 14 January 1992
  10. ;;
  11.  
  12.  
  13. (defun delete-msbs()
  14.   (save-excursion
  15.     (goto-char (point-min))
  16.     (perform-replace "\r$" "" nil t nil)
  17.     (set-buffer-modified-p nil)))
  18.  
  19. (defun add-msbs()
  20.   (save-excursion
  21.     (goto-char (point-min))
  22.     (perform-replace "$" "\r" nil t nil)
  23. ;; for fancier handling which will not double existing ^M's use
  24. ;; this instead of the line above
  25. ;;  (perform-replace "[^\r]$" "\\&\r" nil t nil)
  26.     (write-region (point-min) (point-max) buffer-file-name nil t)
  27.     (delete-msbs)))
  28.  
  29. (defun text-files()
  30.   "Switch emacs for files in MessyDos style line ends"
  31.   (interactive)
  32.   (setq find-file-hooks
  33.     (cons 'delete-msbs (delq 'delete-msbs find-file-hooks)))
  34.   (setq write-file-hooks
  35.     (cons 'add-msbs (delq 'add-msbs write-file-hooks))))
  36.  
  37. (defun binary-files()
  38.   "Do not translate any line terminators"
  39.   (interactive)
  40.   (setq find-file-hooks (delq 'delete-msbs find-file-hooks))
  41.   (setq write-file-hooks (delq 'add-msbs write-file-hooks)))
  42. ;;;
  43.