Subject: 25.0.50; org-mobile-push should offer to save unsaved agenda files

From: Rudi Schlatte <[email-masked]>
Date: Fri, 26 Dec 2014 10:58:23 +0100

When trying to call `org-mobile-push' while an org file in
org-agenda-files is open and modified, `org-mobile-push' displays a
prompt like the following in the minibuffer:

Non-existent agenda file ~/Documents/Org/.#notes.org.  [R]emove from list or [A]bort?

This trivial patch uses `save-some-buffers' to save the agenda
files, removing the confusing prompt:

--- a/lisp/org/org-mobile.el
+++ b/lisp/org/org-mobile.el
@@ -318,6 +318,9 @@ create all custom agenda views, for upload to the mobile phone."
	  (org-agenda-buffer-name "*SUMO*")
	  (org-agenda-tag-filter org-agenda-tag-filter)
	  (org-agenda-redo-command org-agenda-redo-command))
+      (let ((agenda-files (org-agenda-files)))
+        (save-some-buffers nil (lambda () (member (buffer-file-name)
+                                                  agenda-files))))
       (save-excursion
	(save-restriction
	  (save-window-excursion

In GNU Emacs 25.0.50.18 (x86_64-apple-darwin14.0.0, NS appkit-1343.16 Version 10.10.1 (Build 14B25))
of 2014-12-26 on gerold-PCV-RS216-CE
Repository revision: f76956645ddf3bde4105b50e9bd1e3a1cc2da39c
Windowing system distributor `Apple', version 10.3.1343
Configured using:
`configure --with-ns'

Configured features:
ACL LIBXML2 ZLIB

Important settings:
  locale-coding-system: utf-8-unix

Major mode: Org

Minor modes in effect:
  diff-auto-refine-mode: t
  TeX-PDF-mode: t
  shell-dirtrack-mode: t
  show-paren-mode: t
  recentf-mode: t
  icomplete-mode: t
  desktop-save-mode: t
  auto-insert-mode: t
  global-company-mode: t
  company-mode: t
  global-eclim-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  visual-line-mode: t

Recent messages:
Mark set
Message modified; kill anyway? (y or n) y
Making completion list...
Creating agendas...
Non-existent agenda file ~/BTSync/Documents/Org/.#notes.org.  [R]emove from list or [A]bort?
org-check-agenda-file: Abort
Undo!
Creating agendas...
Non-existent agenda file ~/BTSync/Documents/Org/.#notes.org.  [R]emove from list or [A]bort?
org-check-agenda-file: Abort

Load-path shadows:
~/Source/abstools/emacs/maude-mode hides ~/Source/elisp/maude-mode/maude-mode

Features:
(shadow emacsbug sendmail eieio-opt speedbar sb-image ezimage dframe
misearch multi-isearch bookmark cal-move org-archive qp shr dom subr-x
mm-archive sort smiley gnus-cite mail-extr gnus-async gnus-bcklg gnus-ml
disp-table nndraft nnmh nnfolder utf-7 network-stream nsm starttls
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art
mm-uu mml2015 mm-view mml-smime smime dig nntp gnus-cache gnus-sum
gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source
utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message rfc822
mml mml-sec mm-decode mm-bodies mm-encode mailabbrev gmm-utils
mailheader gnus-win ox-texinfo ox-odt rng-loc rng-uri rng-parse
rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok
nxml-util ox-md ox-html ox-beamer ox-latex ox-ascii ox-publish ox cc-awk
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs markdown-mode python abs-mode pcase rx paredit checkdoc
help-mode imenu dired-aux autorevert filenotify tex-buf vc-git diff-mode
reftex-dcr reftex-auc reftex reftex-vars font-latex latex tex-style tex
crm tex-mode shell org-id tabify view mule-util cal-china lunar solar
cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs diary-lib
diary-loaddefs cal-iso org-element org-mobile org-agenda saveplace
org-mac-link org-mac-iCal org-protocol org-info org-docview doc-view
jka-compr image-mode org-bibtex bibtex paren recentf ido icomplete gnus
gnus-ems nnheader mail-utils desktop frameset autoinsert org-mouse org
org-macro org-footnote org-pcomplete pcomplete org-list org-faces
org-entities org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat
org-macs org-loaddefs format-spec cal-menu calendar cal-loaddefs
company-files company-oddmuse company-keywords company-etags
company-gtags company-dabbrev-code company-dabbrev company-capf
company-cmake company-ropemacs company-xcode company-clang
company-template company-semantic company-css company-bbdb
company-emacs-eclim eclim-completion company eclimd eclim eclim-problems
eclim-maven eclim-ant eclim-java json eclim-project s rs-pbook
slime-xref-browser tree-widget slime-indentation slime-cl-indent
cl-indent slime-hyperdoc url-http tls url url-proxy url-privacy
url-expand url-methods url-history mailcap url-auth mail-parse rfc2231
rfc2047 rfc2045 ietf-drums url-cookie url-domsuf url-util url-parse
auth-source gnus-util mm-util mail-prsvr password-cache url-gw url-vars
slime-banner slime-asdf grep slime-fancy slime-trace-dialog
slime-fontifying-fu slime-package-fu slime-references
slime-compiler-notes-tree slime-scratch slime-presentations advice
bridge slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc slime-repl elp slime-parse slime
help-fns gud apropos etags xref eieio byte-opt bytecomp byte-compile
cl-extra cconv eieio-core arc-mode archive-mode noutline outline
easy-mmode pp hyperspec thingatpt browse-url slime-autoloads eudcb-mab
executable eudc cus-edit cus-start cus-load eudc-vars wid-edit
erlang-flymake flymake compile comint ansi-color ring erlang-start
cl-macs ls-lisp ert find-func ewoc debug cl gv server vc vc-dispatcher
tex-site docbook-autoloads derived info package epg-config dired-x
easymenu dired edmacro kmacro cl-loaddefs cl-lib time-date tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer nadvice loaddefs button faces cus-face macroexp
files text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
cocoa ns multi-tty emacs)

Memory information:
((conses 16 576285 59918)
(symbols 48 59052 38)
(miscs 40 568 913)
(strings 32 146506 16368)
(string-bytes 1 4654102)
(vectors 16 59079)
(vector-slots 8 1703590 106591)
(floats 8 953 1102)
(intervals 56 5808 763)
(buffers 976 84))