From: Bill Wohler Date: Thu, 9 Feb 2006 19:53:44 +0000 (+0000) Subject: (mh-folder-list): Don't replace "/*$" with "/" since that causes an X-Git-Tag: emacs-pretest-22.0.90~4256 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=da01a066b9a9f5a487ae4dc67767bef7b62346bc;p=emacs.git (mh-folder-list): Don't replace "/*$" with "/" since that causes an infinite loop on XEmacs. --- diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index b89a4fc3d1f..19cffeabacb 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog @@ -1,5 +1,8 @@ 2006-02-09 Bill Wohler + * mh-utils.el (mh-folder-list): Don't replace "/*$" with "/" since + that causes an infinite loop on XEmacs. + * mh-compat.el(mh-replace-regexp-in-string): Add missing regexp argument. diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el index 42f11376262..dc86d19ae77 100644 --- a/lisp/mh-e/mh-utils.el +++ b/lisp/mh-e/mh-utils.el @@ -516,13 +516,15 @@ value of `mh-recursive-folders-flag'. If this flag is nil, and the sub-folders have not been explicitly viewed, then they will not be returned." (let ((folder-list)) - ;; Normalize folder. Strip leading +. Add trailing slash. If no - ;; folder is specified, ensure it is nil to ensure we get the - ;; top-level folders; otherwise mh-sub-folders returns all the - ;; files in / if given an empty string or +. + ;; Normalize folder. Strip leading +. Add trailing slash (done in + ;; two steps to avoid infinite loops when replacing "/*$" with "/" + ;; in XEmacs). If no folder is specified, ensure it is nil to + ;; ensure we get the top-level folders; otherwise mh-sub-folders + ;; returns all the files in / if given an empty string or +. (when folder (setq folder (mh-replace-regexp-in-string "^\+" "" folder)) - (setq folder (mh-replace-regexp-in-string "/*$" "/" folder)) + (setq folder (mh-replace-regexp-in-string "/+$" "" folder)) + (setq folder (concat folder "/")) (if (equal folder "") (setq folder nil))) (loop for f in (mh-sub-folders folder) do