[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: gnus の install について
- X-ml-count: 1191
- Subject: Re: gnus の install について
- From: Keiichi Suzuki <keiichi@xxxxxxxxx>
- Date: 22 Sep 1999 21:21:25 +0900
- User-agent: Nana-gnus/6.13.8 SEMI/1.13.6 (Komatsu) FLIM/1.13.2 (Kasanui) Emacs/20.4 (i386-*-nt4.0.1381) MULE/4.1 (AOI) Meadow/1.06 Beta3 (EBIZOME:27)
;; 紛らわしいので私のところは「圭一>」にでもしてください。 :-)
>>>>> meadow-users-jp の No. 1190
>>>>> Message-Id: <19990922185503N.pan@xxxxxxxxxxxxxxx> で、
>>>>> "鈴木" == Satomi Suzuki <pan@xxxxxxxxxxxxxxx>さま曰く...
鈴木> ./configure --with-emacs=meadow
鈴木> で一応、pGnus , T-gnus は大丈夫ですが、Nana-gnus は無視されます。
鈴木> で、最終的には make ファイルを手直しして組込んでいます。 (^^;
これを使えるようにしようかとも思ったこともあるのですが...
export EMACS=`Meadow.exe の full path' ; ./configure
...のようにすれば使えますので放ってあります。
鈴木> 圭一さんが知りたいのとは違うかも知れませんが・・・
Backtrace というのは...
(setq debug-on-error t)
を評価した状態で、エラーを発生させると *Backtrace* という buffer ができ
ます。その内容を backtrace と言っています。
鈴木> gnus 起動時にミニバッファには
鈴木> Symbol's value as variable is void: e\.
鈴木> が表示されて起動できません。
鈴木> cygwin 付属の install.exe を使った場合は何も問題なく起動できます。
これを見ると *.elc ファイルが壊れている可能性が高いように思いますので、
install.exe の問題かも知れません。
LF <-> CR+LF 変換の関係のような気がします。
;; 小関さんは、 cygwin で binary mount しているために問題が起っていない
;; のではないでしょうか?
試しに、下の patch をあててみていただけないでしょうか?
;; 小関さんが紹介なさっているものも含んでいますので、オリジナルのものに
;; 対して適用してみてください。
;; うまく行くようであれば、小関さんちに置いていただけませんか?
*** install.c.orig Wed Dec 11 13:24:44 1996
--- install.c Wed Sep 22 21:13:59 1999
***************
*** 78,83 ****
--- 78,87 ----
# include <values.h>
#endif
+ #ifdef __CYGWIN__
+ # include <unistd.h>
+ #endif
+
#ifndef BITSPERBYTE
# define BITSPERBYTE 8
#endif
***************
*** 307,312 ****
--- 311,332 ----
exit (errors);
}
+
+ #ifdef __CYGWIN__
+ /*
+ cannot use access, because exe files are automatically mapped here
+ */
+ static int
+ fileExists(char *file)
+ {
+ FILE *f = fopen(file, "r");
+ if (!f)
+ return 0;
+ fclose(f);
+ return 1;
+ }
+ #endif /* __CYGWIN__ */
+
/* Copy file FROM onto file TO and give TO the appropriate
attributes.
Return 0 if successful, 1 if an error occurs. */
***************
*** 316,322 ****
--- 336,364 ----
{
int to_created;
int no_need_to_chown;
+ #ifdef __CYGWIN__
+ char fromfile[MAXPATHLEN];
+ char tofile[MAXPATHLEN];
+ strcpy(fromfile, from);
+ strcpy(tofile, to);
+ if (!fileExists(from)) { /* probably exefile */
+ strcat(fromfile, ".exe");
+ if (!fileExists(fromfile))
+ strcpy(fromfile, from);
+ else {
+ strcat(tofile, ".exe");
+ }
+ }
+ if (copy_file (fromfile, tofile, &to_created))
+ return 1;
+ if (strip_files)
+ strip (to);
+ no_need_to_chown = (to_created
+ && owner_name == NULL
+ && group_name == NULL);
+ return change_attributes (tofile, no_need_to_chown);
+ #else /* __CYGWIN__ */
if (copy_file (from, to, &to_created))
return 1;
if (strip_files)
***************
*** 325,330 ****
--- 367,373 ----
&& owner_name == NULL
&& group_name == NULL);
return change_attributes (to, no_need_to_chown);
+ #endif /* __CYGWIN__ */
}
/* Copy file FROM into directory TO_DIR, keeping its same name,
***************
*** 338,349 ****
--- 381,408 ----
char *to;
int ret;
+ #ifdef __CYGWIN__
+ char fromfile[MAXPATHLEN];
+ strcpy(fromfile, from);
+ if (!fileExists(from)) { /* probably exefile */
+ strcat(fromfile, ".exe");
+ if (!fileExists(fromfile))
+ strcpy(fromfile, from);
+ }
+ from_base = basename (fromfile);
+ to = xmalloc ((unsigned) (strlen (to_dir) + strlen (from_base) + 2));
+ stpcpy (stpcpy (stpcpy (to, to_dir), "/"), from_base);
+ ret = install_file_in_file (fromfile, to);
+ free (to);
+ return ret;
+ #else /* __CYGWIN__ */
from_base = basename (from);
to = xmalloc ((unsigned) (strlen (to_dir) + strlen (from_base) + 2));
stpcpy (stpcpy (stpcpy (to, to_dir), "/"), from_base);
ret = install_file_in_file (from, to);
free (to);
return ret;
+ #endif /* __CYGWIN__ */
}
/* A chunk of a file being copied. */
***************
*** 418,424 ****
--- 477,487 ----
target_created = 0;
}
+ #ifdef __CYGWIN__
+ fromfd = open (from, O_RDONLY | O_BINARY, 0);
+ #else
fromfd = open (from, O_RDONLY, 0);
+ #endif /* __CYGWIN__ */
if (fromfd == -1)
{
error (0, errno, "%s", from);
***************
*** 426,432 ****
--- 489,499 ----
}
/* Make sure to open the file in a mode that allows writing. */
+ #ifdef __CYGWIN__
+ tofd = open (to, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 0600);
+ #else
tofd = open (to, O_WRONLY | O_CREAT | O_TRUNC, 0600);
+ #endif /* __CYGWIN__ */
if (tofd == -1)
{
error (0, errno, "%s", to);
--
鈴木圭一 / keiichi@xxxxxxxxx
PGP finger print (DH/DSS)
0B32 B37E 6DE9 3BC1 68A4 4089 7AAF 2B03 ECBD 614B