emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/ebdb 9ce8e30 310/350: Check db editable before reading


From: Eric Abrahamsen
Subject: [elpa] externals/ebdb 9ce8e30 310/350: Check db editable before reading new record
Date: Mon, 14 Aug 2017 11:47:01 -0400 (EDT)

branch: externals/ebdb
commit 9ce8e30784aca2f02dad9af300a1b1fe5a3f3a98
Author: Eric Abrahamsen <address@hidden>
Commit: Eric Abrahamsen <address@hidden>

    Check db editable before reading new record
    
    * ebdb-com.el (ebdb-create-record): Move the ebdb-db-editable check
      before record reading, don't make the user enter a whole record and
      then find out afterwards it isn't going to work.
---
 ebdb-com.el | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/ebdb-com.el b/ebdb-com.el
index f651368..da54005 100644
--- a/ebdb-com.el
+++ b/ebdb-com.el
@@ -1573,24 +1573,24 @@ in `ebdb-db-list', using its default record class.  Use
    (list (car ebdb-db-list)))
   (unless record-class
     (setq record-class (slot-value db 'record-class)))
-  (let ((record (ebdb-read record-class)))
-   (condition-case nil
-       (progn
-        (ebdb-db-editable db nil t)
-        (run-hook-with-args 'ebdb-create-hook record)
-        (run-hook-with-args 'ebdb-change-hook record)
-        (ebdb-db-add-record db record)
-        (ebdb-init-record record)
-        (run-hook-with-args 'ebdb-after-change-hook record)
-        (ebdb-display-records (list record) ebdb-default-multiline-formatter t)
-        (dolist (b (buffer-list))
-          (with-current-buffer b
+  (condition-case nil
+      (let (record)
+       (ebdb-db-editable db nil t)
+       (setq record (ebdb-read record-class))
+       (run-hook-with-args 'ebdb-create-hook record)
+       (run-hook-with-args 'ebdb-change-hook record)
+       (ebdb-db-add-record db record)
+       (ebdb-init-record record)
+       (run-hook-with-args 'ebdb-after-change-hook record)
+       (ebdb-display-records (list record) ebdb-default-multiline-formatter t)
+       (dolist (b (buffer-list))
+         (with-current-buffer b
            (when (derived-mode-p 'ebdb-mode)
              (set-buffer-modified-p t)))))
-     (ebdb-readonly-db
-      (message "%s is read-only" (ebdb-string db)))
-     (ebdb-unsynced-db
-      (message "%s is out of sync" (ebdb-string db))))))
+    (ebdb-readonly-db
+     (message "%s is read-only" (ebdb-string db)))
+    (ebdb-unsynced-db
+     (message "%s is out of sync" (ebdb-string db)))))
 
 ;;;###autoload
 (defun ebdb-create-record-extended ()



reply via email to

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