From mboxrd@z Thu Jan 1 00:00:00 1970 From: Charles.Sebold@lcms.org (Sebold, Charles) Subject: Re: Bug: EOL needs to be converted to Unix for MobileOrg files [7.5 (release_7.5.147.g9ddc)] Date: Wed, 04 May 2011 09:29:38 -0500 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([140.186.70.92]:39027) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QHd5D-0002LP-Pl for emacs-orgmode@gnu.org; Wed, 04 May 2011 10:29:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QHd5C-0001I7-LM for emacs-orgmode@gnu.org; Wed, 04 May 2011 10:29:43 -0400 Received: from ctms100.concordiatech.org ([216.88.180.170]:55242) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QHd5C-0001I1-DZ for emacs-orgmode@gnu.org; Wed, 04 May 2011 10:29:42 -0400 In-Reply-To: (charles sebold's message of "Tue, 03 May 2011 11:57:51 -0500") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Cc: tdavey@gmail.com On 3 May 2011, charles sebold wrote: > 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: What I attached didn't work; I ended up flet-ing copy-file just a little too much. I've had to fall back to essentially redefining org-mobile-copy-agenda-files. Here's what I've got in my .emacs now, but it's subject to break if org-mobile-copy-agenda-files ever changes. I would like somebody to consider forcing all the output files (pre-encryption obviously, if encryption is enabled) to unix line endings in some more correct way than I have done. #+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." (let ((files-alist org-mobile-files-alist) file buf entry link-name target-path target-dir check) (while (setq entry (pop files-alist)) (setq file (car entry) link-name (cdr entry)) (when (file-exists-p file) (setq target-path (expand-file-name link-name org-mobile-directory) target-dir (file-name-directory target-path)) (unless (file-directory-p target-dir) (make-directory target-dir 'parents)) (if org-mobile-use-encryption (org-mobile-encrypt-and-move file target-path) (org-mobile-copy-file file target-path 'ok-if-exists)) (setq check (shell-command-to-string (concat org-mobile-checksum-binary " " (shell-quote-argument (expand-file-name file))))) (when (string-match "[a-fA-F0-9]\\{30,40\\}" check) (push (cons link-name (match-string 0 check)) org-mobile-checksum-files)))) (setq file (expand-file-name org-mobile-capture-file org-mobile-directory)) (save-excursion (setq buf (find-file file)) (when (and (= (point-min) (point-max))) (insert "\n") (save-buffer) (when org-mobile-use-encryption (write-file org-mobile-encryption-tempfile) (org-mobile-encrypt-and-move org-mobile-encryption-tempfile file))) (push (cons org-mobile-capture-file (md5 (buffer-string))) org-mobile-checksum-files)) (org-mobile-cleanup-encryption-tempfile) (kill-buffer buf))) (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 4th of May, 2011 GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600) No Gnus v0.18 | Org-mode version 7.5 (release_7.5.249.gbf7ce)