Cygwin support patch.
This commit is contained in:
parent
2454c12d45
commit
c60ee5e70f
34 changed files with 479 additions and 408 deletions
|
@ -1,3 +1,11 @@
|
|||
2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
|
||||
|
||||
* Makefile.in: Use @EXEEXT@ for Cygwin.
|
||||
Use USERNAME if LOGNAME is not set (for Cygwin).
|
||||
|
||||
* configure.in:
|
||||
* configure: Add opsys=cygwin.
|
||||
|
||||
2003-01-29 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* AUTHORS: Regenerated using new format (after fixing numerous
|
||||
|
|
14
Makefile.in
14
Makefile.in
|
@ -215,8 +215,8 @@ INSTALL_STRIP =
|
|||
TRANSFORM = @program_transform_name@
|
||||
|
||||
# What emacs should be called when installed.
|
||||
EMACS = `echo emacs | sed '$(TRANSFORM)'`
|
||||
EMACSFULL = `echo emacs-${version} | sed '$(TRANSFORM)'`
|
||||
EMACS = `echo emacs@EXEEXT@ | sed '$(TRANSFORM)'`
|
||||
EMACSFULL = `echo emacs-${version}@EXEEXT@ | sed '$(TRANSFORM)'`
|
||||
|
||||
# Subdirectories to make recursively. `lisp' is not included
|
||||
# because the compiled lisp files are part of the distribution.
|
||||
|
@ -358,7 +358,7 @@ install-arch-dep: mkdir
|
|||
exec_prefix=${exec_prefix} bindir=${bindir} \
|
||||
libexecdir=${libexecdir} archlibdir=${archlibdir} \
|
||||
INSTALL_STRIP=${INSTALL_STRIP})
|
||||
${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs ${bindir}/$(EMACSFULL)
|
||||
${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs@EXEEXT@ ${bindir}/$(EMACSFULL)
|
||||
-chmod 1755 ${bindir}/$(EMACSFULL)
|
||||
rm -f ${bindir}/$(EMACS)
|
||||
-ln ${bindir}/$(EMACSFULL) ${bindir}/$(EMACS)
|
||||
|
@ -406,7 +406,7 @@ install-arch-indep: mkdir info
|
|||
(cd $${dir}; tar -chf - . ) \
|
||||
| (cd $${dest}; umask 022; \
|
||||
tar -xvf - && cat > /dev/null) || exit 1; \
|
||||
find $${dest} -exec chown $$LOGNAME {} ';' ;\
|
||||
find $${dest} -exec chown $${LOGNAME:-$$USERNAME} {} ';' ;\
|
||||
for subdir in `find $${dest} -type d ! -name RCS ! -name CVS -print` ; do \
|
||||
chmod a+rx $${subdir} ; \
|
||||
rm -rf $${subdir}/RCS ; \
|
||||
|
@ -445,7 +445,7 @@ install-arch-indep: mkdir info
|
|||
echo "Copying etc/DOC-* to ${docdir} ..." ; \
|
||||
(cd ./etc; tar -chf - DOC*) \
|
||||
|(cd ${docdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
|
||||
(cd $(docdir); chown $${LOGNAME} DOC*; chmod a+r DOC*; \
|
||||
(cd $(docdir); chown $${LOGNAME:-$$USERNAME} DOC*; chmod a+r DOC*; \
|
||||
if test "`echo DOC-*`" != "DOC-*"; then rm DOC; fi); \
|
||||
else true; fi
|
||||
-unset CDPATH; \
|
||||
|
@ -457,7 +457,7 @@ install-arch-indep: mkdir info
|
|||
echo "Copying lisp/*.el and lisp/*.elc to ${lispdir} ..." ; \
|
||||
(cd lisp; tar -chf - *.el *.elc) \
|
||||
|(cd ${lispdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
|
||||
(cd ${lispdir}; find . -exec chown $${LOGNAME} {} ';') ; \
|
||||
(cd ${lispdir}; find . -exec chown $${LOGNAME:-$$USERNAME} {} ';') ; \
|
||||
else true; fi
|
||||
-unset CDPATH; \
|
||||
thisdir=`/bin/pwd`; \
|
||||
|
@ -735,7 +735,7 @@ maybe_bootstrap:
|
|||
bootstrap: bootstrap-clean-before info FRC
|
||||
(cd lisp; $(MAKE) $(MFLAGS) bootstrap-clean)
|
||||
(cd src; $(MAKE) $(MFLAGS) bootstrap)
|
||||
(cd lisp; $(MAKE) $(MFLAGS) bootstrap EMACS=../src/bootstrap-emacs)
|
||||
(cd lisp; $(MAKE) $(MFLAGS) bootstrap EMACS=../src/bootstrap-emacs@EXEEXT@)
|
||||
(cd src; $(MAKE) $(MFLAGS) mostlyclean)
|
||||
$(MAKE) $(MFLAGS) all
|
||||
(cd lisp; $(MAKE) $(MFLAGS) bootstrap-after)
|
||||
|
|
1
configure
vendored
1
configure
vendored
|
@ -2493,6 +2493,7 @@ case "${canonical}" in
|
|||
i[3456]86-*-* )
|
||||
machine=intel386
|
||||
case "${canonical}" in
|
||||
*-cygwin ) opsys=cygwin ;;
|
||||
*-lynxos* ) opsys=lynxos ;;
|
||||
*-isc1.* | *-isc2.[01]* ) opsys=386-ix ;;
|
||||
*-isc2.2* ) opsys=isc2-2 ;;
|
||||
|
|
|
@ -1053,6 +1053,7 @@ case "${canonical}" in
|
|||
i[3456]86-*-* )
|
||||
machine=intel386
|
||||
case "${canonical}" in
|
||||
*-cygwin ) opsys=cygwin ;;
|
||||
*-lynxos* ) opsys=lynxos ;;
|
||||
*-isc1.* | *-isc2.[01]* ) opsys=386-ix ;;
|
||||
*-isc2.2* ) opsys=isc2-2 ;;
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
|
||||
|
||||
* MACHINES: Added Cygwin.
|
||||
|
||||
2003-01-27 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* DEBUG: Added note about xmon.
|
||||
|
|
50
etc/MACHINES
50
etc/MACHINES
|
@ -109,7 +109,7 @@ Amdahl UTS (580-amdahl-sysv)
|
|||
|
||||
Apple Macintosh running Mac OS X
|
||||
|
||||
For installtion on all versions of the Mac OS platform, see the file
|
||||
For installtion on all versions of the Mac OS platform, see the file
|
||||
mac/INSTALL.
|
||||
|
||||
Apple PowerPC Macintosh running GNU/Linux
|
||||
|
@ -163,8 +163,8 @@ Apollo running X Windows (m68k-apollo-bsd)
|
|||
relocation." This means you are linking with some code that has compressed
|
||||
data sections. In some cases this comes from linking with X libraries. Try
|
||||
using shared X libraries instead. With some versions of Domain/OS this is
|
||||
as simple as removing the "-lX11" from the LIBX line in src/Makefile.
|
||||
|
||||
as simple as removing the "-lX11" from the LIBX line in src/Makefile.
|
||||
|
||||
When running the configure script, use the configuration name
|
||||
"m68k-apollo-bsd". You will also need to use the "-with-gcc=no" and
|
||||
"-with-x" options. Depending upon your site configuration, you may have to
|
||||
|
@ -180,9 +180,9 @@ Apollo running X Windows (m68k-apollo-bsd)
|
|||
|
||||
AT&T 3b2, 3b5, 3b15, 3b20 (we32k-att-sysv)
|
||||
|
||||
Emacs will probably not work with certain kernel constants too small.
|
||||
Emacs will probably not work with certain kernel constants too small.
|
||||
|
||||
In param.h CDLIMIT should be at least (1L << 12) in order to allow
|
||||
In param.h CDLIMIT should be at least (1L << 12) in order to allow
|
||||
processes to write up to 2 Mbyte files. This parameter is configurable
|
||||
by normal means in /etc/master.d/kernel; examine that file for the
|
||||
symbol CDLIMIT or ULIMIT, and raise it by several powers of 2. Then
|
||||
|
@ -220,7 +220,7 @@ Bull DPX/2 models 2nn or 3nn (m68k-bull-sysv3)
|
|||
_POSIX_SOURCE, _XOPEN_SOURCE and _BULL_SOURCE.
|
||||
|
||||
On bos2.00.45 there is a bug that makes the F_SETOWN fcntl
|
||||
call enters in an infinite loop. F_SETOWN_BUG has been defined to avoid
|
||||
call enters in an infinite loop. F_SETOWN_BUG has been defined to avoid
|
||||
calling it.
|
||||
|
||||
Bull DPX/20 (rs6000-bull-bosx)
|
||||
|
@ -274,7 +274,7 @@ Data General Aviion (m88k-dg-dgux)
|
|||
System versions other than DGUX 5.4R3.00 have not been tested.
|
||||
|
||||
DGUX 5.4R3.10 works with 19.29 and 19.30.
|
||||
|
||||
|
||||
DGUX R4.11 contains changes to the stdio internals and it doesn't work
|
||||
with versions before 20.2 without patches. 20.2 works in interactive
|
||||
mode but usually fails in batch mode. The problem is that using
|
||||
|
@ -324,7 +324,7 @@ Motorola Delta 187 (m88k-motorola-sysv,
|
|||
One fix is to edit those files to protect against multiple inclusion.
|
||||
|
||||
As of version 19.13, Emacs was reported to run under SYSVr3 and SYSVr4.
|
||||
|
||||
|
||||
Dual running System V (m68k-dual-sysv)
|
||||
|
||||
As of 17.46, this worked except for a few changes
|
||||
|
@ -373,7 +373,7 @@ Gould Power Node (pn-gould-bsd4.2 or pn-gould-bsd4.3)
|
|||
compiling `lib-src/sorted-doc' tickles a compiler bug: remove the -g
|
||||
flag to cc in the makefile.
|
||||
|
||||
UTX/32 1.3 has a bug in the bcopy library routine. Fix it by
|
||||
UTX/32 1.3 has a bug in the bcopy library routine. Fix it by
|
||||
#undef BSTRING in `src/m/gould.h'.
|
||||
|
||||
Version 19 incorporates support for releases 2.1 and later of UTX/32.
|
||||
|
@ -421,7 +421,7 @@ Hewlett-Packard 9000 series 200 or 300 (m68k-hp-bsd or m68k-hp-hpux
|
|||
some problems on 10.10 which have not been resolved. Emacs 19.34
|
||||
works on HPUX 10.20 provided you compile with GCC; with the HP C
|
||||
compiler, subprocess commands do not work.
|
||||
|
||||
|
||||
On HPUX 9, Emacs sometimes crashes with SIGBUS or SIGSEGV after you
|
||||
delete a frame. We think this is due to a bug in the X libraries
|
||||
provided by HP. With the alternative X libraries in
|
||||
|
@ -488,7 +488,7 @@ HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux
|
|||
Some people report trouble using the GNU memory allocator under
|
||||
HP/UX version 9. The problems often manifest as lots of ^@'s in the
|
||||
buffer.
|
||||
|
||||
|
||||
We are told that these problems go away if you obtain the latest
|
||||
patches for the HP/UX C compiler. James J Dempsey
|
||||
<jjd@spserv.bbn.com> says that this set of versions works for him:
|
||||
|
@ -544,17 +544,17 @@ HITACHI SR2001/SR2201 series (hppa1.1-hitachi-hiuxwe2)
|
|||
|
||||
These machines are based on PA architecture running HI-UX/MPP
|
||||
(based on OSF1. `MPP' stands for `Massively Parallel Processor').
|
||||
|
||||
|
||||
Emacs 19.34 is believed to work; its pretest was tested
|
||||
both on SR2001 (output of `uname -rv' is `00-01-BB 0') and
|
||||
both on SR2001 (output of `uname -rv' is `00-01-BB 0') and
|
||||
SR2201 (`02-00 0').
|
||||
|
||||
Emacs 20.7 was reported to build on a system whose `uname -rs'
|
||||
output is `HI-UX/MPP 03-04'.
|
||||
|
||||
The machine description file is `src/m/sr2k.h' is based on
|
||||
|
||||
The machine description file is `src/m/sr2k.h' is based on
|
||||
`src/m/hp800.h'. The system description file is `src/s/hiuxwe2.h'
|
||||
based on `src/s/osf1.h'. Note that this system doesn't use COFF.
|
||||
based on `src/s/osf1.h'. Note that this system doesn't use COFF.
|
||||
|
||||
IBM PS/2 (i386-ibm-aix1.1 or i386-ibm-aix1.2)
|
||||
|
||||
|
@ -624,7 +624,7 @@ Integrated Solutions `Optimum V' (m68k-isi-bsd4.2 or -bsd4.3)
|
|||
BSD 4.2 (3.05e) system). 18.42 is reported to work on
|
||||
a Qbus 68010 system. Has not been tried on `WorkStation' `Cluster
|
||||
Compute Node' `Cluster WorkStation' or `Server Node' (Love the
|
||||
StudLYCaps)
|
||||
StudLYCaps)
|
||||
|
||||
Compilation with -O is rumored to break something.
|
||||
|
||||
|
@ -637,7 +637,7 @@ Intel 386 (i386-*-isc, i386-*-esix, i386-*-bsdi2,
|
|||
i386-*-xenix, i386-*-freebsd, i386-*-linux-gnu,
|
||||
i386-*-sol2.4, i386-*-sysv3, i386-intsys-sysv,
|
||||
i386-*-sysv4, i386-*-sysv4.2,
|
||||
i386-*-sysv5.3, i386-*-bsd4.2,
|
||||
i386-*-sysv5.3, i386-*-bsd4.2, i386-*-cygwin,
|
||||
i386-*-sco3.2v4, i386-*-bsd386, i386-*-386bsd,
|
||||
i386-*-msdos, i386-*-windowsnt.
|
||||
i386... can be replaced with i486... or i586...)
|
||||
|
@ -651,6 +651,8 @@ Intel 386 (i386-*-isc, i386-*-esix, i386-*-bsdi2,
|
|||
i386-unknown-isc3.0 as your configuration name.
|
||||
Use i386-*-esix for Esix; Emacs runs as of version 19.6.
|
||||
Use i386-*-linux-gnu for GNU/Linux systems; Emacs runs as of version 19.26.
|
||||
Use i386-*-cygwin for Cygwin; Emacs builds as of version 21.4, in both X11
|
||||
and non-X11 modes. (The Cygwin site has source and binaries for 21.2.)
|
||||
Use i386-intsys-sysv for Integrated Solutions 386 machines.
|
||||
It may also be correct for Microport systems.
|
||||
Use i386-*-sco3.2v4 for SCO 3.2v4; Emacs runs as of version 19.26.
|
||||
|
@ -698,7 +700,7 @@ Intel 386 (i386-*-isc, i386-*-esix, i386-*-bsdi2,
|
|||
puts spurious spaces in `src/xmakefile'. If that happens,
|
||||
specify CPP=/lib/cpp as an option when you run make.
|
||||
There is no problem if you compile with GCC.
|
||||
|
||||
|
||||
Note that use of Linux with GCC 2.4 and the DLL 4.4 libraries
|
||||
requires the experimental "net 2" network patches (no relation to
|
||||
Berkeley Net 2). There is a report that (some version of) Linux
|
||||
|
@ -803,7 +805,7 @@ Masscomp (m68k-masscomp-rtu)
|
|||
was reported for 18.36 on a Masscomp (model and version unknown but probably
|
||||
a 68020 system). The report sounds like a compiler bug.
|
||||
|
||||
A compiler bug affecting statements like
|
||||
A compiler bug affecting statements like
|
||||
unsigned char k; unsigned char *p;... x = p[k];
|
||||
has been reported for "C version 1.2 under RTU 3.1". We do not wish
|
||||
to take the time to install the numerous workarounds required to
|
||||
|
@ -941,7 +943,7 @@ Pyramid (pyramid-pyramid-bsd)
|
|||
|
||||
You need to build Emacs in the Berkeley universe with
|
||||
the `ucb' command, as in `ucb make' or `ucb build-install'.
|
||||
|
||||
|
||||
In OSx 4.0, it seems necessary to add the following two lines
|
||||
to `src/m/pyramid.h':
|
||||
#define _longjmp longjmp
|
||||
|
@ -1079,8 +1081,8 @@ Sun 3, Sun 4 (sparc), Sun 386 (m68k-sun-sunos, sparc-sun-sunos, i386-sun-sunos,
|
|||
19.32 works on Solaris 2.4 and 2.5. On Solaris 2.5
|
||||
you may need one of these patches to prevent Emacs from crashing
|
||||
when it starts up:
|
||||
103093-03: [README] SunOS 5.5: kernel patch (2140557 bytes)
|
||||
102832-01: [README] OpenWindows 3.5: Xview Jumbo Patch (4181613 bytes)
|
||||
103093-03: [README] SunOS 5.5: kernel patch (2140557 bytes)
|
||||
102832-01: [README] OpenWindows 3.5: Xview Jumbo Patch (4181613 bytes)
|
||||
103242-04: [README] SunOS 5.5: linker patch (595363 bytes)
|
||||
|
||||
There are reports that using SunSoft cc with -xO4 -xdepend produces
|
||||
|
@ -1107,7 +1109,7 @@ Sun 3, Sun 4 (sparc), Sun 386 (m68k-sun-sunos, sparc-sun-sunos, i386-sun-sunos,
|
|||
`sparc-sun-sunos4.1'. For SunOS release 4.1.3 on a Sparc, use
|
||||
`sparc-sun-sunos4.1.3'. Note that shared libraries are now
|
||||
used by default on SunOS 4.1.
|
||||
|
||||
|
||||
A user reported irreproducible segmentation faults when using 19.29
|
||||
on Solaris 2.3 and 2.4 after compiling it with the Sun compiler.
|
||||
The problem went away when GCC 2.7.0 was used instead. We do not know
|
||||
|
|
12
etc/NEWS
12
etc/NEWS
|
@ -58,6 +58,8 @@ together with the Emacs User Manual, into the Info directory. A menu
|
|||
item was added to the menu bar that makes it easy accessible
|
||||
(Help->More Manuals->Introduction to Emacs Lisp).
|
||||
|
||||
** Support for Cygwin was added.
|
||||
|
||||
---
|
||||
** Support for AIX 5.1 was added.
|
||||
|
||||
|
@ -686,7 +688,7 @@ appears in.
|
|||
|
||||
** The variable `cursor-in-non-selected-windows' can now be set to any
|
||||
of the recognized cursor types.
|
||||
|
||||
|
||||
+++
|
||||
** The default values of `tooltip-delay' and `tooltip-hide-delay'
|
||||
were changed.
|
||||
|
@ -1189,7 +1191,7 @@ second case, using `foo' as a variable won't produce a warning if it's
|
|||
unbound. The test must be in exactly one of the above forms (after
|
||||
macro expansion), but such tests may be nested. Note that `when' and
|
||||
`unless' expand to `if', but `cond' doesn't.
|
||||
|
||||
|
||||
** New translation table `translation-table-for-input'.
|
||||
|
||||
+++
|
||||
|
@ -1308,7 +1310,7 @@ write-file-hooks to write-file-functions,
|
|||
write-contents-hooks to write-contents-functions.
|
||||
Marked local-write-file-hooks as obsolete (use the LOCAL arg of `add-hook').
|
||||
|
||||
** The new variable `delete-frame-functions' replaces `delete-frame-hook'.
|
||||
** The new variable `delete-frame-functions' replaces `delete-frame-hook'.
|
||||
It was renamed to follow the naming conventions for abnormal hooks. The old
|
||||
name remains available as an alias, but has been marked obsolete.
|
||||
|
||||
|
@ -1533,7 +1535,7 @@ responsible for removing those properties. This may be necessary
|
|||
if FUNCTION adjusts point before or after inserting the object.
|
||||
If UNDO is present and non-nil, it is a function that will be called
|
||||
by `yank-pop' to undo the insertion of the current object. It is
|
||||
called with two arguments, the start and end of the current region.
|
||||
called with two arguments, the start and end of the current region.
|
||||
FUNCTION may set `yank-undo-function' to override the UNDO value.
|
||||
|
||||
*** The functions kill-new, kill-append, and kill-region now has an
|
||||
|
@ -1573,7 +1575,7 @@ supported, but new code should use the new functions.
|
|||
name in addition to a process id to identify the signalled process.
|
||||
|
||||
*** Processes now have an associated property list where programs can
|
||||
maintain process state and other per-process related information.
|
||||
maintain process state and other per-process related information.
|
||||
|
||||
The new functions process-get and process-put are used to access, add,
|
||||
and modify elements on this property list.
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
|
||||
|
||||
* Makefile.in: Use @EXEEXT@ for Cygwin.
|
||||
|
||||
2003-01-21 Dave Love <fx@gnu.org>
|
||||
|
||||
* etags.c (Cplusplus_help, Cjava_help): Re-phrase and avoid
|
||||
|
@ -43,7 +47,7 @@
|
|||
|
||||
* getopt.c (const): Move outside !HAVE_CONFIG_H conditional.
|
||||
(libintl.h): Include this if _LIBC. Otherwise include gettext.h.
|
||||
(wchar.h): Include, maybe.
|
||||
(wchar.h): Include, maybe.
|
||||
(attribute_hidden): Define if not defind.
|
||||
(__getopt_initialized): Use attribute_hidden.
|
||||
(__libc_argc, __libc_argv): Renamed from original_argc, etc.
|
||||
|
@ -204,7 +208,7 @@
|
|||
|
||||
* make-docfile.c (scan_c_file): Warn about missing `usage' info.
|
||||
|
||||
2002-07-05 Jonathan Kamens <jik@kamens.brookline.ma.us>
|
||||
2002-07-05 Jonathan Kamens <jik@kamens.brookline.ma.us>
|
||||
|
||||
* b2m.pl: Obey the rmail file and use the unpruned header properly.
|
||||
|
||||
|
@ -1341,7 +1345,7 @@
|
|||
|
||||
* movemail.c (main): Improve error message if can't create lock file.
|
||||
|
||||
2000-01-28 Eric Hanchrow <offby1@blarg.net>
|
||||
2000-01-28 Eric Hanchrow <offby1@blarg.net>
|
||||
|
||||
* emacsclient.c (socket_status): New function.
|
||||
(main): If $LOGNAME or $USER exist and differ from our euid, look
|
||||
|
@ -1352,7 +1356,7 @@
|
|||
* emacsclient.c: Add option -a EDITOR and environment variable
|
||||
ALTERNATE_EDITOR. Exec this editor if we fail to contact Emacs.
|
||||
|
||||
1999-12-10 Jonathan Kamens <jik@kamens.brookline.ma.us>
|
||||
1999-12-10 Jonathan Kamens <jik@kamens.brookline.ma.us>
|
||||
|
||||
* movemail.c (popmail): Allow mailbox specifications of the
|
||||
form `po:username:hostname'.
|
||||
|
@ -1704,7 +1708,7 @@
|
|||
|
||||
* makefile.nt: Do string comparision of _NMAKE_VER.
|
||||
|
||||
1998-11-03 Theodore Jump <tjump@cais.com>
|
||||
1998-11-03 Theodore Jump <tjump@cais.com>
|
||||
|
||||
* makefile.nt: Compile multiple source files when possible.
|
||||
|
||||
|
@ -2411,7 +2415,7 @@ Tue Jul 1 01:09:07 1997 Geoff Voelker <voelker@cs.washington.edu>
|
|||
|
||||
* cvtmail.c, sorted-doc.c, yow.c, emacsserver.c: Undo previous change.
|
||||
|
||||
1996-07-15 David Mosberger-Tang <davidm@AZStarNet.com>
|
||||
1996-07-15 David Mosberger-Tang <davidm@AZStarNet.com>
|
||||
|
||||
* cvtmail.c, sorted-doc.c, yow.c: [__GNU_LIBRARY__]: Use <string.h>.
|
||||
* emacsserver.c (main) [__GNU_LIBRARY__]: Use size_t for fromlen.
|
||||
|
@ -2468,11 +2472,11 @@ Tue Jul 1 01:09:07 1997 Geoff Voelker <voelker@cs.washington.edu>
|
|||
(Pascal_functions): Increase linecharno by the correct number of
|
||||
chars, inline the GET_NEW_LINE macro and delete its definition.
|
||||
|
||||
1996-05-03 Andrew Innes <andrewi@harlequin.co.uk>
|
||||
1996-05-03 Andrew Innes <andrewi@harlequin.co.uk>
|
||||
|
||||
* makefile.nt (OBJDIR, BLD): Remove macro definitions.
|
||||
|
||||
1996-05-03 Andrew Innes <andrewi@harlequin.co.uk>
|
||||
1996-05-03 Andrew Innes <andrewi@harlequin.co.uk>
|
||||
|
||||
* makefile.nt (LOCAL_FLAGS): Include path to NT shadow includes.
|
||||
(movemail.exe, fakemail.exe): Now built under Win32.o
|
||||
|
@ -2706,7 +2710,7 @@ Tue Jul 1 01:09:07 1997 Geoff Voelker <voelker@cs.washington.edu>
|
|||
(C_entries): Consider // as a comment start even in plain C for
|
||||
the sake of Objective C parsing.
|
||||
|
||||
1995-12-04 Francesco Potorti` <pot@cnuce.cnr.it>
|
||||
1995-12-04 Francesco Potorti` <pot@cnuce.cnr.it>
|
||||
|
||||
* Makefile.in (ctags): depend on etags only for simplicity;
|
||||
compile with regexp support enabled.
|
||||
|
@ -3423,7 +3427,7 @@ Tue Jul 1 01:09:07 1997 Geoff Voelker <voelker@cs.washington.edu>
|
|||
defined, use simple 32-bit versions of these macros.
|
||||
(main) [HAVE_SOCKETS & !HAVE_SYSVIPC]: Use these macros.
|
||||
|
||||
1994-09-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
1994-09-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* etags.c (etags_getcwd): Use getcwd if available.
|
||||
|
||||
|
@ -3804,9 +3808,9 @@ Tue Jul 1 01:09:07 1997 Geoff Voelker <voelker@cs.washington.edu>
|
|||
* profile.c: New file.
|
||||
|
||||
1994-01-16 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
||||
|
||||
|
||||
* make-docfile.c: Make the argument list output look more like the
|
||||
Lisp docstrings do.
|
||||
Lisp docstrings do.
|
||||
(write_c_args): Take new arg FUNC. Make output
|
||||
look like lisp call prototypes: (function ARG1 ARG2), upcasing args.
|
||||
(scan_c_file): Pass BUF to write_c_args for FUNC arg.
|
||||
|
|
|
@ -100,15 +100,15 @@ INSTALL_STRIP =
|
|||
|
||||
# Things that a user might actually run,
|
||||
# which should be installed in bindir.
|
||||
INSTALLABLES = etags ctags emacsclient b2m ebrowse
|
||||
INSTALLABLES = etags@EXEEXT@ ctags@EXEEXT@ emacsclient@EXEEXT@ b2m@EXEEXT@ ebrowse@EXEEXT@
|
||||
INSTALLABLE_SCRIPTS = rcs-checkin grep-changelog
|
||||
|
||||
# Things that Emacs runs internally, or during the build process,
|
||||
# which should not be installed in bindir.
|
||||
UTILITIES= profile digest-doc sorted-doc movemail cvtmail fakemail \
|
||||
yow hexl update-game-score
|
||||
UTILITIES= profile@EXEEXT@ digest-doc@EXEEXT@ sorted-doc@EXEEXT@ movemail@EXEEXT@ cvtmail@EXEEXT@ fakemail@EXEEXT@ \
|
||||
yow@EXEEXT@ hexl@EXEEXT@ update-game-score@EXEEXT@
|
||||
|
||||
DONT_INSTALL= test-distrib make-docfile
|
||||
DONT_INSTALL= test-distrib@EXEEXT@ make-docfile@EXEEXT@
|
||||
|
||||
# Like UTILITIES, but they're not system-dependent, and should not be
|
||||
# deleted by the distclean target.
|
||||
|
@ -286,12 +286,12 @@ blessmail:
|
|||
maybe-blessmail: BLESSMAIL
|
||||
#ifdef MOVEMAIL_NEEDS_BLESSING
|
||||
/* Don\'t charge ahead and do it! Let the installer decide.
|
||||
./blessmail ${archlibdir}/movemail */
|
||||
./blessmail ${archlibdir}/movemail@EXEEXT@ */
|
||||
@if [ `wc -l <blessmail` != 2 ] ; then \
|
||||
dir=`sed -n -e 's/echo mail directory = \(.*\)/\1/p' blessmail`; \
|
||||
echo Assuming $$dir is really the mail spool directory, you should; \
|
||||
echo run lib-src/blessmail ${archlibdir}/movemail; \
|
||||
echo as root, to give movemail appropriate permissions.; \
|
||||
echo run lib-src/blessmail ${archlibdir}/movemail@EXEEXT@; \
|
||||
echo as root, to give movemail@EXEEXT@ appropriate permissions.; \
|
||||
echo Do that after running make install.; \
|
||||
fi
|
||||
#endif
|
||||
|
@ -372,14 +372,14 @@ check:
|
|||
@echo "We don't have any tests for GNU Emacs yet."
|
||||
|
||||
tags: TAGS
|
||||
TAGS: etags
|
||||
TAGS: etags@EXEEXT@
|
||||
etags *.[ch]
|
||||
|
||||
/* This verifies that the non-ASCII characters in the file \`testfile\'
|
||||
have not been clobbered by whatever means were used to copy and
|
||||
distribute Emacs. If they were clobbered, all the .elc files were
|
||||
clobbered too. */
|
||||
test-distrib: ${srcdir}/test-distrib.c
|
||||
test-distrib@EXEEXT@: ${srcdir}/test-distrib.c
|
||||
$(CC) ${ALL_CFLAGS} -o test-distrib ${srcdir}/test-distrib.c
|
||||
./test-distrib ${srcdir}/testfile
|
||||
|
||||
|
@ -403,34 +403,34 @@ REGEXPDEPS = $(REGEXPOBJ) $(srcdir)/../src/regex.h
|
|||
regex.o: $(srcdir)/../src/regex.c $(srcdir)/../src/regex.h ../src/config.h
|
||||
${CC} -c ${BASE_CFLAGS} -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER ${srcdir}/../src/regex.c
|
||||
|
||||
etags: ${srcdir}/etags.c $(GETOPTDEPS) $(REGEXPDEPS) ../src/config.h
|
||||
etags@EXEEXT@: ${srcdir}/etags.c $(GETOPTDEPS) $(REGEXPDEPS) ../src/config.h
|
||||
$(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o etags
|
||||
|
||||
ebrowse: ${srcdir}/ebrowse.c $(GETOPTDEPS) ../src/config.h
|
||||
ebrowse@EXEEXT@: ${srcdir}/ebrowse.c $(GETOPTDEPS) ../src/config.h
|
||||
$(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" ${srcdir}/ebrowse.c $(GETOPTOBJS) $(LOADLIBES) -o ebrowse
|
||||
|
||||
/* We depend on etags to assure that parallel makes don\'t write two
|
||||
etags.o files on top of each other. */
|
||||
ctags: etags
|
||||
ctags@EXEEXT@: etags@EXEEXT@
|
||||
$(CC) ${ALL_CFLAGS} -DCTAGS -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o ctags
|
||||
|
||||
profile: ${srcdir}/profile.c ../src/config.h
|
||||
profile@EXEEXT@: ${srcdir}/profile.c ../src/config.h
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/profile.c $(LOADLIBES) -o profile
|
||||
|
||||
make-docfile: ${srcdir}/make-docfile.c ../src/config.h
|
||||
make-docfile@EXEEXT@: ${srcdir}/make-docfile.c ../src/config.h
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/make-docfile.c $(LOADLIBES) -o make-docfile
|
||||
|
||||
digest-doc: ${srcdir}/digest-doc.c
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/digest-doc.c $(LOADLIBES) -o digest-doc
|
||||
digest-doc@EXEEXT@: ${srcdir}/digest-doc.c
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/digest-doc.c $(LOADLIBES) -o digest-doc
|
||||
|
||||
sorted-doc: ${srcdir}/sorted-doc.c ${ALLOCA}
|
||||
sorted-doc@EXEEXT@: ${srcdir}/sorted-doc.c ${ALLOCA}
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/sorted-doc.c ${ALLOCA} $(LOADLIBES) -o sorted-doc
|
||||
|
||||
b2m: ${srcdir}/b2m.c ../src/config.h $(GETOPTDEPS)
|
||||
b2m@EXEEXT@: ${srcdir}/b2m.c ../src/config.h $(GETOPTDEPS)
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/b2m.c -DVERSION="\"${version}\"" \
|
||||
$(GETOPTOBJS) $(LOADLIBES) -o b2m
|
||||
$(GETOPTOBJS) $(LOADLIBES) -o b2m
|
||||
|
||||
movemail: movemail.o pop.o $(GETOPTDEPS)
|
||||
movemail@EXEEXT@: movemail.o pop.o $(GETOPTDEPS)
|
||||
$(CC) ${LINK_CFLAGS} ${MOVE_FLAGS} movemail.o pop.o $(GETOPTOBJS) $(LOADLIBES) $(LIBS_MAIL) $(LIBS_MOVE) -o movemail
|
||||
|
||||
movemail.o: ${srcdir}/movemail.c ../src/config.h
|
||||
|
@ -439,45 +439,45 @@ movemail.o: ${srcdir}/movemail.c ../src/config.h
|
|||
pop.o: ${srcdir}/pop.c ../src/config.h
|
||||
$(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} ${srcdir}/pop.c
|
||||
|
||||
cvtmail: ${srcdir}/cvtmail.c
|
||||
cvtmail@EXEEXT@: ${srcdir}/cvtmail.c
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/cvtmail.c $(LOADLIBES) -o cvtmail
|
||||
|
||||
fakemail: ${srcdir}/fakemail.c ../src/config.h
|
||||
fakemail@EXEEXT@: ${srcdir}/fakemail.c ../src/config.h
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/fakemail.c $(LOADLIBES) -o fakemail
|
||||
|
||||
yow: ${srcdir}/yow.c ../src/epaths.h
|
||||
yow@EXEEXT@: ${srcdir}/yow.c ../src/epaths.h
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/yow.c $(LOADLIBES) -o yow
|
||||
|
||||
emacsclient: ${srcdir}/emacsclient.c ../src/config.h $(GETOPTDEPS)
|
||||
emacsclient@EXEEXT@: ${srcdir}/emacsclient.c ../src/config.h $(GETOPTDEPS)
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c $(GETOPTOBJS) \
|
||||
-DVERSION=`sed -n -e '/(defconst emacs-version/ s/^[^"]*\("[^"]*"\).*/\1/p' ${srcdir}/../lisp/version.el` \
|
||||
$(LOADLIBES) -o emacsclient
|
||||
|
||||
hexl: ${srcdir}/hexl.c ../src/config.h
|
||||
hexl@EXEEXT@: ${srcdir}/hexl.c ../src/config.h
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/hexl.c $(LOADLIBES) -o hexl
|
||||
|
||||
update-game-score: ${srcdir}/update-game-score.c ../src/config.h
|
||||
update-game-score@EXEEXT@: ${srcdir}/update-game-score.c ../src/config.h
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/update-game-score.c \
|
||||
-DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" \
|
||||
$(LOADLIBES) -o update-game-score
|
||||
|
||||
/* These are NOT included in INSTALLABLES or UTILITIES.
|
||||
See ../src/Makefile.in. */
|
||||
emacstool: ${srcdir}/emacstool.c
|
||||
emacstool@EXEEXT@: ${srcdir}/emacstool.c
|
||||
$(CC) ${srcdir}/emacstool.c -o emacstool ${ALL_CFLAGS} \
|
||||
-lsuntool -lsunwindow -lpixrect $(LOADLIBES)
|
||||
|
||||
/* For SUN Japanese Language Environment. */
|
||||
nemacstool: ${srcdir}/emacstool.c
|
||||
nemacstool@EXEEXT@: ${srcdir}/emacstool.c
|
||||
$(CC) -o nemacstool -DJLE ${ALL_CFLAGS} ${srcdir}/emacstool.c \
|
||||
-lsuntool -lmle -lsunwindow -lpixrect $(LOADLIBES)
|
||||
|
||||
xvetool: ${srcdir}/emacstool.c
|
||||
xvetool@EXEEXT@: ${srcdir}/emacstool.c
|
||||
$(CC) -o xvetool -DXVIEW ${ALL_CFLAGS} ${srcdir}/emacstool.c \
|
||||
-lxview -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \
|
||||
$(LOADLIBES)
|
||||
|
||||
xveterm: ${srcdir}/emacstool.c
|
||||
xveterm@EXEEXT@: ${srcdir}/emacstool.c
|
||||
$(CC) -o xveterm -DXVIEW -DTTERM ${ALL_CFLAGS} ${srcdir}/emacstool.c \
|
||||
-lxview -lolgx -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \
|
||||
$(LOADLIBES)
|
||||
|
|
|
@ -1,3 +1,21 @@
|
|||
2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
|
||||
|
||||
* comint.el:
|
||||
* dired-aux.el:
|
||||
* dired.el:
|
||||
* dirtrack.el:
|
||||
* dos-w32.el:
|
||||
* fast-lock.el:
|
||||
* filecache.el:
|
||||
* files.el:
|
||||
* hippie-exp.el:
|
||||
* international/mule.el:
|
||||
* net/browse-url.el:
|
||||
* pcomplete.el:
|
||||
* recentf.el:
|
||||
* shell.el:
|
||||
* woman.el: Added cygwin to system-type comparisons.
|
||||
|
||||
2003-01-31 Francesco Potort,Al(B <pot@gnu.org>
|
||||
|
||||
* mail/undigest.el (rmail-forward-separator-regex): New custom
|
||||
|
|
|
@ -2536,7 +2536,7 @@ This is used by comint's and shell's completion functions, and by shell's
|
|||
directory tracking functions.")
|
||||
|
||||
(defvar comint-file-name-chars
|
||||
(if (memq system-type '(ms-dos windows-nt))
|
||||
(if (memq system-type '(ms-dos windows-nt cygwin))
|
||||
"~/A-Za-z0-9_^$!#%&{}@`'.,:()-"
|
||||
"~/A-Za-z0-9+@:_.$#%,={}-")
|
||||
"String of characters valid in a file name.
|
||||
|
@ -2661,7 +2661,7 @@ Returns t if successful."
|
|||
(defun comint-dynamic-complete-as-filename ()
|
||||
"Dynamically complete at point as a filename.
|
||||
See `comint-dynamic-complete-filename'. Returns t if successful."
|
||||
(let* ((completion-ignore-case (memq system-type '(ms-dos windows-nt)))
|
||||
(let* ((completion-ignore-case (memq system-type '(ms-dos windows-nt cygwin)))
|
||||
(completion-ignored-extensions comint-completion-fignore)
|
||||
;; If we bind this, it breaks remote directory tracking in rlogin.el.
|
||||
;; I think it was originally bound to solve file completion problems,
|
||||
|
@ -2750,7 +2750,7 @@ Returns `partial' if completed as far as possible with the completion matches.
|
|||
Returns `listed' if a completion listing was shown.
|
||||
|
||||
See also `comint-dynamic-complete-filename'."
|
||||
(let* ((completion-ignore-case (memq system-type '(ms-dos windows-nt)))
|
||||
(let* ((completion-ignore-case (memq system-type '(ms-dos windows-nt cygwin)))
|
||||
(suffix (cond ((not comint-completion-addsuffix) "")
|
||||
((not (consp comint-completion-addsuffix)) " ")
|
||||
(t (cdr comint-completion-addsuffix))))
|
||||
|
@ -2791,7 +2791,7 @@ See also `comint-dynamic-complete-filename'."
|
|||
(defun comint-dynamic-list-filename-completions ()
|
||||
"List in help buffer possible completions of the filename at point."
|
||||
(interactive)
|
||||
(let* ((completion-ignore-case (memq system-type '(ms-dos windows-nt)))
|
||||
(let* ((completion-ignore-case (memq system-type '(ms-dos windows-nt cygwin)))
|
||||
;; If we bind this, it breaks remote directory tracking in rlogin.el.
|
||||
;; I think it was originally bound to solve file completion problems,
|
||||
;; but subsequent changes may have made this unnecessary. sm.
|
||||
|
|
|
@ -1258,7 +1258,7 @@ Optional arg HOW-TO is used to set the value of the into-dir variable
|
|||
;; will return t because the filesystem is
|
||||
;; case-insensitive, and Emacs will try to move
|
||||
;; foo -> foo/foo, which fails.
|
||||
(if (and (memq system-type '(ms-dos windows-nt))
|
||||
(if (and (memq system-type '(ms-dos windows-nt cygwin))
|
||||
(eq op-symbol 'move)
|
||||
dired-one-file
|
||||
(string= (downcase
|
||||
|
|
|
@ -65,7 +65,7 @@ some of the `ls' switches are not supported; see the doc string of
|
|||
|
||||
;;;###autoload
|
||||
(defvar dired-chown-program
|
||||
(if (memq system-type '(hpux dgux usg-unix-v irix linux gnu/linux))
|
||||
(if (memq system-type '(hpux dgux usg-unix-v irix linux gnu/linux cygwin))
|
||||
"chown"
|
||||
(if (file-exists-p "/usr/sbin/chown")
|
||||
"/usr/sbin/chown"
|
||||
|
@ -299,7 +299,7 @@ Subexpression 2 must end right before the \\n or \\r.")
|
|||
'(".+" (dired-move-to-filename) nil (0 font-lock-function-name-face)))
|
||||
;;
|
||||
;; Symbolic links.
|
||||
(list dired-re-sym
|
||||
(list dired-re-sym
|
||||
'(".+" (dired-move-to-filename) nil (0 font-lock-keyword-face)))
|
||||
;;
|
||||
;; Files suffixed with `completion-ignored-extensions'.
|
||||
|
@ -530,11 +530,11 @@ If DIRNAME is already in a dired buffer, that buffer is used without refresh."
|
|||
(setq buffer (create-file-buffer (directory-file-name dirname)))))
|
||||
(set-buffer buffer)
|
||||
(if (not new-buffer-p) ; existing buffer ...
|
||||
(cond (switches ; ... but new switches
|
||||
(cond (switches ; ... but new switches
|
||||
;; file list may have changed
|
||||
(setq dired-directory dir-or-list)
|
||||
;; this calls dired-revert
|
||||
(dired-sort-other switches))
|
||||
(dired-sort-other switches))
|
||||
;; If directory has changed on disk, offer to revert.
|
||||
((if (let ((attributes (file-attributes dirname))
|
||||
(modtime (visited-file-modtime)))
|
||||
|
@ -1769,7 +1769,7 @@ You can then feed the file name(s) to other commands with \\[yank]."
|
|||
(substring pattern matched-in-pattern))
|
||||
"\\'")))
|
||||
|
||||
|
||||
|
||||
|
||||
(defun dired-advertise ()
|
||||
;;"Advertise in variable `dired-buffers' that we dired `default-directory'."
|
||||
|
@ -2053,7 +2053,7 @@ Anything else means ask for each directory."
|
|||
(const :tag "Confirm for each top directory only" top))
|
||||
:group 'dired)
|
||||
|
||||
;; Match anything but `.' and `..'.
|
||||
;; Match anything but `.' and `..'.
|
||||
(defvar dired-re-no-dot "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")
|
||||
|
||||
;; Delete file, possibly delete a directory and all its files.
|
||||
|
@ -2174,7 +2174,7 @@ if there are no flagged files."
|
|||
(setq success-list (cons (buffer-name buf) success-list)))))
|
||||
success-list))
|
||||
|
||||
;; Delete the entry for FILE from
|
||||
;; Delete the entry for FILE from
|
||||
(defun dired-delete-entry (file)
|
||||
(save-excursion
|
||||
(and (dired-goto-file file)
|
||||
|
@ -2572,7 +2572,7 @@ A prefix argument says to unflag those files instead."
|
|||
(defvar dired-garbage-files-regexp
|
||||
(concat (regexp-opt
|
||||
'(".log" ".toc" ".dvi" ".bak" ".orig" ".rej" ".aux"))
|
||||
"\\'")
|
||||
"\\'")
|
||||
"*Regular expression to match \"garbage\" files for `dired-flag-garbage-files'.")
|
||||
|
||||
(defun dired-flag-garbage-files ()
|
||||
|
@ -2632,7 +2632,7 @@ OLD and NEW are both characters used to mark files."
|
|||
|
||||
(defun dired-unmark-all-files (mark &optional arg)
|
||||
"Remove a specific mark (or any mark) from every file.
|
||||
After this command, type the mark character to remove,
|
||||
After this command, type the mark character to remove,
|
||||
or type RET to remove all marks.
|
||||
With prefix arg, query for each marked file.
|
||||
Type \\[help-command] at that time for help."
|
||||
|
@ -2683,7 +2683,7 @@ Thus, use \\[backward-page] to find the beginning of a group of errors."
|
|||
;; Log a message or the contents of a buffer.
|
||||
;; If LOG is a string and there are more args, it is formatted with
|
||||
;; those ARGS. Usually the LOG string ends with a \n.
|
||||
;; End each bunch of errors with (dired-log t):
|
||||
;; End each bunch of errors with (dired-log t):
|
||||
;; this inserts the current time and buffer at the start of the page,
|
||||
;; and \f (formfeed) at the end.
|
||||
(let ((obuf (current-buffer)))
|
||||
|
@ -3076,7 +3076,7 @@ Use \\[dired-hide-subdir] to (un)hide a particular subdirectory."
|
|||
(autoload 'dired-show-file-type "dired-aux"
|
||||
"Print the type of FILE, according to the `file' command.
|
||||
If FILE is a symbolic link and the optional argument DEREF-SYMLINKS is
|
||||
true then the type of the file linked to by FILE is printed instead."
|
||||
true then the type of the file linked to by FILE is printed instead."
|
||||
t)
|
||||
|
||||
(autoload 'dired-run-shell-command "dired-aux")
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;; Author: Peter Breton <pbreton@cs.umb.edu>
|
||||
;; Created: Sun Nov 17 1996
|
||||
;; Keywords: processes
|
||||
;; Time-stamp: <1999-02-21 01:27:24 pbreton>
|
||||
;; Time-stamp: <2003-01-31 16:15:05 jbarranquero>
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
|
@ -42,8 +42,8 @@
|
|||
;; 1) Set your shell's prompt to contain the current working directory.
|
||||
;; You may need to consult your shell's documentation to find out how to
|
||||
;; do this.
|
||||
;;
|
||||
;; Note that directory tracking is done by matching regular expressions,
|
||||
;;
|
||||
;; Note that directory tracking is done by matching regular expressions,
|
||||
;; therefore it is *VERY IMPORTANT* for your prompt to be easily
|
||||
;; distinguishable from other output. If your prompt regexp is too general,
|
||||
;; you will see error messages from the dirtrack filter as it attempts to cd
|
||||
|
@ -52,16 +52,16 @@
|
|||
;; 2) Set the variable `dirtrack-list' to an appropriate value. This
|
||||
;; should be a list of two elements: the first is a regular expression
|
||||
;; which matches your prompt up to and including the pathname part.
|
||||
;; The second is a number which tells which regular expression group to
|
||||
;; The second is a number which tells which regular expression group to
|
||||
;; match to extract only the pathname. If you use a multi-line prompt,
|
||||
;; add 't' as a third element. Note that some of the functions in
|
||||
;; 'comint.el' assume a single-line prompt (eg, comint-bol).
|
||||
;;
|
||||
;;
|
||||
;; Determining this information may take some experimentation. Setting
|
||||
;; the variable `dirtrack-debug' may help; it causes the directory-tracking
|
||||
;; filter to log messages to the buffer `dirtrack-debug-buffer'. You can easily
|
||||
;; toggle this setting with the `dirtrack-debug-toggle' function.
|
||||
;;
|
||||
;;
|
||||
;; 3) Add a hook to shell-mode to enable the directory tracking:
|
||||
;;
|
||||
;; (add-hook 'shell-mode-hook
|
||||
|
@ -83,26 +83,26 @@
|
|||
;; 'dirtrack-list' is set to (list "^\\([/~].*\\)\nemacs@[^%]+% *" 1 t)
|
||||
;;
|
||||
;; I'd appreciate other examples from people who use this package.
|
||||
;;
|
||||
;;
|
||||
;; Here's one from Stephen Eglen:
|
||||
;;
|
||||
;; Running under tcsh:
|
||||
;; (setq-default dirtrack-list '("^%E \\([^ ]+\\)" 1))
|
||||
;;
|
||||
;;
|
||||
;; It might be worth mentioning in your file that emacs sources start up
|
||||
;; files of the form: ~/.emacs_<SHELL> where <SHELL> is the name of the
|
||||
;; shell. So for example, I have the following in ~/.emacs_tcsh:
|
||||
;;
|
||||
;;
|
||||
;; set prompt = "%%E %~ %h% "
|
||||
;;
|
||||
;;
|
||||
;; This produces a prompt of the form:
|
||||
;; %E /var/spool 10%
|
||||
;;
|
||||
;; %E /var/spool 10%
|
||||
;;
|
||||
;; This saves me from having to use the %E prefix in other non-emacs
|
||||
;; shells.
|
||||
;;
|
||||
;; A final note:
|
||||
;;
|
||||
;;
|
||||
;; I run LOTS of shell buffers through Emacs, sometimes as different users
|
||||
;; (eg, when logged in as myself, I'll run a root shell in the same Emacs).
|
||||
;; If you do this, and the shell prompt contains a ~, Emacs will interpret
|
||||
|
@ -134,11 +134,11 @@
|
|||
(defcustom dirtrack-list (list "^emacs \\([a-zA-Z]:.*\\)>" 1)
|
||||
"*List for directory tracking.
|
||||
First item is a regexp that describes where to find the path in a prompt.
|
||||
Second is a number, the regexp group to match. Optional third item is
|
||||
whether the prompt is multi-line. If nil or omitted, prompt is assumed to
|
||||
Second is a number, the regexp group to match. Optional third item is
|
||||
whether the prompt is multi-line. If nil or omitted, prompt is assumed to
|
||||
be on a single line."
|
||||
:group 'dirtrack
|
||||
:type '(sexp (regexp :tag "Prompt Expression")
|
||||
:type '(sexp (regexp :tag "Prompt Expression")
|
||||
(integer :tag "Regexp Group")
|
||||
(boolean :tag "Multiline Prompt")
|
||||
)
|
||||
|
@ -166,8 +166,8 @@ be on a single line."
|
|||
|
||||
(make-variable-buffer-local 'dirtrackp)
|
||||
|
||||
(defcustom dirtrack-directory-function
|
||||
(if (memq system-type (list 'ms-dos 'windows-nt))
|
||||
(defcustom dirtrack-directory-function
|
||||
(if (memq system-type (list 'ms-dos 'windows-nt 'cygwin))
|
||||
'dirtrack-windows-directory-function
|
||||
'dirtrack-default-directory-function)
|
||||
"*Function to apply to the prompt directory for comparison purposes."
|
||||
|
@ -175,8 +175,8 @@ be on a single line."
|
|||
:type 'function
|
||||
)
|
||||
|
||||
(defcustom dirtrack-canonicalize-function
|
||||
(if (memq system-type (list 'ms-dos 'windows-nt))
|
||||
(defcustom dirtrack-canonicalize-function
|
||||
(if (memq system-type (list 'ms-dos 'windows-nt 'cygwin))
|
||||
'downcase 'identity)
|
||||
"*Function to apply to the default directory for comparison purposes."
|
||||
:group 'dirtrack
|
||||
|
@ -204,7 +204,7 @@ Such a directory ends with a forward slash."
|
|||
|
||||
(defun dirtrack-windows-directory-function (dir)
|
||||
"Return a canonical directory for comparison purposes.
|
||||
Such a directory is all lowercase, has forward-slashes as delimiters,
|
||||
Such a directory is all lowercase, has forward-slashes as delimiters,
|
||||
and ends with a forward slash."
|
||||
(let ((directory dir))
|
||||
(setq directory (downcase (dirtrack-replace-slash directory t)))
|
||||
|
@ -217,13 +217,13 @@ and ends with a forward slash."
|
|||
|
||||
(defun dirtrack-replace-slash (string &optional opposite)
|
||||
"Replace forward slashes with backwards ones.
|
||||
If additional argument is non-nil, replace backwards slashes with
|
||||
If additional argument is non-nil, replace backwards slashes with
|
||||
forward ones."
|
||||
(let ((orig (if opposite
|
||||
dirtrack-backward-slash
|
||||
(let ((orig (if opposite
|
||||
dirtrack-backward-slash
|
||||
dirtrack-forward-slash))
|
||||
(replace (if opposite
|
||||
dirtrack-forward-slash
|
||||
(replace (if opposite
|
||||
dirtrack-forward-slash
|
||||
dirtrack-backward-slash))
|
||||
(newstring string)
|
||||
)
|
||||
|
@ -266,7 +266,7 @@ You can toggle directory tracking by using the function `dirtrack-toggle'.
|
|||
If directory tracking does not seem to be working, you can use the
|
||||
function `dirtrack-debug-toggle' to turn on debugging output.
|
||||
|
||||
You can enable directory tracking by adding this function to
|
||||
You can enable directory tracking by adding this function to
|
||||
`comint-output-filter-functions'.
|
||||
"
|
||||
(if (null dirtrackp)
|
||||
|
@ -286,33 +286,33 @@ You can enable directory tracking by adding this function to
|
|||
;; No match
|
||||
(if (null matched)
|
||||
(and dirtrack-debug
|
||||
(dirtrack-debug-message
|
||||
(format
|
||||
"Input `%s' failed to match regexp: %s"
|
||||
(dirtrack-debug-message
|
||||
(format
|
||||
"Input `%s' failed to match regexp: %s"
|
||||
input dirtrack-regexp)))
|
||||
(setq prompt-path
|
||||
(setq prompt-path
|
||||
(substring input
|
||||
(match-beginning match-num) (match-end match-num)))
|
||||
;; Empty string
|
||||
(if (not (> (length prompt-path) 0))
|
||||
(and dirtrack-debug
|
||||
(dirtrack-debug-message "Match is empty string"))
|
||||
(dirtrack-debug-message "Match is empty string"))
|
||||
;; Transform prompts into canonical forms
|
||||
(setq prompt-path (funcall dirtrack-directory-function
|
||||
prompt-path))
|
||||
(setq current-dir (funcall dirtrack-canonicalize-function
|
||||
current-dir))
|
||||
(and dirtrack-debug
|
||||
(dirtrack-debug-message
|
||||
(dirtrack-debug-message
|
||||
(format
|
||||
"Prompt is %s\nCurrent directory is %s"
|
||||
prompt-path current-dir)))
|
||||
prompt-path current-dir)))
|
||||
;; Compare them
|
||||
(if (or (string= current-dir prompt-path)
|
||||
(string= current-dir
|
||||
(string= current-dir
|
||||
(abbreviate-file-name prompt-path)))
|
||||
(and dirtrack-debug
|
||||
(dirtrack-debug-message
|
||||
(dirtrack-debug-message
|
||||
(format "Not changing directory")))
|
||||
;; It's possible that Emacs will think the directory
|
||||
;; won't exist (eg, rlogin buffers)
|
||||
|
@ -321,7 +321,7 @@ You can enable directory tracking by adding this function to
|
|||
(and (shell-process-cd prompt-path)
|
||||
(run-hooks 'dirtrack-directory-change-hook)
|
||||
dirtrack-debug
|
||||
(dirtrack-debug-message
|
||||
(dirtrack-debug-message
|
||||
(format "Changing directory to %s" prompt-path)))
|
||||
(error "Directory %s does not exist" prompt-path)))
|
||||
)))))
|
||||
|
|
|
@ -197,7 +197,7 @@ the directory prefix corresponding to the filesystem.")
|
|||
(defun untranslated-canonical-name (filename)
|
||||
"Return FILENAME in a canonicalized form for use with the functions
|
||||
dealing with untranslated filesystems."
|
||||
(if (memq system-type '(ms-dos windows-nt))
|
||||
(if (memq system-type '(ms-dos windows-nt cygwin))
|
||||
;; The canonical form for DOS/W32 is with A-Z downcased and all
|
||||
;; directory separators changed to directory-sep-char.
|
||||
(let ((name nil))
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
;; See also the lazy-lock package. (But don't use the two at the same time!)
|
||||
|
||||
;; Installation:
|
||||
;;
|
||||
;;
|
||||
;; Put in your ~/.emacs:
|
||||
;;
|
||||
;; (setq font-lock-support-mode 'fast-lock-mode)
|
||||
|
@ -67,7 +67,7 @@
|
|||
;; 1.01--2.00: complete rewrite---not worth the space to document
|
||||
;; - Changed structure of text properties cache and threw out file mod checks
|
||||
;; 2.00--2.01:
|
||||
;; - Made `condition-case' forms understand `quit'.
|
||||
;; - Made `condition-case' forms understand `quit'.
|
||||
;; - Made `fast-lock' require `font-lock'
|
||||
;; - Made `fast-lock-cache-name' chase links (from Ben Liblit)
|
||||
;; 2.01--3.00:
|
||||
|
@ -230,7 +230,7 @@
|
|||
;;
|
||||
;; We use this for compatibility with a future Emacs.
|
||||
(or (fboundp 'defcustom)
|
||||
(defmacro defcustom (symbol value doc &rest args)
|
||||
(defmacro defcustom (symbol value doc &rest args)
|
||||
`(defvar ,symbol ,value ,doc))))
|
||||
|
||||
;(defun fast-lock-submit-bug-report ()
|
||||
|
@ -553,7 +553,7 @@ See `fast-lock-cache-directory'."
|
|||
(concat buffer-file-name ".flc")
|
||||
(let* ((bufile (expand-file-name buffer-file-truename))
|
||||
(chars-alist
|
||||
(if (memq system-type '(emx windows-nt))
|
||||
(if (memq system-type '(emx windows-nt cygwin))
|
||||
'((?/ . (?#)) (?# . (?# ?#)) (?: . (?\;)) (?\; . (?\; ?\;)))
|
||||
'((?/ . (?#)) (?# . (?# ?#)))))
|
||||
(mapchars
|
||||
|
@ -807,7 +807,7 @@ See `fast-lock-get-face-properties'."
|
|||
(font-lock-set-face (nth 0 regions) (nth 1 regions) face)
|
||||
(setq regions (nthcdr 2 regions)))
|
||||
(setq face-properties (cdr face-properties))))
|
||||
;; XEmacs does not support the `syntax-table' text property.
|
||||
;; XEmacs does not support the `syntax-table' text property.
|
||||
))
|
||||
;;
|
||||
;; XEmacs 19.12 font-lock.el's `font-lock-fontify-buffer' runs a hook.
|
||||
|
|
|
@ -187,7 +187,7 @@ do not use this variable."
|
|||
:group 'file-cache)
|
||||
|
||||
(defcustom file-cache-completion-ignore-case
|
||||
(if (memq system-type (list 'ms-dos 'windows-nt))
|
||||
(if (memq system-type (list 'ms-dos 'windows-nt 'cygwin))
|
||||
t
|
||||
completion-ignore-case)
|
||||
"If non-nil, file-cache completion should ignore case.
|
||||
|
@ -197,7 +197,7 @@ Defaults to the value of `completion-ignore-case'."
|
|||
)
|
||||
|
||||
(defcustom file-cache-case-fold-search
|
||||
(if (memq system-type (list 'ms-dos 'windows-nt))
|
||||
(if (memq system-type (list 'ms-dos 'windows-nt 'cygwin))
|
||||
t
|
||||
case-fold-search)
|
||||
"If non-nil, file-cache completion should ignore case.
|
||||
|
@ -207,7 +207,7 @@ Defaults to the value of `case-fold-search'."
|
|||
)
|
||||
|
||||
(defcustom file-cache-assoc-function
|
||||
(if (memq system-type (list 'ms-dos 'windows-nt))
|
||||
(if (memq system-type (list 'ms-dos 'windows-nt 'cygwin))
|
||||
'assoc-ignore-case
|
||||
'assoc)
|
||||
"Function to use to check completions in the file cache.
|
||||
|
|
|
@ -215,7 +215,7 @@ have fast storage with limited space, such as a RAM disk."
|
|||
"[\000-\031]\\|" ; control characters
|
||||
"\\(/\\.\\.?[^/]\\)\\|" ; leading dots
|
||||
"\\(/[^/.]+\\.[^/.]*\\.\\)")) ; more than a single dot
|
||||
((memq system-type '(ms-dos windows-nt))
|
||||
((memq system-type '(ms-dos windows-nt cygwin))
|
||||
(concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive
|
||||
"[|<>\"?*\000-\031]")) ; invalid characters
|
||||
(t "[\000]"))
|
||||
|
@ -1028,6 +1028,7 @@ Type \\[describe-variable] directory-abbrev-alist RET for more information."
|
|||
;; MS-DOS root directories can come with a drive letter;
|
||||
;; Novell Netware allows drive letters beyond `Z:'.
|
||||
(not (and (or (eq system-type 'ms-dos)
|
||||
(eq system-type 'cygwin)
|
||||
(eq system-type 'windows-nt))
|
||||
(save-match-data
|
||||
(string-match "^[a-zA-`]:/$" filename)))))
|
||||
|
@ -1774,7 +1775,7 @@ and we don't even do that unless it would come from the file name."
|
|||
(mode nil))
|
||||
;; Find first matching alist entry.
|
||||
(let ((case-fold-search
|
||||
(memq system-type '(vax-vms windows-nt))))
|
||||
(memq system-type '(vax-vms windows-nt cygwin))))
|
||||
(while (and (not mode) alist)
|
||||
(if (string-match (car (car alist)) name)
|
||||
(if (and (consp (cdr (car alist)))
|
||||
|
@ -2615,7 +2616,7 @@ doesn't exist, it is created."
|
|||
file
|
||||
(if (file-name-absolute-p backup-directory)
|
||||
(progn
|
||||
(when (memq system-type '(windows-nt ms-dos))
|
||||
(when (memq system-type '(windows-nt ms-dos cygwin))
|
||||
;; Normalize DOSish file names: downcase the drive
|
||||
;; letter, if any, and replace the leading "x:" with
|
||||
;; "/drive_x".
|
||||
|
@ -2737,6 +2738,7 @@ then it returns FILENAME."
|
|||
;; On Microsoft OSes, if FILENAME and DIRECTORY have different
|
||||
;; drive names, they can't be relative, so return the absolute name.
|
||||
(if (and (or (eq system-type 'ms-dos)
|
||||
(eq system-type 'cygwin)
|
||||
(eq system-type 'windows-nt))
|
||||
(not (string-equal (substring fname 0 2)
|
||||
(substring directory 0 2))))
|
||||
|
@ -3136,7 +3138,7 @@ prints a message in the minibuffer. Instead, use `set-buffer-modified-p'."
|
|||
With arg, set read-only iff arg is positive.
|
||||
If visiting file read-only and `view-read-only' is non-nil, enter view mode."
|
||||
(interactive "P")
|
||||
(if (and arg
|
||||
(if (and arg
|
||||
(if (> (prefix-numeric-value arg) 0) buffer-read-only
|
||||
(not buffer-read-only))) ; If buffer-read-only is set correctly,
|
||||
nil ; do nothing.
|
||||
|
@ -3881,7 +3883,7 @@ Existing quote characters in PATTERN are left alone, so you can pass
|
|||
PATTERN that already quotes some of the special characters."
|
||||
(save-match-data
|
||||
(cond
|
||||
((memq system-type '(ms-dos windows-nt))
|
||||
((memq system-type '(ms-dos windows-nt cygwin))
|
||||
;; DOS/Windows don't allow `"' in file names. So if the
|
||||
;; argument has quotes, we can safely assume it is already
|
||||
;; quoted by the caller.
|
||||
|
@ -4022,7 +4024,7 @@ If WILDCARD, it also runs the shell specified by `shell-file-name'."
|
|||
;; bunch by one to preserve that property.
|
||||
(coding-system-for-read 'no-conversion)
|
||||
;; This is to control encoding the arguments in call-process.
|
||||
(coding-system-for-write
|
||||
(coding-system-for-write
|
||||
(and enable-multibyte-characters
|
||||
(or file-name-coding-system
|
||||
default-file-name-coding-system))))
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
|
||||
|
||||
* nnheader.el: Added cygwin to system-type comparisons.
|
||||
|
||||
2003-01-27 Juanma Barranquero <lektu@terra.es>
|
||||
|
||||
* imap.el (imap-mailbox-status): Fix typo.
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
(defvar nnheader-head-chop-length 2048
|
||||
"*Length of each read operation when trying to fetch HEAD headers.")
|
||||
|
||||
(defvar nnheader-file-name-translation-alist
|
||||
(defvar nnheader-file-name-translation-alist
|
||||
(let ((case-fold-search t))
|
||||
(cond
|
||||
((string-match "windows-nt\\|os/2\\|emx\\|cygwin32"
|
||||
|
@ -653,12 +653,12 @@ If FULL, translate everything."
|
|||
;; We translate -- but only the file name. We leave the directory
|
||||
;; alone.
|
||||
(if (and (featurep 'xemacs)
|
||||
(memq system-type '(win32 w32 mswindows windows-nt)))
|
||||
(memq system-type '(win32 w32 mswindows windows-nt cygwin)))
|
||||
;; This is needed on NT and stuff, because
|
||||
;; file-name-nondirectory is not enough to split
|
||||
;; file names, containing ':', e.g.
|
||||
;; "d:\\Work\\News\\nntp+news.fido7.ru:fido7.ru.gnu.SCORE"
|
||||
;;
|
||||
;;
|
||||
;; we are trying to correctly split such names:
|
||||
;; "d:file.name" -> "a:" "file.name"
|
||||
;; "aaa:bbb.ccc" -> "" "aaa:bbb.ccc"
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
;; `hippie-expand' is a single function for a lot of different kinds
|
||||
;; of completions and expansions. Called repeatedly it tries all
|
||||
;; possible completions in succession.
|
||||
;; possible completions in succession.
|
||||
;; Which kinds of completions to try, and in which order, is
|
||||
;; determined by the contents of `hippie-expand-try-functions-list'.
|
||||
;; Much customization of `hippie-expand' can be made by changing the
|
||||
|
@ -61,7 +61,7 @@
|
|||
;; characters of syntax '_' is considered part of the words to expand
|
||||
;; dynamically.
|
||||
;; See also the macro `make-hippie-expand-function' below.
|
||||
;;
|
||||
;;
|
||||
;; A short description of the current try-functions in this file:
|
||||
;; `try-complete-file-name' : very convenient to have in any buffer,
|
||||
;; and not just in the minibuffer or (some) shell-mode. It goes
|
||||
|
@ -72,9 +72,9 @@
|
|||
;; a file name completed only as many characters as is unique.
|
||||
;; `try-expand-all-abbrevs' : can be removed if you don't use abbrevs.
|
||||
;; Otherwise it looks through all abbrev-tables, starting with
|
||||
;; the local followed by the global.
|
||||
;; `try-expand-line' : Searches the buffer for an entire line that
|
||||
;; begins exactly as the current line. Convenient sometimes, for
|
||||
;; the local followed by the global.
|
||||
;; `try-expand-line' : Searches the buffer for an entire line that
|
||||
;; begins exactly as the current line. Convenient sometimes, for
|
||||
;; example as a substitute for (or complement to) the history
|
||||
;; list in shell-like buffers. At other times, only confusing.
|
||||
;; `try-expand-line-all-buffers' : Like `try-expand-line' but searches
|
||||
|
@ -83,14 +83,14 @@
|
|||
;; `try-expand-list' : Tries to expand the text back to the nearest
|
||||
;; open delimiter, to a whole list from the buffer. Convenient for
|
||||
;; example when writing lisp or TeX.
|
||||
;; `try-expand-list-all-buffers' : Like `try-expand-list' but searches
|
||||
;; in all buffers (except the current).
|
||||
;; `try-expand-list-all-buffers' : Like `try-expand-list' but searches
|
||||
;; in all buffers (except the current).
|
||||
;; `try-expand-dabbrev' : works exactly as dabbrev-expand (but of
|
||||
;; course in a way compatible with the other try-functions).
|
||||
;; `try-expand-dabbrev-all-buffers' : perhaps the most useful of them,
|
||||
;; like `dabbrev-expand' but searches all Emacs buffers (except the
|
||||
;; current) for matching words. (No, I don't find this one
|
||||
;; particularly slow.)
|
||||
;; particularly slow.)
|
||||
;; `try-expand-dabbrev-visible': Searches the currently visible parts of
|
||||
;; all windows. Can be put before `try-expand-dabbrev-all-buffers' to
|
||||
;; first try the expansions you can see.
|
||||
|
@ -108,7 +108,7 @@
|
|||
;; already has a key of its own, you might want to remove this.
|
||||
;; `try-complete-lisp-symbol-partially' : To insert in the list just
|
||||
;; before `try-complete-lisp-symbol' for those who first want to get
|
||||
;; completion of what is unique in the name.
|
||||
;; completion of what is unique in the name.
|
||||
;;
|
||||
;; Not all of the above functions are by default in
|
||||
;; `hippie-expand-try-functions-list'. This variable is better set
|
||||
|
@ -143,14 +143,14 @@
|
|||
;; `he-reset-string' : Resets the initialized region to its original
|
||||
;; contents.
|
||||
;; There is also a variable: `he-tried-table' which is meant to contain
|
||||
;; all tried expansions so far. The try-function can check this
|
||||
;; all tried expansions so far. The try-function can check this
|
||||
;; variable to see whether an expansion has already been tried
|
||||
;; (hint: `he-string-member').
|
||||
;;
|
||||
;; Known bugs
|
||||
;;
|
||||
;; It may happen that some completion suggestion occurs twice, in
|
||||
;; spite of the use of `he-tried-table' to prevent that. This is
|
||||
;; spite of the use of `he-tried-table' to prevent that. This is
|
||||
;; because different try-functions may try to complete different
|
||||
;; lengths of text, and thus put different amounts of the
|
||||
;; text in `he-tried-table'. Anyway this seems to occur seldom enough
|
||||
|
@ -274,12 +274,12 @@ Can contain both regexps matching buffer names (as strings) and major modes
|
|||
The expansion functions in `hippie-expand-try-functions-list' are
|
||||
tried in order, until a possible expansion is found. Repeated
|
||||
application of `hippie-expand' inserts successively possible
|
||||
expansions.
|
||||
expansions.
|
||||
With a positive numeric argument, jumps directly to the ARG next
|
||||
function in this list. With a negative argument or just \\[universal-argument],
|
||||
undoes the expansion."
|
||||
function in this list. With a negative argument or just \\[universal-argument],
|
||||
undoes the expansion."
|
||||
(interactive "P")
|
||||
(if (or (not arg)
|
||||
(if (or (not arg)
|
||||
(and (integerp arg) (> arg 0)))
|
||||
(let ((first (or (= he-num -1)
|
||||
(not (equal this-command last-command)))))
|
||||
|
@ -292,7 +292,7 @@ undoes the expansion."
|
|||
(setq arg 0))
|
||||
(let ((i (max (+ he-num arg) 0)))
|
||||
(while (not (or (>= i (length hippie-expand-try-functions-list))
|
||||
(apply (nth i hippie-expand-try-functions-list)
|
||||
(apply (nth i hippie-expand-try-functions-list)
|
||||
(list (= he-num i)))))
|
||||
(setq i (1+ i)))
|
||||
(setq he-num i))
|
||||
|
@ -331,7 +331,7 @@ undoes the expansion."
|
|||
(goto-char newpos)))
|
||||
|
||||
;; Substitutes an expansion STR into the correct region (the region
|
||||
;; initialized with `he-init-string').
|
||||
;; initialized with `he-init-string').
|
||||
;; An optional argument TRANS-CASE means that it is ok to transfer case
|
||||
;; from the abbreviation to the expansion if that is possible, and is
|
||||
;; enabled in the buffer.
|
||||
|
@ -413,14 +413,14 @@ undoes the expansion."
|
|||
;; (fset 'my-complete-line (make-hippie-expand-function
|
||||
;; '(try-expand-line
|
||||
;; try-expand-line-all-buffers)))
|
||||
;;
|
||||
;;
|
||||
;;;###autoload
|
||||
(defmacro make-hippie-expand-function (try-list &optional verbose)
|
||||
"Construct a function similar to `hippie-expand'.
|
||||
Make it use the expansion functions in TRY-LIST. An optional second
|
||||
argument VERBOSE non-nil makes the function verbose."
|
||||
`(function (lambda (arg)
|
||||
,(concat
|
||||
,(concat
|
||||
"Try to expand text before point, using the following functions: \n"
|
||||
(mapconcat 'prin1-to-string (eval try-list) ", "))
|
||||
(interactive "P")
|
||||
|
@ -438,7 +438,7 @@ The argument OLD has to be nil the first call of this function, and t
|
|||
for subsequent calls (for further possible completions of the same
|
||||
string). It returns t if a new completion is found, nil otherwise."
|
||||
(if (not old)
|
||||
(progn
|
||||
(progn
|
||||
(he-init-string (he-file-name-beg) (point))
|
||||
(let ((name-part (he-file-name-nondirectory he-search-string))
|
||||
(dir-part (expand-file-name (or (he-file-name-directory
|
||||
|
@ -447,7 +447,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(setq he-tried-table (cons name-part he-tried-table)))
|
||||
(if (and (not (equal he-search-string ""))
|
||||
(he-file-directory-p dir-part))
|
||||
(setq he-expand-list (sort (file-name-all-completions
|
||||
(setq he-expand-list (sort (file-name-all-completions
|
||||
name-part
|
||||
dir-part)
|
||||
'string-lessp))
|
||||
|
@ -471,11 +471,11 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(defun try-complete-file-name-partially (old)
|
||||
"Try to complete text as a file name, as many characters as unique.
|
||||
The argument OLD has to be nil the first call of this function. It
|
||||
returns t if a unique, possibly partial, completion is found, nil
|
||||
returns t if a unique, possibly partial, completion is found, nil
|
||||
otherwise."
|
||||
(let ((expansion ()))
|
||||
(if (not old)
|
||||
(progn
|
||||
(progn
|
||||
(he-init-string (he-file-name-beg) (point))
|
||||
(let ((name-part (he-file-name-nondirectory he-search-string))
|
||||
(dir-part (expand-file-name (or (he-file-name-directory
|
||||
|
@ -503,7 +503,7 @@ otherwise."
|
|||
(defvar he-file-name-chars
|
||||
(cond ((memq system-type '(vax-vms axp-vms))
|
||||
"-a-zA-Z0-9_/.,~^#$+=:\\[\\]")
|
||||
((memq system-type '(ms-dos windows-nt))
|
||||
((memq system-type '(ms-dos windows-nt cygwin))
|
||||
"-a-zA-Z0-9_/.,~^#$+=:\\\\")
|
||||
(t ;; More strange file formats ?
|
||||
"-a-zA-Z0-9_/.,~^#$+="))
|
||||
|
@ -518,7 +518,7 @@ otherwise."
|
|||
(point)))))
|
||||
|
||||
;; Thanks go to Richard Levitte <levitte@e.kth.se> who helped to make these
|
||||
;; work under VMS, and to David Hughes <ukchugd@ukpmr.cs.philips.nl> who
|
||||
;; work under VMS, and to David Hughes <ukchugd@ukpmr.cs.philips.nl> who
|
||||
;; helped to make it work on PC.
|
||||
(defun he-file-name-nondirectory (file)
|
||||
"Fix to make `file-name-nondirectory' work for hippie-expand under VMS."
|
||||
|
@ -545,7 +545,7 @@ otherwise."
|
|||
(or (file-directory-p file)
|
||||
(file-directory-p (concat file "[000000]")))
|
||||
(file-directory-p file)))
|
||||
|
||||
|
||||
(defun he-concat-directory-file-name (dir-part name-part)
|
||||
"Try to slam together two parts of a file specification, system dependently."
|
||||
(cond ((null dir-part) name-part)
|
||||
|
@ -560,20 +560,20 @@ otherwise."
|
|||
(= (aref name-part (1- (length name-part))) ?/))
|
||||
(aset name-part (1- (length name-part)) ?\\))
|
||||
(concat dir-part name-part))
|
||||
(t
|
||||
(t
|
||||
(concat dir-part name-part))))
|
||||
|
||||
|
||||
(defun try-complete-lisp-symbol (old)
|
||||
"Try to complete word as an Emacs Lisp symbol.
|
||||
The argument OLD has to be nil the first call of this function, and t
|
||||
for subsequent calls (for further possible completions of the same
|
||||
string). It returns t if a new completion is found, nil otherwise."
|
||||
(if (not old)
|
||||
(progn
|
||||
(progn
|
||||
(he-init-string (he-lisp-symbol-beg) (point))
|
||||
(if (not (he-string-member he-search-string he-tried-table))
|
||||
(setq he-tried-table (cons he-search-string he-tried-table)))
|
||||
(setq he-expand-list
|
||||
(setq he-expand-list
|
||||
(and (not (equal he-search-string ""))
|
||||
(sort (all-completions he-search-string obarray
|
||||
(function (lambda (sym)
|
||||
|
@ -596,14 +596,14 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(defun try-complete-lisp-symbol-partially (old)
|
||||
"Try to complete as an Emacs Lisp symbol, as many characters as unique.
|
||||
The argument OLD has to be nil the first call of this function. It
|
||||
returns t if a unique, possibly partial, completion is found, nil
|
||||
returns t if a unique, possibly partial, completion is found, nil
|
||||
otherwise."
|
||||
(let ((expansion ()))
|
||||
(if (not old)
|
||||
(progn
|
||||
(progn
|
||||
(he-init-string (he-lisp-symbol-beg) (point))
|
||||
(if (not (string= he-search-string ""))
|
||||
(setq expansion
|
||||
(setq expansion
|
||||
(try-completion he-search-string obarray
|
||||
(function (lambda (sym)
|
||||
(or (boundp sym)
|
||||
|
@ -649,7 +649,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(widen))
|
||||
;; Try looking backward unless inhibited.
|
||||
(if he-search-bw
|
||||
(progn
|
||||
(progn
|
||||
(goto-char he-search-loc)
|
||||
(setq expansion (he-line-search he-search-string
|
||||
strip-prompt t))
|
||||
|
@ -660,9 +660,9 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(setq he-search-bw ())))))
|
||||
|
||||
(if (not expansion) ; Then look forward.
|
||||
(progn
|
||||
(progn
|
||||
(goto-char he-search-loc)
|
||||
(setq expansion (he-line-search he-search-string
|
||||
(setq expansion (he-line-search he-search-string
|
||||
strip-prompt nil))
|
||||
(set-marker he-search-loc (point)))))))
|
||||
|
||||
|
@ -693,7 +693,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(set-marker he-search-loc 1 (car he-search-bufs))))
|
||||
|
||||
(if (not (equal he-search-string ""))
|
||||
(while (and he-search-bufs
|
||||
(while (and he-search-bufs
|
||||
(not expansion)
|
||||
(or (not hippie-expand-max-buffers)
|
||||
(< he-searched-n-bufs hippie-expand-max-buffers)))
|
||||
|
@ -710,7 +710,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(setq strip-prompt (and (get-buffer-process (current-buffer))
|
||||
comint-use-prompt-regexp-instead-of-fields
|
||||
comint-prompt-regexp))
|
||||
(setq expansion
|
||||
(setq expansion
|
||||
(let ((case-fold-search orig-case-fold-search))
|
||||
(he-line-search he-search-string
|
||||
strip-prompt nil)))
|
||||
|
@ -732,11 +732,11 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(he-substitute-string expansion t)
|
||||
t))))
|
||||
|
||||
(defun he-line-search (str strip-prompt reverse)
|
||||
(defun he-line-search (str strip-prompt reverse)
|
||||
(let ((result ()))
|
||||
(while (and (not result)
|
||||
(if reverse
|
||||
(re-search-backward
|
||||
(re-search-backward
|
||||
(he-line-search-regexp str strip-prompt)
|
||||
nil t)
|
||||
(re-search-forward
|
||||
|
@ -750,7 +750,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
|
||||
(defun he-line-beg (strip-prompt)
|
||||
(save-excursion
|
||||
(if (re-search-backward (he-line-search-regexp "" strip-prompt)
|
||||
(if (re-search-backward (he-line-search-regexp "" strip-prompt)
|
||||
(save-excursion (beginning-of-line)
|
||||
(point)) t)
|
||||
(match-beginning 2)
|
||||
|
@ -761,7 +761,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(concat "\\(" comint-prompt-regexp "\\|^\\s-*\\)\\("
|
||||
(regexp-quote pat)
|
||||
"[^\n]*[^ \t\n]\\)")
|
||||
(concat "^\\(\\s-*\\)\\("
|
||||
(concat "^\\(\\s-*\\)\\("
|
||||
(regexp-quote pat)
|
||||
"[^\n]*[^ \t\n]\\)")))
|
||||
|
||||
|
@ -784,7 +784,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(widen))
|
||||
;; Try looking backward unless inhibited.
|
||||
(if he-search-bw
|
||||
(progn
|
||||
(progn
|
||||
(goto-char he-search-loc)
|
||||
(setq expansion (he-list-search he-search-string t))
|
||||
(set-marker he-search-loc (point))
|
||||
|
@ -794,7 +794,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(setq he-search-bw ())))))
|
||||
|
||||
(if (not expansion) ; Then look forward.
|
||||
(progn
|
||||
(progn
|
||||
(goto-char he-search-loc)
|
||||
(setq expansion (he-list-search he-search-string nil))
|
||||
(set-marker he-search-loc (point)))))))
|
||||
|
@ -823,7 +823,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(set-marker he-search-loc 1 (car he-search-bufs))))
|
||||
|
||||
(if (not (equal he-search-string ""))
|
||||
(while (and he-search-bufs
|
||||
(while (and he-search-bufs
|
||||
(not expansion)
|
||||
(or (not hippie-expand-max-buffers)
|
||||
(< he-searched-n-bufs hippie-expand-max-buffers)))
|
||||
|
@ -837,7 +837,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(if hippie-expand-no-restriction
|
||||
(widen))
|
||||
(goto-char he-search-loc)
|
||||
(setq expansion
|
||||
(setq expansion
|
||||
(let ((case-fold-search orig-case-fold-search))
|
||||
(he-list-search he-search-string nil)))
|
||||
(set-marker he-search-loc (point))
|
||||
|
@ -858,7 +858,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(he-substitute-string expansion t)
|
||||
t))))
|
||||
|
||||
(defun he-list-search (str reverse)
|
||||
(defun he-list-search (str reverse)
|
||||
(let ((result ())
|
||||
beg pos err)
|
||||
(while (and (not result)
|
||||
|
@ -872,7 +872,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(condition-case ()
|
||||
(forward-list 1)
|
||||
(error (setq err t)))
|
||||
(if (and reverse
|
||||
(if (and reverse
|
||||
(> (point) he-string-beg))
|
||||
(setq err t))
|
||||
(if (not err)
|
||||
|
@ -898,13 +898,13 @@ string). It returns t if a new expansion is found, nil otherwise."
|
|||
(if (not old)
|
||||
(progn
|
||||
(he-init-string (he-dabbrev-beg) (point))
|
||||
(setq he-expand-list
|
||||
(setq he-expand-list
|
||||
(and (not (equal he-search-string ""))
|
||||
(mapcar (function (lambda (sym)
|
||||
(if (and (boundp sym) (vectorp (eval sym)))
|
||||
(abbrev-expansion (downcase he-search-string)
|
||||
(eval sym)))))
|
||||
(append '(local-abbrev-table
|
||||
(append '(local-abbrev-table
|
||||
global-abbrev-table)
|
||||
abbrev-table-name-list))))))
|
||||
(while (and he-expand-list
|
||||
|
@ -939,7 +939,7 @@ string). It returns t if a new expansion is found, nil otherwise."
|
|||
(widen))
|
||||
;; Try looking backward unless inhibited.
|
||||
(if he-search-bw
|
||||
(progn
|
||||
(progn
|
||||
(goto-char he-search-loc)
|
||||
(setq expansion (he-dabbrev-search he-search-string t))
|
||||
(set-marker he-search-loc (point))
|
||||
|
@ -949,11 +949,11 @@ string). It returns t if a new expansion is found, nil otherwise."
|
|||
(setq he-search-bw ())))))
|
||||
|
||||
(if (not expansion) ; Then look forward.
|
||||
(progn
|
||||
(progn
|
||||
(goto-char he-search-loc)
|
||||
(setq expansion (he-dabbrev-search he-search-string nil))
|
||||
(set-marker he-search-loc (point)))))))
|
||||
|
||||
|
||||
(if (not expansion)
|
||||
(progn
|
||||
(if old (he-reset-string))
|
||||
|
@ -978,7 +978,7 @@ string). It returns t if a new expansion is found, nil otherwise."
|
|||
(set-marker he-search-loc 1 (car he-search-bufs))))
|
||||
|
||||
(if (not (equal he-search-string ""))
|
||||
(while (and he-search-bufs
|
||||
(while (and he-search-bufs
|
||||
(not expansion)
|
||||
(or (not hippie-expand-max-buffers)
|
||||
(< he-searched-n-bufs hippie-expand-max-buffers)))
|
||||
|
@ -1047,13 +1047,13 @@ string). It returns t if a new expansion is found, nil otherwise."
|
|||
(window-end he-search-window))))
|
||||
(set-marker he-search-loc (point) (current-buffer)))
|
||||
(if (not expansion)
|
||||
(progn
|
||||
(progn
|
||||
(setq he-search-window (next-window he-search-window nil flag))
|
||||
(if (eq he-search-window (selected-window))
|
||||
(set-marker he-search-loc nil)
|
||||
(set-marker he-search-loc (window-start he-search-window)
|
||||
(window-buffer he-search-window))))))
|
||||
|
||||
|
||||
(set-buffer buf)
|
||||
(if (not expansion)
|
||||
(progn
|
||||
|
@ -1072,7 +1072,7 @@ string). It returns t if a new expansion is found, nil otherwise."
|
|||
(t
|
||||
(concat "\\<" (regexp-quote pattern)
|
||||
"\\(\\sw\\|\\s_\\)+")))))
|
||||
(while (and (not result)
|
||||
(while (and (not result)
|
||||
(if reverse
|
||||
(re-search-backward regpat limit t)
|
||||
(re-search-forward regpat limit t)))
|
||||
|
@ -1104,7 +1104,7 @@ for subsequent calls (for further possible completions of the same
|
|||
string). It returns t if a new completion is found, nil otherwise."
|
||||
(let ((expansion ()))
|
||||
(if (not old)
|
||||
(progn
|
||||
(progn
|
||||
(he-init-string (he-dabbrev-beg) (point))
|
||||
(setq he-expand-list
|
||||
(if (not (equal he-search-string ""))
|
||||
|
@ -1130,7 +1130,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(concat "\\<" (regexp-quote pattern)
|
||||
"\\(\\sw\\|\\s_\\)+"))))
|
||||
(killstr (car he-expand-list)))
|
||||
(while (and (not result)
|
||||
(while (and (not result)
|
||||
he-expand-list)
|
||||
(while (and (not result)
|
||||
(string-match regpat killstr he-search-loc2))
|
||||
|
@ -1143,10 +1143,10 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
'(?_ ?w)))
|
||||
(he-string-member result he-tried-table t))
|
||||
(setq result nil))) ; ignore if bad prefix or already in table
|
||||
(if (and (not result)
|
||||
(if (and (not result)
|
||||
he-expand-list)
|
||||
(progn
|
||||
(setq he-expand-list (cdr he-expand-list))
|
||||
(setq he-expand-list (cdr he-expand-list))
|
||||
(setq killstr (car he-expand-list))
|
||||
(setq he-search-loc2 0))))
|
||||
result))
|
||||
|
@ -1158,11 +1158,11 @@ for subsequent calls (for further possible completions of the same
|
|||
string). It returns t if a new completion is found, nil otherwise."
|
||||
(let ((expansion ()))
|
||||
(if (not old)
|
||||
(progn
|
||||
(progn
|
||||
(he-init-string (he-kill-beg) (point))
|
||||
(if (not (he-string-member he-search-string he-tried-table))
|
||||
(setq he-tried-table (cons he-search-string he-tried-table)))
|
||||
(setq he-expand-list
|
||||
(setq he-expand-list
|
||||
(if (not (equal he-search-string ""))
|
||||
kill-ring))
|
||||
(setq he-search-loc2 ())))
|
||||
|
@ -1206,7 +1206,7 @@ string). It returns t if a new completion is found, nil otherwise."
|
|||
(if (and (not result)
|
||||
he-expand-list)
|
||||
(progn
|
||||
(setq he-expand-list (cdr he-expand-list))
|
||||
(setq he-expand-list (cdr he-expand-list))
|
||||
(setq killstr (car he-expand-list))
|
||||
(setq pos -1))))
|
||||
result))
|
||||
|
|
|
@ -1631,7 +1631,7 @@ This is used for loading and byte-compiling Emacs Lisp files.")
|
|||
(defun auto-coding-alist-lookup (filename)
|
||||
"Return the coding system specified by `auto-coding-alist' for FILENAME."
|
||||
(let ((alist auto-coding-alist)
|
||||
(case-fold-search (memq system-type '(vax-vms windows-nt ms-dos)))
|
||||
(case-fold-search (memq system-type '(vax-vms windows-nt ms-dos cygwin)))
|
||||
coding-system)
|
||||
(while (and alist (not coding-system))
|
||||
(if (string-match (car (car alist)) filename)
|
||||
|
|
|
@ -227,7 +227,7 @@
|
|||
|
||||
;;;###autoload
|
||||
(defcustom browse-url-browser-function
|
||||
(if (memq system-type '(windows-nt ms-dos))
|
||||
(if (memq system-type '(windows-nt ms-dos cygwin))
|
||||
'browse-url-default-windows-browser
|
||||
'browse-url-default-browser)
|
||||
"*Function to display the current buffer in a WWW browser.
|
||||
|
@ -381,7 +381,7 @@ commands reverses the effect of this variable. Requires Netscape version
|
|||
;; it in anonymous cases. If it's not anonymous the next regexp
|
||||
;; applies.
|
||||
("^/\\([^:@]+@\\)?\\([^:]+\\):/*" . "ftp://\\1\\2/")
|
||||
(,@ (if (memq system-type '(windows-nt ms-dos))
|
||||
(,@ (if (memq system-type '(windows-nt ms-dos cygwin))
|
||||
'(("^\\([a-zA-Z]:\\)[\\/]" . "file:\\1/")
|
||||
("^[\\/][\\/]+" . "file://"))))
|
||||
("^/+" . "file:/")))
|
||||
|
@ -972,7 +972,7 @@ effect of `browse-url-new-window-flag'.
|
|||
|
||||
When called non-interactively, optional second argument NEW-WINDOW is
|
||||
used instead of `browse-url-new-window-flag'."
|
||||
(interactive (browse-url-interactive-arg "URL: "))
|
||||
(interactive (browse-url-interactive-arg "URL: "))
|
||||
(apply 'start-process (concat "gnome-moz-remote " url)
|
||||
nil
|
||||
"gnome-moz-remote"
|
||||
|
|
|
@ -139,7 +139,7 @@
|
|||
:type '(choice regexp (const :tag "None" nil))
|
||||
:group 'pcomplete)
|
||||
|
||||
(defcustom pcomplete-ignore-case (memq system-type '(ms-dos windows-nt))
|
||||
(defcustom pcomplete-ignore-case (memq system-type '(ms-dos windows-nt cygwin))
|
||||
"*If non-nil, ignore case when doing filename completion."
|
||||
:type 'boolean
|
||||
:group 'pcomplete)
|
||||
|
|
|
@ -156,7 +156,7 @@ The filter function is called with one argument, the list of menu elements
|
|||
used to build the menu and must return a new list of menu elements (see
|
||||
`recentf-make-menu-element' for menu element form)."
|
||||
:group 'recentf
|
||||
:type '(radio (const nil)
|
||||
:type '(radio (const nil)
|
||||
(function-item recentf-sort-ascending)
|
||||
(function-item recentf-sort-descending)
|
||||
(function-item recentf-sort-basenames-ascending)
|
||||
|
@ -201,7 +201,7 @@ used to build the menu and must return a new list of menu elements (see
|
|||
;;;; Common functions
|
||||
;;;;
|
||||
(defconst recentf-case-fold-search
|
||||
(memq system-type '(vax-vms windows-nt))
|
||||
(memq system-type '(vax-vms windows-nt cygwin))
|
||||
"Non-nil if recentf searches and matches should ignore case.")
|
||||
|
||||
(defun recentf-include-p (filename)
|
||||
|
@ -676,7 +676,7 @@ Arrange them in sub-menus following rules in `recentf-arrange-rules'."
|
|||
;; It is important to preserve auto-mode-alist order
|
||||
;; to ensure the right file <-> mode association
|
||||
(nreverse rules)))
|
||||
|
||||
|
||||
(defun recentf-arrange-by-mode (l)
|
||||
"Filter the list of menu-elements L to build sub-menus for each major mode."
|
||||
(let ((recentf-arrange-rules (recentf-build-mode-rules))
|
||||
|
@ -765,7 +765,7 @@ Each filter is defined by a pair (FILTER-FUN . FILTER-LBL) where:
|
|||
(setq filters (cdr filters)))))
|
||||
(if (consp filters)
|
||||
(car filters))))
|
||||
|
||||
|
||||
(defun recentf-filter-changer (l)
|
||||
"Manage a ring of filters.
|
||||
`recentf-filter-changer-alist' defines the filters in the ring.
|
||||
|
@ -888,7 +888,7 @@ Holds list of files to be deleted from `recentf-list'.")
|
|||
(setq recentf-edit-selected-items
|
||||
(nconc (list value) recentf-edit-selected-items))
|
||||
(message "%s added to selection." value)))))
|
||||
|
||||
|
||||
;;;###autoload
|
||||
(defun recentf-edit-list ()
|
||||
"Allow the user to edit the files that are kept in the recent list."
|
||||
|
|
|
@ -165,7 +165,7 @@ shell buffer. The value may depend on the operating system or shell.
|
|||
This is a fine thing to set in your `.emacs' file.")
|
||||
|
||||
(defvar shell-file-name-chars
|
||||
(if (memq system-type '(ms-dos windows-nt))
|
||||
(if (memq system-type '(ms-dos windows-nt cygwin))
|
||||
"~/A-Za-z0-9_^$!#%&{}@`'.,:()-"
|
||||
"~/A-Za-z0-9+@:_.$#%,={}-")
|
||||
"String of characters valid in a file name.
|
||||
|
|
|
@ -1347,7 +1347,7 @@ Any UN*X-style environment variables are evaluated first."
|
|||
;; including `.' and `..', so remove any trailing / !!!
|
||||
(if (string= (substring dir -1) "/")
|
||||
(setq dir (substring dir 0 -1)))
|
||||
(if (memq system-type '(windows-nt ms-dos)) ; what else?
|
||||
(if (memq system-type '(windows-nt ms-dos cygwin)) ; what else?
|
||||
;; Match capitalization used by `file-name-directory':
|
||||
(setq dir (concat (file-name-directory dir)
|
||||
(file-name-nondirectory dir))))
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
|
||||
|
||||
* os.texi (System Environment): Added cygwin system-type.
|
||||
|
||||
2003-01-25 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* keymaps.texi: Document that a symbol can act as a keymap.
|
||||
|
@ -24,6 +28,7 @@
|
|||
* variables.texi (File Local Variables): Fix typo.
|
||||
|
||||
2002-10-23 Kai Gro,A_(Bjohann <kai.grossjohann@uni-duisburg.de>
|
||||
|
||||
From Michael Albinus <Michael.Albinus@alcatel.de>.
|
||||
|
||||
* README: Target for Info file is `make info'.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
|
||||
@c Free Software Foundation, Inc.
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/os
|
||||
@node System Interface, Antinews, Calendar, Top
|
||||
|
@ -90,13 +90,13 @@ It loads the library @file{site-start}, unless the option
|
|||
@file{site-start.el}.
|
||||
@cindex @file{site-start.el}
|
||||
|
||||
@item
|
||||
@item
|
||||
It loads your init file (usually @file{~/.emacs}), unless @samp{-q},
|
||||
@samp{-no-init-file}, or @samp{-batch} was specified on the command line.
|
||||
The @samp{-u} option can specify another user whose home directory
|
||||
should be used instead of @file{~}.
|
||||
|
||||
@item
|
||||
@item
|
||||
It loads the library @file{default}, unless @code{inhibit-default-init}
|
||||
is non-@code{nil}. (This is not done in @samp{-batch} mode or if
|
||||
@samp{-q} was specified on the command line.) The library's file name
|
||||
|
@ -111,7 +111,7 @@ It sets the major mode according to @code{initial-major-mode}, provided
|
|||
the buffer @samp{*scratch*} is still current and still in Fundamental
|
||||
mode.
|
||||
|
||||
@item
|
||||
@item
|
||||
It loads the terminal-specific Lisp file, if any, except when in batch
|
||||
mode or using a window system.
|
||||
|
||||
|
@ -119,10 +119,10 @@ mode or using a window system.
|
|||
It displays the initial echo area message, unless you have suppressed
|
||||
that with @code{inhibit-startup-echo-area-message}.
|
||||
|
||||
@item
|
||||
@item
|
||||
It processes the action arguments from the command line.
|
||||
|
||||
@item
|
||||
@item
|
||||
It runs @code{emacs-startup-hook} and then @code{term-setup-hook}.
|
||||
|
||||
@item
|
||||
|
@ -130,10 +130,10 @@ It calls @code{frame-notice-user-settings}, which modifies the
|
|||
parameters of the selected frame according to whatever the init files
|
||||
specify.
|
||||
|
||||
@item
|
||||
@item
|
||||
It runs @code{window-setup-hook}. @xref{Window Systems}.
|
||||
|
||||
@item
|
||||
@item
|
||||
It displays copyleft, nonwarranty, and basic use information, provided
|
||||
there were no remaining command-line arguments (a few steps above),
|
||||
the value of @code{inhibit-startup-message} is @code{nil}, and the
|
||||
|
@ -311,7 +311,7 @@ On MS-DOS, if the environment variable @code{TERM} is not set, Emacs
|
|||
uses @samp{internal} as the terminal type.
|
||||
@end defvar
|
||||
|
||||
@defvar term-setup-hook
|
||||
@defvar term-setup-hook
|
||||
This variable is a normal hook that Emacs runs after loading your
|
||||
init file, the default initialization file (if any) and the
|
||||
terminal-specific Lisp file.
|
||||
|
@ -381,7 +381,7 @@ has the form:
|
|||
-@var{option}
|
||||
@end example
|
||||
|
||||
The elements of the @code{command-switch-alist} look like this:
|
||||
The elements of the @code{command-switch-alist} look like this:
|
||||
|
||||
@example
|
||||
(@var{option} . @var{handler-function})
|
||||
|
@ -613,6 +613,9 @@ AIX.
|
|||
@item berkeley-unix
|
||||
Berkeley BSD.
|
||||
|
||||
@item cygwin
|
||||
Cygwin.
|
||||
|
||||
@item dgux
|
||||
Data General DGUX operating system.
|
||||
|
||||
|
@ -732,10 +735,10 @@ of this variable.
|
|||
process-environment
|
||||
@result{} ("l=/usr/stanford/lib/gnuemacs/lisp"
|
||||
"PATH=.:/user/lewis/bin:/usr/class:/nfsusr/local/bin"
|
||||
"USER=lewis"
|
||||
"USER=lewis"
|
||||
@end group
|
||||
@group
|
||||
"TERM=ibmapa16"
|
||||
"TERM=ibmapa16"
|
||||
"SHELL=/bin/csh"
|
||||
"HOME=/user/lewis")
|
||||
@end group
|
||||
|
@ -925,7 +928,7 @@ This function returns the real @sc{uid} of the user.
|
|||
@end defun
|
||||
|
||||
@defun user-uid
|
||||
This function returns the effective @sc{uid} of the user.
|
||||
This function returns the effective @sc{uid} of the user.
|
||||
@end defun
|
||||
|
||||
@node Time of Day
|
||||
|
@ -1858,11 +1861,11 @@ To define system-specific X11 keysyms, set the variable
|
|||
This variable's value should be an alist with one element for each
|
||||
system-specific keysym. Each element has the form @code{(@var{code}
|
||||
. @var{symbol})}, where @var{code} is the numeric keysym code (not
|
||||
including the ``vendor specific'' bit,
|
||||
including the ``vendor specific'' bit,
|
||||
@ifnottex
|
||||
-2**28),
|
||||
@end ifnottex
|
||||
@tex
|
||||
@tex
|
||||
$-2^{28}$),
|
||||
@end tex
|
||||
and @var{symbol} is the name for the function key.
|
||||
|
@ -1872,7 +1875,7 @@ by HP X servers) whose numeric code is
|
|||
@ifnottex
|
||||
-2**28
|
||||
@end ifnottex
|
||||
@tex
|
||||
@tex
|
||||
$-2^{28}$
|
||||
@end tex
|
||||
+ 168.
|
||||
|
|
|
@ -1,3 +1,16 @@
|
|||
2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
|
||||
|
||||
* fileio.c: Support // at start of name for Cygwin (just added proper
|
||||
preprocessor tests).
|
||||
|
||||
* keyboard.c: Port to Cygwin (just added proper preprocessor tests).
|
||||
|
||||
* Makefile.in: Use @EXEEXT@ for Cygwin.
|
||||
|
||||
* mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
|
||||
|
||||
* s/cygwin.h: Added for Cygwin port.
|
||||
|
||||
2003-01-31 Juanma Barranquero <lektu@terra.es>
|
||||
|
||||
* w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
|
||||
|
|
|
@ -525,7 +525,7 @@ LD=ld
|
|||
#endif /* not ORDINARY_LINK */
|
||||
|
||||
/* Flags to pass to LD only for temacs. */
|
||||
/* Don't split this line with a backslash. That can cause trouble with
|
||||
/* Don't split this line with a backslash. That can cause trouble with
|
||||
some cpps. */
|
||||
TEMACS_LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_TEMACS LD_SWITCH_MACHINE LD_SWITCH_MACHINE_TEMACS LD_SWITCH_SITE
|
||||
|
||||
|
@ -887,12 +887,12 @@ LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) \
|
|||
#define OBJECTS_MACHINE
|
||||
#endif
|
||||
|
||||
all: emacs OTHER_FILES
|
||||
all: emacs@EXEEXT@ OTHER_FILES
|
||||
|
||||
emacs: temacs ${etc}DOC ${lisp}
|
||||
emacs@EXEEXT@: temacs@EXEEXT@ ${etc}DOC ${lisp}
|
||||
#ifdef CANNOT_DUMP
|
||||
rm -f emacs
|
||||
ln temacs emacs
|
||||
rm -f emacs@EXEEXT@
|
||||
ln temacs@EXEEXT@ emacs@EXEEXT@
|
||||
#else
|
||||
#ifdef HAVE_SHM
|
||||
LC_ALL=C ./temacs -nl -batch -l loadup dump
|
||||
|
@ -915,15 +915,15 @@ ${etc}DOC: ${libsrc}make-docfile ${obj} ${shortlisp} ${SOME_MACHINE_LISP}
|
|||
${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC
|
||||
${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp}
|
||||
|
||||
${libsrc}make-docfile:
|
||||
cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile
|
||||
${libsrc}make-docfile@EXEEXT@:
|
||||
cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile@EXEEXT@
|
||||
|
||||
/* Some systems define this to cause parallel Make-ing. */
|
||||
#ifndef MAKE_PARALLEL
|
||||
#define MAKE_PARALLEL
|
||||
#endif
|
||||
|
||||
temacs: MAKE_PARALLEL $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj} OBJECTS_MACHINE prefix-args
|
||||
temacs@EXEEXT@: MAKE_PARALLEL $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj} OBJECTS_MACHINE prefix-args@EXEEXT@
|
||||
$(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${TEMACS_LDFLAGS}) $(LDFLAGS) \
|
||||
-o temacs ${STARTFILES} ${obj} ${otherobj} \
|
||||
OBJECTS_MACHINE ${LIBES}
|
||||
|
@ -931,7 +931,7 @@ temacs: MAKE_PARALLEL $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj
|
|||
/* We don't use ALL_LDFLAGS because LD_SWITCH_SYSTEM and LD_SWITCH_MACHINE
|
||||
often contain options that have to do with using Emacs's crt0,
|
||||
which are only good with temacs. */
|
||||
prefix-args: prefix-args.c $(config_h)
|
||||
prefix-args@EXEEXT@: prefix-args.c $(config_h)
|
||||
$(CC) $(ALL_CFLAGS) $(LDFLAGS) ${srcdir}/prefix-args.c -o prefix-args
|
||||
|
||||
/* Don't lose if this was not defined. */
|
||||
|
@ -950,7 +950,7 @@ prefix-args: prefix-args.c $(config_h)
|
|||
to both ensure that lwlib gets remade based on its dependencies
|
||||
in its own makefile,
|
||||
and remake temacs if lwlib gets changed by this. */
|
||||
stamp-oldxmenu: ${OLDXMENU} ../src/$(OLDXMENU)
|
||||
stamp-oldxmenu: ${OLDXMENU} ../src/$(OLDXMENU)
|
||||
touch stamp-oldxmenu
|
||||
/* Supply an ordering for parallel make. */
|
||||
../src/$(OLDXMENU): ${OLDXMENU}
|
||||
|
@ -1253,25 +1253,25 @@ macosx-bundle: ${emacsapp}Contents/Resources/English.lproj \
|
|||
${emacsapp}Contents/Resources/English.lproj/InfoPlist.strings
|
||||
macosx-app: macosx-bundle ${emacsapp}Contents/MacOS/Emacs \
|
||||
${emacsapp}Contents/Resources/Emacs.rsrc
|
||||
${emacsapp}Contents/MacOS/Emacs: emacs
|
||||
${emacsapp}Contents/MacOS/Emacs: emacs@EXEEXT@
|
||||
mkdir -p ${emacsapp}Contents/MacOS/;
|
||||
cd ${emacsapp}Contents/MacOS/; cp ../../../../src/emacs Emacs
|
||||
cd ${emacsapp}Contents/MacOS/; cp ../../../../src/emacs@EXEEXT@ Emacs@EXEEXT@
|
||||
${emacsapp}Contents/Resources/Emacs.rsrc: ../mac/src/Emacs.r
|
||||
/Developer/Tools/Rez -useDF \
|
||||
-o ${emacsapp}Contents/Resources/Emacs.rsrc \
|
||||
/System/Library/Frameworks/Carbon.framework/Headers/Carbon.r $<
|
||||
#endif
|
||||
|
||||
${libsrc}emacstool: ${libsrc}emacstool.c
|
||||
cd ${libsrc}; ${MAKE} ${MFLAGS} emacstool
|
||||
${libsrc}emacstool@EXEEXT@: ${libsrc}emacstool.c
|
||||
cd ${libsrc}; ${MAKE} ${MFLAGS} emacstool@EXEEXT@
|
||||
bootstrapclean:
|
||||
rm -f bootstrap-emacs
|
||||
rm -f bootstrap-emacs@EXEEXT@
|
||||
mostlyclean:
|
||||
rm -f temacs prefix-args core *.core \#* *.o libXMenu11.a liblw.a
|
||||
rm -f temacs@EXEEXT@ prefix-args@EXEEXT@ core *.core \#* *.o libXMenu11.a liblw.a
|
||||
rm -f ../etc/DOC
|
||||
rm -f bootstrap-emacs
|
||||
rm -f bootstrap-emacs@EXEEXT@
|
||||
clean: mostlyclean
|
||||
rm -f emacs-* emacs
|
||||
rm -f emacs-*@EXEEXT@ emacs@EXEEXT@
|
||||
/**/# This is used in making a distribution.
|
||||
/**/# Do not use it on development directories!
|
||||
distclean: clean
|
||||
|
@ -1284,7 +1284,7 @@ maintainer-clean: distclean
|
|||
@echo "it deletes files that may require special tools to rebuild."
|
||||
rm -f TAGS
|
||||
versionclean:
|
||||
-rm -f emacs emacs-* ../etc/DOC*
|
||||
-rm -f emacs@EXEEXT@ emacs-* ../etc/DOC*
|
||||
extraclean: distclean
|
||||
-rm -f *~ \#* m/?*~ s/?*~
|
||||
|
||||
|
@ -1302,7 +1302,7 @@ relock:
|
|||
/* Arrange to make a tags table TAGS-LISP for ../lisp,
|
||||
plus TAGS for the C files, which includes ../lisp/TAGS by reference. */
|
||||
|
||||
ctagsfiles1 = [xyzXYZ]*.[hc]
|
||||
ctagsfiles1 = [xyzXYZ]*.[hc]
|
||||
ctagsfiles2 = [a-wA-W]*.[hc]
|
||||
|
||||
TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2)
|
||||
|
@ -1322,20 +1322,20 @@ tags: TAGS TAGS-LISP $(lwlibdir)TAGS
|
|||
|
||||
/* Bootstrapping. */
|
||||
|
||||
bootstrap: bootstrap-emacs
|
||||
bootstrap: bootstrap-emacs@EXEEXT@
|
||||
|
||||
/* Dump an Emacs executable named bootstrap-emacs containing the
|
||||
/* Dump an Emacs executable named bootstrap-emacs containing the
|
||||
files from loadup.el in source form. */
|
||||
|
||||
bootstrap-emacs: temacs
|
||||
bootstrap-emacs@EXEEXT@: temacs@EXEEXT@
|
||||
#ifdef CANNOT_DUMP
|
||||
ln temacs bootstrap-emacs
|
||||
ln temacs@EXEEXT@ bootstrap-emacs@EXEEXT@
|
||||
#else
|
||||
#ifdef HAVE_SHM
|
||||
./temacs -nl -batch -l loadup bootstrap
|
||||
#else /* ! defined (HAVE_SHM) */
|
||||
./temacs --batch --load loadup bootstrap
|
||||
#endif /* ! defined (HAVE_SHM) */
|
||||
mv -f emacs@EXEEXT@ bootstrap-emacs@EXEEXT@
|
||||
#endif /* ! defined (CANNOT_DUMP) */
|
||||
mv -f emacs bootstrap-emacs
|
||||
|
||||
|
|
18
src/fileio.c
18
src/fileio.c
|
@ -2052,13 +2052,13 @@ duplicates what `expand-file-name' does. */)
|
|||
for (p = nm; p != endp; p++)
|
||||
{
|
||||
if ((p[0] == '~'
|
||||
#if defined (APOLLO) || defined (WINDOWSNT)
|
||||
/* // at start of file name is meaningful in Apollo and
|
||||
WindowsNT systems. */
|
||||
#if defined (APOLLO) || defined (WINDOWSNT) || defined(CYGWIN)
|
||||
/* // at start of file name is meaningful in Apollo,
|
||||
WindowsNT and Cygwin systems. */
|
||||
|| (IS_DIRECTORY_SEP (p[0]) && p - 1 != nm)
|
||||
#else /* not (APOLLO || WINDOWSNT) */
|
||||
#else /* not (APOLLO || WINDOWSNT || CYGWIN) */
|
||||
|| IS_DIRECTORY_SEP (p[0])
|
||||
#endif /* not (APOLLO || WINDOWSNT) */
|
||||
#endif /* not (APOLLO || WINDOWSNT || CYGWIN) */
|
||||
)
|
||||
&& p != nm
|
||||
&& (0
|
||||
|
@ -2230,11 +2230,11 @@ duplicates what `expand-file-name' does. */)
|
|||
|
||||
for (p = xnm; p != x; p++)
|
||||
if ((p[0] == '~'
|
||||
#if defined (APOLLO) || defined (WINDOWSNT)
|
||||
#if defined (APOLLO) || defined (WINDOWSNT) || defined(CYGWIN)
|
||||
|| (IS_DIRECTORY_SEP (p[0]) && p - 1 != xnm)
|
||||
#else /* not (APOLLO || WINDOWSNT) */
|
||||
#else /* not (APOLLO || WINDOWSNT || CYGWIN) */
|
||||
|| IS_DIRECTORY_SEP (p[0])
|
||||
#endif /* not (APOLLO || WINDOWSNT) */
|
||||
#endif /* not (APOLLO || WINDOWSNT || CYGWIN) */
|
||||
)
|
||||
&& p != xnm && IS_DIRECTORY_SEP (p[-1]))
|
||||
xnm = p;
|
||||
|
@ -6116,7 +6116,7 @@ provides a file dialog box. */)
|
|||
(NILP (predicate) ? Qfile_exists_p : predicate));
|
||||
|
||||
GCPRO2 (insdef, default_filename);
|
||||
|
||||
|
||||
#if defined (USE_MOTIF) || defined (HAVE_NTGUI) || defined (USE_GTK)
|
||||
if ((NILP (last_nonmenu_event) || CONSP (last_nonmenu_event))
|
||||
&& use_dialog_box
|
||||
|
|
266
src/keyboard.c
266
src/keyboard.c
|
@ -741,7 +741,7 @@ echo_char (c)
|
|||
Lisp_Object echo_string;
|
||||
|
||||
echo_string = current_kboard->echo_string;
|
||||
|
||||
|
||||
/* If someone has passed us a composite event, use its head symbol. */
|
||||
c = EVENT_HEAD (c);
|
||||
|
||||
|
@ -753,7 +753,7 @@ echo_char (c)
|
|||
{
|
||||
Lisp_Object name = SYMBOL_NAME (c);
|
||||
int nbytes = SBYTES (name);
|
||||
|
||||
|
||||
if (size - (ptr - buffer) < nbytes)
|
||||
{
|
||||
int offset = ptr - buffer;
|
||||
|
@ -771,7 +771,7 @@ echo_char (c)
|
|||
{
|
||||
const char *text = " (Type ? for further options)";
|
||||
int len = strlen (text);
|
||||
|
||||
|
||||
if (size - (ptr - buffer) < len)
|
||||
{
|
||||
int offset = ptr - buffer;
|
||||
|
@ -820,12 +820,12 @@ echo_dash ()
|
|||
if (!current_kboard->immediate_echo
|
||||
&& SCHARS (current_kboard->echo_string) == 0)
|
||||
return;
|
||||
|
||||
|
||||
/* Do nothing if we just printed a prompt. */
|
||||
if (current_kboard->echo_after_prompt
|
||||
== SCHARS (current_kboard->echo_string))
|
||||
return;
|
||||
|
||||
|
||||
/* Put a dash at the end of the buffer temporarily,
|
||||
but make it go away when the next character is added. */
|
||||
current_kboard->echo_string = concat2 (current_kboard->echo_string,
|
||||
|
@ -1032,12 +1032,12 @@ recursive_edit_unwind (info)
|
|||
{
|
||||
if (BUFFERP (XCAR (info)))
|
||||
Fset_buffer (XCAR (info));
|
||||
|
||||
|
||||
if (NILP (XCDR (info)))
|
||||
any_kboard_state ();
|
||||
else
|
||||
single_kboard_state ();
|
||||
|
||||
|
||||
command_loop_level--;
|
||||
update_mode_lines = 1;
|
||||
return Qnil;
|
||||
|
@ -1214,7 +1214,7 @@ cmd_error_internal (data, context)
|
|||
since they are asyncronous. */
|
||||
if (EQ (XCAR (data), Qquit))
|
||||
Vsignaling_function = Qnil;
|
||||
|
||||
|
||||
print_error_message (data, stream, context, Vsignaling_function);
|
||||
|
||||
Vsignaling_function = Qnil;
|
||||
|
@ -1557,7 +1557,7 @@ command_loop_1 ()
|
|||
if the symbol is a local variable. */
|
||||
if (!NILP (Vpre_command_hook) && !NILP (Vrun_hooks))
|
||||
safe_run_hooks (Qpre_command_hook);
|
||||
|
||||
|
||||
already_adjusted = 0;
|
||||
|
||||
if (NILP (Vthis_command))
|
||||
|
@ -1663,7 +1663,7 @@ command_loop_1 ()
|
|||
}
|
||||
nonundocount++;
|
||||
}
|
||||
|
||||
|
||||
lose = ((XFASTINT (XWINDOW (selected_window)->last_modified)
|
||||
< MODIFF)
|
||||
|| (XFASTINT (XWINDOW (selected_window)->last_overlay_modified)
|
||||
|
@ -1676,7 +1676,7 @@ command_loop_1 ()
|
|||
|| detect_input_pending ()
|
||||
|| !NILP (XWINDOW (selected_window)->column_number_displayed)
|
||||
|| !NILP (Vexecuting_macro));
|
||||
|
||||
|
||||
value = internal_self_insert (c, 0);
|
||||
|
||||
if (value == 2)
|
||||
|
@ -1887,7 +1887,7 @@ adjust_point_for_property (last_pt, modified)
|
|||
(make_number (beg), Qinvisible, Qnil, Qnil);
|
||||
beg = NATNUMP (tmp) ? XFASTINT (tmp) : BEGV;
|
||||
}
|
||||
|
||||
|
||||
/* Move away from the inside area. */
|
||||
if (beg < PT && end > PT)
|
||||
{
|
||||
|
@ -2011,7 +2011,7 @@ start_polling ()
|
|||
/* Turn alarm handling on unconditionally. It might have
|
||||
been turned off in process.c. */
|
||||
turn_on_atimers (1);
|
||||
|
||||
|
||||
/* If poll timer doesn't exist, are we need one with
|
||||
a different interval, start a new one. */
|
||||
if (poll_timer == NULL
|
||||
|
@ -2021,7 +2021,7 @@ start_polling ()
|
|||
|
||||
if (poll_timer)
|
||||
cancel_atimer (poll_timer);
|
||||
|
||||
|
||||
EMACS_SET_SECS_USECS (interval, polling_period, 0);
|
||||
poll_timer = start_atimer (ATIMER_CONTINUOUS, interval,
|
||||
poll_for_input, NULL);
|
||||
|
@ -2182,7 +2182,7 @@ show_help_echo (help, window, object, pos, ok_to_overwrite_keystroke_echo)
|
|||
}
|
||||
else
|
||||
help = safe_eval (help);
|
||||
|
||||
|
||||
if (!STRINGP (help))
|
||||
return;
|
||||
}
|
||||
|
@ -2205,7 +2205,7 @@ show_help_echo (help, window, object, pos, ok_to_overwrite_keystroke_echo)
|
|||
|
||||
if (!help_echo_showing_p)
|
||||
Vpre_help_message = current_message ();
|
||||
|
||||
|
||||
specbind (Qmessage_truncate_lines, Qt);
|
||||
message3_nolog (help, SBYTES (help),
|
||||
STRING_MULTIBYTE (help));
|
||||
|
@ -2221,7 +2221,7 @@ show_help_echo (help, window, object, pos, ok_to_overwrite_keystroke_echo)
|
|||
else
|
||||
message (0);
|
||||
}
|
||||
|
||||
|
||||
help_echo_showing_p = STRINGP (help);
|
||||
}
|
||||
}
|
||||
|
@ -2336,13 +2336,13 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
|
|||
&& EQ (XCDR (c), Qdisabled)
|
||||
&& (SYMBOLP (XCAR (c)) || INTEGERP (XCAR (c))))
|
||||
c = XCAR (c);
|
||||
|
||||
|
||||
/* If the queued event is something that used the mouse,
|
||||
set used_mouse_menu accordingly. */
|
||||
if (used_mouse_menu
|
||||
&& (EQ (c, Qtool_bar) || EQ (c, Qmenu_bar)))
|
||||
*used_mouse_menu = 1;
|
||||
|
||||
|
||||
reread = 1;
|
||||
goto reread_for_input_method;
|
||||
}
|
||||
|
@ -2439,7 +2439,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
|
|||
}
|
||||
|
||||
/* Message turns off echoing unless more keystrokes turn it on again.
|
||||
|
||||
|
||||
The code in 20.x for the condition was
|
||||
|
||||
1. echo_area_glyphs && *echo_area_glyphs
|
||||
|
@ -2447,10 +2447,10 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
|
|||
3. && ok_to_echo_at_next_pause != echo_area_glyphs
|
||||
|
||||
(1) means there's a current message displayed
|
||||
|
||||
|
||||
(2) means it's not the message from echoing from the current
|
||||
kboard.
|
||||
|
||||
|
||||
(3) There's only one place in 20.x where ok_to_echo_at_next_pause
|
||||
is set to a non-null value. This is done in read_char and it is
|
||||
set to echo_area_glyphs after a call to echo_char. That means
|
||||
|
@ -2462,7 +2462,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
|
|||
must be either null, or the current message isn't from echoing at
|
||||
all, or it's from echoing from a different kboard than the
|
||||
current one. */
|
||||
|
||||
|
||||
if (/* There currently is something in the echo area. */
|
||||
!NILP (echo_area_buffer[0])
|
||||
&& (/* And it's either not from echoing. */
|
||||
|
@ -2474,7 +2474,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
|
|||
cancel_echoing ();
|
||||
else
|
||||
echo_dash ();
|
||||
|
||||
|
||||
/* Try reading a character via menu prompting in the minibuf.
|
||||
Try this before the sit-for, because the sit-for
|
||||
would do the wrong thing if we are supposed to do
|
||||
|
@ -2549,7 +2549,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
|
|||
/* If in middle of key sequence and minibuffer not active,
|
||||
start echoing if enough time elapses. */
|
||||
|
||||
if (minibuf_level == 0
|
||||
if (minibuf_level == 0
|
||||
&& !current_kboard->immediate_echo
|
||||
&& this_command_key_count > 0
|
||||
&& ! noninteractive
|
||||
|
@ -2566,7 +2566,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
|
|||
|| (!echo_kboard && ok_to_echo_at_next_pause)))
|
||||
{
|
||||
Lisp_Object tem0;
|
||||
|
||||
|
||||
/* After a mouse event, start echoing right away.
|
||||
This is because we are probably about to display a menu,
|
||||
and we don't want to delay before doing so. */
|
||||
|
@ -2930,7 +2930,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
|
|||
&& (unsigned) XINT (c) != 127
|
||||
&& (unsigned) XINT (c) < 256)
|
||||
{
|
||||
Lisp_Object keys;
|
||||
Lisp_Object keys;
|
||||
int key_count;
|
||||
struct gcpro gcpro1;
|
||||
int count = SPECPDL_INDEX ();
|
||||
|
@ -3030,7 +3030,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
|
|||
timer_idleness_start_time = last_idle_start;
|
||||
goto retry;
|
||||
}
|
||||
|
||||
|
||||
if (this_command_key_count == 0 || ! reread)
|
||||
{
|
||||
before_command_key_count = this_command_key_count;
|
||||
|
@ -3162,19 +3162,19 @@ record_char (c)
|
|||
|
||||
Lisp_Object ev1, ev2, ev3;
|
||||
int ix1, ix2, ix3;
|
||||
|
||||
|
||||
if ((ix1 = recent_keys_index - 1) < 0)
|
||||
ix1 = NUM_RECENT_KEYS - 1;
|
||||
ev1 = AREF (recent_keys, ix1);
|
||||
|
||||
|
||||
if ((ix2 = ix1 - 1) < 0)
|
||||
ix2 = NUM_RECENT_KEYS - 1;
|
||||
ev2 = AREF (recent_keys, ix2);
|
||||
|
||||
|
||||
if ((ix3 = ix2 - 1) < 0)
|
||||
ix3 = NUM_RECENT_KEYS - 1;
|
||||
ev3 = AREF (recent_keys, ix3);
|
||||
|
||||
|
||||
if (EQ (XCAR (c), Qhelp_echo))
|
||||
{
|
||||
/* Don't record `help-echo' in recent_keys unless it shows some help
|
||||
|
@ -3245,7 +3245,7 @@ record_char (c)
|
|||
}
|
||||
|
||||
num_nonmacro_input_events++;
|
||||
|
||||
|
||||
/* Write c to the dribble file. If c is a lispy event, write
|
||||
the event's symbol to the dribble file, in <brackets>. Bleaugh.
|
||||
If you, dear reader, have a better idea, you've got the source. :-) */
|
||||
|
@ -3560,7 +3560,7 @@ kbd_buffer_store_event (event)
|
|||
if (kbd_fetch_ptr - 1 != kbd_store_ptr)
|
||||
{
|
||||
int idx;
|
||||
|
||||
|
||||
#if 0 /* The SELECTION_REQUEST_EVENT case looks bogus, and it's error
|
||||
prone to assign individual members for other events, in case
|
||||
the input_event structure is changed. --2000-07-13, gerd. */
|
||||
|
@ -3684,7 +3684,7 @@ kbd_buffer_events_waiting (discard)
|
|||
int discard;
|
||||
{
|
||||
struct input_event *sp;
|
||||
|
||||
|
||||
for (sp = kbd_fetch_ptr;
|
||||
sp != kbd_store_ptr && sp->kind == NO_EVENT;
|
||||
++sp)
|
||||
|
@ -3987,7 +3987,7 @@ kbd_buffer_get_event (kbp, used_mouse_menu)
|
|||
if (NILP (obj))
|
||||
{
|
||||
obj = make_lispy_event (event);
|
||||
|
||||
|
||||
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) || defined(MAC_OS) \
|
||||
|| defined (USE_GTK)
|
||||
/* If this was a menu selection, then set the flag to inhibit
|
||||
|
@ -4318,7 +4318,7 @@ timer_check (do_it_now)
|
|||
difference = idle_timer_difference;
|
||||
}
|
||||
vector = XVECTOR (chosen_timer)->contents;
|
||||
|
||||
|
||||
/* If timer is ripe, run it if it hasn't been run. */
|
||||
if (EMACS_TIME_NEG_P (difference)
|
||||
|| (EMACS_SECS (difference) == 0
|
||||
|
@ -4335,7 +4335,7 @@ timer_check (do_it_now)
|
|||
vector[0] = Qt;
|
||||
|
||||
specbind (Qinhibit_quit, Qt);
|
||||
|
||||
|
||||
call1 (Qtimer_event_handler, chosen_timer);
|
||||
Vdeactivate_mark = old_deactivate_mark;
|
||||
timers_run++;
|
||||
|
@ -4513,36 +4513,36 @@ static char *lispy_accent_keys[] =
|
|||
char *lispy_function_keys[] =
|
||||
{
|
||||
0, /* 0 */
|
||||
|
||||
|
||||
0, /* VK_LBUTTON 0x01 */
|
||||
0, /* VK_RBUTTON 0x02 */
|
||||
"cancel", /* VK_CANCEL 0x03 */
|
||||
0, /* VK_MBUTTON 0x04 */
|
||||
|
||||
|
||||
0, 0, 0, /* 0x05 .. 0x07 */
|
||||
|
||||
|
||||
"backspace", /* VK_BACK 0x08 */
|
||||
"tab", /* VK_TAB 0x09 */
|
||||
|
||||
|
||||
0, 0, /* 0x0A .. 0x0B */
|
||||
|
||||
|
||||
"clear", /* VK_CLEAR 0x0C */
|
||||
"return", /* VK_RETURN 0x0D */
|
||||
|
||||
|
||||
0, 0, /* 0x0E .. 0x0F */
|
||||
|
||||
|
||||
0, /* VK_SHIFT 0x10 */
|
||||
0, /* VK_CONTROL 0x11 */
|
||||
0, /* VK_MENU 0x12 */
|
||||
"pause", /* VK_PAUSE 0x13 */
|
||||
"capslock", /* VK_CAPITAL 0x14 */
|
||||
|
||||
|
||||
0, 0, 0, 0, 0, 0, /* 0x15 .. 0x1A */
|
||||
|
||||
|
||||
"escape", /* VK_ESCAPE 0x1B */
|
||||
|
||||
|
||||
0, 0, 0, 0, /* 0x1C .. 0x1F */
|
||||
|
||||
|
||||
0, /* VK_SPACE 0x20 */
|
||||
"prior", /* VK_PRIOR 0x21 */
|
||||
"next", /* VK_NEXT 0x22 */
|
||||
|
@ -4559,25 +4559,25 @@ char *lispy_function_keys[] =
|
|||
"insert", /* VK_INSERT 0x2D */
|
||||
"delete", /* VK_DELETE 0x2E */
|
||||
"help", /* VK_HELP 0x2F */
|
||||
|
||||
|
||||
/* VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */
|
||||
|
||||
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
|
||||
|
||||
0, 0, 0, 0, 0, 0, 0, /* 0x3A .. 0x40 */
|
||||
|
||||
|
||||
/* VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
|
||||
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
|
||||
|
||||
"lwindow", /* VK_LWIN 0x5B */
|
||||
"rwindow", /* VK_RWIN 0x5C */
|
||||
"apps", /* VK_APPS 0x5D */
|
||||
|
||||
|
||||
0, 0, /* 0x5E .. 0x5F */
|
||||
|
||||
|
||||
"kp-0", /* VK_NUMPAD0 0x60 */
|
||||
"kp-1", /* VK_NUMPAD1 0x61 */
|
||||
"kp-2", /* VK_NUMPAD2 0x62 */
|
||||
|
@ -4618,13 +4618,13 @@ char *lispy_function_keys[] =
|
|||
"f22", /* VK_F22 0x85 */
|
||||
"f23", /* VK_F23 0x86 */
|
||||
"f24", /* VK_F24 0x87 */
|
||||
|
||||
|
||||
0, 0, 0, 0, /* 0x88 .. 0x8B */
|
||||
0, 0, 0, 0, /* 0x8C .. 0x8F */
|
||||
|
||||
|
||||
"kp-numlock", /* VK_NUMLOCK 0x90 */
|
||||
"scroll", /* VK_SCROLL 0x91 */
|
||||
|
||||
|
||||
"kp-space", /* VK_NUMPAD_CLEAR 0x92 */
|
||||
"kp-enter", /* VK_NUMPAD_ENTER 0x93 */
|
||||
"kp-prior", /* VK_NUMPAD_PRIOR 0x94 */
|
||||
|
@ -4646,17 +4646,17 @@ char *lispy_function_keys[] =
|
|||
* No other API or message will distinguish left and right keys this way.
|
||||
*/
|
||||
/* 0xA0 .. 0xEF */
|
||||
|
||||
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
|
||||
|
||||
/* 0xF0 .. 0xF5 */
|
||||
|
||||
|
||||
0, 0, 0, 0, 0, 0,
|
||||
|
||||
|
||||
"attn", /* VK_ATTN 0xF6 */
|
||||
"crsel", /* VK_CRSEL 0xF7 */
|
||||
"exsel", /* VK_EXSEL 0xF8 */
|
||||
|
@ -4689,7 +4689,7 @@ static char *lispy_kana_keys[] =
|
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,"overline",0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0x480 .. 0x48f */
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0x490 .. 0x49f */
|
||||
0, "kana-fullstop", "kana-openingbracket", "kana-closingbracket",
|
||||
0, "kana-fullstop", "kana-openingbracket", "kana-closingbracket",
|
||||
"kana-comma", "kana-conjunctive", "kana-WO", "kana-a",
|
||||
"kana-i", "kana-u", "kana-e", "kana-o",
|
||||
"kana-ya", "kana-yu", "kana-yo", "kana-tsu",
|
||||
|
@ -4808,9 +4808,9 @@ static char *iso_lispy_function_keys[] =
|
|||
0, 0, 0, 0, 0, 0, 0, 0, /* 0xfe10 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, /* 0xfe18 */
|
||||
"iso-lefttab", /* 0xfe20 */
|
||||
"iso-move-line-up", "iso-move-line-down",
|
||||
"iso-partial-line-up", "iso-partial-line-down",
|
||||
"iso-partial-space-left", "iso-partial-space-right",
|
||||
"iso-move-line-up", "iso-move-line-down",
|
||||
"iso-partial-line-up", "iso-partial-line-down",
|
||||
"iso-partial-space-left", "iso-partial-space-right",
|
||||
"iso-set-margin-left", "iso-set-margin-right", /* 0xffe27, 28 */
|
||||
"iso-release-margin-left", "iso-release-margin-right",
|
||||
"iso-release-both-margins",
|
||||
|
@ -4832,7 +4832,7 @@ Lisp_Object Vlispy_mouse_stem;
|
|||
which they operate, and a delta corresponding to the amount and
|
||||
direction that the wheel is rotated. Clicking the mouse-wheel
|
||||
generates a mouse-2 event. */
|
||||
static char *lispy_mouse_wheel_names[] =
|
||||
static char *lispy_mouse_wheel_names[] =
|
||||
{
|
||||
"mouse-wheel"
|
||||
};
|
||||
|
@ -5138,7 +5138,7 @@ make_lispy_event (event)
|
|||
the mouse that may have a `local-map' property. */
|
||||
Lisp_Object string;
|
||||
int charpos;
|
||||
|
||||
|
||||
posn = part == 1 ? Qmode_line : Qheader_line;
|
||||
string = mode_line_string (w, wx, wy, part == 1, &charpos);
|
||||
if (STRINGP (string))
|
||||
|
@ -5203,7 +5203,7 @@ make_lispy_event (event)
|
|||
button + 1, Qnil);
|
||||
mouse_syms = larger_vector (mouse_syms, button + 1, Qnil);
|
||||
}
|
||||
|
||||
|
||||
start_pos_ptr = &AREF (button_down_location, button);
|
||||
start_pos = *start_pos_ptr;
|
||||
*start_pos_ptr = Qnil;
|
||||
|
@ -5236,7 +5236,7 @@ make_lispy_event (event)
|
|||
&& ((int)(event->timestamp - button_down_time)
|
||||
< XINT (Vdouble_click_time)))));
|
||||
}
|
||||
|
||||
|
||||
last_mouse_button = button;
|
||||
last_mouse_x = XINT (event->x);
|
||||
last_mouse_y = XINT (event->y);
|
||||
|
@ -5301,7 +5301,7 @@ make_lispy_event (event)
|
|||
button_down_time = 0;
|
||||
event->modifiers |= drag_modifier;
|
||||
}
|
||||
|
||||
|
||||
/* Don't check is_double; treat this as multiple
|
||||
if the down-event was multiple. */
|
||||
if (double_click_count > 1)
|
||||
|
@ -5360,7 +5360,7 @@ make_lispy_event (event)
|
|||
The incoming input_event contains in its `part' member an
|
||||
index of type `enum scroll_bar_part' which we can use as an
|
||||
index in scroll_bar_parts to get the appropriate symbol. */
|
||||
|
||||
|
||||
case SCROLL_BAR_CLICK_EVENT:
|
||||
{
|
||||
Lisp_Object position, head, window, portion_whole, part;
|
||||
|
@ -5389,7 +5389,7 @@ make_lispy_event (event)
|
|||
XVECTOR (mouse_syms)->size);
|
||||
return Fcons (head, Fcons (position, Qnil));
|
||||
}
|
||||
|
||||
|
||||
#endif /* USE_TOOLKIT_SCROLL_BARS */
|
||||
|
||||
#ifdef WINDOWSNT
|
||||
|
@ -5427,7 +5427,7 @@ make_lispy_event (event)
|
|||
|
||||
head = modify_event_symbol (button,
|
||||
event->modifiers,
|
||||
Qmouse_click,
|
||||
Qmouse_click,
|
||||
Vlispy_mouse_stem,
|
||||
NULL, &mouse_syms,
|
||||
XVECTOR (mouse_syms)->size);
|
||||
|
@ -5617,10 +5617,10 @@ make_lispy_event (event)
|
|||
case USER_SIGNAL_EVENT:
|
||||
/* A user signal. */
|
||||
return *lispy_user_signals[event->code];
|
||||
|
||||
|
||||
case SAVE_SESSION_EVENT:
|
||||
return Qsave_session;
|
||||
|
||||
|
||||
/* The 'kind' field of the event is something we don't recognize. */
|
||||
default:
|
||||
abort ();
|
||||
|
@ -5670,13 +5670,13 @@ make_lispy_movement (frame, bar_window, part, x, y, time)
|
|||
{
|
||||
struct window *w = XWINDOW (window);
|
||||
int wx, wy;
|
||||
|
||||
|
||||
/* Get window relative coordinates. */
|
||||
wx = FRAME_TO_WINDOW_PIXEL_X (w, XINT (x));
|
||||
wy = FRAME_TO_WINDOW_PIXEL_Y (w, XINT (y));
|
||||
XSETINT (x, wx);
|
||||
XSETINT (y, wy);
|
||||
|
||||
|
||||
if (area == 1)
|
||||
posn = Qmode_line;
|
||||
else if (area == 2)
|
||||
|
@ -6518,7 +6518,7 @@ read_avail_input (expected)
|
|||
if (n_to_read > sizeof cbuf)
|
||||
n_to_read = sizeof cbuf;
|
||||
#else /* no FIONREAD */
|
||||
#if defined (USG) || defined (DGUX)
|
||||
#if defined (USG) || defined (DGUX) || defined(CYGWIN)
|
||||
/* Read some input if available, but don't wait. */
|
||||
n_to_read = sizeof cbuf;
|
||||
fcntl (input_fd, F_SETFL, O_NDELAY);
|
||||
|
@ -6575,9 +6575,9 @@ read_avail_input (expected)
|
|||
);
|
||||
|
||||
#ifndef FIONREAD
|
||||
#if defined (USG) || defined (DGUX)
|
||||
#if defined (USG) || defined (DGUX) || defined (CYGWIN)
|
||||
fcntl (input_fd, F_SETFL, 0);
|
||||
#endif /* USG or DGUX */
|
||||
#endif /* USG or DGUX or CYGWIN */
|
||||
#endif /* no FIONREAD */
|
||||
for (i = 0; i < nread; i++)
|
||||
{
|
||||
|
@ -6963,7 +6963,7 @@ menu_item_eval_property_1 (arg)
|
|||
return Qnil;
|
||||
}
|
||||
|
||||
/* Evaluate an expression and return the result (or nil if something
|
||||
/* Evaluate an expression and return the result (or nil if something
|
||||
went wrong). Used to evaluate dynamic parts of menu items. */
|
||||
Lisp_Object
|
||||
menu_item_eval_property (sexpr)
|
||||
|
@ -7016,7 +7016,7 @@ parse_menu_item (item, notreal, inmenubar)
|
|||
for (i = ITEM_PROPERTY_DEF; i < ITEM_PROPERTY_ENABLE; i++)
|
||||
AREF (item_properties, i) = Qnil;
|
||||
AREF (item_properties, ITEM_PROPERTY_ENABLE) = Qt;
|
||||
|
||||
|
||||
/* Save the item here to protect it from GC. */
|
||||
AREF (item_properties, ITEM_PROPERTY_ITEM) = item;
|
||||
|
||||
|
@ -7036,7 +7036,7 @@ parse_menu_item (item, notreal, inmenubar)
|
|||
start = item;
|
||||
item = XCDR (item);
|
||||
}
|
||||
|
||||
|
||||
/* Maybe key binding cache. */
|
||||
if (CONSP (item) && CONSP (XCAR (item))
|
||||
&& (NILP (XCAR (XCAR (item)))
|
||||
|
@ -7045,7 +7045,7 @@ parse_menu_item (item, notreal, inmenubar)
|
|||
cachelist = XCAR (item);
|
||||
item = XCDR (item);
|
||||
}
|
||||
|
||||
|
||||
/* This is the real definition--the function to run. */
|
||||
AREF (item_properties, ITEM_PROPERTY_DEF) = item;
|
||||
|
||||
|
@ -7141,7 +7141,7 @@ parse_menu_item (item, notreal, inmenubar)
|
|||
return 0;
|
||||
AREF (item_properties, ITEM_PROPERTY_NAME) = item_string;
|
||||
}
|
||||
|
||||
|
||||
/* If got a filter apply it on definition. */
|
||||
def = AREF (item_properties, ITEM_PROPERTY_DEF);
|
||||
if (!NILP (filter))
|
||||
|
@ -7169,7 +7169,7 @@ parse_menu_item (item, notreal, inmenubar)
|
|||
is OK in a submenu but not in the menubar. */
|
||||
if (NILP (def))
|
||||
return (inmenubar ? 0 : 1);
|
||||
|
||||
|
||||
/* See if this is a separate pane or a submenu. */
|
||||
def = AREF (item_properties, ITEM_PROPERTY_DEF);
|
||||
tem = get_keymap (def, 0, 1);
|
||||
|
@ -7180,7 +7180,7 @@ parse_menu_item (item, notreal, inmenubar)
|
|||
AREF (item_properties, ITEM_PROPERTY_DEF) = tem;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* At the top level in the menu bar, do likewise for commands also.
|
||||
The menu bar does not display equivalent key bindings anyway.
|
||||
ITEM_PROPERTY_DEF is already set up properly. */
|
||||
|
@ -7207,7 +7207,7 @@ parse_menu_item (item, notreal, inmenubar)
|
|||
XSETCAR (cachelist, Qt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
tem = XCAR (cachelist);
|
||||
if (!EQ (tem, Qt))
|
||||
{
|
||||
|
@ -7315,7 +7315,7 @@ parse_menu_item (item, notreal, inmenubar)
|
|||
}
|
||||
*/
|
||||
|
||||
/* Handle radio buttons or toggle boxes. */
|
||||
/* Handle radio buttons or toggle boxes. */
|
||||
tem = AREF (item_properties, ITEM_PROPERTY_SELECTED);
|
||||
if (!NILP (tem))
|
||||
AREF (item_properties, ITEM_PROPERTY_SELECTED)
|
||||
|
@ -7382,13 +7382,13 @@ tool_bar_items (reuse, nitems)
|
|||
avoids risk of specpdl overflow. */
|
||||
oquit = Vinhibit_quit;
|
||||
Vinhibit_quit = Qt;
|
||||
|
||||
|
||||
/* Initialize tool_bar_items_vector and protect it from GC. */
|
||||
init_tool_bar_items (reuse);
|
||||
|
||||
/* Build list of keymaps in maps. Set nmaps to the number of maps
|
||||
to process. */
|
||||
|
||||
|
||||
/* Should overriding-terminal-local-map and overriding-local-map apply? */
|
||||
if (!NILP (Voverriding_local_map_menu_flag))
|
||||
{
|
||||
|
@ -7433,7 +7433,7 @@ tool_bar_items (reuse, nitems)
|
|||
if (CONSP (keymap))
|
||||
{
|
||||
Lisp_Object tail;
|
||||
|
||||
|
||||
/* KEYMAP is a list `(keymap (KEY . BINDING) ...)'. */
|
||||
for (tail = keymap; CONSP (tail); tail = XCDR (tail))
|
||||
{
|
||||
|
@ -7471,7 +7471,7 @@ process_tool_bar_item (key, def)
|
|||
for (i = 0; i < ntool_bar_items; i += TOOL_BAR_ITEM_NSLOTS)
|
||||
{
|
||||
Lisp_Object *v = XVECTOR (tool_bar_items_vector)->contents + i;
|
||||
|
||||
|
||||
if (EQ (key, v[TOOL_BAR_ITEM_KEY]))
|
||||
{
|
||||
if (ntool_bar_items > i + TOOL_BAR_ITEM_NSLOTS)
|
||||
|
@ -7497,41 +7497,41 @@ process_tool_bar_item (key, def)
|
|||
invalid.
|
||||
|
||||
ITEM is a list `(menu-item CAPTION BINDING PROPS...)'.
|
||||
|
||||
|
||||
CAPTION is the caption of the item, If it's not a string, it is
|
||||
evaluated to get a string.
|
||||
|
||||
|
||||
BINDING is the tool bar item's binding. Tool-bar items with keymaps
|
||||
as binding are currently ignored.
|
||||
|
||||
The following properties are recognized:
|
||||
|
||||
- `:enable FORM'.
|
||||
|
||||
|
||||
FORM is evaluated and specifies whether the tool bar item is
|
||||
enabled or disabled.
|
||||
|
||||
|
||||
- `:visible FORM'
|
||||
|
||||
|
||||
FORM is evaluated and specifies whether the tool bar item is visible.
|
||||
|
||||
|
||||
- `:filter FUNCTION'
|
||||
|
||||
FUNCTION is invoked with one parameter `(quote BINDING)'. Its
|
||||
result is stored as the new binding.
|
||||
|
||||
|
||||
- `:button (TYPE SELECTED)'
|
||||
|
||||
TYPE must be one of `:radio' or `:toggle'. SELECTED is evaluated
|
||||
and specifies whether the button is selected (pressed) or not.
|
||||
|
||||
|
||||
- `:image IMAGES'
|
||||
|
||||
IMAGES is either a single image specification or a vector of four
|
||||
image specifications. See enum tool_bar_item_images.
|
||||
|
||||
|
||||
- `:help HELP-STRING'.
|
||||
|
||||
|
||||
Gives a help string to display for the tool bar item. */
|
||||
|
||||
static int
|
||||
|
@ -7565,11 +7565,11 @@ parse_tool_bar_item (key, item)
|
|||
else
|
||||
tool_bar_item_properties
|
||||
= Fmake_vector (make_number (TOOL_BAR_ITEM_NSLOTS), Qnil);
|
||||
|
||||
|
||||
/* Set defaults. */
|
||||
PROP (TOOL_BAR_ITEM_KEY) = key;
|
||||
PROP (TOOL_BAR_ITEM_ENABLED_P) = Qt;
|
||||
|
||||
|
||||
/* Get the caption of the item. If the caption is not a string,
|
||||
evaluate it to get a string. If we don't get a string, skip this
|
||||
item. */
|
||||
|
@ -7656,13 +7656,13 @@ parse_tool_bar_item (key, item)
|
|||
PROP (TOOL_BAR_ITEM_ENABLED_P)
|
||||
= menu_item_eval_property (PROP (TOOL_BAR_ITEM_ENABLED_P));
|
||||
|
||||
/* Handle radio buttons or toggle boxes. */
|
||||
/* Handle radio buttons or toggle boxes. */
|
||||
if (!NILP (PROP (TOOL_BAR_ITEM_SELECTED_P)))
|
||||
PROP (TOOL_BAR_ITEM_SELECTED_P)
|
||||
= menu_item_eval_property (PROP (TOOL_BAR_ITEM_SELECTED_P));
|
||||
|
||||
return 1;
|
||||
|
||||
|
||||
#undef PROP
|
||||
}
|
||||
|
||||
|
@ -7689,7 +7689,7 @@ static void
|
|||
append_tool_bar_item ()
|
||||
{
|
||||
Lisp_Object *to, *from;
|
||||
|
||||
|
||||
/* Enlarge tool_bar_items_vector if necessary. */
|
||||
if (ntool_bar_items + TOOL_BAR_ITEM_NSLOTS
|
||||
>= XVECTOR (tool_bar_items_vector)->size)
|
||||
|
@ -7991,7 +7991,7 @@ read_char_minibuf_menu_prompt (commandflag, nmaps, maps)
|
|||
tem = build_string (NILP (selected) ? "[X] " : "[ ] ");
|
||||
s = concat2 (tem, s);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* If we have room for the prompt string, add it to this line.
|
||||
If this is the first on the line, always add it. */
|
||||
|
@ -8054,7 +8054,7 @@ read_char_minibuf_menu_prompt (commandflag, nmaps, maps)
|
|||
}
|
||||
|
||||
/* Prompt with that and read response. */
|
||||
message2_nolog (menu, strlen (menu),
|
||||
message2_nolog (menu, strlen (menu),
|
||||
! NILP (current_buffer->enable_multibyte_characters));
|
||||
|
||||
/* Make believe its not a keyboard macro in case the help char
|
||||
|
@ -8691,7 +8691,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
|
|||
orig_keymap = get_local_map (PT, current_buffer, Qkeymap);
|
||||
goto replay_sequence;
|
||||
}
|
||||
|
||||
|
||||
/* For a mouse click, get the local text-property keymap
|
||||
of the place clicked on, rather than point. */
|
||||
if (last_real_key_start == 0
|
||||
|
@ -8702,7 +8702,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
|
|||
|
||||
localized_local_map = 1;
|
||||
start = EVENT_START (key);
|
||||
|
||||
|
||||
if (CONSP (start) && CONSP (XCDR (start)))
|
||||
{
|
||||
pos = POSN_BUFFER_POSN (start);
|
||||
|
@ -8741,7 +8741,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
|
|||
{
|
||||
if (t + 1 >= bufsize)
|
||||
error ("Key sequence too long");
|
||||
|
||||
|
||||
keybuf[t] = posn;
|
||||
keybuf[t + 1] = key;
|
||||
mock_input = t + 2;
|
||||
|
@ -8863,7 +8863,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
|
|||
else
|
||||
{
|
||||
Lisp_Object head;
|
||||
|
||||
|
||||
/* Remember the position to put an upper bound on fkey.start. */
|
||||
first_unbound = min (t, first_unbound);
|
||||
|
||||
|
@ -9141,7 +9141,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
|
|||
&& (!NILP (Farrayp (XSYMBOL (next)->function))
|
||||
|| KEYMAPP (XSYMBOL (next)->function)))
|
||||
next = XSYMBOL (next)->function;
|
||||
|
||||
|
||||
/* If the key translation map gives a function, not an
|
||||
array, then call the function with one arg and use
|
||||
its value instead. */
|
||||
|
@ -9305,7 +9305,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
|
|||
add_command_key (keybuf[t]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
UNGCPRO;
|
||||
return t;
|
||||
|
@ -9899,7 +9899,7 @@ KEEP-RECORD is non-nil. */)
|
|||
Lisp_Object keep_record;
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
this_command_key_count = 0;
|
||||
|
||||
if (NILP (keep_record))
|
||||
|
@ -10048,25 +10048,25 @@ stuff_buffered_input (stuffstring)
|
|||
stuff_char (*p++);
|
||||
stuff_char ('\n');
|
||||
}
|
||||
|
||||
|
||||
/* Anything we have read ahead, put back for the shell to read. */
|
||||
/* ?? What should this do when we have multiple keyboards??
|
||||
Should we ignore anything that was typed in at the "wrong" kboard? */
|
||||
for (; kbd_fetch_ptr != kbd_store_ptr; kbd_fetch_ptr++)
|
||||
{
|
||||
int idx;
|
||||
|
||||
|
||||
if (kbd_fetch_ptr == kbd_buffer + KBD_BUFFER_SIZE)
|
||||
kbd_fetch_ptr = kbd_buffer;
|
||||
if (kbd_fetch_ptr->kind == ASCII_KEYSTROKE_EVENT)
|
||||
stuff_char (kbd_fetch_ptr->code);
|
||||
|
||||
|
||||
kbd_fetch_ptr->kind = NO_EVENT;
|
||||
idx = 2 * (kbd_fetch_ptr - kbd_buffer);
|
||||
ASET (kbd_buffer_gcpro, idx, Qnil);
|
||||
ASET (kbd_buffer_gcpro, idx + 1, Qnil);
|
||||
}
|
||||
|
||||
|
||||
input_pending = 0;
|
||||
#endif
|
||||
#endif /* BSD_SYSTEM and not BSD4_1 */
|
||||
|
@ -10096,7 +10096,7 @@ clear_waiting_for_input ()
|
|||
}
|
||||
|
||||
/* This routine is called at interrupt level in response to C-g.
|
||||
|
||||
|
||||
If interrupt_input, this is the handler for SIGINT. Otherwise, it
|
||||
is called from kbd_buffer_store_event, in handling SIGIO or
|
||||
SIGTINT.
|
||||
|
@ -10186,7 +10186,7 @@ interrupt_signal (signalnum) /* If we don't have an argument, */
|
|||
}
|
||||
while (c != '\n') c = getchar ();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
/* During GC, it must be safe to reenable quitting again. */
|
||||
Vinhibit_quit = Qnil;
|
||||
|
@ -10428,7 +10428,7 @@ delete_kboard (kb)
|
|||
KBOARD *kb;
|
||||
{
|
||||
KBOARD **kbp;
|
||||
|
||||
|
||||
for (kbp = &all_kboards; *kbp != kb; kbp = &(*kbp)->next_kboard)
|
||||
if (*kbp == NULL)
|
||||
abort ();
|
||||
|
@ -10443,7 +10443,7 @@ delete_kboard (kb)
|
|||
if (current_kboard == kb)
|
||||
abort ();
|
||||
}
|
||||
|
||||
|
||||
wipe_kboard (kb);
|
||||
xfree (kb);
|
||||
}
|
||||
|
@ -10545,7 +10545,7 @@ syms_of_keyboard ()
|
|||
{
|
||||
Vpre_help_message = Qnil;
|
||||
staticpro (&Vpre_help_message);
|
||||
|
||||
|
||||
Vlispy_mouse_stem = build_string ("mouse");
|
||||
staticpro (&Vlispy_mouse_stem);
|
||||
|
||||
|
@ -10620,7 +10620,7 @@ syms_of_keyboard ()
|
|||
|
||||
Qsave_session = intern ("save-session");
|
||||
staticpro(&Qsave_session);
|
||||
|
||||
|
||||
Qusr1_signal = intern ("usr1-signal");
|
||||
staticpro (&Qusr1_signal);
|
||||
Qusr2_signal = intern ("usr2-signal");
|
||||
|
@ -10918,7 +10918,7 @@ instead of pixels.
|
|||
This variable is also the threshold for motion of the mouse
|
||||
to count as a drag. */);
|
||||
double_click_fuzz = 3;
|
||||
|
||||
|
||||
DEFVAR_BOOL ("inhibit-local-menu-bar-menus", &inhibit_local_menu_bar_menus,
|
||||
doc: /* *Non-nil means inhibit local map menu bar menus. */);
|
||||
inhibit_local_menu_bar_menus = 0;
|
||||
|
|
|
@ -46,6 +46,10 @@ extern int etext, __data_start; weak_extern (__data_start)
|
|||
#define BSD4_2
|
||||
#endif
|
||||
|
||||
#ifdef CYGWIN
|
||||
#define BSD4_2
|
||||
#endif
|
||||
|
||||
#ifndef BSD4_2
|
||||
#ifndef USG
|
||||
#ifndef MSDOS
|
||||
|
|
Loading…
Add table
Reference in a new issue