From unknown Sat Aug 09 09:31:53 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#14688 <14688@debbugs.gnu.org> To: bug#14688 <14688@debbugs.gnu.org> Subject: Status: 24.3; todo-show errors: wrong-type-argument and file-error Reply-To: bug#14688 <14688@debbugs.gnu.org> Date: Sat, 09 Aug 2025 16:31:53 +0000 retitle 14688 24.3; todo-show errors: wrong-type-argument and file-error reassign 14688 emacs submitter 14688 Leo Liu severity 14688 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 22 00:05:36 2013 Received: (at submit) by debbugs.gnu.org; 22 Jun 2013 04:05:36 +0000 Received: from localhost ([127.0.0.1]:33874 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UqF4x-0000PW-AA for submit@debbugs.gnu.org; Sat, 22 Jun 2013 00:05:36 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47479) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UqF4t-0000PD-OO for submit@debbugs.gnu.org; Sat, 22 Jun 2013 00:05:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UqF4n-0002Zk-G0 for submit@debbugs.gnu.org; Sat, 22 Jun 2013 00:05:26 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-101.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID,USER_IN_WHITELIST autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:53533) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UqF4n-0002Zg-Cn for submit@debbugs.gnu.org; Sat, 22 Jun 2013 00:05:25 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49196) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UqF4l-0005w2-Eg for bug-gnu-emacs@gnu.org; Sat, 22 Jun 2013 00:05:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UqF4k-0002ZH-Gb for bug-gnu-emacs@gnu.org; Sat, 22 Jun 2013 00:05:23 -0400 Received: from mail-pa0-x232.google.com ([2607:f8b0:400e:c03::232]:62537) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UqF4k-0002Z9-AT for bug-gnu-emacs@gnu.org; Sat, 22 Jun 2013 00:05:22 -0400 Received: by mail-pa0-f50.google.com with SMTP id fb1so8580246pad.23 for ; Fri, 21 Jun 2013 21:05:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:x-debbugs-cc:date:message-id:mime-version :content-type; bh=Ids5UNT++PP4I+yOdExzYx2x8kIs8RNqvPvsC7VnLa8=; b=QBHmSkS3Uk4yj36JamgoaaN9h25piCFPkJ/xdChkwswBgH3f5qZLyb4pavrzCyH7lj bgO8NIELRlKCpb1JQJUtpub5Ef2OWzfdQC7C9ZORH4oZJiF7veRpxBg+5hTK+lyc/qxC TEvvM57+hXkA6FRhc6hq3BksSB7rwJcF7h55+WaRpdI3IAoSz/Yndt8spMxFP5TdIStK pLW+GuqUFQVOp+XZ9g8FyMsAYvqiR7vD5FCgvlMpzPN8TC8/KGNr7PBlnR6snS+tOd2q jT5Lcmxf7gttBZTuVDPMJhx43ENTGsHf4ukEFGaugYabvEMhd0dX4/ka8Eoa5TM870zZ y+mA== X-Received: by 10.67.1.106 with SMTP id bf10mr9321168pad.162.1371873921040; Fri, 21 Jun 2013 21:05:21 -0700 (PDT) Received: from Zeuss-MacBook.local ([182.48.101.29]) by mx.google.com with ESMTPSA id v7sm7498968pbq.32.2013.06.21.21.05.18 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 21 Jun 2013 21:05:20 -0700 (PDT) From: Leo Liu To: bug-gnu-emacs@gnu.org Subject: 24.3; todo-show errors: wrong-type-argument and file-error X-Debbugs-CC: Stephen Berman Date: Sat, 22 Jun 2013 12:05:13 +0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.3 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.3 (----) Make sure nothing is in ~/.emacs.d/todo 1. start emacs 2. todo-show and answer its queries and save the buffer 3. go to ~/.emacs.d/todo and delete files there 4. M-x todo-show you will get a couple of errors such as: Debugger entered--Lisp error: (wrong-type-argument stringp nil) expand-file-name(nil) find-file-noselect(nil) todo-read-category("Enter a new category name: " add nil) todo-add-category(nil "") byte-code todo-show(nil) call-interactively(todo-show record nil) command-execute(todo-show record) execute-extended-command(nil "todo-show") call-interactively(execute-extended-command nil nil) command-execute(execute-extended-command) Debugger entered--Lisp error: (file-error "Removing old name" "no such file or directory" "/home/leo/.emacs.d/todo/TODO.todo") delete-file("/home/leo/.emacs.d/todo/TODO.todo") byte-code byte-code todo-show(nil) call-interactively(todo-show record nil) command-execute(todo-show record) execute-extended-command(nil "todo-show") call-interactively(execute-extended-command nil nil) command-execute(execute-extended-command) From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 23 18:19:07 2013 Received: (at 14688) by debbugs.gnu.org; 23 Jun 2013 22:19:08 +0000 Received: from localhost ([127.0.0.1]:37154 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uqsck-0000Ug-HS for submit@debbugs.gnu.org; Sun, 23 Jun 2013 18:19:07 -0400 Received: from mout.gmx.net ([212.227.17.21]:50449) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uqsch-0000U7-4a for 14688@debbugs.gnu.org; Sun, 23 Jun 2013 18:19:04 -0400 Received: from mailout-de.gmx.net ([10.1.76.12]) by mrigmx.server.lan (mrigmx001) with ESMTP (Nemesis) id 0MfCFw-1UfFt42TKU-00Oryv for <14688@debbugs.gnu.org>; Mon, 24 Jun 2013 00:18:56 +0200 Received: (qmail invoked by alias); 23 Jun 2013 22:18:54 -0000 Received: from i59F5569F.versanet.de (EHLO rosalinde.fritz.box) [89.245.86.159] by mail.gmx.net (mp012) with SMTP; 24 Jun 2013 00:18:54 +0200 X-Authenticated: #20778731 X-Provags-ID: V01U2FsdGVkX1+I9A8bBauIvLhwFBGtKh5hiTVU6DZ92rbhiGNUZE rNoq6eVQtDwkmj From: Stephen Berman To: Leo Liu Subject: Re: bug#14688: 24.3; todo-show errors: wrong-type-argument and file-error References: Date: Mon, 24 Jun 2013 00:18:52 +0200 Message-ID: <877ghk79o3.fsf@rosalinde.fritz.box> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Y-GMX-Trusted: 0 X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: 14688 Cc: 14688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.1 (-) On Fri 2013-06-21 23:58:09 +0200 I installed the new version of todo-mode.el. On Sat, 22 Jun 2013 12:05:13 +0800 Leo Liu wrote: > Make sure nothing is in ~/.emacs.d/todo > > 1. start emacs > 2. todo-show and answer its queries and save the buffer > 3. go to ~/.emacs.d/todo and delete files there > 4. M-x todo-show > > you will get a couple of errors such as: > > Debugger entered--Lisp error: (wrong-type-argument stringp nil) > expand-file-name(nil) > find-file-noselect(nil) > todo-read-category("Enter a new category name: " add nil) > todo-add-category(nil "") > byte-code > todo-show(nil) > call-interactively(todo-show record nil) > command-execute(todo-show record) > execute-extended-command(nil "todo-show") > call-interactively(execute-extended-command nil nil) > command-execute(execute-extended-command) > > Debugger entered--Lisp error: (file-error "Removing old name" "no such file or > directory" "/home/leo/.emacs.d/todo/TODO.todo") > delete-file("/home/leo/.emacs.d/todo/TODO.todo") > byte-code > byte-code > todo-show(nil) > call-interactively(todo-show record nil) > command-execute(todo-show record) > execute-extended-command(nil "todo-show") > call-interactively(execute-extended-command nil nil) > command-execute(execute-extended-command) Well, it took all of six hours for the prediction I made[1] to come true. It's taken me quite a bit longer to come up with a fix, and I'm not at all confident of its robustness. Still, if you confirm that it avoids the above errors, I'll probably commit it until I (or someone else) come up with something better, or until you (or someone else) find the next problem with it ;-). The patch fixes some other problems beside those you reported, but which arise similarly. I found them when I tried to reproduce your recipe. When I do exactly the above four steps in your recipe, I actually don't get the errors you reported and the category is displayed normally. However, if between steps 3 and 4 of your recipe I kill the buffer visiting the todo file, then I do get the errors. But if I don't kill the buffer and also don't save it before trying to use other Todo mode commands, other problems arise. The patch tries to avoid these problems as well as the ones you reported. Steve Berman Footnotes: [1] in this list on 11 June 2013: > since I'm the only one who's used the new version so far, there are > certain to be use cases and configurations I didn't test well enough > or even think of at all === modified file 'lisp/calendar/todo-mode.el' *** lisp/calendar/todo-mode.el 2013-06-21 14:07:46 +0000 --- lisp/calendar/todo-mode.el 2013-06-23 22:09:25 +0000 *************** *** 578,588 **** (file-name-sans-extension (file-name-nondirectory file)))) (defcustom todo-default-todo-file (todo-short-file-name ! (car (funcall todo-files-function))) "Todo file visited by first session invocation of `todo-show'." ! :type `(radio ,@(mapcar (lambda (f) (list 'const f)) ! (mapcar 'todo-short-file-name ! (funcall todo-files-function)))) :group 'todo) (defcustom todo-show-current-file t --- 578,589 ---- (file-name-sans-extension (file-name-nondirectory file)))) (defcustom todo-default-todo-file (todo-short-file-name ! (car (funcall todo-files-function))) "Todo file visited by first session invocation of `todo-show'." ! :type (when todo-files ! `(radio ,@(mapcar (lambda (f) (list 'const f)) ! (mapcar 'todo-short-file-name ! (funcall todo-files-function))))) :group 'todo) (defcustom todo-show-current-file t *************** *** 669,674 **** --- 670,696 ---- Invoking this command in Todo Archive mode visits the corresponding todo file, displaying the corresponding category." (interactive "P") + ;; If the user deletes the default todo file while its content is in + ;; a buffer and then tries to show it, ask whether to restore the + ;; file, else delete the buffer and cleanup to avoid errors and + ;; reinitialize a new default file. + (let* ((tdtf (todo-absolute-file-name todo-default-todo-file)) + (buf (and tdtf (find-buffer-visiting tdtf))) + ans) + (when (and tdtf (not (file-exists-p tdtf))) + (if (and buf (y-or-n-p + (concat + (format (concat "Todo file \"%s\" has been deleted " + "but its content is still in a buffer!\n") + todo-default-todo-file) + "Save that buffer and restore the todo file? "))) + (with-current-buffer buf (save-buffer)) + (setq todo-default-todo-file nil + todo-files (todo-files)) + (setq todo-default-todo-file (todo-short-file-name (car todo-files))) + (todo-reevaluate-default-file-defcustom) + (setq todo-global-current-todo-file nil) ; For todo-read-file-name. + (kill-buffer buf)))) (catch 'shown ;; If there is a legacy todo file but no todo file in the current ;; format, offer to convert the legacy file and show it. *************** *** 681,784 **** "old todo file to the new format? "))) (when (todo-convert-legacy-files) (throw 'shown nil))))) ! (let* ((cat) ! (show-first todo-show-first) ! (file (cond ((or solicit-file ! (and (called-interactively-p 'any) ! (memq major-mode '(todo-mode ! todo-archive-mode ! todo-filtered-items-mode)))) ! (if (funcall todo-files-function) ! (todo-read-file-name "Choose a todo file to visit: " ! nil t) ! (user-error "There are no todo files"))) ! ((and (eq major-mode 'todo-archive-mode) ! ;; Called noninteractively via todo-quit ! ;; to jump to corresponding category in ! ;; todo file. ! (not (called-interactively-p 'any))) ! (setq cat (todo-current-category)) ! (concat (file-name-sans-extension ! todo-current-todo-file) ".todo")) ! (t ! (or todo-current-todo-file ! (and todo-show-current-file ! todo-global-current-todo-file) ! (todo-absolute-file-name todo-default-todo-file) ! (todo-add-file))))) ! add-item first-file) ! (unless todo-default-todo-file ! ;; We just initialized the first todo file, so make it the default. ! (setq todo-default-todo-file (todo-short-file-name file) ! first-file t) ! (todo-reevaluate-default-file-defcustom)) ! (unless (member file todo-visited) ! ;; Can't setq t-c-t-f here, otherwise wrong file shown when ! ;; todo-show is called from todo-show-categories-table. ! (let ((todo-current-todo-file file)) ! (cond ((eq todo-show-first 'table) ! (todo-show-categories-table)) ! ((memq todo-show-first '(top diary regexp)) ! (let* ((shortf (todo-short-file-name file)) ! (fi-file (todo-absolute-file-name ! shortf todo-show-first))) ! (when (eq todo-show-first 'regexp) ! (let ((rxfiles (directory-files todo-directory t ! ".*\\.todr$" t))) ! (when (and rxfiles (> (length rxfiles) 1)) ! (let ((rxf (mapcar 'todo-short-file-name rxfiles))) ! (setq fi-file (todo-absolute-file-name ! (completing-read ! "Choose a regexp items file: " ! rxf) 'regexp)))))) ! (if (file-exists-p fi-file) ! (set-window-buffer ! (selected-window) ! (set-buffer (find-file-noselect fi-file 'nowarn))) ! (message "There is no %s file for %s" ! (cond ((eq todo-show-first 'top) ! "top priorities") ! ((eq todo-show-first 'diary) ! "diary items") ! ((eq todo-show-first 'regexp) ! "regexp items")) ! shortf) ! (setq todo-show-first 'first))))))) ! (when (or (member file todo-visited) ! (eq todo-show-first 'first)) ! (set-window-buffer (selected-window) ! (set-buffer (find-file-noselect file 'nowarn))) ! ;; When quitting an archive file, show the corresponding ! ;; category in the corresponding todo file, if it exists. ! (when (assoc cat todo-categories) ! (setq todo-category-number (todo-category-number cat))) ! ;; If this is a new todo file, add its first category. ! (when (zerop (buffer-size)) ! (let (cat-added) ! (unwind-protect ! (setq todo-category-number ! (todo-add-category todo-current-todo-file "") ! add-item todo-add-item-if-new-category ! cat-added t) ! (if cat-added ! ;; If the category was added, save the file now, so we ! ;; don't risk having an empty todo file, which would ! ;; signal an error if we tried to visit it later, ! ;; since doing that looks for category boundaries. ! (save-buffer 0) ! ;; If user cancels before adding the category, clean up ! ;; and exit, so we have a fresh slate the next time. ! (delete-file file) ! (setq todo-files (delete file todo-files)) ! (when first-file ! (setq todo-default-todo-file nil ! todo-current-todo-file nil)) ! (kill-buffer) ! (keyboard-quit))))) ! (save-excursion (todo-category-select)) ! (when add-item (todo-basic-insert-item))) ! (setq todo-show-first show-first) ! (add-to-list 'todo-visited file)))) (defun todo-save () "Save the current todo file." --- 703,827 ---- "old todo file to the new format? "))) (when (todo-convert-legacy-files) (throw 'shown nil))))) ! (catch 'end ! (let* ((cat) ! (show-first todo-show-first) ! (file (cond ((or solicit-file ! (and (called-interactively-p 'any) ! (memq major-mode '(todo-mode ! todo-archive-mode ! todo-filtered-items-mode)))) ! (if (funcall todo-files-function) ! (todo-read-file-name "Choose a todo file to visit: " ! nil t) ! (user-error "There are no todo files"))) ! ((and (eq major-mode 'todo-archive-mode) ! ;; Called noninteractively via todo-quit ! ;; to jump to corresponding category in ! ;; todo file. ! (not (called-interactively-p 'any))) ! (setq cat (todo-current-category)) ! (concat (file-name-sans-extension ! todo-current-todo-file) ".todo")) ! (t ! (or todo-current-todo-file ! (and todo-show-current-file ! todo-global-current-todo-file) ! (todo-absolute-file-name todo-default-todo-file) ! (todo-add-file))))) ! add-item first-file) ! (unless todo-default-todo-file ! ;; We just initialized the first todo file, so make it the default. ! (setq todo-default-todo-file (todo-short-file-name file) ! first-file t) ! (todo-reevaluate-default-file-defcustom)) ! (unless (member file todo-visited) ! ;; Can't setq t-c-t-f here, otherwise wrong file shown when ! ;; todo-show is called from todo-show-categories-table. ! (let ((todo-current-todo-file file)) ! (cond ((eq todo-show-first 'table) ! (todo-show-categories-table)) ! ((memq todo-show-first '(top diary regexp)) ! (let* ((shortf (todo-short-file-name file)) ! (fi-file (todo-absolute-file-name ! shortf todo-show-first))) ! (when (eq todo-show-first 'regexp) ! (let ((rxfiles (directory-files todo-directory t ! ".*\\.todr$" t))) ! (when (and rxfiles (> (length rxfiles) 1)) ! (let ((rxf (mapcar 'todo-short-file-name rxfiles))) ! (setq fi-file (todo-absolute-file-name ! (completing-read ! "Choose a regexp items file: " ! rxf) 'regexp)))))) ! (if (file-exists-p fi-file) ! (set-window-buffer ! (selected-window) ! (set-buffer (find-file-noselect fi-file 'nowarn))) ! (message "There is no %s file for %s" ! (cond ((eq todo-show-first 'top) ! "top priorities") ! ((eq todo-show-first 'diary) ! "diary items") ! ((eq todo-show-first 'regexp) ! "regexp items")) ! shortf) ! (setq todo-show-first 'first))))))) ! (when (or (member file todo-visited) ! (eq todo-show-first 'first)) ! ;; If the user deletes a file while its content is in a ! ;; buffer and then tries to show it, ask whether to restore ! ;; the file, else delete the buffer and cleanup to avoid ! ;; errors. ! (when (not (file-exists-p file)) ! (let ((buf (find-buffer-visiting file))) ! (if (and buf ! (y-or-n-p ! (concat ! (format (concat "Todo file \"%s\" has been deleted but " ! "its content is still in a buffer!\n") ! (todo-short-file-name file)) ! "Save that buffer and restore the todo file? "))) ! (with-current-buffer buf (save-buffer)) ! (setq todo-current-todo-file nil ! todo-global-current-todo-file nil ! todo-files (todo-files)) ! (kill-buffer buf) ! (throw 'end nil)))) ! (set-window-buffer (selected-window) ! (set-buffer (find-file-noselect file 'nowarn))) ! ;; When quitting an archive file, show the corresponding ! ;; category in the corresponding todo file, if it exists. ! (when (assoc cat todo-categories) ! (setq todo-category-number (todo-category-number cat))) ! ;; If this is a new todo file, add its first category. ! (when (zerop (buffer-size)) ! (let (cat-added) ! (unwind-protect ! (setq todo-category-number ! (todo-add-category todo-current-todo-file "") ! add-item todo-add-item-if-new-category ! cat-added t) ! (if cat-added ! ;; If the category was added, save the file now, so we ! ;; don't risk having an empty todo file, which would ! ;; signal an error if we tried to visit it later, ! ;; since doing that looks for category boundaries. ! (save-buffer 0) ! ;; If user cancels before adding the category, clean up ! ;; and exit, so we have a fresh slate the next time. ! (delete-file file) ! (setq todo-files (delete file todo-files)) ! (when first-file ! (setq todo-default-todo-file nil ! todo-current-todo-file nil) ! (todo-reevaluate-default-file-defcustom)) ! (kill-buffer) ! (keyboard-quit))))) ! (save-excursion (todo-category-select)) ! (when add-item (todo-basic-insert-item))) ! (setq todo-show-first show-first) ! (add-to-list 'todo-visited file))))) (defun todo-save () "Save the current todo file." *************** *** 4678,4684 **** (unless todo-default-todo-file ;; We just initialized the first todo file, so make it the ;; default now to avoid an infinite recursion with todo-show. ! (setq todo-default-todo-file (todo-short-file-name file))) (todo-show)))))) ;; ----------------------------------------------------------------------------- --- 4721,4728 ---- (unless todo-default-todo-file ;; We just initialized the first todo file, so make it the ;; default now to avoid an infinite recursion with todo-show. ! (setq todo-default-todo-file (todo-short-file-name file)) ! (todo-reevaluate-default-file-defcustom)) (todo-show)))))) ;; ----------------------------------------------------------------------------- *************** *** 5868,5879 **** (defun todo-reevaluate-default-file-defcustom () "Reevaluate defcustom of `todo-default-todo-file'. Called after adding or deleting a todo file." ! (eval (defcustom todo-default-todo-file (car (funcall todo-files-function)) ! "Todo file visited by first session invocation of `todo-show'." ! :type `(radio ,@(mapcar (lambda (f) (list 'const f)) ! (mapcar 'todo-short-file-name ! (funcall todo-files-function)))) ! :group 'todo))) (defun todo-reevaluate-category-completions-files-defcustom () "Reevaluate defcustom of `todo-category-completions-files'. --- 5912,5926 ---- (defun todo-reevaluate-default-file-defcustom () "Reevaluate defcustom of `todo-default-todo-file'. Called after adding or deleting a todo file." ! (eval ! (defcustom todo-default-todo-file (todo-short-file-name ! (car (funcall todo-files-function))) ! "Todo file visited by first session invocation of `todo-show'." ! :type (when todo-files ! `(radio ,@(mapcar (lambda (f) (list 'const f)) ! (mapcar 'todo-short-file-name ! (funcall todo-files-function))))) ! :group 'todo))) (defun todo-reevaluate-category-completions-files-defcustom () "Reevaluate defcustom of `todo-category-completions-files'. From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 23 21:25:54 2013 Received: (at 14688) by debbugs.gnu.org; 24 Jun 2013 01:25:54 +0000 Received: from localhost ([127.0.0.1]:37359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UqvXV-0006ur-Sh for submit@debbugs.gnu.org; Sun, 23 Jun 2013 21:25:54 -0400 Received: from mail-pa0-f52.google.com ([209.85.220.52]:56810) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UqvXU-0006ue-CX for 14688@debbugs.gnu.org; Sun, 23 Jun 2013 21:25:52 -0400 Received: by mail-pa0-f52.google.com with SMTP id kq13so10281512pab.11 for <14688@debbugs.gnu.org>; Sun, 23 Jun 2013 18:25:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:face:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=zsve+Wfz9nv3orVPC4rh19Q1AXacySrRocjH7GuXUyk=; b=hnEoTxQWtQpQX/F9i4Kr7VHnV71R0mAzgfJR0fDHH4W/sz754gEPt6grb0fg7vo7qr 5qFTCrqix4PoNHecsawybXuxaVgsHFcv5qPPB3sGMAukBE1n9UN7mPxI8vnWdebsDG0q axEJriXr8coIBBHGDw3jVMQgJQZSC6cIhjQk/+AgzczDH/yjE9Mpc7MKNijehL+oAqPn ZkSjhdymtXoyuUaH79ue575nH6s9k6+JhiOCADVNshkoulCO+F75cLaCn8itRtxwjlIN 38NcWvmJmbdRqurlhLQtn3f9HfrWD07ycp9BoZpa03Dz4UdO7b7EjRCQ0VFVtYKn91+0 +XZQ== X-Received: by 10.67.21.229 with SMTP id hn5mr25600780pad.135.1372037146526; Sun, 23 Jun 2013 18:25:46 -0700 (PDT) Received: from Zeuss-MacBook.local ([182.48.101.29]) by mx.google.com with ESMTPSA id aj3sm8571024pad.8.2013.06.23.18.25.44 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sun, 23 Jun 2013 18:25:45 -0700 (PDT) From: Leo Liu To: Stephen Berman Subject: Re: bug#14688: 24.3; todo-show errors: wrong-type-argument and file-error References: <877ghk79o3.fsf@rosalinde.fritz.box> Face: iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAGFBMVEUzRVhbQj4eZqO6SjnT eWpxnMetm5b6/PmidmqrAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1F B9cBBwMLBfKABCMAAAFoSURBVCjPtZI9a8MwEIaFoc7aYDdelQMna0Em3tsSr0XUeE2Q6a22a+v+ fk8fSSBkbDUI6dHpfe9OEvRgiD+ApqKPJgJeB6iUUXWESjUe/ig38AJrhqqvaU2nTIXbNvOQ40fe qdry4kyGoVWsfCQalXpHnJGM01wjWdYbMlXNFdsZDO69m9aqNqxEJqTEgbM5OF7wlEfIoll1Ked4 LbM5X2EdILLokEdmI8z7g5cKED0cuTC930TYhy7ZDekkXVGw/L60TguJePPxcJF48lpsSUWEA/Ju jGFNgJOXc4Hz7TmAdBeu5Ve4AEjOi2/2jfd3cAJZ+IbNrvdjgBZY01b+HTuG3cLws6BJZqVOj/pp T0OqVwx3rFq+QmJwx3loK5JSLEhDIt62+mtC2C+SrAUxEbV6C6v2BRbd6pILBKFpepKZJHgGgrKF sptSUUoczpwg2pQ7ZH1tgs0ou/917mzz6Cs2//C978cv5l07L02orIEAAAAASUVORK5CYII= Date: Mon, 24 Jun 2013 09:25:39 +0800 In-Reply-To: <877ghk79o3.fsf@rosalinde.fritz.box> (Stephen Berman's message of "Mon, 24 Jun 2013 00:18:52 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (OS X 10.8.3) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 14688 Cc: 14688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 2013-06-24 06:18 +0800, Stephen Berman wrote: > The patch fixes some other problems beside those you reported, but which > arise similarly. I found them when I tried to reproduce your recipe. > When I do exactly the above four steps in your recipe, I actually don't > get the errors you reported and the category is displayed normally. > However, if between steps 3 and 4 of your recipe I kill the buffer > visiting the todo file, then I do get the errors. But if I don't kill > the buffer and also don't save it before trying to use other Todo mode > commands, other problems arise. The patch tries to avoid these problems > as well as the ones you reported. The patch seems to work well. Thanks. Leo From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 24 15:11:26 2013 Received: (at 14688) by debbugs.gnu.org; 24 Jun 2013 19:11:26 +0000 Received: from localhost ([127.0.0.1]:39031 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UrCAf-0008DO-4j for submit@debbugs.gnu.org; Mon, 24 Jun 2013 15:11:25 -0400 Received: from mout.gmx.net ([212.227.17.20]:58767) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UrCAc-0008D8-CN for 14688@debbugs.gnu.org; Mon, 24 Jun 2013 15:11:23 -0400 Received: from mailout-de.gmx.net ([10.1.76.17]) by mrigmx.server.lan (mrigmx001) with ESMTP (Nemesis) id 0Ly8b5-1UEvKL06zN-015aqh for <14688@debbugs.gnu.org>; Mon, 24 Jun 2013 21:11:16 +0200 Received: (qmail invoked by alias); 24 Jun 2013 19:11:12 -0000 Received: from i59F54452.versanet.de (EHLO rosalinde.fritz.box) [89.245.68.82] by mail.gmx.net (mp017) with SMTP; 24 Jun 2013 21:11:12 +0200 X-Authenticated: #20778731 X-Provags-ID: V01U2FsdGVkX19dKXUC76dd5Zb2xHzHCLFv11cevDcRBUvyjv8i8I BNFtpj/m8gULpM From: Stephen Berman To: Leo Liu Subject: Re: bug#14688: 24.3; todo-show errors: wrong-type-argument and file-error References: <877ghk79o3.fsf@rosalinde.fritz.box> Date: Mon, 24 Jun 2013 21:11:10 +0200 In-Reply-To: (Leo Liu's message of "Mon, 24 Jun 2013 09:25:39 +0800") Message-ID: <87li5zcoj5.fsf@rosalinde.fritz.box> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Y-GMX-Trusted: 0 X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: 14688 Cc: 14688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.1 (-) On Mon, 24 Jun 2013 09:25:39 +0800 Leo Liu wrote: > On 2013-06-24 06:18 +0800, Stephen Berman wrote: >> The patch fixes some other problems beside those you reported, but which >> arise similarly. I found them when I tried to reproduce your recipe. >> When I do exactly the above four steps in your recipe, I actually don't >> get the errors you reported and the category is displayed normally. >> However, if between steps 3 and 4 of your recipe I kill the buffer >> visiting the todo file, then I do get the errors. But if I don't kill >> the buffer and also don't save it before trying to use other Todo mode >> commands, other problems arise. The patch tries to avoid these problems >> as well as the ones you reported. > > The patch seems to work well. Thanks. Thanks for checking. However, I'm convinced that the problem is more pervasive, and rather than tacking similar patches to each place in the code it can arise, I'd like to see if I can modularize the fix at least to some extent. This may take a bit of time. In the mean time, I would suggest that, if you want to use the package more (BTW, thank you very much for trying it out), you should avoid deleting todo files while the library is loaded (there's no problem deleting them before loading the library). I don't think that should cause any great inconvenience or problem (or if it does, then that would indicate another bug, which it would be good to find out about); at least I never had the need to do that in all the time I was developing the package (which is why I didn't think to try and prevent the problem). If I can't come up with a better solution in a reasonably short time, I'll fall back to a piecemeal approach, starting with the patch I posted. Thanks again for testing! Steve Berman From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 05 10:07:55 2013 Received: (at 14688-done) by debbugs.gnu.org; 5 Jul 2013 14:07:55 +0000 Received: from localhost ([127.0.0.1]:60200 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uv6fy-0004pQ-UF for submit@debbugs.gnu.org; Fri, 05 Jul 2013 10:07:55 -0400 Received: from mout.gmx.net ([212.227.15.19]:55110) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uv6fw-0004ot-VX for 14688-done@debbugs.gnu.org; Fri, 05 Jul 2013 10:07:53 -0400 Received: from rosalinde.fritz.box ([89.245.89.66]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MRjd7-1UoktU24gz-00SxI7; Fri, 05 Jul 2013 16:07:45 +0200 From: Stephen Berman To: Leo Liu Subject: Re: bug#14688: 24.3; todo-show errors: wrong-type-argument and file-error References: <877ghk79o3.fsf@rosalinde.fritz.box> <87li5zcoj5.fsf@rosalinde.fritz.box> Date: Fri, 05 Jul 2013 16:07:44 +0200 Message-ID: <87ip0pm767.fsf@rosalinde.fritz.box> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:+4nMwLcLVo7yf1DSDLDGYCdZMaMYPa/MYh5+1D4XQ87Vm+8i6pF Ssoe7fYyv/qmB9JWtvnA2ZAsf+M5ia9ic7vf1muFv2KU6RpAYT4BEavST7aWKUMvHLOG/Ai N3KLNiuQZy4JORNsHclJ7ekqCNvFSeqx3dLeMUrGAjuyNK7aGpSv/44vhzR21H1nA6uf8uu TL9G0SP6jiFsFte6AgSAw== X-Spam-Score: -0.2 (/) X-Debbugs-Envelope-To: 14688-done Cc: 14688-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.2 (/) On Mon, 24 Jun 2013 21:11:10 +0200 Stephen Berman wrote: > On Mon, 24 Jun 2013 09:25:39 +0800 Leo Liu wrote: > >> On 2013-06-24 06:18 +0800, Stephen Berman wrote: >>> The patch fixes some other problems beside those you reported, but which >>> arise similarly. I found them when I tried to reproduce your recipe. >>> When I do exactly the above four steps in your recipe, I actually don't >>> get the errors you reported and the category is displayed normally. >>> However, if between steps 3 and 4 of your recipe I kill the buffer >>> visiting the todo file, then I do get the errors. But if I don't kill >>> the buffer and also don't save it before trying to use other Todo mode >>> commands, other problems arise. The patch tries to avoid these problems >>> as well as the ones you reported. >> >> The patch seems to work well. Thanks. > > Thanks for checking. However, I'm convinced that the problem is more > pervasive, and rather than tacking similar patches to each place in the > code it can arise, I'd like to see if I can modularize the fix at least > to some extent. This may take a bit of time. I've now committed a revised patch as part of revision 113288 and am closing this bug. This is more modular than my previous patch, and it also handles the interaction with external file deletion in some other cases, but I haven't had time to check all cases. Still, I've committed it now since it's better than the status quo. (The revision also includes a new file deletion command and also fixes several related bugs and does some code, doc string and comment clean up.) Steve Berman From unknown Sat Aug 09 09:31:53 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 03 Aug 2013 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator