emacs-wiki-discuss
[Top][All Lists]
Advanced

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

[emacs-wiki-discuss] [BUG] MyJournal10 is repeatedly overwritten


From: Yamagata Yoriyuki
Subject: [emacs-wiki-discuss] [BUG] MyJournal10 is repeatedly overwritten
Date: Thu, 30 Dec 2004 00:56:56 +0900 (JST)

Hi, all

I found that, emacs-wiki-journal cannot create more than 10 archive
files for journal entries.  This is due to the bug in the
emacs-wiki-journal-last-page.  This function looks the current archive
files and supposedly detects the newest one, but it fails since it
uses lexicographic, instead of numerical, sorting to the file names.

Here is a patch.  (not particularly good, I admit.)

--- orig/emacs-wiki-journal.el
+++ mod/emacs-wiki-journal.el
@@ -403,19 +404,25 @@
 
 (defun emacs-wiki-journal-last-page ()
   "Return a pair with the last journal page name and number."
-  (let ((final (car-safe
-                (last (directory-files emacs-wiki-journal-directory
-                                       nil
-                                       (concat emacs-wiki-journal-wiki
-                                               "[0-9]+\\'"))))))
-    (if (or (not final) (not (string-match "[0-9]+\\'" final)))
-        (cons "" 0)
-      (cons (file-name-nondirectory final)
-            (string-to-int (match-string 0 final))))))
+  (let ((files 
+        (directory-files emacs-wiki-journal-directory
+                         nil
+                         (concat emacs-wiki-journal-wiki
+                                 "[0-9]+\\'")
+                         'true))
+       (final 0))
+    (progn
+      (mapc (lambda (file)
+             (let* ((num-string 
+                    (substring file (length emacs-wiki-journal-wiki)))
+                   (num (string-to-number num-string)))
+               (setq final (max num final))))
+           files)
+      (cons (format "%s%d" emacs-wiki-journal-wiki final) final))))

--
Yamagata Yoriyuki





reply via email to

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