help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to get rid of annoying ^M lineendings


From: Florian Lindner
Subject: Re: How to get rid of annoying ^M lineendings
Date: Fri, 18 Jul 2014 08:52:15 +0200
User-agent: KNode/4.13.2

scott.althoff@gmail.com wrote:

> Is there a way to execute this every time emacs starts?
> 
> On Wednesday, April 23, 2008 11:39:24 AM UTC-5, Stefan Reichör wrote:
>> Joost Kremers <joostkremers@yahoo.com> writes:
>> 
>> > olgo wrote:
>> >> I keep reading solutions to this problem by means of substituting the
>> >> line endings with a global replace but this is not what I need.
>> >> I need for the files to be kept as they are, with all kinds of line
>> >> endings, but I don't want to see it in the editor.
>> >>
>> >> Thus, my question is:
>> >> Is there a way to tell emacs not to show the ^M character altogether?
>> >
>> > IME this is only a problem when line endings in a file are not
>> > consistent. so my advice would be to make sure each file only has one
>> > kind of line ending, then emacs will simply detect the format correctly
>> > and will tell you in the mode line you're editing a DOS file, and won't
>> > show the ^M characters.
>> 
>> I use the following function to remove the trailing ^M from such files:
>> 
>> (defun xsteve-remove-control-M ()
>>   "Remove ^M at end of line in the whole buffer."
>>   (interactive)
>>   (save-match-data
>>     (save-excursion
>>       (let ((remove-count 0))
>>         (goto-char (point-min))
>>         (while (re-search-forward "
>> $" (point-max) t)
>>           (setq remove-count (+ remove-count 1))
>>           (replace-match "" nil nil))
>>         (message (format "%d ^M removed from buffer." remove-count))))))

For just hiding the ^M I have:

(defun hide-dos-eol ()
  "Do not show ^M in files containing mixed UNIX and DOS line endings."
  (interactive)
  (setq buffer-display-table (make-display-table))
  (aset buffer-display-table ?\^M []))

(add-hook 'prog-mode-hook 'hide-dos-eol)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]