Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 99701. ------------------------------------------------------------ revno: 99701 committer: Dan Nicolaescu branch nick: trunk timestamp: Fri 2010-03-19 23:48:13 -0700 message: Remove support for old UNIX System V systems. * s/unixware.h: Add the contents of s/usg-5-4-2.h. * s/usg-5-4-2.h: Remove. * configure.in: Remove support for old UNIX System V systems and for Unixware on non-x86 machines. diff: === modified file 'ChangeLog' --- ChangeLog 2010-03-20 05:52:55 +0000 +++ ChangeLog 2010-03-20 06:48:13 +0000 @@ -1,6 +1,10 @@ 2010-03-20 Dan Nicolaescu + * configure.in: Remove support for old UNIX System V systems and + for Unixware on non-x86 machines. + * configure.in: Remove support for Solaris on PPC and for old versions. + * configure.in: Remove non-working lynxos port. 2010-03-19 Dan Nicolaescu === modified file 'configure.in' --- configure.in 2010-03-20 05:52:55 +0000 +++ configure.in 2010-03-20 06:48:13 +0000 @@ -639,22 +639,6 @@ if test x"${opsys}" = x; then case "${canonical}" in *-gnu* ) opsys=gnu ;; - *-sysv4.2uw* ) opsys=unixware ;; - *-sysv5uw* ) opsys=unixware ;; - *-sysv5OpenUNIX* ) opsys=unixware ;; - *-sysv4.1* | *-sysvr4.1* ) - NON_GNU_CPP=/usr/lib/cpp - opsys=usg5-4 ;; - *-sysv4.[2-9]* | *-sysvr4.[2-9]* ) - if [ x$NON_GNU_CPP = x ]; then - if [ -f /usr/ccs/lib/cpp ]; then - NON_GNU_CPP=/usr/ccs/lib/cpp - else - NON_GNU_CPP=/lib/cpp - fi - fi - opsys=usg5-4-2 ;; - *-sysv4* | *-sysvr4* ) opsys=usg5-4 ;; * ) unported=yes ;; === modified file 'src/ChangeLog' --- src/ChangeLog 2010-03-20 05:52:55 +0000 +++ src/ChangeLog 2010-03-20 06:48:13 +0000 @@ -1,5 +1,9 @@ 2010-03-20 Dan Nicolaescu + Remove support for old UNIX System V systems. + * s/unixware.h: Add the contents of s/usg-5-4-2.h. + * s/usg-5-4-2.h: Remove. + Remove support for Solaris on PPC and for old versions. * s/sol2-6.h: Add the contents of s/sol-2.3.h, s/sol-2.4.h, s/sol-2.5.h. (LD_SWITCH_SYSTEM, USE_MMAP_FOR_BUFFERS): Remove #defines/#undef === modified file 'src/s/unixware.h' --- src/s/unixware.h 2010-01-04 05:35:18 +0000 +++ src/s/unixware.h 2010-03-20 06:48:13 +0000 @@ -1,4 +1,77 @@ -#include "usg5-4-2.h" +/* s/ file for Unixware. + + Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2010 Free Software Foundation, Inc. + +This file is part of GNU Emacs. + +GNU Emacs is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs. If not, see . */ + + +#include "usg5-4.h" + +/* fnf@cygnus.com says these exist. */ +#define HAVE_TCATTR +/* #define HAVE_GETWD (appears to be buggy on SVR4.2) */ +#undef HAVE_GETWD + +/* Info from fnf@cygnus.com suggests this is appropriate. */ +#define POSIX_SIGNALS + +/* We don't need the definition from usg5-3.h with POSIX_SIGNALS. */ +#undef sigsetmask +#undef HAVE_SYSV_SIGPAUSE + +/* Motif needs -lgen. */ +#define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen + +/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock + rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't + work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x + (x<2) but I'm not sure. fnf@cygnus.com */ +/* This sets the name of the slave side of the PTY. On SysVr4, + grantpt(3) forks a subprocess, so keep sigchld_handler() from + intercepting that death. If any child but grantpt's should die + within, it should be caught after sigrelse(2). */ + +#undef PTY_TTY_NAME_SPRINTF +#define PTY_TTY_NAME_SPRINTF \ + { \ + char *ptsname(), *ptyname; \ + \ + sigblock(sigmask(SIGCLD)); \ + if (grantpt(fd) == -1) \ + fatal("could not grant slave pty"); \ + sigunblock(sigmask(SIGCLD)); \ + if (unlockpt(fd) == -1) \ + fatal("could not unlock slave pty"); \ + if (!(ptyname = ptsname(fd))) \ + fatal ("could not enable slave pty"); \ + strncpy(pty_name, ptyname, sizeof(pty_name)); \ + pty_name[sizeof(pty_name) - 1] = 0; \ + } + +/* Use libw.a along with X11R6 Xt. */ +#define NEED_LIBW + +/* ryanr@ellingtn.ftc.nrcs.usda.gov (Richard Anthony Ryan) says -lXimp + is needed in UNIX_SV ... 4.2 1.1.2. */ +#define LIB_MOTIF -lXm -lXimp + +/* arch-tag: 9bbfcfc1-19be-45a1-9699-af57b87da2c6 + (do not change this comment) */ + #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base) === removed file 'src/s/usg5-4-2.h' --- src/s/usg5-4-2.h 2010-01-13 08:35:10 +0000 +++ src/s/usg5-4-2.h 1970-01-01 00:00:00 +0000 @@ -1,73 +0,0 @@ -/* s/ file for System V release 4.2. - - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008, 2009, 2010 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -#include "usg5-4.h" - -/* fnf@cygnus.com says these exist. */ -#define HAVE_TCATTR -/* #define HAVE_GETWD (appears to be buggy on SVR4.2) */ -#undef HAVE_GETWD - -/* Info from fnf@cygnus.com suggests this is appropriate. */ -#define POSIX_SIGNALS - -/* We don't need the definition from usg5-3.h with POSIX_SIGNALS. */ -#undef sigsetmask -#undef HAVE_SYSV_SIGPAUSE - -/* Motif needs -lgen. */ -#define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen - -/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock - rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't - work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x - (x<2) but I'm not sure. fnf@cygnus.com */ -/* This sets the name of the slave side of the PTY. On SysVr4, - grantpt(3) forks a subprocess, so keep sigchld_handler() from - intercepting that death. If any child but grantpt's should die - within, it should be caught after sigrelse(2). */ - -#undef PTY_TTY_NAME_SPRINTF -#define PTY_TTY_NAME_SPRINTF \ - { \ - char *ptsname(), *ptyname; \ - \ - sigblock(sigmask(SIGCLD)); \ - if (grantpt(fd) == -1) \ - fatal("could not grant slave pty"); \ - sigunblock(sigmask(SIGCLD)); \ - if (unlockpt(fd) == -1) \ - fatal("could not unlock slave pty"); \ - if (!(ptyname = ptsname(fd))) \ - fatal ("could not enable slave pty"); \ - strncpy(pty_name, ptyname, sizeof(pty_name)); \ - pty_name[sizeof(pty_name) - 1] = 0; \ - } - -/* Use libw.a along with X11R6 Xt. */ -#define NEED_LIBW - -/* ryanr@ellingtn.ftc.nrcs.usda.gov (Richard Anthony Ryan) says -lXimp - is needed in UNIX_SV ... 4.2 1.1.2. */ -#define LIB_MOTIF -lXm -lXimp - -/* arch-tag: 9bbfcfc1-19be-45a1-9699-af57b87da2c6 - (do not change this comment) */ ------------------------------------------------------------ revno: 99700 committer: Dan Nicolaescu branch nick: trunk timestamp: Fri 2010-03-19 22:52:55 -0700 message: Remove support for Solaris on PPC and for old versions. * s/sol2-6.h: Add the contents of s/sol-2.3.h, s/sol-2.4.h, s/sol-2.5.h. (LD_SWITCH_SYSTEM, USE_MMAP_FOR_BUFFERS): Remove #defines/#undef that cancel each other. * s/sol2-3.h: * s/sol2-4.h: * s/sol2-5.h: Remove. * m/ibmrs6000.h: Remove code for USG5_4, this file is only used on AIX. (NO_REMAP): Remove, unused. (UNEXEC): Move definition ... * s/aix4-2.h (UNEXEC): ... here. * configure.in: Remove support for Solaris on PPC and for old versions. diff: === modified file 'ChangeLog' --- ChangeLog 2010-03-20 01:03:39 +0000 +++ ChangeLog 2010-03-20 05:52:55 +0000 @@ -1,5 +1,6 @@ 2010-03-20 Dan Nicolaescu + * configure.in: Remove support for Solaris on PPC and for old versions. * configure.in: Remove non-working lynxos port. 2010-03-19 Dan Nicolaescu === modified file 'configure.in' --- configure.in 2010-03-20 01:03:39 +0000 +++ configure.in 2010-03-20 05:52:55 +0000 @@ -541,30 +541,14 @@ *-sun-solaris* \ | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* \ - | x86_64-*-solaris2* | x86_64-*-sunos5* \ - | powerpc*-*-solaris2* | rs6000-*-solaris2*) + | x86_64-*-solaris2* | x86_64-*-sunos5*) case "${canonical}" in i[3456]86-*-* ) machine=intel386 ;; amd64-*-*|x86_64-*-*) machine=amdx86-64 ;; - powerpc* | rs6000* ) machine=ibmrs6000 ;; sparc* ) machine=sparc ;; * ) unported=yes ;; esac case "${canonical}" in - *-sunos5.3* | *-solaris2.3* ) - opsys=sol2-3 - NON_GNU_CPP=/usr/ccs/lib/cpp - ;; - *-sunos5.4* | *-solaris2.4* ) - opsys=sol2-4 - NON_GNU_CPP=/usr/ccs/lib/cpp - RANLIB="ar -ts" - ;; - *-sunos5.5* | *-solaris2.5* ) - opsys=sol2-5 - NON_GNU_CPP=/usr/ccs/lib/cpp - RANLIB="ar -ts" - ;; *-sunos5.6* | *-solaris2.6* ) opsys=sol2-6 NON_GNU_CPP=/usr/ccs/lib/cpp === modified file 'src/ChangeLog' --- src/ChangeLog 2010-03-20 05:18:05 +0000 +++ src/ChangeLog 2010-03-20 05:52:55 +0000 @@ -1,5 +1,17 @@ 2010-03-20 Dan Nicolaescu + Remove support for Solaris on PPC and for old versions. + * s/sol2-6.h: Add the contents of s/sol-2.3.h, s/sol-2.4.h, s/sol-2.5.h. + (LD_SWITCH_SYSTEM, USE_MMAP_FOR_BUFFERS): Remove #defines/#undef + that cancel each other. + * s/sol2-3.h: + * s/sol2-4.h: + * s/sol2-5.h: Remove. + * m/ibmrs6000.h: Remove code for USG5_4, this file is only used on AIX. + (NO_REMAP): Remove, unused. + (UNEXEC): Move definition ... + * s/aix4-2.h (UNEXEC): ... here. + * s/openbsd.h: Remove support for non-ELF and for systems that do not support shared libraries. * s/netbsd.h: === modified file 'src/m/ibmrs6000.h' --- src/m/ibmrs6000.h 2010-01-13 08:35:10 +0000 +++ src/m/ibmrs6000.h 2010-03-20 05:52:55 +0000 @@ -32,19 +32,10 @@ #define IBMR2AIX -#ifndef UNEXEC -#define UNEXEC unexaix.o -#endif - -/* Define addresses, macros, change some setup for dump */ - -#define NO_REMAP - /* The data segment in this machine always starts at address 0x20000000. An address of data cannot be stored correctly in a Lisp object; we always lose the high bits. We must tell XPNTR to add them back. */ -#ifndef USG5_4 #define TEXT_START 0x10000000 #define DATA_START 0x20000000 #define WORDS_BIG_ENDIAN @@ -75,12 +66,6 @@ #define LIBS_MACHINE -lrts -lIM -liconv #endif -#else /* USG5_4 */ -#undef WORDS_BIG_ENDIAN -#define DATA_SEG_BITS 0 -#define LIBS_MACHINE -#endif /* USG5_4 */ - #undef ADDR_CORRECT #define ADDR_CORRECT(x) ((int)(x)) === modified file 'src/s/aix4-2.h' --- src/s/aix4-2.h 2010-01-13 08:35:10 +0000 +++ src/s/aix4-2.h 2010-03-20 05:52:55 +0000 @@ -168,5 +168,7 @@ */ #define BROKEN_GET_CURRENT_DIR_NAME 1 +#define UNEXEC unexaix.o + /* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562 (do not change this comment) */ === removed file 'src/s/sol2-3.h' --- src/s/sol2-3.h 2010-01-13 08:35:10 +0000 +++ src/s/sol2-3.h 1970-01-01 00:00:00 +0000 @@ -1,98 +0,0 @@ -/* Definitions file for GNU Emacs running on Solaris 2.3. - - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008, 2009, 2010 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - -#include "usg5-4.h" - -#define SOLARIS2 - -/* This triggers a conditional in xfaces.c. */ -#define XOS_NEEDS_TIME_H - -#define POSIX - -#define LIBS_SYSTEM -lsocket -lnsl -lkstat - -/* Prefer kstat over kvm in getloadavg.c, kstat doesn't require root. - ghazi@caip.rutgers.edu, 7/21/97. Don't redefine if already defined - (e.g., by config.h). */ -#ifndef HAVE_LIBKSTAT -#define HAVE_LIBKSTAT -#endif - -/* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style - XIM support. */ - -#define INHIBIT_X11R6_XIM - -/* Must use the system's termcap, if we use any termcap. - It does special things. */ - -#ifndef TERMINFO -#define LIBS_TERMCAP -ltermcap -#endif - -#define USE_MMAP_FOR_BUFFERS 1 - -#ifndef __GNUC__ -#define LD_SWITCH_SYSTEM -L /usr/ccs/lib LD_SWITCH_X_SITE_AUX -/* eggert thinks all versions of SunPro C allowed this. */ -#define C_DEBUG_SWITCH -g -O -#else /* GCC */ -/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX - has anything in it. It can be empty. - This works ok in src. Luckily lib-src does not use LD_SWITCH_SYSTEM. */ -#define LD_SWITCH_SYSTEM -L /usr/ccs/lib \ - `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX` -#endif /* GCC */ - -/* Info from fnf@cygnus.com suggests this is appropriate. */ -#define POSIX_SIGNALS - -/* We don't need the definition from usg5-4.h with POSIX_SIGNALS. */ -#undef sigsetmask - -/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock - rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't - work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x - (x<2) but I'm not sure. fnf@cygnus.com */ -/* This sets the name of the slave side of the PTY. On SysVr4, - grantpt(3) forks a subprocess, so keep sigchld_handler() from - intercepting that death. If any child but grantpt's should die - within, it should be caught after sigrelse(2). */ - -#undef PTY_TTY_NAME_SPRINTF -#define PTY_TTY_NAME_SPRINTF \ - { \ - char *ptsname (), *ptyname; \ - \ - sigblock (sigmask (SIGCLD)); \ - if (grantpt (fd) == -1) \ - { emacs_close (fd); return -1; } \ - sigunblock (sigmask (SIGCLD)); \ - if (unlockpt (fd) == -1) \ - { emacs_close (fd); return -1; } \ - if (!(ptyname = ptsname (fd))) \ - { emacs_close (fd); return -1; } \ - strncpy (pty_name, ptyname, sizeof (pty_name)); \ - pty_name[sizeof (pty_name) - 1] = 0; \ - } - -/* arch-tag: a8fe2e15-e517-49cb-a863-f346b80885fe - (do not change this comment) */ === removed file 'src/s/sol2-4.h' --- src/s/sol2-4.h 2010-01-04 05:35:18 +0000 +++ src/s/sol2-4.h 1970-01-01 00:00:00 +0000 @@ -1,32 +0,0 @@ -/* Handle Solaris 2.4. */ - -#include "sol2-3.h" - -#undef LD_SWITCH_SYSTEM - -/* `#ifdef USE_MOTIF' won't work here, since USE_MOTIF isn't defined yet. - Instead, dynamically check whether USE_MOTIF expands to something. */ -#define NOT_USING_MOTIF { set x USE_MOTIF; test "$$2" = "USE_MOTIF"; } - -#ifndef __GNUC__ -#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib LD_SWITCH_X_SITE_AUX \ - `NOT_USING_MOTIF || echo ' -R/usr/dt/lib'` -#else /* GCC */ -/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX - has anything in it. It can be empty. - This works ok in temacs. */ -#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib \ - `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX` \ - `NOT_USING_MOTIF || echo ' -R/usr/dt/lib -L/usr/dt/lib'` - -/* Get rid of -traditional and let const really do its thing. */ -#undef C_SWITCH_SYSTEM -#undef const -#endif /* GCC */ - -/* Gregory Neil Shapiro reports the Motif header files - are in this directory on Solaris 2.4. */ -#define C_SWITCH_X_SYSTEM -I/usr/dt/include - -/* arch-tag: 6f0de37b-cfda-427a-a5ae-b83ed54aaae7 - (do not change this comment) */ === removed file 'src/s/sol2-5.h' --- src/s/sol2-5.h 2010-01-04 05:35:18 +0000 +++ src/s/sol2-5.h 1970-01-01 00:00:00 +0000 @@ -1,32 +0,0 @@ -/* Handle Solaris 2.5. */ - -#include "sol2-4.h" - -/* -lgen is needed for the regex and regcmp functions - which are used by Motif. In the future we can try changing - regex.c to provide them in Emacs, but this is safer for now. */ -#define LIB_MOTIF -lXm -lgen - -/* This is the only known way to avoid some crashes - that seem to relate to screwed up malloc data - after deleting a frame. */ -/* rms: I think the problems using ralloc had to do with system - libraries that called the system malloc even if we linked in the - GNU malloc. I could not see any way to fix the problem except to - have just one malloc and that had to be the system one. */ -/* This is not always necessary. Turned off at present for testers to - identify any problems with gmalloc more accurately. */ -/* #define SYSTEM_MALLOC */ - -/* There have problems reported with mmap at least on Solaris 2.6 - and 2.7. For simplicity, let's not use mmap for anything >= 2.5. - We can optimize this later. */ - -#undef USE_MMAP_FOR_BUFFERS - -/* Probably OK also on earlier versions. */ -#define GC_SETJMP_WORKS 1 -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS - -/* arch-tag: 96d65526-21c9-4547-a797-2bd575c05be7 - (do not change this comment) */ === modified file 'src/s/sol2-6.h' --- src/s/sol2-6.h 2010-01-04 05:35:18 +0000 +++ src/s/sol2-6.h 2010-03-20 05:52:55 +0000 @@ -1,11 +1,133 @@ -/* Handle Solaris 2.6. */ - -#include "sol2-5.h" - -#if 0 /* dldump does not handle all the extensions used by GNU ld. */ -#undef UNEXEC -#define UNEXEC unexsol.o -#endif +/* Definitions file for GNU Emacs running on Solaris 2.6. + + Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2010 Free Software Foundation, Inc. + +This file is part of GNU Emacs. + +GNU Emacs is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs. If not, see . */ + +#include "usg5-4.h" + +#define SOLARIS2 + +/* This triggers a conditional in xfaces.c. */ +#define XOS_NEEDS_TIME_H + +#define POSIX + +#define LIBS_SYSTEM -lsocket -lnsl -lkstat + +/* Prefer kstat over kvm in getloadavg.c, kstat doesn't require root. + ghazi@caip.rutgers.edu, 7/21/97. Don't redefine if already defined + (e.g., by config.h). */ +#ifndef HAVE_LIBKSTAT +#define HAVE_LIBKSTAT +#endif + +/* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style + XIM support. */ + +#define INHIBIT_X11R6_XIM + +/* Must use the system's termcap, if we use any termcap. + It does special things. */ + +#ifndef TERMINFO +#define LIBS_TERMCAP -ltermcap +#endif + +#ifndef __GNUC__ +/* eggert thinks all versions of SunPro C allowed this. */ +#define C_DEBUG_SWITCH -g -O +#endif /* GCC */ + +/* Info from fnf@cygnus.com suggests this is appropriate. */ +#define POSIX_SIGNALS + +/* We don't need the definition from usg5-4.h with POSIX_SIGNALS. */ +#undef sigsetmask + +/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock + rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't + work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x + (x<2) but I'm not sure. fnf@cygnus.com */ +/* This sets the name of the slave side of the PTY. On SysVr4, + grantpt(3) forks a subprocess, so keep sigchld_handler() from + intercepting that death. If any child but grantpt's should die + within, it should be caught after sigrelse(2). */ + +#undef PTY_TTY_NAME_SPRINTF +#define PTY_TTY_NAME_SPRINTF \ + { \ + char *ptsname (), *ptyname; \ + \ + sigblock (sigmask (SIGCLD)); \ + if (grantpt (fd) == -1) \ + { emacs_close (fd); return -1; } \ + sigunblock (sigmask (SIGCLD)); \ + if (unlockpt (fd) == -1) \ + { emacs_close (fd); return -1; } \ + if (!(ptyname = ptsname (fd))) \ + { emacs_close (fd); return -1; } \ + strncpy (pty_name, ptyname, sizeof (pty_name)); \ + pty_name[sizeof (pty_name) - 1] = 0; \ + } + +/* `#ifdef USE_MOTIF' won't work here, since USE_MOTIF isn't defined yet. + Instead, dynamically check whether USE_MOTIF expands to something. */ +#define NOT_USING_MOTIF { set x USE_MOTIF; test "$$2" = "USE_MOTIF"; } + +#ifndef __GNUC__ +#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib LD_SWITCH_X_SITE_AUX \ + `NOT_USING_MOTIF || echo ' -R/usr/dt/lib'` +#else /* GCC */ +/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX + has anything in it. It can be empty. + This works ok in temacs. */ +#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib \ + `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX` \ + `NOT_USING_MOTIF || echo ' -R/usr/dt/lib -L/usr/dt/lib'` + +/* Get rid of -traditional and let const really do its thing. */ +#undef C_SWITCH_SYSTEM +#undef const +#endif /* GCC */ + +/* Gregory Neil Shapiro reports the Motif header files + are in this directory on Solaris 2.4. */ +#define C_SWITCH_X_SYSTEM -I/usr/dt/include + +/* -lgen is needed for the regex and regcmp functions + which are used by Motif. In the future we can try changing + regex.c to provide them in Emacs, but this is safer for now. */ +#define LIB_MOTIF -lXm -lgen + +/* This is the only known way to avoid some crashes + that seem to relate to screwed up malloc data + after deleting a frame. */ +/* rms: I think the problems using ralloc had to do with system + libraries that called the system malloc even if we linked in the + GNU malloc. I could not see any way to fix the problem except to + have just one malloc and that had to be the system one. */ +/* This is not always necessary. Turned off at present for testers to + identify any problems with gmalloc more accurately. */ +/* #define SYSTEM_MALLOC */ + +/* Probably OK also on earlier versions. */ +#define GC_SETJMP_WORKS 1 +#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS /* arch-tag: 71ea3857-89dc-4395-9623-77964e6ed3ca (do not change this comment) */ ------------------------------------------------------------ revno: 99699 committer: Dan Nicolaescu branch nick: trunk timestamp: Fri 2010-03-19 22:18:05 -0700 message: * s/openbsd.h: Remove support for non-ELF and for systems that do not support shared libraries. * s/netbsd.h: * s/freebsd.h: Likewise. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-03-20 01:03:39 +0000 +++ src/ChangeLog 2010-03-20 05:18:05 +0000 @@ -1,5 +1,12 @@ 2010-03-20 Dan Nicolaescu + * s/openbsd.h: Remove support for non-ELF and for systems that do + not support shared libraries. + * s/netbsd.h: + * s/freebsd.h: Likewise. + +2010-03-20 Dan Nicolaescu + Remove non-working support for lynxos 3.0. * s/lynxos.h: Remove file. === modified file 'src/s/freebsd.h' --- src/s/freebsd.h 2010-01-13 08:35:10 +0000 +++ src/s/freebsd.h 2010-03-20 05:18:05 +0000 @@ -23,26 +23,6 @@ You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -/* Get the correct __FreeBSD_version, even if this is before that was - defined. */ -#ifndef __FreeBSD_version -#ifndef __FreeBSD__ -#define __FreeBSD_version 199401 -#elif __FreeBSD__ == 1 -#define __FreeBSD_version 199405 -#else -#include -#endif -#endif /* !defined __FreeBSD_version */ - -/* '__FreeBSD__' is defined by the preprocessor on FreeBSD-1.1 and up. - Earlier versions do not have shared libraries, so inhibit them. - You can inhibit them on newer systems if you wish - by defining NO_SHARED_LIBS. */ -#ifndef __FreeBSD__ -#define NO_SHARED_LIBS -#endif - /* Get most of the stuff from bsd-common */ #include "bsd-common.h" @@ -69,8 +49,6 @@ /* freebsd has POSIX-style pgrp behavior. */ #undef BSD_PGRPS -#ifdef __ELF__ - /* Let `ld' find image libs and similar things in /usr/local/lib. The system compiler, GCC, has apparently been modified to not look there, contrary to what a stock GCC would do. */ @@ -82,17 +60,6 @@ #undef LIB_GCC #define LIB_GCC -#else /* not __ELF__ */ - -#ifdef NO_SHARED_LIBS -#ifdef __FreeBSD__ /* shared libs are available, but the user prefers - not to use them. */ -#define LD_SWITCH_SYSTEM -Bstatic -L/usr/local/lib -#endif /* __FreeBSD__ */ -#endif /* NO_SHARED_LIBS */ - -#endif /* not __ELF__ */ - #define HAVE_GETLOADAVG 1 #define HAVE_TERMIOS #define NO_TERMIO === modified file 'src/s/netbsd.h' --- src/s/netbsd.h 2010-01-13 08:35:10 +0000 +++ src/s/netbsd.h 2010-03-20 05:18:05 +0000 @@ -22,10 +22,6 @@ /* Get most of the stuff from bsd-common */ #include "bsd-common.h" -#if defined (__alpha__) && !defined (__ELF__) -#define NO_SHARED_LIBS -#endif - /* For mem-limits.h. */ #define BSD4_2 @@ -53,13 +49,11 @@ /* Netbsd has POSIX-style pgrp behavior. */ #undef BSD_PGRPS -#if !defined (NO_SHARED_LIBS) && defined (__ELF__) #define START_FILES pre-crt0.o /usr/lib/crt0.o START_FILES_1 /usr/lib/crtbegin.o #define UNEXEC unexelf.o #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o END_FILES_1 #undef LIB_GCC #define LIB_GCC -#endif #ifdef HAVE_CRTIN #define START_FILES_1 /usr/lib/crti.o @@ -71,7 +65,6 @@ #define AMPERSAND_FULL_NAME -#ifdef __ELF__ /* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option says where to find X windows at run time. We convert it to a -rpath option which is what OSF1 uses. */ @@ -92,8 +85,6 @@ #define LD_SWITCH_SYSTEM_TEMACS -Wl,-z,nocombreloc -#endif /* __ELF__ */ - /* On post 1.3 releases of NetBSD, gcc -nostdlib also clears the library search parth, i.e. it won't search /usr/lib for libc and friends. Using -nostartfiles instead avoids === modified file 'src/s/openbsd.h' --- src/s/openbsd.h 2010-01-04 05:35:18 +0000 +++ src/s/openbsd.h 2010-03-20 05:18:05 +0000 @@ -19,7 +19,6 @@ #undef LD_SWITCH_SYSTEM_TEMACS #undef LD_SWITCH_SYSTEM -#ifdef __ELF__ /* Han Boetes says this is necessary, otherwise Emacs dumps core on elf systems. */ @@ -29,12 +28,5 @@ default. */ #define LD_SWITCH_X_DEFAULT -L/usr/local/lib -#else - -#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -#define LD_SWITCH_X_DEFAULT -L/usr/local/lib - -#endif - /* arch-tag: 7e3f65ca-3f48-4237-933f-2b208b21e8e2 (do not change this comment) */ ------------------------------------------------------------ revno: 99698 committer: Juri Linkov branch nick: trunk timestamp: Sat 2010-03-20 03:29:12 +0200 message: * s-region.el: Move to obsolete. diff: === modified file 'etc/NEWS' --- etc/NEWS 2010-03-19 09:37:41 +0000 +++ etc/NEWS 2010-03-20 01:29:12 +0000 @@ -78,6 +78,9 @@ .dir-locals.el file, will turn on `whitespace-mode' for *vc-diff* buffers. +** s-region.el is now declared obsolete, superceded by shift-select-mode +enabled by default in 23.1. + * New Modes and Packages in Emacs 24.1 === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-03-19 14:19:54 +0000 +++ lisp/ChangeLog 2010-03-20 01:29:12 +0000 @@ -1,3 +1,8 @@ +2010-03-20 Juri Linkov + + * s-region.el: + * obsolete/s-region.el: Move to obsolete. + 2010-03-19 Juanma Barranquero * vc-dispatcher.el (vc-do-command): Remove reference to `vc-path'. === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2010-03-13 20:33:54 +0000 +++ lisp/Makefile.in 2010-03-20 01:29:12 +0000 @@ -1091,6 +1091,7 @@ $(lisp)/obsolete/rnewspost.elc \ $(lisp)/obsolete/sc.elc \ $(lisp)/obsolete/scribe.elc \ + $(lisp)/obsolete/s-region.elc \ $(lisp)/obsolete/swedish.elc \ $(lisp)/obsolete/sym-comp.elc \ $(lisp)/obsolete/vc-mcvs.elc \ @@ -1294,7 +1295,6 @@ $(lisp)/rfn-eshadow.elc \ $(lisp)/rot13.elc \ $(lisp)/ruler-mode.elc \ - $(lisp)/s-region.elc \ $(lisp)/savehist.elc \ $(lisp)/saveplace.elc \ $(lisp)/sb-image.elc \ === renamed file 'lisp/s-region.el' => 'lisp/obsolete/s-region.el' --- lisp/s-region.el 2010-01-13 08:35:10 +0000 +++ lisp/obsolete/s-region.el 2010-03-20 01:29:12 +0000 @@ -6,6 +6,7 @@ ;; Author: Morten Welinder ;; Keywords: terminals ;; Favourite-brand-of-beer: None, I hate beer. +;; Obsolete-since: 24.1 ;; This file is part of GNU Emacs. ------------------------------------------------------------ revno: 99697 committer: Dan Nicolaescu branch nick: trunk timestamp: Fri 2010-03-19 18:03:39 -0700 message: Remove non-working support for lynxos 3.0. * s/lynxos.h: Remove file. * unexec.c (unexec, adjust_lnnoptrs): Do not depend on COFF_BSD_SYMBOLS, nothing defines it anymore. * os.texi (System Environment): Do not mention lynxos. * configure.in: Remove non-working lynxos port. diff: === modified file 'ChangeLog' --- ChangeLog 2010-03-19 09:46:08 +0000 +++ ChangeLog 2010-03-20 01:03:39 +0000 @@ -1,3 +1,7 @@ +2010-03-20 Dan Nicolaescu + + * configure.in: Remove non-working lynxos port. + 2010-03-19 Dan Nicolaescu * .dir-locals.el (c-mode): Turn on whitespace-mode for diff-mode. === modified file 'admin/CPP-DEFINES' --- admin/CPP-DEFINES 2009-02-04 14:11:36 +0000 +++ admin/CPP-DEFINES 2010-03-20 01:03:39 +0000 @@ -299,7 +299,7 @@ PURESIZE RUN_TIME_REMAP SA_RESTART -SECTION_ALIGNMENT +SECTION_ALIGNMENT -- was only used by s/lynxos.h, maybe all code depending on it can be removed. SEGMENT_MASK SETPGRP_RELEASES_CTTY SETUP_SLAVE_PTY === modified file 'configure.in' --- configure.in 2010-03-19 02:42:32 +0000 +++ configure.in 2010-03-20 01:03:39 +0000 @@ -458,15 +458,6 @@ esac ;; - ## LynxOS ports - *-*-lynxos* ) - opsys=lynxos - case "${canonical}" in - i[3456]86-*-lynxos*) machine=intel386 ;; - powerpc-*-lynxos*) machine=powerpc ;; - esac - ;; - alpha*-*-linux-gnu* ) machine=alpha opsys=gnu-linux ;; === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2010-03-10 15:17:13 +0000 +++ doc/lispref/ChangeLog 2010-03-20 01:03:39 +0000 @@ -1,3 +1,7 @@ +2010-03-20 Dan Nicolaescu + + * os.texi (System Environment): Do not mention lynxos. + 2010-03-10 Chong Yidong * Branch for 23.2. === modified file 'doc/lispref/os.texi' --- doc/lispref/os.texi 2010-01-13 08:35:10 +0000 +++ doc/lispref/os.texi 2010-03-20 01:03:39 +0000 @@ -786,9 +786,6 @@ @item irix Silicon Graphics Irix system. -@item lynxos 3.0.1 -LynxOS-3.0.1. - @item ms-dos Microsoft MS-DOS ``operating system.'' Emacs compiled with DJGPP for MS-DOS binds @code{system-type} to @code{ms-dos} even when you run it on === modified file 'src/ChangeLog' --- src/ChangeLog 2010-03-20 00:46:01 +0000 +++ src/ChangeLog 2010-03-20 01:03:39 +0000 @@ -1,5 +1,13 @@ 2010-03-20 Dan Nicolaescu + Remove non-working support for lynxos 3.0. + * s/lynxos.h: Remove file. + + * unexec.c (unexec, adjust_lnnoptrs): Do not depend on + COFF_BSD_SYMBOLS, nothing defines it anymore. + +2010-03-20 Dan Nicolaescu + Remove obsolete uses of HAVE_SHM. * emacs.c (standard_args): (Fdump_emacs): === removed file 'src/s/lynxos.h' --- src/s/lynxos.h 2010-01-13 08:35:10 +0000 +++ src/s/lynxos.h 1970-01-01 00:00:00 +0000 @@ -1,57 +0,0 @@ -/* Definitions file for GNU Emacs running on LynxOS-3.0.1 - Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008, 2009, 2010 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - -/* LynxOS is almost a bsd 4.2 system */ -#include "s/bsd4-2.h" - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -/* override the bsd definition */ -#undef SYSTEM_TYPE -#define SYSTEM_TYPE "lynxos 3.0.1" - -/* System stuff redefined from bsd4-2.h */ -#undef KERNEL_FILE -#define KERNEL_FILE "/lynx.os" -#undef LDAV_SYMBOL -#define LDAV_SYMBOL "load_average" - -/* misc defines */ -#define LNOFLSH 0 - -/* COFF related */ -#define COFF -#define NO_REMAP -#define SECTION_ALIGNMENT 0x1 -#define COFF_BSD_SYMBOLS -#define etext __etext -#define edata __edata -#define _start __text - -/* Compilation options */ -#define LIBS_DEBUG -#define ORDINARY_LINK -/* we define following to prevent all the lynxos's stupid compilation */ -/* warning messages */ -#define C_SWITCH_SYSTEM -D__NO_INCLUDE_WARN__ -#define LIBS_SYSTEM -lbsd - -/* arch-tag: fbc81ec9-1c45-416b-a368-799ae7c094a1 - (do not change this comment) */ === modified file 'src/unexec.c' --- src/unexec.c 2010-01-13 08:35:10 +0000 +++ src/unexec.c 2010-03-20 01:03:39 +0000 @@ -630,7 +630,6 @@ PERROR (name); } -#ifndef COFF_BSD_SYMBOLS /* * If the COFF file contains a symbol table and a line number section, @@ -699,8 +698,6 @@ return 0; } -#endif /* COFF_BSD_SYMBOLS */ - /* **************************************************************** * unexec * @@ -724,9 +721,7 @@ if (make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) < 0 || copy_text_and_data (new, a_out) < 0 || copy_sym (new, a_out, a_name, new_name) < 0 -#ifndef COFF_BSD_SYMBOLS || adjust_lnnoptrs (new, a_out, new_name) < 0 -#endif ) { close (new); ------------------------------------------------------------ revno: 99696 committer: Dan Nicolaescu branch nick: trunk timestamp: Fri 2010-03-19 17:46:01 -0700 message: Remove obsolete uses of HAVE_SHM. * emacs.c (standard_args): (Fdump_emacs): (syms_of_emacs): Remove code depending on HAVE_SHM. * alloc.c: Remove HAVE_SHM dependent definition. * Makefile.in (RUN_TEMACS): Do not depend on HAVE_SHM. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-03-18 06:27:55 +0000 +++ src/ChangeLog 2010-03-20 00:46:01 +0000 @@ -1,3 +1,14 @@ +2010-03-20 Dan Nicolaescu + + Remove obsolete uses of HAVE_SHM. + * emacs.c (standard_args): + (Fdump_emacs): + (syms_of_emacs): Remove code depending on HAVE_SHM. + + * alloc.c: Remove HAVE_SHM dependent definition. + + * Makefile.in (RUN_TEMACS): Do not depend on HAVE_SHM. + 2010-03-18 Glenn Morris * emacs.c (USAGE4): Hard-code bug address. === modified file 'src/Makefile.in' --- src/Makefile.in 2010-03-18 05:49:31 +0000 +++ src/Makefile.in 2010-03-20 00:46:01 +0000 @@ -853,11 +853,7 @@ @FREETYPE_LIBS@ @FONTCONFIG_LIBS@ @LIBOTF_LIBS@ @M17N_FLT_LIBS@ \ $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR) -#ifdef HAVE_SHM -RUN_TEMACS = `/bin/pwd`/temacs -nl -#else RUN_TEMACS = `/bin/pwd`/temacs -#endif all: emacs${EXEEXT} $(OTHER_FILES) === modified file 'src/alloc.c' --- src/alloc.c 2010-01-22 09:10:04 +0000 +++ src/alloc.c 2010-03-20 00:46:01 +0000 @@ -257,8 +257,6 @@ Lisp_Object Vmemory_full; -#ifndef HAVE_SHM - /* Initialize it to a nonzero value to force it into data space (rather than bss space). That way unexec will remap it into text space (pure), on some systems. We have not implemented the @@ -268,13 +266,6 @@ EMACS_INT pure[(PURESIZE + sizeof (EMACS_INT) - 1) / sizeof (EMACS_INT)] = {1,}; #define PUREBEG (char *) pure -#else /* HAVE_SHM */ - -#define pure PURE_SEG_BITS /* Use shared memory segment */ -#define PUREBEG (char *)PURE_SEG_BITS - -#endif /* HAVE_SHM */ - /* Pointer to the pure area, and its size. */ static char *purebeg; === modified file 'src/emacs.c' --- src/emacs.c 2010-03-18 06:27:55 +0000 +++ src/emacs.c 2010-03-20 00:46:01 +0000 @@ -1816,9 +1816,6 @@ const struct standard_args standard_args[] = { { "-version", "--version", 150, 0 }, -#ifdef HAVE_SHM - { "-nl", "--no-shared-memory", 140, 0 }, -#endif { "-t", "--terminal", 120, 1 }, { "-nw", "--no-window-system", 110, 0 }, { "-nw", "--no-windows", 110, 0 }, @@ -2210,39 +2207,6 @@ #ifndef CANNOT_DUMP -#ifdef HAVE_SHM - -DEFUN ("dump-emacs-data", Fdump_emacs_data, Sdump_emacs_data, 1, 1, 0, - doc: /* Dump current state of Emacs into data file FILENAME. -This function exists on systems that use HAVE_SHM. */) - (filename) - Lisp_Object filename; -{ - extern char my_edata[]; - Lisp_Object tem; - - check_pure_size (); - CHECK_STRING (filename); - filename = Fexpand_file_name (filename, Qnil); - - tem = Vpurify_flag; - Vpurify_flag = Qnil; - - fflush (stdout); - /* Tell malloc where start of impure now is. */ - /* Also arrange for warnings when nearly out of space. */ -#ifndef SYSTEM_MALLOC - memory_warnings (my_edata, malloc_warning); -#endif - map_out_data (SDATA (filename)); - - Vpurify_flag = tem; - - return Qnil; -} - -#else /* not HAVE_SHM */ - DEFUN ("dump-emacs", Fdump_emacs, Sdump_emacs, 2, 2, 0, doc: /* Dump current state of Emacs into executable file FILENAME. Take symbols from SYMFILE (presumably the file you executed to run Emacs). @@ -2339,8 +2303,6 @@ return unbind_to (count, Qnil); } -#endif /* not HAVE_SHM */ - #endif /* not CANNOT_DUMP */ #if HAVE_SETLOCALE @@ -2517,12 +2479,8 @@ staticpro (&Qfile_name_handler_alist); #ifndef CANNOT_DUMP -#ifdef HAVE_SHM - defsubr (&Sdump_emacs_data); -#else defsubr (&Sdump_emacs); #endif -#endif defsubr (&Skill_emacs); ------------------------------------------------------------ revno: 99695 committer: Juanma Barranquero branch nick: trunk timestamp: Fri 2010-03-19 15:19:54 +0100 message: lisp/vc-dispatcher.el (vc-do-command): Remove reference to `vc-path'. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-03-19 09:42:13 +0000 +++ lisp/ChangeLog 2010-03-19 14:19:54 +0000 @@ -1,3 +1,7 @@ +2010-03-19 Juanma Barranquero + + * vc-dispatcher.el (vc-do-command): Remove reference to `vc-path'. + 2010-03-19 Dan Nicolaescu * vc-hooks.el (vc-path): Remove variable and obsolete declaration. === modified file 'lisp/vc-dispatcher.el' --- lisp/vc-dispatcher.el 2010-03-19 09:37:41 +0000 +++ lisp/vc-dispatcher.el 2010-03-19 14:19:54 +0000 @@ -318,16 +318,9 @@ (status 0)) (when files (setq squeezed (nconc squeezed files))) - (let ((exec-path (append vc-path exec-path)) - ;; Add vc-path to PATH for the execution of this command. - ;; Also, since some functions need to parse the output + (let (;; Since some functions need to parse the output ;; from external commands, set LC_MESSAGES to C. - (process-environment - (cons (concat "PATH=" (getenv "PATH") - path-separator - (mapconcat 'identity vc-path path-separator)) - (cons "LC_MESSAGES=C" - process-environment))) + (process-environment (cons "LC_MESSAGES=C" process-environment)) (w32-quote-process-args t)) (if (eq okstatus 'async) ;; Run asynchronously. ------------------------------------------------------------ revno: 99694 committer: Michael Albinus branch nick: trunk timestamp: Fri 2010-03-19 11:29:02 +0100 message: * auth-source.el (netrc-machine-user-or-password): Autoload. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-03-19 02:55:37 +0000 +++ lisp/gnus/ChangeLog 2010-03-19 10:29:02 +0000 @@ -1,3 +1,7 @@ +2010-03-19 Michael Albinus + + * auth-source.el (netrc-machine-user-or-password): Autoload. + 2010-03-19 Glenn Morris Stop message.el from loading about 40 libraries it doesn't always need. === modified file 'lisp/gnus/auth-source.el' --- lisp/gnus/auth-source.el 2010-01-13 08:35:10 +0000 +++ lisp/gnus/auth-source.el 2010-03-19 10:29:02 +0000 @@ -34,7 +34,7 @@ (require 'gnus-util) (eval-when-compile (require 'cl)) -(eval-when-compile (require 'netrc)) +(autoload 'netrc-machine-user-or-password "netrc") (defgroup auth-source nil "Authentication sources." @@ -86,7 +86,7 @@ that function using the same arguments as `message'." :group 'auth-source :version "23.1" ;; No Gnus - :type `(choice + :type `(choice :tag "auth-source debugging mode" (const :tag "Log using `message' to the *Messages* buffer" t) (function :tag "Function that takes arguments like `message'") @@ -145,7 +145,7 @@ ;; we also check the value (when auth-source-debug (let ((logger (if (functionp auth-source-debug) - auth-source-debug + auth-source-debug 'message))) (apply logger msg)))) ------------------------------------------------------------ revno: 99693 committer: Dan Nicolaescu branch nick: trunk timestamp: Fri 2010-03-19 02:46:08 -0700 message: * .dir-locals.el (c-mode): Turn on whitespace-mode for diff-mode. diff: === modified file '.dir-locals.el' --- .dir-locals.el 2009-12-17 04:12:40 +0000 +++ .dir-locals.el 2010-03-19 09:46:08 +0000 @@ -4,6 +4,7 @@ (change-log-mode . ((add-log-time-zone-rule . t) (fill-column . 74) (bug-reference-url-format . "http://debbugs.gnu.org/%s") - (mode . bug-reference)))) + (mode . bug-reference))) + (diff-mode . ((mode . whitespace)))) ;; arch-tag: fb93c160-e9fe-4184-aad1-e4f5daa11cbd === modified file 'ChangeLog' --- ChangeLog 2010-03-19 02:42:32 +0000 +++ ChangeLog 2010-03-19 09:46:08 +0000 @@ -1,3 +1,7 @@ +2010-03-19 Dan Nicolaescu + + * .dir-locals.el (c-mode): Turn on whitespace-mode for diff-mode. + 2010-03-19 Glenn Morris * configure.in (HAVE_LIBNCURSES): Add a description to make autoheader ------------------------------------------------------------ revno: 99692 committer: Dan Nicolaescu branch nick: trunk timestamp: Fri 2010-03-19 02:42:13 -0700 message: * vc-hooks.el (vc-path): Remove variable and obsolete declaration. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-03-19 09:37:41 +0000 +++ lisp/ChangeLog 2010-03-19 09:42:13 +0000 @@ -1,5 +1,9 @@ 2010-03-19 Dan Nicolaescu + * vc-hooks.el (vc-path): Remove variable and obsolete declaration. + +2010-03-19 Dan Nicolaescu + Add special markup processing for commit logs. * log-edit.el (log-edit-extra-flags): New variable. (log-edit): Add new argument MODE. Use that mode when non-nil === modified file 'lisp/vc-hooks.el' --- lisp/vc-hooks.el 2010-02-03 03:55:03 +0000 +++ lisp/vc-hooks.el 2010-03-19 09:42:13 +0000 @@ -84,13 +84,6 @@ :type '(repeat string) :group 'vc) -(defcustom vc-path nil - "List of extra directories to search for version control commands." - :type '(repeat directory) - :group 'vc) - -(make-obsolete-variable 'vc-path "should not be necessary anymore." "23.2") - (defcustom vc-make-backup-files nil "If non-nil, backups of registered files are made as with other files. If nil (the default), files covered by version control don't get backups." ------------------------------------------------------------ revno: 99691 committer: Dan Nicolaescu branch nick: trunk timestamp: Fri 2010-03-19 02:37:41 -0700 message: Add special markup processing for commit logs. * log-edit.el (log-edit-extra-flags): New variable. (log-edit): Add new argument MODE. Use that mode when non-nil instead of the log-view-mode. (log-view-process-buffer): New function. * vc.el: Document that the checkin method takes optional arguments. Document new backend specific method: log-view-mode. (vc-default-log-edit-mode): New function. (vc-checkin): Use a backend specific log-view-mode. Pass extra arguments to the checkin method. (vc-modify-change-comment): Pass a dummy extra argument. * vc-dispatcher.el (vc-log-edit): Add a mode argument, pass it to log-edit. (vc-start-logentry): Add a mode argument, pass it to vc-log-edit. (vc-finish-logentry): Process the log buffer before passing it down. Pass log-edit-extra-flags. * vc-bzr.el (vc-bzr-checkin): Pass extra arguments to the commit command. (log-edit-extra-flags, log-edit-before-checkin-process): New declarations. * vc-hg.el (vc-hg-checkin): Pass extra arguments to the commit command. (log-edit-extra-flags, log-edit-before-checkin-process): New declarations. (vc-hg-log-edit-mode): New derived mode. * vc-arch.el (vc-arch-checkin): * vc-cvs.el (vc-cvs-checkin): * vc-git.el (vc-git-checkin): * vc-mtn.el (vc-mtn-checkin): * vc-rcs.el (vc-rcs-checkin): * vc-sccs.el (vc-sccs-checkin): * vc-svn.el (vc-svn-checkin): Add an optional ignored argument. diff: === modified file 'etc/NEWS' --- etc/NEWS 2010-03-18 05:49:31 +0000 +++ etc/NEWS 2010-03-19 09:37:41 +0000 @@ -63,6 +63,16 @@ *** vc-dir for Bzr supports viewing shelve contents and shelving snapshots. +*** Special markup can be added to log-edit buffers. + +**** For Bzr, adding an +Author: NAME +line will add "--author NAME" to the "bzr commit" command. + +**** For Hg, adding an +Author: NAME +line will add "--user NAME" to the "hg commit" command. + ** Directory local variables can apply to file-less buffers. For example, adding "(diff-mode . ((mode . whitespace)))" to your .dir-locals.el file, will turn on `whitespace-mode' for *vc-diff* === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-03-19 03:32:47 +0000 +++ lisp/ChangeLog 2010-03-19 09:37:41 +0000 @@ -1,3 +1,41 @@ +2010-03-19 Dan Nicolaescu + + Add special markup processing for commit logs. + * log-edit.el (log-edit-extra-flags): New variable. + (log-edit): Add new argument MODE. Use that mode when non-nil + instead of the log-view-mode. + (log-view-process-buffer): New function. + + * vc.el: Document that the checkin method takes optional + arguments. Document new backend specific method: log-view-mode. + (vc-default-log-edit-mode): New function. + (vc-checkin): Use a backend specific log-view-mode. + Pass extra arguments to the checkin method. + (vc-modify-change-comment): Pass a dummy extra argument. + + * vc-dispatcher.el (vc-log-edit): Add a mode argument, pass it to + log-edit. + (vc-start-logentry): Add a mode argument, pass it to vc-log-edit. + (vc-finish-logentry): Process the log buffer before passing it + down. Pass log-edit-extra-flags. + + * vc-bzr.el (vc-bzr-checkin): Pass extra arguments to the commit + command. + (log-edit-extra-flags, log-edit-before-checkin-process): New declarations. + + * vc-hg.el (vc-hg-checkin): Pass extra arguments to the commit + command. + (log-edit-extra-flags, log-edit-before-checkin-process): New declarations. + (vc-hg-log-edit-mode): New derived mode. + + * vc-arch.el (vc-arch-checkin): + * vc-cvs.el (vc-cvs-checkin): + * vc-git.el (vc-git-checkin): + * vc-mtn.el (vc-mtn-checkin): + * vc-rcs.el (vc-rcs-checkin): + * vc-sccs.el (vc-sccs-checkin): + * vc-svn.el (vc-svn-checkin): Add an optional ignored argument. + 2010-03-19 Stefan Monnier * outline.el (hide-sublevels): Don't hide trailing newline (and fix === modified file 'lisp/log-edit.el' --- lisp/log-edit.el 2010-03-12 08:04:54 +0000 +++ lisp/log-edit.el 2010-03-19 09:37:41 +0000 @@ -188,6 +188,25 @@ (defvar log-edit-callback nil) (defvar log-edit-diff-function nil) (defvar log-edit-listfun nil) +(defvar log-edit-extra-flags nil + "List of extra flags to pass to the check in command.") +(defvar log-edit-before-checkin-process nil + "Alist that contains instructions for processing the commit message before check in. + +The format is: (REGEXP . INSTRUCTIONS). + +All lines matching REGEXP are removed. + +For example: + +(\"^#.*\" . nil) +means: just remove all lines starting with #. This can be used +to insert lines in the commit buffer that contain, for example, the +list of files to be committed. + +(\"Author: \\(.*\\)\" . (list \"--author\" (match-string 1))) +means: append (list \"--author\" (match-string 1)) to +`log-edit-extra-flags'.") (defvar log-edit-parent-buffer nil) ;;; Originally taken from VC-Log mode @@ -318,9 +337,10 @@ (2 font-lock-function-name-face)))) ;;;###autoload -(defun log-edit (callback &optional setup params buffer &rest ignore) +(defun log-edit (callback &optional setup params buffer mode &rest ignore) "Setup a buffer to enter a log message. -\\The buffer will be put in `log-edit-mode'. +\\The buffer will be put in mode MODE or `log-edit-mode' +if MODE is nil. If SETUP is non-nil, the buffer is then erased and `log-edit-hook' is run. Mark and point will be set around the entire contents of the buffer so that it is easy to kill the contents of the buffer with \\[kill-region]. @@ -341,7 +361,9 @@ (when (and log-edit-setup-invert (not (eq setup 'force))) (setq setup (not setup))) (when setup (erase-buffer)) - (log-edit-mode) + (if mode + (funcall mode) + (log-edit-mode)) (set (make-local-variable 'log-edit-callback) callback) (if (listp params) (dolist (crt params) @@ -711,6 +733,17 @@ (log-edit-changelog-insert-entries (car buffer-entry) (cdr buffer-entry)) (when (cdr buffer-entry) (newline))))) +(defun log-view-process-buffer () + (when log-edit-before-checkin-process + (dolist (crt log-edit-before-checkin-process) + ;; Remove all lines matching (car crt) + ;; Append to `log-edit-extra-flags' the results of (cdr crt). + (goto-char (point-min)) + (while (re-search-forward (car crt) nil t) + (when (cdr crt) + (setq log-edit-extra-flags (append log-edit-extra-flags (eval (cdr crt))))) + (replace-match "" nil t))))) + (provide 'log-edit) ;; arch-tag: 8089b39c-983b-4e83-93cd-ed0a64c7fdcc === modified file 'lisp/vc-arch.el' --- lisp/vc-arch.el 2010-01-14 18:59:31 +0000 +++ lisp/vc-arch.el 2010-03-19 09:37:41 +0000 @@ -428,7 +428,7 @@ (message "There are unresolved conflicts in %s" (file-name-nondirectory rej)))))) -(defun vc-arch-checkin (files rev comment) +(defun vc-arch-checkin (files rev comment &optional extra-args-ignored) (if rev (error "Committing to a specific revision is unsupported")) ;; FIXME: This implementation probably only works for singleton filesets (let ((summary (file-relative-name (car files) (vc-arch-root (car files))))) === modified file 'lisp/vc-bzr.el' --- lisp/vc-bzr.el 2010-03-12 01:29:30 +0000 +++ lisp/vc-bzr.el 2010-03-19 09:37:41 +0000 @@ -451,11 +451,11 @@ "Unregister FILE from bzr." (vc-bzr-command "remove" nil 0 file "--keep")) -(defun vc-bzr-checkin (files rev comment) +(defun vc-bzr-checkin (files rev comment &optional extra-args) "Check FILE in to bzr with log message COMMENT. REV non-nil gets an error." (if rev (error "Can't check in a specific revision with bzr")) - (vc-bzr-command "commit" nil 0 files "-m" comment)) + (apply 'vc-bzr-command "commit" nil 0 files (append (list "-m" comment) extra-args))) (defun vc-bzr-find-revision (file rev buffer) "Fetch revision REV of file FILE and put it into BUFFER." @@ -545,6 +545,20 @@ (goto-char (point-min))) found))) +(defvar log-edit-extra-flags) +(defvar log-edit-before-checkin-process) + +(define-derived-mode vc-bzr-log-edit-mode log-edit-mode "Bzr-Log-Edit" + "Mode for editing Bzr commit logs. +If a line like: +Author: NAME +is present in the log, it is removed, and +--author NAME +is passed to the bzr commit command." + (set (make-local-variable 'log-edit-extra-flags) nil) + (set (make-local-variable 'log-edit-before-checkin-process) + '(("^Author:[ \t]+\\(.*\\)[ \t]*$" . (list "--author" (match-string 1)))))) + (defun vc-bzr-diff (files &optional rev1 rev2 buffer) "VC bzr backend for diff." ;; `bzr diff' exits with code 1 if diff is non-empty. === modified file 'lisp/vc-cvs.el' --- lisp/vc-cvs.el 2010-02-18 19:55:41 +0000 +++ lisp/vc-cvs.el 2010-03-19 09:37:41 +0000 @@ -313,7 +313,7 @@ (directory-file-name dir)))) (eq dir t))) -(defun vc-cvs-checkin (files rev comment) +(defun vc-cvs-checkin (files rev comment &optional extra-args-ignored) "CVS-specific version of `vc-backend-checkin'." (unless (or (not rev) (vc-cvs-valid-revision-number-p rev)) (if (not (vc-cvs-valid-symbolic-tag-name-p rev)) === modified file 'lisp/vc-dispatcher.el' --- lisp/vc-dispatcher.el 2010-01-16 21:37:46 +0000 +++ lisp/vc-dispatcher.el 2010-03-19 09:37:41 +0000 @@ -522,20 +522,22 @@ ;; Set up key bindings for use while editing log messages -(defun vc-log-edit (fileset) +(defun vc-log-edit (fileset mode) "Set up `log-edit' for use on FILE." (setq default-directory (with-current-buffer vc-parent-buffer default-directory)) (log-edit 'vc-finish-logentry nil `((log-edit-listfun . (lambda () ',fileset)) - (log-edit-diff-function . (lambda () (vc-diff nil))))) + (log-edit-diff-function . (lambda () (vc-diff nil)))) + nil + mode) (set (make-local-variable 'vc-log-fileset) fileset) (make-local-variable 'vc-log-extra) (set-buffer-modified-p nil) (setq buffer-file-name nil)) -(defun vc-start-logentry (files extra comment initial-contents msg logbuf action &optional after-hook) +(defun vc-start-logentry (files extra comment initial-contents msg logbuf mode action &optional after-hook) "Accept a comment for an operation on FILES with extra data EXTRA. If COMMENT is nil, pop up a LOGBUF buffer, emit MSG, and set the action on close to ACTION. If COMMENT is a string and @@ -560,7 +562,7 @@ (set (make-local-variable 'vc-parent-buffer) parent) (set (make-local-variable 'vc-parent-buffer-name) (concat " from " (buffer-name vc-parent-buffer))) - (vc-log-edit files) + (vc-log-edit files mode) (make-local-variable 'vc-log-after-operation-hook) (when after-hook (setq vc-log-after-operation-hook after-hook)) @@ -590,12 +592,16 @@ (or (vc-dispatcher-browsing) (vc-buffer-sync))) (unless vc-log-operation (error "No log operation is pending")) + + (log-view-process-buffer) + ;; save the parameters held in buffer-local variables (let ((logbuf (current-buffer)) (log-operation vc-log-operation) (log-fileset vc-log-fileset) (log-extra vc-log-extra) (log-entry (buffer-string)) + (extra-flags log-edit-extra-flags) (after-hook vc-log-after-operation-hook) (tmp-vc-parent-buffer vc-parent-buffer)) (pop-to-buffer vc-parent-buffer) @@ -604,7 +610,9 @@ (funcall log-operation log-fileset log-extra - log-entry)) + log-entry + extra-flags + )) ;; Remove checkin window (after the checkin so that if that fails ;; we don't zap the log buffer and the typing therein). ;; -- IMO this should be replaced with quit-window === modified file 'lisp/vc-git.el' --- lisp/vc-git.el 2010-03-10 06:32:43 +0000 +++ lisp/vc-git.el 2010-03-19 09:37:41 +0000 @@ -541,7 +541,7 @@ (vc-git-command nil 0 file "rm" "-f" "--cached" "--")) -(defun vc-git-checkin (files rev comment) +(defun vc-git-checkin (files rev comment &optional extra-args-ignored) (let ((coding-system-for-write git-commits-coding-system)) (vc-git-command nil 0 files "commit" "-m" comment "--only" "--"))) === modified file 'lisp/vc-hg.el' --- lisp/vc-hg.el 2010-01-13 08:35:10 +0000 +++ lisp/vc-hg.el 2010-03-19 09:37:41 +0000 @@ -279,6 +279,20 @@ ("^date: \\(.+\\)" (1 'change-log-date)) ("^summary:[ \t]+\\(.+\\)" (1 'log-view-message))))))) +(defvar log-edit-extra-flags) +(defvar log-edit-before-checkin-process) + +(define-derived-mode vc-hg-log-edit-mode log-edit-mode "Hg-log-edit" + "Mode for editing Hg commit logs. +If a line like: +Author: NAME +is present in the log, it is removed, and +--author NAME +is passed to the hg commit command." + (set (make-local-variable 'log-edit-extra-flags) nil) + (set (make-local-variable 'log-edit-before-checkin-process) + '(("^Author:[ \t]+\\(.*\\)[ \t]*$" . (list "--user" (match-string 1)))))) + (defun vc-hg-diff (files &optional oldvers newvers buffer) "Get a difference report using hg between two revisions of FILES." (let* ((firstfile (car files)) @@ -401,10 +415,10 @@ ;; "Unregister FILE from hg." ;; (vc-hg-command nil nil file "remove")) -(defun vc-hg-checkin (files rev comment) +(defun vc-hg-checkin (files rev comment &optional extra-args) "Hg-specific version of `vc-backend-checkin'. REV is ignored." - (vc-hg-command nil 0 files "commit" "-m" comment)) + (apply 'vc-hg-command nil 0 files (append (list "commit" "-m" comment) extra-args))) (defun vc-hg-find-revision (file rev buffer) (let ((coding-system-for-read 'binary) === modified file 'lisp/vc-mtn.el' --- lisp/vc-mtn.el 2010-01-13 08:35:10 +0000 +++ lisp/vc-mtn.el 2010-03-19 09:37:41 +0000 @@ -172,7 +172,7 @@ (defun vc-mtn-responsible-p (file) (vc-mtn-root file)) (defun vc-mtn-could-register (file) (vc-mtn-root file)) -(defun vc-mtn-checkin (files rev comment) +(defun vc-mtn-checkin (files rev comment &optional extra-args-ignored) (vc-mtn-command nil 0 files "commit" "-m" comment)) (defun vc-mtn-find-revision (file rev buffer) === modified file 'lisp/vc-rcs.el' --- lisp/vc-rcs.el 2010-01-13 08:35:10 +0000 +++ lisp/vc-rcs.el 2010-03-19 09:37:41 +0000 @@ -348,7 +348,7 @@ (yes-or-no-p (format "Directory %s is empty; remove it? " dir)) (delete-directory dir)))) -(defun vc-rcs-checkin (files rev comment) +(defun vc-rcs-checkin (files rev comment &optional extra-args-ignored) "RCS-specific version of `vc-backend-checkin'." (let ((switches (vc-switches 'RCS 'checkin))) ;; Now operate on the files === modified file 'lisp/vc-sccs.el' --- lisp/vc-sccs.el 2010-01-13 08:35:10 +0000 +++ lisp/vc-sccs.el 2010-03-19 09:37:41 +0000 @@ -235,7 +235,7 @@ (stringp (vc-sccs-search-project-dir (or (file-name-directory file) "") (file-name-nondirectory file))))) -(defun vc-sccs-checkin (files rev comment) +(defun vc-sccs-checkin (files rev comment &optional extra-args-ignored) "SCCS-specific version of `vc-backend-checkin'." (dolist (file (vc-expand-dirs files)) (apply 'vc-sccs-do-command nil 0 "delta" (vc-name file) === modified file 'lisp/vc-svn.el' --- lisp/vc-svn.el 2010-02-05 19:20:17 +0000 +++ lisp/vc-svn.el 2010-03-19 09:37:41 +0000 @@ -282,7 +282,7 @@ "Return non-nil if FILE could be registered in SVN. This is only possible if SVN is responsible for FILE's directory.") -(defun vc-svn-checkin (files rev comment) +(defun vc-svn-checkin (files rev comment &optional extra-args-ignored) "SVN-specific version of `vc-backend-checkin'." (if rev (error "Committing to a specific revision is unsupported in SVN")) (let ((status (apply === modified file 'lisp/vc.el' --- lisp/vc.el 2010-01-17 21:31:25 +0000 +++ lisp/vc.el 2010-03-19 09:37:41 +0000 @@ -261,7 +261,7 @@ ;; Unregister FILE from this backend. This is only needed if this ;; backend may be used as a "more local" backend for temporary editing. ;; -;; * checkin (files rev comment) +;; * checkin (files rev comment &optional extra-args) ;; ;; Commit changes in FILES to this backend. If REV is non-nil, that ;; should become the new revision number (not all backends do @@ -269,6 +269,7 @@ ;; implementation should pass the value of vc-checkin-switches to ;; the backend command. (Note: in older versions of VC, this ;; command took a single file argument and not a list.) +;; EXTRA-ARGS should be passed to the backend command. ;; ;; * find-revision (file rev buffer) ;; @@ -477,6 +478,12 @@ ;; Return the revision number that follows REV for FILE, or nil if no such ;; revision exists. ;; +;; - log-edit-mode () +;; +;; Turn on the mode used for editing the check in log. This +;; defaults to `log-edit-mode'. If changed, it should use a mode +;; derived from`log-edit-mode'. +;; ;; - check-headers () ;; ;; Return non-nil if the current buffer contains any version headers. @@ -1358,7 +1365,9 @@ files rev comment initial-contents "Enter a change comment." "*VC-log*" - (lambda (files rev comment) + (lambda () + (vc-call-backend backend 'log-edit-mode)) + (lambda (files rev comment extra-flags) (message "Checking in %s..." (vc-delistify files)) ;; "This log message intentionally left almost blank". ;; RCS 5.7 gripes about white-space-only comments too. @@ -1369,7 +1378,7 @@ ;; We used to change buffers to get local value of vc-checkin-switches, ;; but 'the' local buffer is not a well-defined concept for filesets. (progn - (vc-call-backend backend 'checkin files rev comment) + (vc-call-backend backend 'checkin files rev comment extra-flags) (mapc 'vc-delete-automatic-version-backups files)) `((vc-state . up-to-date) (vc-checkout-time . ,(nth 5 (file-attributes file))) @@ -1739,7 +1748,7 @@ files rev oldcomment t "Enter a replacement change comment." "*VC-log*" - (lambda (files rev comment) + (lambda (files rev comment ignored) (vc-call-backend ;; Less of a kluge than it looks like; log-view mode only passes ;; this function a singleton list. Arguments left in this form in @@ -2424,6 +2433,8 @@ (defalias 'vc-default-check-headers 'ignore) +(defun vc-default-log-edit-mode (backend) (log-edit-mode)) + (defun vc-default-log-view-mode (backend) (log-view-mode)) (defun vc-default-show-log-entry (backend rev) ------------------------------------------------------------ revno: 99690 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2010-03-18 23:32:47 -0400 message: (hide-sublevels): Don't hide trailing newline (and fix paren typo). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-03-19 02:55:37 +0000 +++ lisp/ChangeLog 2010-03-19 03:32:47 +0000 @@ -1,7 +1,11 @@ +2010-03-19 Stefan Monnier + + * outline.el (hide-sublevels): Don't hide trailing newline (and fix + parent typo). + 2010-03-19 Glenn Morris - * password-cache.el (password-cache, password-cache-expiry): - Autoload. + * password-cache.el (password-cache, password-cache-expiry): Autoload. 2010-03-18 Glenn Morris @@ -37,8 +41,8 @@ 2010-03-15 Michael Albinus * net/secrets.el (top): Register the D-Bus signals only when the - service "org.freedesktop.secrets" can be pinged. Provide - subfeature 'enabled. + service "org.freedesktop.secrets" can be pinged. + Provide subfeature `enabled'. 2010-03-14 Juri Linkov === modified file 'lisp/outline.el' --- lisp/outline.el 2010-03-12 17:47:22 +0000 +++ lisp/outline.el 2010-03-19 03:32:47 +0000 @@ -914,8 +914,12 @@ (outline-map-region (lambda () (if (<= (funcall outline-level) levels) - (outline-show-heading))) - beg end))) + (outline-show-heading) + beg end)) + ;; Finally unhide any trailing newline. + (goto-char (point-max)) + (if (and (bolp) (not (bobp)) (outline-invisible-p (1- (point)))) + (outline-flag-region (1- (point)) (point) nil))))) (run-hooks 'outline-view-change-hook)) (defun hide-other ()