emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Bug: EOL needs to be converted to Unix for MobileOrg files [7.5


From: charles . sebold
Subject: Re: [O] Bug: EOL needs to be converted to Unix for MobileOrg files [7.5 (release_7.5.147.g9ddc)]
Date: Tue, 03 May 2011 11:57:51 -0500
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (windows-nt)

On 7 Apr 2011, Charles Sebold wrote:

> Second attempt to send this patch.
>
> I primarily use Org-mode on Windows, and my org files mostly have DOS
> line endings.  A while back a patch from me was accepted to convert
> the checksum file to Unix EOLs (and Richard updated the iOS app to be
> agnostic about it, I think, at the same time), which saved a lot of
> syncing because the checksum file never looked right to MobileOrg.
>
> However, the files themselves are irritating because they appear to
> have double line feeds when they are viewed on the iOS device, and
> edits from MobileOrg never sync because stray ^Ms creep in.
>
> This patch makes all files pushed to MobileOrg into Unix files as far
> as line endings go.
>
> It's not a very elegant solution and my feelings won't be hurt if a
> better way is proposed.

I'm bumping this.  I think the patch attached to the last post could be
better, but failing a response for now, I've decided that rather than
drag my changes along, I'm just advising the necessary functions.

So, to get this to work for Emacs on Windows + MobileOrg, the following
is in my .emacs file.  Hopefully this will be helpful for somebody:

#+BEGIN_SRC emacs-lisp
; bug fix for org-mobile
(defun org-mobile-copy-file (file newname)
  "Copy file, converting to Unix line endings."
  (with-temp-file newname
    (set-buffer-file-coding-system 'undecided-unix nil)
    (insert-file-contents file)))

(eval-and-compile
  (require 'cl)) ; for flet

(defadvice org-mobile-copy-agenda-files (around
                                         crs-org-mobile-copy-agenda-files)
  "Copy agenda files to mobile device with Unix EOLs."
  (flet ((copy-file (file newname &optional ok-if-already-exists keep-time
                          preserve-uid-gid preserve-selinux-context)
                    (let ((tempfile (make-temp-file "orgmobile")))
                      (org-mobile-copy-file file tempfile)
                      (copy-file tempfile newname ok-if-already-exists
                                 keep-time preserve-uid-gid
                                 preserve-selinux-context)
                      (delete-file tempfile))))
    ad-do-it))

(defadvice org-mobile-encrypt-file (around crs-org-mobile-encrypt-file)
  "Encrypt INFILE to OUTFILE with Unix EOLs."
  (let ((tempfile (make-temp-file "orgmobile")))
    (org-mobile-copy-file infile tempfile)
    (ad-set-arg 0 tempfile)
    ad-do-it
    (delete-file tempfile)))

(ad-activate 'org-mobile-copy-agenda-files)
(ad-activate 'org-mobile-encrypt-file)
#+END_SRC
-- 
Charles Sebold                                          3rd of May, 2011
GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600) | No Gnus v0.18 | org-mode 7.5
 




reply via email to

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