emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: charles.sebold@lcms.org
To: emacs-orgmode@gnu.org
Subject: Re: 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	[thread overview]
Message-ID: <yucwri7rab4.fsf@gmail.com> (raw)
In-Reply-To: <yucoc4ib1g4.fsf@lcms.org> (Charles Sebold's message of "Thu, 07 Apr 2011 09:06:35 -0500")

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	other threads:[~2011-05-03 16:57 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-07 14:06 Bug: EOL needs to be converted to Unix for MobileOrg files [7.5 (release_7.5.147.g9ddc)] Charles Sebold
2011-05-03 16:57 ` charles.sebold [this message]
2011-05-04 14:29   ` Sebold, Charles

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=yucwri7rab4.fsf@gmail.com \
    --to=charles.sebold@lcms.org \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).