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

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

[emacs-wiki-discuss] [Bug]emacs-wiki-published-file


From: Li Daobing
Subject: [emacs-wiki-discuss] [Bug]emacs-wiki-published-file
Date: Fri, 11 Mar 2005 10:18:35 +0800
User-agent: Debian Thunderbird 1.0 (X11/20050116)

Hello,
    This bug report is copy from a SMTH BBS, thank address@hidden for his
report.

    It's because in some case `file-name-directory'(Line 1187) will
return nil, so in Line 1189 `buffer-directory' will be nil, so
string-match report an error.

His system is win2000, emacs 21.3.50.1, emacs-wiki 2.68

  1170  (defsubst emacs-wiki-published-file (&optional file)
  1171    "Return the filename of the published file.
  1172  Since this is based on the published-name, it will be filtered
  1173  through `emacs-wiki-publishing-transforms'"
  1174    (expand-file-name
  1175     (emacs-wiki-published-name (emacs-wiki-page-name file))
  1176     (let ((d emacs-wiki-directories)
  1177           (alist (emacs-wiki-file-alist))
  1178           found)
  1179       (while d
  1180         (let* ((dir (file-name-as-directory (if (consp (car d))
  1181                                                 (caar d) (car d))))
  1182                (dir-re (concat "^" (regexp-quote
  1183                                     (expand-file-name dir))))
  1184                (buffer-file (or (cdr (assoc file alist))
  1185                                 buffer-file-name))
  1186                (buffer-directory
  1187                 (file-name-directory
  1188                  (or buffer-file emacs-wiki-publishing-directory))))
  1189           (if (string-match dir-re buffer-directory)
  1190               (setq found (substring buffer-directory (match-end 0))
  1191                     d nil)
  1192             (setq d (cdr d)))))
  1193       (if found
  1194           (concat (file-name-as-directory
  1195                    emacs-wiki-publishing-directory)
  1196                   found)
  1197         emacs-wiki-publishing-directory))))

This is the debug info

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
string-match("^e:/users/wyh/favour/home/WiKi/" nil)
(if (string-match dir-re buffer-directory) (setq found (substring
buffer-directo
ry ...) d nil) (setq d (cdr d)))
(let* ((dir ...) (dir-re ...) (buffer-file ...) (buffer-directory ...))
(if (str
ing-match dir-re buffer-directory) (setq found ... d nil) (setq d ...)))
(while d (let* (... ... ... ...) (if ... ... ...)))
(let ((d emacs-wiki-directories) (alist ...) found) (while d (let* ...
...)) (if
 found (concat ... found) emacs-wiki-publishing-directory))
(expand-file-name (emacs-wiki-published-name (emacs-wiki-page-name
file)) (let (
... ... found) (while d ...) (if found ...
emacs-wiki-publishing-directory)))
emacs-wiki-published-file("WikiIndex")
(setq buffer-file-name (emacs-wiki-published-file emacs-wiki-index-page))
(save-current-buffer (set-buffer (emacs-wiki-generate-index t t t))
(setq buffer
-file-name (emacs-wiki-published-file emacs-wiki-index-page)) (message
"Marking
up index...") (emacs-wiki-replace-markup emacs-wiki-index-page) (let
(...) (writ
e-file ...)) (kill-buffer (current-buffer)))
(with-current-buffer (emacs-wiki-generate-index t t t) (setq
buffer-file-name (e
macs-wiki-published-file emacs-wiki-index-page)) (message "Marking up
index...")
 (emacs-wiki-replace-markup emacs-wiki-index-page) (let (...)
(write-file ...))
(kill-buffer (current-buffer)))
emacs-wiki-publish-index()
run-hooks(emacs-wiki-after-wiki-publish-hook)
(progn (run-hooks (quote emacs-wiki-after-wiki-publish-hook)) (message
"All Wiki
 pages%s have been published." (if emacs-wiki-current-project ... "")))
(if (emacs-wiki-publish-files (cdr files) arg) (progn (run-hooks ...)
(message "
All Wiki pages%s have been published." ...)) (message "No Wiki pages%s
need publ
ishing at this time." (if emacs-wiki-current-project ... "")))
(let* ((names ...) (files ...) (lfiles files) (text-mode-hook ...)
(emacs-wiki-m
ode-hook nil)) (while names (setcdr lfiles ...) (setq lfiles ... names
...)) (if
 (emacs-wiki-publish-files ... arg) (progn ... ...) (message "No Wiki
pages%s ne
ed publishing at this time." ...)))
(let ((emacs-wiki-project emacs-wiki-current-project))
(emacs-wiki-refresh-file-
alist) (let* (... ... ... ... ...) (while names ... ...) (if ... ... ...)))
emacs-wiki-publish(nil)
call-interactively(emacs-wiki-publish)
--
Li Daobing

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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