unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Thien-Thi Nguyen <ttn@gnuvola.org>
To: Mathias Dahl <mathias.dahl@gmail.com>
Cc: dieter@duenenhof-wilhelm.de, emacs-devel@gnu.org
Subject: Re: [dieter@duenenhof-wilhelm.de: image-dired (tumme) database file not existing]
Date: Thu, 19 Jul 2007 16:10:02 +0200	[thread overview]
Message-ID: <87y7hcxz5x.fsf@ambire.localdomain> (raw)
In-Reply-To: <E1IBV2t-00068b-V8@fencepost.gnu.org> (Richard Stallman's message of "Thu\, 19 Jul 2007 08\:23\:51 -0400")

[-- Attachment #1: Type: text/plain, Size: 646 bytes --]

() Dieter Wilhelm <dieter@duenenhof-wilhelm.de>
() Wed, 18 Jul 2007 17:39:34 +0200

   image-dired-write-comments: Opening input file: no such file
   or directory, /home/dieter/.emacs.d/image-dired/.image-dired_db

below is a quick patch (against the trunk).
here is a ChangeLog entry:

	* image-dired.el (image-dired-sane-db-file): New func.
	(image-dired-write-tags, image-dired-remove-tag)
	(image-dired-list-tags, image-dired-write-comments)
	(image-dired-get-comment, image-dired-mark-tagged-files)
	(image-dired-create-gallery-lists): Call new func.

does this give good results?

thi


___________________________________________________

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: .ttn.image-dired.diff --]
[-- Type: text/x-diff, Size: 3382 bytes --]

Index: image-dired.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/image-dired.el,v
retrieving revision 1.4
diff -c -r1.4 image-dired.el
*** image-dired.el	13 Jun 2007 00:05:24 -0000	1.4
--- image-dired.el	19 Jul 2007 14:00:33 -0000
***************
*** 869,879 ****
--- 869,896 ----
  ;;;###autoload
  (defalias 'tumme 'image-dired-show-all-from-dir)
  
+ (defun image-dired-sane-db-file ()
+   "Check if `image-dired-db-file' exists.
+ If not, try to create it (including any parent directories).
+ Signal error if there are problems creating it."
+   (or (file-exists-p image-dired-db-file)
+       (let (dir buf)
+         (unless (file-directory-p (setq dir (file-name-directory
+                                              image-dired-db-file)))
+           (make-directory dir t))
+         (with-current-buffer (setq buf (create-file-buffer
+                                         image-dired-db-file))
+           (write-file image-dired-db-file))
+         (kill-buffer buf)
+         (file-exists-p image-dired-db-file))
+       (error "Could not create %s" image-dired-db-file)))
+ 
  (defun image-dired-write-tags (file-tags)
    "Write file tags to database.
  Write each file and tag in FILE-TAGS to the database.  FILE-TAGS
  is an alist in the following form:
   ((FILE . TAG) ... )"
+   (image-dired-sane-db-file)
    (let (end file tag)
      (with-temp-file image-dired-db-file
        (insert-file-contents image-dired-db-file)
***************
*** 893,898 ****
--- 910,916 ----
  
  (defun image-dired-remove-tag (files tag)
    "For all FILES, remove TAG from the image database."
+   (image-dired-sane-db-file)
    (save-excursion
      (let (end buf start)
        (setq buf (find-file image-dired-db-file))
***************
*** 927,932 ****
--- 945,951 ----
  
  (defun image-dired-list-tags (file)
    "Read all tags for image FILE from the image database."
+   (image-dired-sane-db-file)
    (save-excursion
      (let (end buf (tags ""))
        (setq buf (find-file image-dired-db-file))
***************
*** 2038,2043 ****
--- 2057,2063 ----
  Write file comments to one or more files.  FILE-COMMENTS is an alist on
  the following form:
   ((FILE . COMMENT) ... )"
+   (image-dired-sane-db-file)
    (let (end comment-beg-pos comment-end-pos file comment)
      (with-temp-file image-dired-db-file
        (insert-file-contents image-dired-db-file)
***************
*** 2108,2113 ****
--- 2128,2134 ----
  
  (defun image-dired-get-comment (file)
    "Get comment for file FILE."
+   (image-dired-sane-db-file)
    (save-excursion
      (let (end buf comment-beg-pos comment-end-pos comment)
        (setq buf (find-file image-dired-db-file))
***************
*** 2136,2141 ****
--- 2157,2163 ----
  on all image files in the database file.  The files that have a
  matching tags will be marked in the dired buffer."
    (interactive)
+   (image-dired-sane-db-file)
    (let ((tag (read-string "Mark tagged files (regexp): "))
          (hits 0)
          files buf)
***************
*** 2300,2305 ****
--- 2322,2328 ----
  
  (defun image-dired-create-gallery-lists ()
    "Create temporary lists used by `image-dired-gallery-generate'."
+   (image-dired-sane-db-file)
    (let ((buf (find-file image-dired-db-file))
          end beg file row-tags)
      (setq image-dired-tag-file-list nil)

[-- Attachment #3: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

  reply	other threads:[~2007-07-19 14:10 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-19 12:23 [dieter@duenenhof-wilhelm.de: image-dired (tumme) database file not existing] Richard Stallman
2007-07-19 14:10 ` Thien-Thi Nguyen [this message]
2007-07-19 15:03   ` Mathias Dahl
2007-07-19 15:37     ` Thien-Thi Nguyen
2007-07-20  5:25       ` tomas
2007-07-20  6:44         ` Thien-Thi Nguyen
2007-07-20  8:10           ` tomas
2007-07-21 23:36   ` Mathias Dahl
2007-07-21 23:49     ` Thien-Thi Nguyen
2007-07-22 18:36       ` Richard Stallman

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.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=87y7hcxz5x.fsf@ambire.localdomain \
    --to=ttn@gnuvola.org \
    --cc=dieter@duenenhof-wilhelm.de \
    --cc=emacs-devel@gnu.org \
    --cc=mathias.dahl@gmail.com \
    /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.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).