Mercurial > emacs
annotate src/terminfo.c @ 17623:a09fd9348b0d
Support compilers that give a message each time the file being
compiled changes but don't include a file name each error message.
Speed up by searching for regexps one by one instead of combining.
(compile-internal): Takes more optional arguments. All five regexp
alists can be given as argument.
Change name of variable regexp-alist to error-regexp-alist. Change
some local variables directly by setq instead of rebinding by let.
(compilation-shell-minor-mode): New minor mode.
Similar to compilation-minor-mode, but key bindings don't
collide with shell mode.
(compilation-shell-minor-mode-map, compilation-shell-minor-mode):
New variables.
(compile-auto-highlight): Doc fix.
(compilation-error-regexp-alist): Removed unnecessary line break
in first regexp. Replaced \\(\\|.* on \\) by \\(.* on \\)? in
regexp for Absoft FORTRAN 77 Compiler 3.1.3. Added regexp for
SPARCcompiler Pascal. Divided long line in regexp for Cray C
compiler error messages. Made comment fit in line at regexp for
Sun Ada (VADS, Solaris). FILE-IDX may be nil, meaning an
error message with no file name, so the file name must be taken
from an earlier message. LINE-IDX may be a function which is
called with two arguments the file name and column strings and
returns an error position descriptor.
(compilation-enter-directory-regexp-alist)
(compilation-leave-directory-regexp-alist): New variables.
(compilation-file-regexp-alist)
(compilation-nomessage-regexp-alist): New variables.
(grep-regexp-alist): Removed unnecessary ^ at beginning of regexp.
(compilation-enter-directory-regexp)
(compilation-leave-directory-regexp): Variables deleted.
Replaced by compilation-enter-directory-regexp-alist and
compilation-leave-directory-regexp-alist.
(compilation-buffer-p): Return true also for buffer in
compilation-shell-minor-mode.
(compilation-next-error-locus): Split a long line.
(count-regexp-groupings): Comment about this function not being
needed any more.
(compilation-current-file, compilation-regexps); New variables.
(compilation-parse-errors): Large parts rewritten. Don't put the
regexps together in one large regexp, instead match them one by one.
Support the generalized subexpression indices.
(compile-collect-regexps, compile-buffer-substring): New functions
supporting compilation-parse-errors.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 03 May 1997 04:37:52 +0000 |
parents | 4580dcf4e0d1 |
children | 42cf8e9273ee |
rev | line source |
---|---|
484 | 1 /* Interface from Emacs to terminfo. |
2 Copyright (C) 1985, 1986 Free Software Foundation, Inc. | |
3 | |
4 This file is part of GNU Emacs. | |
5 | |
6 GNU Emacs is free software; you can redistribute it and/or modify | |
7 it under the terms of the GNU General Public License as published by | |
3427 | 8 the Free Software Foundation; either version 2, or (at your option) |
484 | 9 any later version. |
10 | |
11 GNU Emacs is distributed in the hope that it will be useful, | |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 GNU General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with GNU Emacs; see the file COPYING. If not, write to | |
14186
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
3427
diff
changeset
|
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
3427
diff
changeset
|
19 Boston, MA 02111-1307, USA. */ |
484 | 20 |
16118 | 21 #include <config.h> |
22 | |
484 | 23 /* Define these variables that serve as global parameters to termcap, |
24 so that we do not need to conditionalize the places in Emacs | |
25 that set them. */ | |
26 | |
27 char *UP, *BC, PC; | |
16118 | 28 |
29 #ifdef HAVE_TERMIOS_H | |
30 #include <termios.h> | |
31 speed_t ospeed; | |
32 #else | |
15718 | 33 short ospeed; |
16118 | 34 #endif |
484 | 35 |
36 static buffer[512]; | |
37 | |
38 /* Interface to curses/terminfo library. | |
39 Turns out that all of the terminfo-level routines look | |
40 like their termcap counterparts except for tparm, which replaces | |
41 tgoto. Not only is the calling sequence different, but the string | |
42 format is different too. | |
43 */ | |
44 | |
45 char * | |
46 tparam (string, outstring, len, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) | |
47 char *string; | |
48 char *outstring; | |
49 int arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9; | |
50 { | |
51 char *temp; | |
52 extern char *tparm(); | |
53 | |
54 temp = tparm (string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); | |
55 if (outstring == 0) | |
56 outstring = ((char *) (malloc ((strlen (temp)) + 1))); | |
57 strcpy (outstring, temp); | |
58 return outstring; | |
59 } |