⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 faq

📁 早期freebsd实现
💻
📖 第 1 页 / 共 5 页
字号:
  >--- x11term.h	Thu Apr 26 14:03:25 1990  >***************  >*** 11,17 ****  >--- 11,22 ----  >  #define sigmask(no) (1L << ((no) - 1))  >  #endif  >    >+ #ifdef HPUX  >  #define BLOCK_INPUT_DECLARE() int BLOCK_INPUT_mask  >+ #define BLOCK_INPUT() BLOCK_INPUT_mask = sigblock (sigmask (SIGALRM))  >+ #define UNBLOCK_INPUT() sigsetmask (BLOCK_INPUT_mask)  >+ #else /* not HPUX */  >+ #define BLOCK_INPUT_DECLARE() int BLOCK_INPUT_mask  >  #ifdef SIGIO  >  #define BLOCK_INPUT() BLOCK_INPUT_mask = sigblock (sigmask (SIGIO))  >  #define UNBLOCK_INPUT() sigsetmask (BLOCK_INPUT_mask)  >***************  >*** 19,23 ****  >--- 24,29 ----  >  #define BLOCK_INPUT()  >  #define UNBLOCK_INPUT()  >  #endif /* SIGIO */  >+ #endif /* HPUX */  >    >  #define CLASS  "emacs"	/* class id for GNU Emacs, used in .Xdefaults, etc. */    >*** process.c.orig	Fri Sep 15 16:28:36 1989  >--- process.c	Fri Apr 20 13:17:06 1990  >***************  >*** 1057,1062 ****  >--- 1057,1079 ----  >  	  signal (SIGHUP, SIG_DFL);  >  #endif  >  #endif /* HAVE_PTYS */  >+   >+ 	/* Give child clean slate for signals */  >+ #ifdef SIGCHLD  >+ #ifdef BSD4_1  >+ 	sigrelse (SIGCHLD);  >+ #else /* not BSD4_1 */  >+ #ifdef HPUX  >+ 	sigsetmask (0);  >+ #endif /* HPUX */  >+ #if defined (BSD) || defined (UNIPLUS)  >+ 	sigsetmask (0);  >+ #else /* ordinary USG */  >+ 	signal (SIGCHLD, sigchld);  >+ #endif /* ordinary USG */  >+ #endif /* not BSD4_1 */  >+ #endif /* SIGCHLD */  >+   >  	child_setup_tty (xforkout);  >  	child_setup (xforkin, xforkout, xforkout, new_argv, env);  >        }  >***************  >*** 1413,1427 ****  >        if (read_kbd && kbd_count)  >  	nfds = 0;  >        else  >! #ifdef IBMRTAIX  >  	nfds = select (MAXDESC, &Available, 0, 0, &timeout);  >  #else  >- #ifdef HPUX  >- 	nfds = select (MAXDESC, &Available, 0, 0, &timeout);  >- #else  >  	nfds = select (MAXDESC, &Available, 0, &Exception, &timeout);  >  #endif  >- #endif  >        xerrno = errno;  >    >        if (fix_screen_hook)  >--- 1430,1440 ----  >        if (read_kbd && kbd_count)  >  	nfds = 0;  >        else  >! #if defined (IBMRTAIX) || defined (HPUX)  >  	nfds = select (MAXDESC, &Available, 0, 0, &timeout);  >  #else  >  	nfds = select (MAXDESC, &Available, 0, &Exception, &timeout);  >  #endif  >        xerrno = errno;  >    >        if (fix_screen_hook)  >***************  >*** 1771,1776 ****  >--- 1784,1790 ----  >      error ("Process %s is not active",  >  	   XSTRING (p->name)->data);  >    >+ #ifndef HPUX /* Can't get gid of tty's controlling session */  >  #ifdef TIOCGPGRP		/* Not sure about this! (fnf) */  >    /* If we are using pgrps, get a pgrp number and make it negative.  */  >    if (!NULL (current_group))  >***************  >*** 1785,1790 ****  >--- 1799,1805 ----  >       the child itself heads the pgrp.  */  >    gid = - XFASTINT (p->pid);  >  #endif /* not using pgrps */  >+ #endif /* not HPUX */  >    >    switch (signo)  >      {  >***************  >*** 1800,1805 ****  >--- 1815,1827 ----  >        flush_pending_output (XFASTINT (p->infd));  >        break;  >      }  >+   >+ #ifdef HPUX  >+   if (!NULL (current_group))  >+     ioctl (XFASTINT (p->infd), TIOCSIGSEND, signo);  >+   else  >+     kill (XFASTINT (p->pid), signo);  >+ #else /* not HPUX */  >    /* gid may be a pid, or minus a pgrp's number */  >  #ifdef BSD  >    /* On bsd, [man says] kill does not accept a negative number to kill a pgrp.  >***************  >*** 1808,1813 ****  >--- 1830,1836 ----  >  #else /* Not BSD.  */  >    kill (gid, signo);  >  #endif /* Not BSD.  */  >+ #endif /* Not HPUX  */  >    >    /* Put notices in buffers now, since it is safe now.  >       Because of this, we know that a process we have just killed  >%     This is a separate patch to process.c, distinct from the immediately  preceding one.  Both should be applied.    >*** process.c.~1~	Fri Apr 20 13:17:06 1990  >--- process.c	Wed Oct 24 16:38:15 1990  >***************  >*** 1085,1095 ****  >    /* If the subfork execv fails, and it exits,  >       this close hangs.  I don't know why.  >       So have an interrupt jar it loose.  */  >!   signal (SIGALRM, create_process_1);  >!   alarm (1);  >!   if (forkin >= 0)  >!     close (forkin);  >!   alarm (0);  >    if (forkin != forkout && forkout >= 0)  >      close (forkout);  >    >--- 1085,1100 ----  >    /* If the subfork execv fails, and it exits,  >       this close hangs.  I don't know why.  >       So have an interrupt jar it loose.  */  >!   >!   {  int old_trap = signal (SIGALRM, create_process_1);  >!      int old_alarm = alarm (1);  >!      if (forkin >= 0)  >!        close (forkin);  >!      alarm (0);  >!      signal (SIGALRM, old_trap);  >! 				/* don't bother with possible 1 sec loss */  >!      if (old_alarm) alarm (old_alarm);  >!   }  >    if (forkin != forkout && forkout >= 0)  >      close (forkout);  52: What should I do if I have trouble building Emacs?    RMS writes:    If you try to build Emacs and it does not run, the first thing to do is  look in the file called PROBLEMS to see if a solution is given there.    If none is given, then please send a report by mail to  bug-gnu-emacs@prep.ai.mit.edu.  Please do not send it to  help-gnu-emacs@prep.ai.mit.edu.    Sending to help-gnu-emacs (which has the effect of posting on  gnu.emacs.help) is undesirable because it takes the time of an  unnecessarily large group of people, most of whom are just users and  have no idea how to fix these problem.  bug-gnu-emacs reaches a much  smaller group of people who are more likely to know what to do and have  expressed a wish to receive more messages about Emacs than the others.Weird/Confusing Problems:53: Does Emacs have problems with files larger than 8 Megs?    Most installed versions of GNU Emacs will use 24 bit signed integers  (and 24 bit pointers!) internally.  This limits the file size that Emacs  can handle to 8388608 bytes.    Leonard N. Zubkoff <lnz@lucid.com> writes:    Putting the following two lines in src/config.h before compiling Emacs  allows for 26 bit integers and pointers:      #define VALBITS 26    #define GCTYPEBITS 5    See question 54 for an explanation.  54: Why does Emacs use 24 bit integers and pointers?    David Gillespie <daveg@csvax.cs.caltech.edu> writes:    Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed  language in the sense that you can put any value of any type into any  variable, or return it from a function, and so on.  So each value must  carry a "tag" along with it identifying what kind of thing it is, e.g.,  integer, pointer to a list, pointer to an editing buffer, and so on.  Emacs uses standard 32-bit integers for data objects, taking the top 8  bits for the tag and the bottom 24 bits for the value.  So integers (and  pointers) are somewhat restricted compared to true C integers and  pointers.    Emacs uses 8-bit tags because that's a little faster on byte-oriented  machines, but there are only really enough tags to require 6 bits.  See  question 53 to find how to recompile Emacs with 6-bit tags and  26-bit integers and pointers if space is at a premium for you.  55: Why does Emacs start up using the wrong directory?    Most likely, you have an environment variable named PWD that is set to a  value other than the name of your current directory.  This is most  likely caused by using two different shell programs.  "ksh" and (some  versions of) "csh" set and maintain the value of the PWD environment  variable, but "sh" doesn't.  If you start sh from ksh, change your  current directory inside sh, and then start Emacs from inside sh, PWD  will have the wrong value but Emacs will use this value.  See question  72.  56: How do I edit a file with a "$" in its name?    When entering a filename in the minibuffer, Emacs will attempt to expand  a "$" followed by a word as an environment variable.  To suppress this  behavior, type "$$" instead.  57: Why does Shell Mode lose track of the shell's current directory?    Emacs has no way of knowing when the shell actually changes its  directory.  So it tries to guess by recognizing cd commands.  A number  of fixes and enhancements to Shell Mode have been written, check the  Emacs Lisp Archive (question 14).  58: Why doesn't Emacs expand my aliases when sending mail?    First, you must separate multiple addresses with commas.    Emacs normally only reads the ".mailrc" file once per session, when you  start to compose your first mail message.  If you edit .mailrc, you can  type "M-ESC (build-mail-aliases) RET" to make Emacs reread .mailrc.  59: Why doesn't setting default-directory always work?    There is a separate value of default-directory for each Emacs buffer.  The value in the current buffer is the one that is used.  60: Why does my change to load-path not work?    If you added file names with tildes (~) in them to your load-path,  you'll need to do something like this:      (setq-default load-path (mapcar 'expand-file-name load-path))  61: Why does the cursor always go to the wrong column when I move up or down one line?    You have inadvertently typed "C-x C-n" (set-goal-column) which sets the  "goal-column" to the column where the cursor was.  To undo this type  "C-u C-x C-n".    If you make this mistake frequently, you might want to unbind this  command by doing (define-key ctl-x-map "\C-n" nil).  62: Why don't the command line switches documented in the man page work?    The "man page", ie. the file etc/emacs.1, hasn't been updated in a  while.  The command line switches that it says work with X Windows are  for X10.  See question 72 for details on what switches are  available using X11.  {Would someone like to rewrite the man page?  RMS  asked me and I haven't had time yet.}  63: Why does gnus-Subject-mail-reply chop off the last character of the article headers?    There is a bug in some rnews functions that GNUS uses.  Here is a patch:    (Patch supplied by Karl Kleinpaste <karl_kleinpaste@cis.ohio-state.edu>.)    >*** rnewspost.el.orig   Thu Oct  5 10:32:47 1989  >--- rnewspost.el        Thu Oct  5 10:32:47 1989  >***************  >*** 252,258 ****  >      (save-restriction  >        (narrow-to-region (point-min) (progn (goto-line (point-min))  >                                           (search-forward "\n\n")  >!                                          (- (point) 2)))  >        (setq from (mail-fetch-field "from")  >            subject (mail-fetch-field "subject")  >            reply-to (mail-fetch-field "reply-to")  >--- 252,258 ----  >      (save-restriction  >        (narrow-to-region (point-min) (progn (goto-line (point-min))  >                                           (search-forward "\n\n")  >!                                          (- (point) 1)))  >        (setq from (mail-fetch-field "from")  >            subject (mail-fetch-field "subject")  >            reply-to (mail-fetch-field "reply-to")  >***************  >*** 289,295 ****  >                                        ;@@     but rnews.el lacks support  >                 (narrow-to-region (point-min) (progn (goto-char (point-min))  >                                                      (search-forward "\n\n")  >!                                                     (- (point) 2)))))  >          (setq from (mail-fetch-field "from")  >                news-reply-yank-from from  >                ;; @@ not handling old Title: field  >--- 289,295 ----  >                                        ;@@     but rnews.el lacks support  >                 (narrow-to-region (point-min) (progn (goto-char (point-min))  >                                                      (search-forward "\n\n")  >!                                                     (- (point) 1)))))  >          (setq from (mail-fetch-field "from")  >                news-reply-yank-from from  >                ;; @@ not handling old Title: field  >***************  >*** 365,371 ****  >                                        ;@@     but rnews.el lacks support  >                 (narrow-to-region (point-min) (progn (goto-char (point-min))  >                                                      (search-forward "\n\n")  >!                                                     (- (point) 2)))))  >          (setq news-reply-yank-from (mail-fetch-field "from")  >                ;; @@ not handling old Article-I.D.: field  >                news-reply-yank-message-id (mail-fetch-field "message-id")))  >--- 365,371 ----  >                                        ;@@     but rnews.el lacks support  >                 (narrow-to-region (point-min) (progn (goto-char (point-min))  >                                                      (search-forward "\n\n")  >!                                                     (- (point) 1)))))  >          (setq news-reply-yank-from (mail-fetch-field "from")  >                ;; @@ not handling old Article-I.D.: field  >                news-reply-yank-message-id (mail-fetch-field "message-id")))  64: Why does Emacs hang with message "Unknown XMenu" with X11R4?    Many different X errors can produce this message.  Here is the solution  to one problem:    X11 Release 4 now enforces some conditions in the X protocol that were  previously allowed to pass unnoticed.  You need to put the X11R4 server  into X11R3 bug compatibility mode for Emacs's Xmenu code to work.  You  can do this with the command "xset bc".  65: Why isn't the load average displayed by display-time?    The most likely cause of the problem is that "loadst" can't read the  special file /dev/kmem.  To properly install loadst, it should be either  setuid to the owner of /dev/kmem, or is should be setgid to the group to  which /dev/kmem belongs.  In either case, /dev/kmem should be readable by  its owner or its group, respectively.    Another possibility is that your version of Unix doesn'

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -