Now on revision 108587. ------------------------------------------------------------ revno: 108587 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-06-12 22:39:20 -0400 message: Remove HAVE_SYSV_SIGPAUSE unused remnants * src/s/usg5-4-common.h, src/s/unixware.h: Remove define/undef of HAVE_SYSV_SIGPAUSE (not used since 2010-05-04). * admin/CPP-DEFINES: Remove HAVE_SYSV_SIGPAUSE. diff: === modified file 'admin/CPP-DEFINES' --- admin/CPP-DEFINES 2012-05-28 00:46:33 +0000 +++ admin/CPP-DEFINES 2012-06-13 02:39:20 +0000 @@ -156,7 +156,6 @@ HAVE_STRFTIME HAVE_STRING_H HAVE_STRUCT_UTIMBUF -HAVE_SYSV_SIGPAUSE HAVE_SYS_SELECT_H HAVE_SYS_SYSTEMINFO_H HAVE_SYS_TIMEB_H === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-13 02:32:49 +0000 +++ src/ChangeLog 2012-06-13 02:39:20 +0000 @@ -1,5 +1,8 @@ 2012-06-13 Glenn Morris + * s/usg5-4-common.h, src/s/unixware.h: + Remove define/undef of HAVE_SYSV_SIGPAUSE (not used since 2010-05-04). + * s/gnu.h (POSIX_SIGNALS): Remove (not used since 2010-05-04). 2012-06-13 Paul Eggert === modified file 'src/s/unixware.h' --- src/s/unixware.h 2012-04-14 06:18:49 +0000 +++ src/s/unixware.h 2012-06-13 02:39:20 +0000 @@ -23,8 +23,6 @@ /* #define HAVE_GETWD (appears to be buggy on SVR4.2) */ #undef HAVE_GETWD -#undef HAVE_SYSV_SIGPAUSE - /* This is the same definition as in usg5-4-common.h, but with sigblock/sigunblock rather than sighold/sigrelse, which appear to be BSD4.1 specific. It may also be appropriate for SVR4.x === modified file 'src/s/usg5-4-common.h' --- src/s/usg5-4-common.h 2012-06-12 17:43:09 +0000 +++ src/s/usg5-4-common.h 2012-06-13 02:39:20 +0000 @@ -31,9 +31,6 @@ #define _setjmp setjmp #define _longjmp longjmp -/* The docs for system V/386 suggest v.3 has sigpause, so let's try it. */ -#define HAVE_SYSV_SIGPAUSE - /* Get FIONREAD from . Get to get struct tchars. But get first to make sure ttold.h doesn't interfere. */ #include ------------------------------------------------------------ revno: 108586 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-06-12 22:32:49 -0400 message: * src/s/gnu.h (POSIX_SIGNALS): Remove (again). This was added in 2012-01 in response to http://debbugs.gnu.org/10552 . However, this issue had already been fixed in the trunk two years earlier, by removing POSIX_SIGNALS altogether. Ref: http://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00002.html diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-13 00:26:40 +0000 +++ src/ChangeLog 2012-06-13 02:32:49 +0000 @@ -1,3 +1,7 @@ +2012-06-13 Glenn Morris + + * s/gnu.h (POSIX_SIGNALS): Remove (not used since 2010-05-04). + 2012-06-13 Paul Eggert USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604) === modified file 'src/s/gnu.h' --- src/s/gnu.h 2012-06-11 23:17:11 +0000 +++ src/s/gnu.h 2012-06-13 02:32:49 +0000 @@ -38,5 +38,3 @@ ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base) #endif /* !_IO_STDIO_H */ #endif /* emacs */ - -#define POSIX_SIGNALS 1 ------------------------------------------------------------ revno: 108585 fixes bug(s): http://debbugs.gnu.org/11604 committer: Paul Eggert branch nick: trunk timestamp: Tue 2012-06-12 17:26:40 -0700 message: USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604) * alloc.c (make_number) [!defined make_number]: Remove, as lisp.h always defines this now. (mark_maybe_pointer): Simplify since USE_LSB_TAG is always defined now. (roundup_size): Verify that it is a power of 2. * data.c (Fmake_variable_buffer_local, Fmake_local_variable): * ftfont.c (ftfont_driver): Use LISP_INITIALLY_ZERO. * lisp.h (USE_LSB_TAG): Allow the builder to compile with -DUSE_LSB_TAG=0, to override the automatically-selected default. USE_LSB_TAG now is always defined to be either 0 or 1. All uses changed. (union Lisp_Object): Don't worry about WORDS_BIGENDIAN; the code works fine either way, and efficiency is not a concern here, as the union type is for debugging, not for production. (LISP_MAKE_RVALUE, make_number) [USE_LISP_UNION_TYPE]: Use an inline function on all platforms when using the union type, since this is simpler and 'static inline' can be used portably within Emacs now. (LISP_INITIALLY_ZERO): New macro. (XFASTINT, XSETFASTINT) [USE_LISP_UNION_TYPE]: Remove. (XSET) [USE_LISP_UNION_TYPE]: Don't overparenthesize. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-12 19:03:32 +0000 +++ src/ChangeLog 2012-06-13 00:26:40 +0000 @@ -1,3 +1,27 @@ +2012-06-13 Paul Eggert + + USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604) + * alloc.c (make_number) [!defined make_number]: + Remove, as lisp.h always defines this now. + (mark_maybe_pointer): Simplify since USE_LSB_TAG is always defined now. + (roundup_size): Verify that it is a power of 2. + * data.c (Fmake_variable_buffer_local, Fmake_local_variable): + * ftfont.c (ftfont_driver): Use LISP_INITIALLY_ZERO. + * lisp.h (USE_LSB_TAG): Allow the builder to compile with + -DUSE_LSB_TAG=0, to override the automatically-selected default. + USE_LSB_TAG now is always defined to be either 0 or 1. + All uses changed. + (union Lisp_Object): Don't worry about WORDS_BIGENDIAN; the + code works fine either way, and efficiency is not a concern here, + as the union type is for debugging, not for production. + (LISP_MAKE_RVALUE, make_number) [USE_LISP_UNION_TYPE]: + Use an inline function on all platforms when using the union type, + since this is simpler and 'static inline' can be used portably + within Emacs now. + (LISP_INITIALLY_ZERO): New macro. + (XFASTINT, XSETFASTINT) [USE_LISP_UNION_TYPE]: Remove. + (XSET) [USE_LISP_UNION_TYPE]: Don't overparenthesize. + 2012-06-12 Glenn Morris * s/gnu-kfreebsd.h, s/hpux11.h, s/openbsd.h, s/sol2-10.h: Remove files. === modified file 'src/alloc.c' --- src/alloc.c 2012-06-11 15:13:27 +0000 +++ src/alloc.c 2012-06-13 00:26:40 +0000 @@ -533,7 +533,7 @@ }, \ c) -#ifdef USE_LSB_TAG +#if USE_LSB_TAG # define XMALLOC_HEADER_ALIGNMENT \ COMMON_MULTIPLE (1 << GCTYPEBITS, XMALLOC_BASE_ALIGNMENT) #else @@ -893,8 +893,8 @@ number of bytes to allocate, TYPE describes the intended use of the allocated memory block (for strings, for conses, ...). */ -#ifndef USE_LSB_TAG -static void *lisp_malloc_loser; +#if ! USE_LSB_TAG +void *lisp_malloc_loser EXTERNALLY_VISIBLE; #endif static void * @@ -910,7 +910,7 @@ val = (void *) malloc (nbytes); -#ifndef USE_LSB_TAG +#if ! USE_LSB_TAG /* If the memory just allocated cannot be addressed thru a Lisp object's pointer, and it needs to be, that's equivalent to running out of memory. */ @@ -1091,7 +1091,7 @@ mallopt (M_MMAP_MAX, MMAP_MAX_AREAS); #endif -#ifndef USE_LSB_TAG +#if ! USE_LSB_TAG /* If the memory just allocated cannot be addressed thru a Lisp object's pointer, and it needs to be, that's equivalent to running out of memory. */ @@ -1584,20 +1584,6 @@ if (! NULL_INTERVAL_P (i)) \ (i) = balance_intervals (i); \ } while (0) - - -/* Number support. If USE_LISP_UNION_TYPE is in effect, we - can't create number objects in macros. */ -#ifndef make_number -Lisp_Object -make_number (EMACS_INT n) -{ - Lisp_Object obj; - obj.s.val = n; - obj.s.type = Lisp_Int; - return obj; -} -#endif /* Convert the pointer-sized word P to EMACS_INT while preserving its type and ptr fields. */ @@ -2943,18 +2929,13 @@ header_size = offsetof (struct Lisp_Vector, contents), word_size = sizeof (Lisp_Object), roundup_size = COMMON_MULTIPLE (sizeof (Lisp_Object), -#ifdef USE_LSB_TAG - 8 /* Helps to maintain alignment constraints imposed by - assumption that least 3 bits of pointers are always 0. */ -#else - 1 /* If alignment doesn't matter, should round up - to sizeof (Lisp_Object) at least. */ -#endif - ) + USE_LSB_TAG ? 1 << GCTYPEBITS : 1) }; -/* Round up X to nearest mult-of-ROUNDUP_SIZE, - assuming ROUNDUP_SIZE is a power of 2. */ +/* ROUNDUP_SIZE must be a power of 2. */ +verify ((roundup_size & (roundup_size - 1)) == 0); + +/* Round up X to nearest mult-of-ROUNDUP_SIZE. */ #define vroundup(x) (((x) + (roundup_size - 1)) & ~(roundup_size - 1)) @@ -3171,7 +3152,7 @@ == VECTOR_FREE_LIST_FLAG) vector->header.next.nbytes = vector->header.size & (VECTOR_BLOCK_SIZE - 1); - + next = ADVANCE (vector, vector->header.next.nbytes); /* While NEXT is not marked, try to coalesce with VECTOR, @@ -3189,7 +3170,7 @@ vector->header.next.nbytes += nbytes; next = ADVANCE (next, nbytes); } - + eassert (vector->header.next.nbytes % roundup_size == 0); if (vector == (struct Lisp_Vector *) block->data @@ -3468,7 +3449,7 @@ union aligned_Lisp_Symbol { struct Lisp_Symbol s; -#ifdef USE_LSB_TAG +#if USE_LSB_TAG unsigned char c[(sizeof (struct Lisp_Symbol) + (1 << GCTYPEBITS) - 1) & -(1 << GCTYPEBITS)]; #endif @@ -3574,7 +3555,7 @@ union aligned_Lisp_Misc { union Lisp_Misc m; -#ifdef USE_LSB_TAG +#if USE_LSB_TAG unsigned char c[(sizeof (union Lisp_Misc) + (1 << GCTYPEBITS) - 1) & -(1 << GCTYPEBITS)]; #endif @@ -4556,14 +4537,10 @@ { struct mem_node *m; - /* Quickly rule out some values which can't point to Lisp data. */ - if ((intptr_t) p % -#ifdef USE_LSB_TAG - 8 /* USE_LSB_TAG needs Lisp data to be aligned on multiples of 8. */ -#else - 2 /* We assume that Lisp data is aligned on even addresses. */ -#endif - ) + /* Quickly rule out some values which can't point to Lisp data. + USE_LSB_TAG needs Lisp data to be aligned on multiples of 1 << GCTYPEBITS. + Otherwise, assume that Lisp data is aligned on even addresses. */ + if ((intptr_t) p % (USE_LSB_TAG ? 1 << GCTYPEBITS : 2)) return; m = mem_find (p); @@ -4639,8 +4616,8 @@ wider than a pointer might allocate a Lisp_Object in non-adjacent halves. If USE_LSB_TAG, the bottom half is not a valid pointer, but it should suffice to widen it to to a Lisp_Object and check it that way. */ -#if defined USE_LSB_TAG || VAL_MAX < UINTPTR_MAX -# if !defined USE_LSB_TAG && VAL_MAX < UINTPTR_MAX >> GCTYPEBITS +#if USE_LSB_TAG || VAL_MAX < UINTPTR_MAX +# if !USE_LSB_TAG && VAL_MAX < UINTPTR_MAX >> GCTYPEBITS /* If tag bits straddle pointer-word boundaries, neither mark_maybe_pointer nor mark_maybe_object can follow the pointers. This should not occur on any practical porting target. */ @@ -5069,7 +5046,7 @@ pure_alloc (size_t size, int type) { void *result; -#ifdef USE_LSB_TAG +#if USE_LSB_TAG size_t alignment = (1 << GCTYPEBITS); #else size_t alignment = sizeof (EMACS_INT); === modified file 'src/data.c' --- src/data.c 2012-05-30 03:59:42 +0000 +++ src/data.c 2012-06-13 00:26:40 +0000 @@ -1500,7 +1500,7 @@ { struct Lisp_Symbol *sym; struct Lisp_Buffer_Local_Value *blv = NULL; - union Lisp_Val_Fwd valcontents IF_LINT (= {0}); + union Lisp_Val_Fwd valcontents IF_LINT (= {LISP_INITIALLY_ZERO}); int forwarded IF_LINT (= 0); CHECK_SYMBOL (variable); @@ -1577,7 +1577,7 @@ { register Lisp_Object tem; int forwarded IF_LINT (= 0); - union Lisp_Val_Fwd valcontents IF_LINT (= {0}); + union Lisp_Val_Fwd valcontents IF_LINT (= {LISP_INITIALLY_ZERO}); struct Lisp_Symbol *sym; struct Lisp_Buffer_Local_Value *blv = NULL; === modified file 'src/emacs.c' --- src/emacs.c 2012-05-30 19:23:37 +0000 +++ src/emacs.c 2012-06-13 00:26:40 +0000 @@ -104,7 +104,7 @@ /* Make these values available in GDB, which doesn't see macros. */ -#ifdef USE_LSB_TAG +#if USE_LSB_TAG int gdb_use_lsb EXTERNALLY_VISIBLE = 1; #else int gdb_use_lsb EXTERNALLY_VISIBLE = 0; @@ -116,7 +116,7 @@ #endif int gdb_valbits EXTERNALLY_VISIBLE = VALBITS; int gdb_gctypebits EXTERNALLY_VISIBLE = GCTYPEBITS; -#if defined (DATA_SEG_BITS) && ! defined (USE_LSB_TAG) +#if defined DATA_SEG_BITS && !USE_LSB_TAG uintptr_t gdb_data_seg_bits EXTERNALLY_VISIBLE = DATA_SEG_BITS; #else uintptr_t gdb_data_seg_bits EXTERNALLY_VISIBLE = 0; === modified file 'src/ftfont.c' --- src/ftfont.c 2012-04-09 22:54:59 +0000 +++ src/ftfont.c 2012-06-13 00:26:40 +0000 @@ -525,7 +525,7 @@ struct font_driver ftfont_driver = { - 0, /* Qfreetype */ + LISP_INITIALLY_ZERO, /* Qfreetype */ 0, /* case insensitive */ ftfont_get_cache, ftfont_list, === modified file 'src/lisp.h' --- src/lisp.h 2012-06-11 15:13:27 +0000 +++ src/lisp.h 2012-06-13 00:26:40 +0000 @@ -161,10 +161,8 @@ always 0, and we can thus use them to hold tag bits, without restricting our addressing space. - If USE_LSB_TAG is not set, then we use the top 3 bits for tagging, thus - restricting our possible address range. Currently USE_LSB_TAG is not - allowed together with a union. This is not due to any fundamental - technical (or political ;-) problem: nobody wrote the code to do it yet. + If ! USE_LSB_TAG, then use the top 3 bits for tagging, thus + restricting our possible address range. USE_LSB_TAG not only requires the least 3 bits of pointers returned by malloc to be 0 but also needs to be able to impose a mult-of-8 alignment @@ -201,25 +199,31 @@ # endif #endif -/* Let's USE_LSB_TAG on systems where we know malloc returns mult-of-8. */ -#if (defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ \ - || defined DARWIN_OS || defined __sun) -/* We also need to be able to specify mult-of-8 alignment on static vars. */ -# if defined DECL_ALIGN -/* On hosts where pointers-as-ints do not exceed VAL_MAX, - USE_LSB_TAG is: +/* Unless otherwise specified, use USE_LSB_TAG on systems where: */ +#ifndef USE_LSB_TAG +/* 1. We know malloc returns a multiple of 8. */ +# if (defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ \ + || defined DARWIN_OS || defined __sun) +/* 2. We can specify multiple-of-8 alignment on static variables. */ +# ifdef DECL_ALIGN +/* 3. Pointers-as-ints exceed VAL_MAX. + On hosts where pointers-as-ints do not exceed VAL_MAX, USE_LSB_TAG is: a. unnecessary, because the top bits of an EMACS_INT are unused, and b. slower, because it typically requires extra masking. - So, define USE_LSB_TAG only on hosts where it might be useful. */ -# if VAL_MAX < UINTPTR_MAX -# define USE_LSB_TAG + So, default USE_LSB_TAG to 1 only on hosts where it might be useful. */ +# if VAL_MAX < UINTPTR_MAX +# define USE_LSB_TAG 1 +# endif # endif # endif #endif +#ifndef USE_LSB_TAG +# define USE_LSB_TAG 0 +#endif /* If we cannot use 8-byte alignment, make DECL_ALIGN a no-op. */ #ifndef DECL_ALIGN -# ifdef USE_LSB_TAG +# if USE_LSB_TAG # error "USE_LSB_TAG used without defining DECL_ALIGN" # endif # define DECL_ALIGN(type, var) type var @@ -248,7 +252,7 @@ #else # define LISP_INT_TAG Lisp_Int0 # define case_Lisp_Int case Lisp_Int0: case Lisp_Int1 -# ifdef USE_LSB_TAG +# if USE_LSB_TAG # define LISP_INT1_TAG 4 # define LISP_STRING_TAG 1 # define LISP_INT_TAG_P(x) (((x) & 3) == 0) @@ -333,70 +337,35 @@ #ifdef USE_LISP_UNION_TYPE -#ifndef WORDS_BIGENDIAN - -/* Definition of Lisp_Object for little-endian machines. */ - -typedef -union Lisp_Object - { - /* Used for comparing two Lisp_Objects; - also, positive integers can be accessed fast this way. */ - EMACS_INT i; - - struct - { - /* Use explicit signed, the signedness of a bit-field of type - int is implementation defined. */ - signed EMACS_INT val : VALBITS; - ENUM_BF (Lisp_Type) type : GCTYPEBITS; - } s; - struct - { - EMACS_UINT val : VALBITS; - ENUM_BF (Lisp_Type) type : GCTYPEBITS; - } u; - } -Lisp_Object; - -#else /* If WORDS_BIGENDIAN */ - -typedef -union Lisp_Object - { - /* Used for comparing two Lisp_Objects; - also, positive integers can be accessed fast this way. */ - EMACS_INT i; - - struct - { - ENUM_BF (Lisp_Type) type : GCTYPEBITS; - /* Use explicit signed, the signedness of a bit-field of type - int is implementation defined. */ - signed EMACS_INT val : VALBITS; - } s; - struct - { - ENUM_BF (Lisp_Type) type : GCTYPEBITS; - EMACS_UINT val : VALBITS; - } u; - } -Lisp_Object; - -#endif /* WORDS_BIGENDIAN */ - -#ifdef __GNUC__ +typedef +union Lisp_Object + { + /* Used for comparing two Lisp_Objects; + also, positive integers can be accessed fast this way. */ + EMACS_INT i; + + struct + { + /* Use explicit signed, the signedness of a bit-field of type + int is implementation defined. */ + signed EMACS_INT val : VALBITS; + ENUM_BF (Lisp_Type) type : GCTYPEBITS; + } s; + struct + { + EMACS_UINT val : VALBITS; + ENUM_BF (Lisp_Type) type : GCTYPEBITS; + } u; + } +Lisp_Object; + static inline Lisp_Object LISP_MAKE_RVALUE (Lisp_Object o) { return o; } -#else -/* This is more portable to pre-C99 non-GCC compilers, but for - backwards compatibility GCC still accepts an old GNU extension - which caused this to only generate a warning. */ -#define LISP_MAKE_RVALUE(o) (0 ? (o) : (o)) -#endif + +#define LISP_INITIALLY_ZERO {0} #else /* USE_LISP_UNION_TYPE */ @@ -404,6 +373,7 @@ typedef EMACS_INT Lisp_Object; #define LISP_MAKE_RVALUE(o) (0+(o)) +#define LISP_INITIALLY_ZERO 0 #endif /* USE_LISP_UNION_TYPE */ /* In the size word of a vector, this bit means the vector has been marked. */ @@ -467,7 +437,7 @@ /* Return a perfect hash of the Lisp_Object representation. */ #define XHASH(a) (a) -#ifdef USE_LSB_TAG +#if USE_LSB_TAG #define TYPEMASK ((((EMACS_INT) 1) << GCTYPEBITS) - 1) #define XTYPE(a) ((enum Lisp_Type) ((a) & TYPEMASK)) @@ -542,12 +512,12 @@ #define XINT(a) ((EMACS_INT) (a).s.val) #define XUINT(a) ((EMACS_UINT) (a).u.val) -#ifdef USE_LSB_TAG +#if USE_LSB_TAG # define XSET(var, vartype, ptr) \ - (eassert ((((uintptr_t) (ptr)) & ((1 << GCTYPEBITS) - 1)) == 0), \ - (var).u.val = ((uintptr_t) (ptr)) >> GCTYPEBITS, \ - (var).u.type = ((char) (vartype))) + (eassert (((uintptr_t) (ptr) & ((1 << GCTYPEBITS) - 1)) == 0), \ + (var).u.val = (uintptr_t) (ptr) >> GCTYPEBITS, \ + (var).u.type = (vartype)) /* Some versions of gcc seem to consider the bitfield width when issuing the "cast to pointer from integer of different size" warning, so the @@ -556,14 +526,8 @@ #else /* !USE_LSB_TAG */ -/* For integers known to be positive, XFASTINT provides fast retrieval - and XSETFASTINT provides fast storage. This takes advantage of the - fact that Lisp_Int is 0. */ -# define XFASTINT(a) ((a).i + 0) -# define XSETFASTINT(a, b) ((a).i = (b)) - # define XSET(var, vartype, ptr) \ - (((var).s.val = ((intptr_t) (ptr))), ((var).s.type = ((char) (vartype)))) + ((var).s.val = (intptr_t) (ptr), (var).s.type = (vartype)) #ifdef DATA_SEG_BITS /* DATA_SEG_BITS forces extra bits to be or'd in with any pointers @@ -575,12 +539,14 @@ #endif /* !USE_LSB_TAG */ -#if __GNUC__ >= 2 && defined (__OPTIMIZE__) -#define make_number(N) \ - (__extension__ ({ Lisp_Object _l; _l.s.val = (N); _l.s.type = Lisp_Int; _l; })) -#else -extern Lisp_Object make_number (EMACS_INT); -#endif +static inline Lisp_Object +make_number (EMACS_INT n) +{ + Lisp_Object o; + o.s.val = n; + o.s.type = Lisp_Int; + return o; +} #endif /* USE_LISP_UNION_TYPE */ === modified file 'src/mem-limits.h' --- src/mem-limits.h 2012-05-22 16:20:27 +0000 +++ src/mem-limits.h 2012-06-13 00:26:40 +0000 @@ -34,7 +34,7 @@ #endif extern char *start_of_data (void); -#if defined USE_LSB_TAG || UINTPTR_MAX <= VAL_MAX +#if USE_LSB_TAG || UINTPTR_MAX <= VAL_MAX #define EXCEEDS_LISP_PTR(ptr) 0 #elif defined DATA_SEG_BITS #define EXCEEDS_LISP_PTR(ptr) \ === modified file 'src/w32heap.c' --- src/w32heap.c 2012-03-25 18:30:50 +0000 +++ src/w32heap.c 2012-06-13 00:26:40 +0000 @@ -114,7 +114,7 @@ return data_region_end; } -#if !defined (USE_LISP_UNION_TYPE) && !defined (USE_LSB_TAG) +#if !defined USE_LISP_UNION_TYPE && !USE_LSB_TAG static char * allocate_heap (void) { @@ -259,7 +259,7 @@ exit (1); } -#if !defined (USE_LISP_UNION_TYPE) && !defined (USE_LSB_TAG) +#if !defined USE_LISP_UNION_TYPE && !USE_LSB_TAG /* Ensure that the addresses don't use the upper tag bits since the Lisp type goes there. */ if (((unsigned long) data_region_base & ~VALMASK) != 0) === modified file 'src/xfont.c' --- src/xfont.c 2012-02-10 18:58:48 +0000 +++ src/xfont.c 2012-06-13 00:26:40 +0000 @@ -132,7 +132,7 @@ struct font_driver xfont_driver = { - 0, /* Qx */ + LISP_INITIALLY_ZERO, /* Qx */ 0, /* case insensitive */ xfont_get_cache, xfont_list, ------------------------------------------------------------ revno: 108584 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-06-12 15:15:47 -0400 message: Combine adjacent case blocks. diff: === modified file 'configure.in' --- configure.in 2012-06-12 19:03:32 +0000 +++ configure.in 2012-06-12 19:15:47 +0000 @@ -3133,29 +3133,28 @@ esac case $opsys in - hpux11) - dnl SA_RESTART resets the timeout of `select', so don't use it. - AC_DEFINE(BROKEN_SA_RESTART, 1, [Define if SA_RESTART should not - be used.]) - dnl It works to open the pty's tty in the parent (Emacs), then - dnl close and reopen it in the child. - AC_DEFINE(USG_SUBTTY_WORKS, 1, [Define for USG systems where it - works to open a pty's tty in the parent process, then close and - reopen it in the child.]) - - opsysfile="s/hpux10-20.h" - ;; - - sol2-10) - AC_DEFINE(_STRUCTURED_PROC, 1, [Needed for system_process_attributes - on Solaris.]) - opsysfile="s/sol2-6.h" - ;; -esac - -case $opsys in - gnu-kfreebsd) opsysfile="s/gnu-linux.h" ;; - openbsd) opsysfile="s/netbsd.h" ;; + gnu-kfreebsd) opsysfile="s/gnu-linux.h" ;; + + hpux11) + dnl SA_RESTART resets the timeout of `select', so don't use it. + AC_DEFINE(BROKEN_SA_RESTART, 1, [Define if SA_RESTART should not + be used.]) + dnl It works to open the pty's tty in the parent (Emacs), then + dnl close and reopen it in the child. + AC_DEFINE(USG_SUBTTY_WORKS, 1, [Define for USG systems where it + works to open a pty's tty in the parent process, then close and + reopen it in the child.]) + + opsysfile="s/hpux10-20.h" + ;; + + openbsd) opsysfile="s/netbsd.h" ;; + + sol2-10) + AC_DEFINE(_STRUCTURED_PROC, 1, [Needed for system_process_attributes + on Solaris.]) + opsysfile="s/sol2-6.h" + ;; esac # Set up the CFLAGS for real compilation, so we can substitute it. ------------------------------------------------------------ revno: 108583 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-06-12 15:03:32 -0400 message: Remove src/s/sol2-10.h * configure.in (HAVE_PROCFS, _STRUCTURED_PROC): New AC_DEFINEs. (opsysfile): Set specially for sol2-10. * src/s/gnu-linux.h (HAVE_PROCFS): Move to configure. * src/s/sol2-10.h: Remove file. diff: === modified file 'ChangeLog' --- ChangeLog 2012-06-12 18:44:31 +0000 +++ ChangeLog 2012-06-12 19:03:32 +0000 @@ -1,5 +1,8 @@ 2012-06-12 Glenn Morris + * configure.in (HAVE_PROCFS, _STRUCTURED_PROC): New AC_DEFINEs. + (opsysfile): Set specially for sol2-10. + * configure.in (BROKEN_SA_RESTART, USG_SUBTTY_WORKS): New AC_DEFINEs, for hpux11. (opsysfile): Set specially for hpux11. === modified file 'configure.in' --- configure.in 2012-06-12 18:44:31 +0000 +++ configure.in 2012-06-12 19:03:32 +0000 @@ -3125,19 +3125,36 @@ ;; esac -if test "$opsys" = hpux11; then - dnl SA_RESTART resets the timeout of `select', so don't use it. - AC_DEFINE(BROKEN_SA_RESTART, 1, [Define if SA_RESTART should not be used.]) - dnl It works to open the pty's tty in the parent (Emacs), then close - dnl and reopen it in the child. - AC_DEFINE(USG_SUBTTY_WORKS, 1, [Define for USG systems where it - works to open a pty's tty in the parent process, then close and - reopen it in the child.]) -fi +case $opsys in + gnu-* | sol2-10 ) + dnl FIXME Can't we test if this exists (eg /proc/$$)? + AC_DEFINE(HAVE_PROCFS, 1, [Define if you have the /proc filesystem.]) + ;; +esac + +case $opsys in + hpux11) + dnl SA_RESTART resets the timeout of `select', so don't use it. + AC_DEFINE(BROKEN_SA_RESTART, 1, [Define if SA_RESTART should not + be used.]) + dnl It works to open the pty's tty in the parent (Emacs), then + dnl close and reopen it in the child. + AC_DEFINE(USG_SUBTTY_WORKS, 1, [Define for USG systems where it + works to open a pty's tty in the parent process, then close and + reopen it in the child.]) + + opsysfile="s/hpux10-20.h" + ;; + + sol2-10) + AC_DEFINE(_STRUCTURED_PROC, 1, [Needed for system_process_attributes + on Solaris.]) + opsysfile="s/sol2-6.h" + ;; +esac case $opsys in gnu-kfreebsd) opsysfile="s/gnu-linux.h" ;; - hpux11) opsysfile="s/hpux10-20.h" ;; openbsd) opsysfile="s/netbsd.h" ;; esac === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-12 18:44:31 +0000 +++ src/ChangeLog 2012-06-12 19:03:32 +0000 @@ -1,6 +1,8 @@ 2012-06-12 Glenn Morris - * s/gnu-kfreebsd.h, s/hpux11.h, s/openbsd.h: Remove files. + * s/gnu-kfreebsd.h, s/hpux11.h, s/openbsd.h, s/sol2-10.h: Remove files. + + * s/gnu-linux.h (HAVE_PROCFS): Move to configure. * s/hpux10-20.h, s/openbsd.h, s/usg5-4-common.h: Move BROKEN_SIGIO to configure. === modified file 'src/s/gnu-linux.h' --- src/s/gnu-linux.h 2012-06-11 23:17:11 +0000 +++ src/s/gnu-linux.h 2012-06-12 19:03:32 +0000 @@ -81,9 +81,6 @@ #define HAVE_SOCKETS -/* This is used in list_system_processes. */ -#define HAVE_PROCFS 1 - /* Define CLASH_DETECTION if you want lock files to be written so that Emacs can tell instantly when you try to modify a file that someone else has modified in his Emacs. */ === removed file 'src/s/sol2-10.h' --- src/s/sol2-10.h 2011-01-15 23:16:57 +0000 +++ src/s/sol2-10.h 1970-01-01 00:00:00 +0000 @@ -1,10 +0,0 @@ -/* Handle Solaris 2.10. */ - -#include "sol2-6.h" - -/* This is used in list_system_processes. */ -#define HAVE_PROCFS 1 - -/* This is needed for the system_process_attributes implementation. */ -#define _STRUCTURED_PROC 1 - ------------------------------------------------------------ revno: 108582 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-06-12 14:44:31 -0400 message: Remove src/s/hpux11.h * configure.in (BROKEN_SA_RESTART, USG_SUBTTY_WORKS): New AC_DEFINEs. (opsysfile): Set specially for hpux11. * src/s/hpux11.h: Remove file. diff: === modified file 'ChangeLog' --- ChangeLog 2012-06-12 17:53:25 +0000 +++ ChangeLog 2012-06-12 18:44:31 +0000 @@ -1,3 +1,9 @@ +2012-06-12 Glenn Morris + + * configure.in (BROKEN_SA_RESTART, USG_SUBTTY_WORKS): + New AC_DEFINEs, for hpux11. + (opsysfile): Set specially for hpux11. + 2012-06-12 Paul Eggert * configure.in: Coalesce some function checking. === modified file 'configure.in' --- configure.in 2012-06-12 18:06:08 +0000 +++ configure.in 2012-06-12 18:44:31 +0000 @@ -3125,8 +3125,19 @@ ;; esac +if test "$opsys" = hpux11; then + dnl SA_RESTART resets the timeout of `select', so don't use it. + AC_DEFINE(BROKEN_SA_RESTART, 1, [Define if SA_RESTART should not be used.]) + dnl It works to open the pty's tty in the parent (Emacs), then close + dnl and reopen it in the child. + AC_DEFINE(USG_SUBTTY_WORKS, 1, [Define for USG systems where it + works to open a pty's tty in the parent process, then close and + reopen it in the child.]) +fi + case $opsys in gnu-kfreebsd) opsysfile="s/gnu-linux.h" ;; + hpux11) opsysfile="s/hpux10-20.h" ;; openbsd) opsysfile="s/netbsd.h" ;; esac === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-12 17:53:25 +0000 +++ src/ChangeLog 2012-06-12 18:44:31 +0000 @@ -1,6 +1,6 @@ 2012-06-12 Glenn Morris - * s/gnu-kfreebsd.h, s/openbsd.h: Remove files. + * s/gnu-kfreebsd.h, s/hpux11.h, s/openbsd.h: Remove files. * s/hpux10-20.h, s/openbsd.h, s/usg5-4-common.h: Move BROKEN_SIGIO to configure. === removed file 'src/s/hpux11.h' --- src/s/hpux11.h 2011-01-25 03:47:47 +0000 +++ src/s/hpux11.h 1970-01-01 00:00:00 +0000 @@ -1,9 +0,0 @@ -#include "hpux10-20.h" - -/* SA_RESTART resets the timeout of `select', so don't use it. */ -#define BROKEN_SA_RESTART - -/* It does work on HPUX to open the pty's tty in the parent (Emacs), - then close and reopen it in the child. */ -#define USG_SUBTTY_WORKS - ------------------------------------------------------------ revno: 108581 committer: Stefan Monnier branch nick: trunk timestamp: Tue 2012-06-12 14:10:34 -0400 message: * lisp/emacs-lisp/cl-macs.el (cl-remf): Fix error in recent conversion to backquotes. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-06-12 05:47:14 +0000 +++ lisp/ChangeLog 2012-06-12 18:10:34 +0000 @@ -1,3 +1,8 @@ +2012-06-12 Stefan Monnier + + * emacs-lisp/cl-macs.el (cl-remf): Fix error in recent + conversion to backquotes. + 2012-06-12 Chong Yidong * emacs-lisp/edebug.el (edebug-inhibit-emacs-lisp-mode-bindings): === modified file 'lisp/emacs-lisp/cl-macs.el' --- lisp/emacs-lisp/cl-macs.el 2012-06-11 20:47:33 +0000 +++ lisp/emacs-lisp/cl-macs.el 2012-06-12 18:10:34 +0000 @@ -2325,7 +2325,7 @@ (if (eq ,ttag (car ,tval)) (progn ,(cl-setf-do-store (nth 1 method) `(cddr ,tval)) t) - `(cl--do-remf ,tval ,ttag))))) + (cl--do-remf ,tval ,ttag))))) ;;;###autoload (defmacro cl-shiftf (place &rest args) ------------------------------------------------------------ revno: 108580 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-06-12 14:06:08 -0400 message: Drop some `quotes' in configure.in's final summary diff: === modified file 'configure.in' --- configure.in 2012-06-12 17:53:25 +0000 +++ configure.in 2012-06-12 18:06:08 +0000 @@ -3639,7 +3639,7 @@ Configured for \`${canonical}'. Where should the build process find the source code? ${srcdir} - What operating system file should Emacs use? \`${opsysfile-none}' + What operating system file should Emacs use? ${opsysfile-none} What compiler should emacs be built with? ${CC} ${CFLAGS} Should Emacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason} Should Emacs use a relocating allocator for buffers? ${REL_ALLOC} ------------------------------------------------------------ revno: 108579 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-06-12 13:53:25 -0400 message: Remove a couple of src/s files * configure.in (opsysfile): Set specially for gnu-kfreebsd, openbsd. * src/s/gnu-kfreebsd.h, src/s/openbsd.h: Remove files. diff: === modified file 'ChangeLog' --- ChangeLog 2012-06-12 17:43:09 +0000 +++ ChangeLog 2012-06-12 17:53:25 +0000 @@ -6,6 +6,8 @@ 2012-06-12 Glenn Morris + * configure.in (opsysfile): Set specially for gnu-kfreebsd, openbsd. + * configure.in (NO_TERMIO, BROKEN_SIGIO): Move here from src/s. * configure.in: Anticipate platforms with no src/s file. === modified file 'configure.in' --- configure.in 2012-06-12 17:43:09 +0000 +++ configure.in 2012-06-12 17:53:25 +0000 @@ -3125,6 +3125,11 @@ ;; esac +case $opsys in + gnu-kfreebsd) opsysfile="s/gnu-linux.h" ;; + openbsd) opsysfile="s/netbsd.h" ;; +esac + # Set up the CFLAGS for real compilation, so we can substitute it. CFLAGS="$REAL_CFLAGS" CPPFLAGS="$REAL_CPPFLAGS" === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-12 17:43:09 +0000 +++ src/ChangeLog 2012-06-12 17:53:25 +0000 @@ -1,5 +1,7 @@ 2012-06-12 Glenn Morris + * s/gnu-kfreebsd.h, s/openbsd.h: Remove files. + * s/hpux10-20.h, s/openbsd.h, s/usg5-4-common.h: Move BROKEN_SIGIO to configure. === removed file 'src/s/gnu-kfreebsd.h' --- src/s/gnu-kfreebsd.h 2012-06-12 17:43:09 +0000 +++ src/s/gnu-kfreebsd.h 1970-01-01 00:00:00 +0000 @@ -1,2 +0,0 @@ -#include "gnu-linux.h" - === removed file 'src/s/openbsd.h' --- src/s/openbsd.h 2012-06-12 17:43:09 +0000 +++ src/s/openbsd.h 1970-01-01 00:00:00 +0000 @@ -1,5 +0,0 @@ -/* System file for openbsd. */ - -/* Nearly the same as NetBSD. Note there are differences in configure. */ -#include "netbsd.h" - ------------------------------------------------------------ revno: 108578 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-06-12 13:43:09 -0400 message: Move NO_TERMIO, BROKEN_SIGIO from src/s to configure * configure.in (NO_TERMIO, BROKEN_SIGIO): New AC_DEFINEs. * src/s/bsd-common.h, src/s/darwin.h, src/s/gnu-kfreebsd.h, src/s/hpux10-20.h: Remove NO_TERMIO. * src/s/hpux10-20.h, src/s/openbsd.h, src/s/usg5-4-common.h: Remove BROKEN_SIGIO. diff: === modified file 'ChangeLog' --- ChangeLog 2012-06-12 17:27:41 +0000 +++ ChangeLog 2012-06-12 17:43:09 +0000 @@ -6,6 +6,8 @@ 2012-06-12 Glenn Morris + * configure.in (NO_TERMIO, BROKEN_SIGIO): Move here from src/s. + * configure.in: Anticipate platforms with no src/s file. 2012-06-12 Chong Yidong === modified file 'configure.in' --- configure.in 2012-06-12 17:27:41 +0000 +++ configure.in 2012-06-12 17:43:09 +0000 @@ -3111,6 +3111,20 @@ dnl AC_DEFINE(HAVE_TCATTR, 1, [Define to 1 if you have tcgetattr and tcsetattr.]) dnl fi +case $opsys in + darwin | gnu | hpux* | *bsd ) + AC_DEFINE(NO_TERMIO, 1, [Define if termio.h should not be included.]) + ;; +esac + +dnl SIGIO exists, but the feature doesn't work in the way Emacs needs. +dnl See eg . +case $opsys in + hpux* | irix6-5 | openbsd | sol2* | unixware ) + AC_DEFINE(BROKEN_SIGIO, 1, [Define if SIGIO should not be used.]) + ;; +esac + # Set up the CFLAGS for real compilation, so we can substitute it. CFLAGS="$REAL_CFLAGS" CPPFLAGS="$REAL_CPPFLAGS" === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-12 10:08:39 +0000 +++ src/ChangeLog 2012-06-12 17:43:09 +0000 @@ -1,3 +1,11 @@ +2012-06-12 Glenn Morris + + * s/hpux10-20.h, s/openbsd.h, s/usg5-4-common.h: + Move BROKEN_SIGIO to configure. + + * s/bsd-common.h, s/darwin.h, s/gnu-kfreebsd.h, s/hpux10-20.h: + Move NO_TERMIO to configure. + 2012-06-12 Chong Yidong * image.c (imagemagick_load_image): Use MagickFlattenImage if === modified file 'src/s/bsd-common.h' --- src/s/bsd-common.h 2012-06-11 23:17:11 +0000 +++ src/s/bsd-common.h 2012-06-12 17:43:09 +0000 @@ -37,8 +37,6 @@ #define TABDLY OXTABS #define TAB3 OXTABS -#define NO_TERMIO - /* If the system's imake configuration file defines `NeedWidePrototypes' as `NO', we must define NARROWPROTO manually. Such a define is generated in the Makefile generated by `xmkmf'. If we don't === modified file 'src/s/darwin.h' --- src/s/darwin.h 2012-06-11 23:17:11 +0000 +++ src/s/darwin.h 2012-06-12 17:43:09 +0000 @@ -58,8 +58,6 @@ if system supports pty's. 'a' means it is /dev/ptya0 */ #define FIRST_PTY_LETTER 'p' -#define NO_TERMIO - /* Define HAVE_PTYS if the system supports pty devices. Note: PTYs are broken on darwin <6. Use at your own risk. */ #define HAVE_PTYS === modified file 'src/s/gnu-kfreebsd.h' --- src/s/gnu-kfreebsd.h 2012-06-11 23:17:11 +0000 +++ src/s/gnu-kfreebsd.h 2012-06-12 17:43:09 +0000 @@ -1,3 +1,2 @@ #include "gnu-linux.h" -#define NO_TERMIO /* use only */ === modified file 'src/s/hpux10-20.h' --- src/s/hpux10-20.h 2012-06-11 23:17:11 +0000 +++ src/s/hpux10-20.h 2012-06-12 17:43:09 +0000 @@ -30,8 +30,6 @@ if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */ #define FIRST_PTY_LETTER 'p' -#define NO_TERMIO - /* Define HAVE_PTYS if the system supports pty devices. */ #define HAVE_PTYS @@ -45,10 +43,6 @@ /* Special hacks needed to make Emacs run on this system. */ -/* In hpux, the symbol SIGIO is defined, but the feature - doesn't work in the way Emacs needs it to. */ -#define BROKEN_SIGIO - /* Some additional system facilities exist. */ #define HAVE_PERROR /* Delete this line for version 6. */ === modified file 'src/s/openbsd.h' --- src/s/openbsd.h 2011-07-19 17:33:06 +0000 +++ src/s/openbsd.h 2012-06-12 17:43:09 +0000 @@ -3,7 +3,3 @@ /* Nearly the same as NetBSD. Note there are differences in configure. */ #include "netbsd.h" -/* The symbol SIGIO is defined, but the feature doesn't work in the - way Emacs needs it to. See - . */ -#define BROKEN_SIGIO === modified file 'src/s/usg5-4-common.h' --- src/s/usg5-4-common.h 2012-06-11 23:17:11 +0000 +++ src/s/usg5-4-common.h 2012-06-12 17:43:09 +0000 @@ -35,8 +35,7 @@ #define HAVE_SYSV_SIGPAUSE /* Get FIONREAD from . Get to get struct tchars. - But get first to make sure ttold.h doesn't interfere. - And don't try to use SIGIO yet. */ + But get first to make sure ttold.h doesn't interfere. */ #include #ifdef emacs @@ -47,7 +46,6 @@ #include #include #include -#define BROKEN_SIGIO #endif /* Some SVr4s don't define NSIG in sys/signal.h for ANSI environments; ------------------------------------------------------------ revno: 108577 committer: Paul Eggert branch nick: trunk timestamp: Tue 2012-06-12 10:27:41 -0700 message: * configure.in: Coalesce some function checking. This makes 'configure' a bit smaller. Prefer AC_CHECK_FUNCS_ONCE for functions that we always check for. diff: === modified file 'ChangeLog' --- ChangeLog 2012-06-12 17:19:08 +0000 +++ ChangeLog 2012-06-12 17:27:41 +0000 @@ -1,3 +1,9 @@ +2012-06-12 Paul Eggert + + * configure.in: Coalesce some function checking. + This makes 'configure' a bit smaller. + Prefer AC_CHECK_FUNCS_ONCE for functions that we always check for. + 2012-06-12 Glenn Morris * configure.in: Anticipate platforms with no src/s file. === modified file 'configure.in' --- configure.in 2012-06-12 17:19:08 +0000 +++ configure.in 2012-06-12 17:27:41 +0000 @@ -1279,7 +1279,6 @@ #if HAVE_SYS_SOCKET_H #include #endif]) -AC_CHECK_FUNCS(getifaddrs freeifaddrs) dnl checks for structure members AC_CHECK_MEMBERS([struct ifreq.ifr_flags, struct ifreq.ifr_hwaddr, @@ -1854,8 +1853,7 @@ AC_DEFINE(HAVE_IMAGEMAGICK, 1, [Define to 1 if using imagemagick.]) CFLAGS="$CFLAGS $IMAGEMAGICK_CFLAGS" LIBS="$IMAGEMAGICK_LIBS $LIBS" - AC_CHECK_FUNCS(MagickExportImagePixels) - AC_CHECK_FUNCS(MagickMergeImageLayers) + AC_CHECK_FUNCS(MagickExportImagePixels MagickMergeImageLayers) fi fi fi @@ -2647,7 +2645,6 @@ There may be a `development' package to install containing liblockfile.]) fi fi -AC_CHECK_FUNCS(touchlock) AC_CHECK_HEADERS_ONCE(maillock.h) AC_SUBST(LIBS_MAIL) @@ -2693,16 +2690,17 @@ AC_SUBST(BLESSMAIL_TARGET) -AC_CHECK_FUNCS(gethostname \ +AC_CHECK_FUNCS_ONCE(gethostname \ rename closedir mkdir rmdir getrusage get_current_dir_name \ random lrand48 logb frexp fmod rint cbrt setsid \ strerror fpathconf select euidaccess getpagesize setlocale \ utimes getrlimit setrlimit setpgid getcwd getwd shutdown getaddrinfo \ __fpending strsignal setitimer \ -sendto recvfrom getsockname getpeername \ +sendto recvfrom getsockname getpeername getifaddrs freeifaddrs \ gai_strerror mkstemp getline getdelim fsync sync \ difftime posix_memalign \ getpwent endpwent getgrent endgrent \ +touchlock \ cfmakeraw cfsetspeed copysign __executable_start) dnl Cannot use AC_CHECK_FUNCS @@ -2723,10 +2721,10 @@ AC_FUNC_GETPGRP # UNIX98 PTYs. -AC_CHECK_FUNCS(grantpt) +AC_CHECK_FUNCS_ONCE(grantpt) # PTY-related GNU extensions. -AC_CHECK_FUNCS(getpt) +AC_CHECK_FUNCS_ONCE(getpt) # Check this now, so that we will NOT find the above functions in ncurses. # That is because we have not set up to link ncurses in lib-src. @@ -3077,7 +3075,7 @@ AC_FUNC_FORK -AC_CHECK_FUNCS(snprintf) +AC_CHECK_FUNCS_ONCE(snprintf) dnl Adapted from Haible's version. AC_CACHE_CHECK([for nl_langinfo and CODESET], emacs_cv_langinfo_codeset, ------------------------------------------------------------ revno: 108576 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-06-12 13:19:08 -0400 message: * configure.in: Anticipate platforms with no src/s file. This is based on the previous treatment of src/m files. diff: === modified file 'ChangeLog' --- ChangeLog 2012-06-12 10:08:39 +0000 +++ ChangeLog 2012-06-12 17:19:08 +0000 @@ -1,3 +1,7 @@ +2012-06-12 Glenn Morris + + * configure.in: Anticipate platforms with no src/s file. + 2012-06-12 Chong Yidong * configure.in: Check for MagickMergeImageLayers (Bug#11678). === modified file 'configure.in' --- configure.in 2012-06-12 16:14:53 +0000 +++ configure.in 2012-06-12 17:19:08 +0000 @@ -3162,7 +3162,11 @@ AC_SUBST(CFLAGS) ## Used in lwlib/Makefile.in. AC_SUBST(X_TOOLKIT_TYPE) -S_FILE="\$(srcdir)/${opsysfile}" +if test -n "${opsysfile}"; then + S_FILE="\$(srcdir)/${opsysfile}" +else + S_FILE= +fi AC_SUBST(S_FILE) AC_SUBST(ns_appdir) AC_SUBST(ns_appbindir) @@ -3175,8 +3179,10 @@ [Define to the canonical Emacs configuration name.]) AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${ac_configure_args}", [Define to the options passed to configure.]) -AC_DEFINE_UNQUOTED(config_opsysfile, "${opsysfile}", - [Define to the used os dependent file.]) +if test -n "$opsysfile"; then + AC_DEFINE_UNQUOTED(config_opsysfile, "${opsysfile}", + [Define to the used os dependent file.]) +fi XMENU_OBJ= XOBJ= @@ -3519,7 +3525,9 @@ #define subprocesses /* Include the os dependent file. */ -#include config_opsysfile +#ifdef config_opsysfile +# include config_opsysfile +#endif /* GNUstep needs a bit more pure memory. Of the existing knobs, SYSTEM_PURESIZE_EXTRA seems like the least likely to cause problems. @@ -3614,8 +3622,7 @@ Configured for \`${canonical}'. Where should the build process find the source code? ${srcdir} - What operating system file should Emacs use? - \`${opsysfile}' + What operating system file should Emacs use? \`${opsysfile-none}' What compiler should emacs be built with? ${CC} ${CFLAGS} Should Emacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason} Should Emacs use a relocating allocator for buffers? ${REL_ALLOC} ------------------------------------------------------------ revno: 108575 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-06-12 09:14:53 -0700 message: Fix autoconf quoting in previous change diff: === modified file 'configure.in' --- configure.in 2012-06-12 10:08:39 +0000 +++ configure.in 2012-06-12 16:14:53 +0000 @@ -938,7 +938,7 @@ dnl gnu-linux -> gnu/linux, etc.): dnl gnu, gnu/linux, gnu/kfreebsd, aix, cygwin, darwin, hpux, irix. dnl And special cases: berkeley-unix, usg-unix-v, ms-dos, windows-nt. -SYSTEM_TYPE=`echo $opsys | sed -e 's/[0-9].*//' -e 's|-|/|'` +SYSTEM_TYPE=`echo $opsys | sed -e 's/[[0-9]].*//' -e 's|-|/|'` dnl NB do not use CRT_DIR unquoted here, since it might not be set yet. case $opsys in ------------------------------------------------------------ revno: 108574 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-06-12 06:17:28 -0400 message: Auto-commit of generated files. diff: === modified file 'autogen/config.in' --- autogen/config.in 2012-06-10 10:18:41 +0000 +++ autogen/config.in 2012-06-12 10:17:28 +0000 @@ -525,6 +525,9 @@ /* Define to 1 if you have the `MagickExportImagePixels' function. */ #undef HAVE_MAGICKEXPORTIMAGEPIXELS +/* Define to 1 if you have the `MagickMergeImageLayers' function. */ +#undef HAVE_MAGICKMERGEIMAGELAYERS + /* Define to 1 if you have the header file. */ #undef HAVE_MAILLOCK_H @@ -1054,6 +1057,9 @@ /* Define to use system malloc. */ #undef SYSTEM_MALLOC +/* The type of system you are compiling for; sets `system-type'. */ +#undef SYSTEM_TYPE + /* Define to 1 if you use terminfo instead of termcap. */ #undef TERMINFO === modified file 'autogen/configure' --- autogen/configure 2012-06-10 13:20:58 +0000 +++ autogen/configure 2012-06-12 10:17:28 +0000 @@ -8073,6 +8073,7 @@ LIB_MATH=-lm LIB_STANDARD= START_FILES= +SYSTEM_TYPE=`echo $opsys | sed -e 's/0-9.*//' -e 's|-|/|'` case $opsys in cygwin ) @@ -8087,6 +8088,7 @@ freebsd ) LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o $(CRT_DIR)/crtn.o' START_FILES='pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o $(CRT_DIR)/crtbegin.o' + SYSTEM_TYPE=berkeley-unix ;; gnu-linux | gnu-kfreebsd ) LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtn.o' @@ -8099,12 +8101,23 @@ netbsd | openbsd ) LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o' START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crtbegin.o' - ;; + SYSTEM_TYPE=berkeley-unix + ;; + + sol2* | unixware ) + SYSTEM_TYPE=usg-unix-v + ;; + esac +cat >>confdefs.h <<_ACEOF +#define SYSTEM_TYPE "$SYSTEM_TYPE" +_ACEOF + + crt_files= for file in x $LIB_STANDARD $START_FILES; do @@ -10423,6 +10436,17 @@ fi done + for ac_func in MagickMergeImageLayers +do : + ac_fn_c_check_func "$LINENO" "MagickMergeImageLayers" "ac_cv_func_MagickMergeImageLayers" +if test "x$ac_cv_func_MagickMergeImageLayers" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MAGICKMERGEIMAGELAYERS 1 +_ACEOF + +fi +done + fi fi fi ------------------------------------------------------------ revno: 108573 fixes bug(s): http://debbugs.gnu.org/11678 committer: Chong Yidong branch nick: trunk timestamp: Tue 2012-06-12 18:08:39 +0800 message: Handle availability of MagickMergeImageLayers and MagickExportImagePixels * configure.in: Check for MagickMergeImageLayers. * src/image.c (imagemagick_load_image): Use MagickFlattenImage if MagickMergeImageLayers is undefined. Use pixel pusher loop if MagickExportImagePixels is undefined. diff: === modified file 'ChangeLog' --- ChangeLog 2012-06-11 23:17:11 +0000 +++ ChangeLog 2012-06-12 10:08:39 +0000 @@ -1,3 +1,7 @@ +2012-06-12 Chong Yidong + + * configure.in: Check for MagickMergeImageLayers (Bug#11678). + 2012-06-11 Glenn Morris * configure.in (SYSTEM_TYPE): New AC_DEFINE. === modified file 'configure.in' --- configure.in 2012-06-11 23:17:11 +0000 +++ configure.in 2012-06-12 10:08:39 +0000 @@ -1855,6 +1855,7 @@ CFLAGS="$CFLAGS $IMAGEMAGICK_CFLAGS" LIBS="$IMAGEMAGICK_LIBS $LIBS" AC_CHECK_FUNCS(MagickExportImagePixels) + AC_CHECK_FUNCS(MagickMergeImageLayers) fi fi fi === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-12 00:30:18 +0000 +++ src/ChangeLog 2012-06-12 10:08:39 +0000 @@ -1,3 +1,9 @@ +2012-06-12 Chong Yidong + + * image.c (imagemagick_load_image): Use MagickFlattenImage if + MagickMergeImageLayers is undefined. Use pixel pusher loop if + MagickExportImagePixels is undefined. + 2012-06-12 Paul Eggert * image.c (imagemagick_load_image): Remove unused label. === modified file 'src/image.c' --- src/image.c 2012-06-12 00:30:18 +0000 +++ src/image.c 2012-06-12 10:08:39 +0000 @@ -7783,7 +7783,11 @@ { MagickWand *new_wand; MagickSetImageBackgroundColor (image_wand, bg_wand); +#ifdef HAVE_MAGICKMERGEIMAGELAYERS new_wand = MagickMergeImageLayers (image_wand, MergeLayer); +#else + new_wand = MagickFlattenImages (image_wand); +#endif DestroyMagickWand (image_wand); image_wand = new_wand; } @@ -7800,7 +7804,50 @@ init_color_table (); - if (imagemagick_render_type == 0) +#ifdef HAVE_MAGICKEXPORTIMAGEPIXELS + if (imagemagick_render_type != 0) + { + /* Magicexportimage is normally faster than pixelpushing. This + method is also well tested. Some aspects of this method are + ad-hoc and needs to be more researched. */ + int imagedepth = 24; /*MagickGetImageDepth(image_wand);*/ + const char *exportdepth = imagedepth <= 8 ? "I" : "BGRP"; /*"RGBP";*/ + /* Try to create a x pixmap to hold the imagemagick pixmap. */ + if (!x_create_x_image_and_pixmap (f, width, height, imagedepth, + &ximg, &img->pixmap)) + { +#ifdef COLOR_TABLE_SUPPORT + free_color_table (); +#endif + image_error ("Imagemagick X bitmap allocation failure", Qnil, Qnil); + goto imagemagick_error; + } + + /* Oddly, the below code doesn't seem to work:*/ + /* switch(ximg->bitmap_unit){ */ + /* case 8: */ + /* pixelwidth=CharPixel; */ + /* break; */ + /* case 16: */ + /* pixelwidth=ShortPixel; */ + /* break; */ + /* case 32: */ + /* pixelwidth=LongPixel; */ + /* break; */ + /* } */ + /* + Here im just guessing the format of the bitmap. + happens to work fine for: + - bw djvu images + on rgb display. + seems about 3 times as fast as pixel pushing(not carefully measured) + */ + pixelwidth = CharPixel; /*??? TODO figure out*/ + MagickExportImagePixels (image_wand, 0, 0, width, height, + exportdepth, pixelwidth, ximg->data); + } + else +#endif /* HAVE_MAGICKEXPORTIMAGEPIXELS */ { size_t image_height; @@ -7850,58 +7897,6 @@ } DestroyPixelIterator (iterator); } - else /* imagemagick_render_type != 0 */ - { - /* Magicexportimage is normally faster than pixelpushing. This - method is also well tested. Some aspects of this method are - ad-hoc and needs to be more researched. */ - int imagedepth = 24;/*MagickGetImageDepth(image_wand);*/ - const char *exportdepth = imagedepth <= 8 ? "I" : "BGRP";/*"RGBP";*/ - /* Try to create a x pixmap to hold the imagemagick pixmap. */ - if (!x_create_x_image_and_pixmap (f, width, height, imagedepth, - &ximg, &img->pixmap)) - { -#ifdef COLOR_TABLE_SUPPORT - free_color_table (); -#endif - image_error ("Imagemagick X bitmap allocation failure", Qnil, Qnil); - goto imagemagick_error; - } - - - /* Oddly, the below code doesn't seem to work:*/ - /* switch(ximg->bitmap_unit){ */ - /* case 8: */ - /* pixelwidth=CharPixel; */ - /* break; */ - /* case 16: */ - /* pixelwidth=ShortPixel; */ - /* break; */ - /* case 32: */ - /* pixelwidth=LongPixel; */ - /* break; */ - /* } */ - /* - Here im just guessing the format of the bitmap. - happens to work fine for: - - bw djvu images - on rgb display. - seems about 3 times as fast as pixel pushing(not carefully measured) - */ - pixelwidth = CharPixel;/*??? TODO figure out*/ -#ifdef HAVE_MAGICKEXPORTIMAGEPIXELS - MagickExportImagePixels (image_wand, - 0, 0, - width, height, - exportdepth, - pixelwidth, - ximg->data); -#else - image_error ("You don't have MagickExportImagePixels, upgrade ImageMagick!", - Qnil, Qnil); -#endif - } - #ifdef COLOR_TABLE_SUPPORT /* Remember colors allocated for this image. */ ------------------------------------------------------------ revno: 108572 committer: Chong Yidong branch nick: trunk timestamp: Tue 2012-06-12 18:00:53 +0800 message: * url-handlers.el: Re-order file to avoid recursive load. diff: === modified file 'lisp/url/ChangeLog' --- lisp/url/ChangeLog 2012-06-12 05:47:14 +0000 +++ lisp/url/ChangeLog 2012-06-12 10:00:53 +0000 @@ -1,5 +1,9 @@ 2012-06-12 Chong Yidong + * url-handlers.el: Re-order file to avoid recursive load. + +2012-06-12 Chong Yidong + * url-handlers.el (url-handler-regexp): * url-nfs.el (url-nfs-automounter-directory-spec): * url-vars.el (url-load-hook): Convert to defcustom. === modified file 'lisp/url/url-handlers.el' --- lisp/url/url-handlers.el 2012-06-12 05:47:14 +0000 +++ lisp/url/url-handlers.el 2012-06-12 10:00:53 +0000 @@ -91,6 +91,20 @@ ;; write-region ;;;###autoload +(define-minor-mode url-handler-mode + "Toggle using `url' library for URL filenames (URL Handler mode). +With a prefix argument ARG, enable URL Handler mode if ARG is +positive, and disable it otherwise. If called from Lisp, enable +the mode if ARG is omitted or nil." + :global t :group 'url + ;; Remove old entry, if any. + (setq file-name-handler-alist + (delq (rassq 'url-file-handler file-name-handler-alist) + file-name-handler-alist)) + (if url-handler-mode + (push (cons url-handler-regexp 'url-file-handler) + file-name-handler-alist))) + (defcustom url-handler-regexp "\\`\\(https?\\|ftp\\|file\\|nfs\\)://" "Regular expression for URLs handled by `url-handler-mode'. When URL Handler mode is enabled, this regular expression is @@ -109,21 +123,6 @@ (if enable (url-handler-mode))))) -;;;###autoload -(define-minor-mode url-handler-mode - "Toggle using `url' library for URL filenames (URL Handler mode). -With a prefix argument ARG, enable URL Handler mode if ARG is -positive, and disable it otherwise. If called from Lisp, enable -the mode if ARG is omitted or nil." - :global t :group 'url - ;; Remove old entry, if any. - (setq file-name-handler-alist - (delq (rassq 'url-file-handler file-name-handler-alist) - file-name-handler-alist)) - (if url-handler-mode - (push (cons url-handler-regexp 'url-file-handler) - file-name-handler-alist))) - (defun url-run-real-handler (operation args) (let ((inhibit-file-name-handlers (cons 'url-file-handler (if (eq operation inhibit-file-name-operation) ------------------------------------------------------------ revno: 108571 committer: Chong Yidong branch nick: trunk timestamp: Tue 2012-06-12 13:47:14 +0800 message: Various minor variable/hook cleanups. * lisp/emacs-lisp/edebug.el (edebug-inhibit-emacs-lisp-mode-bindings): Rename from gud-inhibit-global-bindings. * lisp/emacs-lisp/eieio.el (eieio-pre-method-execution-hooks): Doc fix. * lisp/erc/erc-dcc.el (erc-dcc-chat-filter-functions): Rename from erc-dcc-chat-filter-hook, since this is an abnormal hook. * lisp/nxml/nxml-glyph.el (nxml-glyph-set-functions): Rename abnormal hook from nxml-glyph-set-hook. * lisp/progmodes/cwarn.el (cwarn-mode): Remove redundant variable declaration. * lisp/progmodes/pascal.el (pascal-toggle-completions): Doc fix. * lisp/textmodes/bibtex.el (bibtex-string-file-path, bibtex-file-path): Convert to defcustom. * lisp/url/url-handlers.el (url-handler-regexp): * lisp/url/url-nfs.el (url-nfs-automounter-directory-spec): * lisp/url/url-vars.el (url-load-hook): Convert to defcustom. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-06-12 01:03:10 +0000 +++ lisp/ChangeLog 2012-06-12 05:47:14 +0000 @@ -1,3 +1,21 @@ +2012-06-12 Chong Yidong + + * emacs-lisp/edebug.el (edebug-inhibit-emacs-lisp-mode-bindings): + Rename from gud-inhibit-global-bindings. + + * emacs-lisp/eieio.el (eieio-pre-method-execution-hooks): Doc fix. + + * nxml/nxml-glyph.el (nxml-glyph-set-functions): Rename abnormal + hook from nxml-glyph-set-hook. + + * progmodes/cwarn.el (cwarn-mode): Remove redundant variable + declaration. + + * progmodes/pascal.el (pascal-toggle-completions): Doc fix. + + * textmodes/bibtex.el (bibtex-string-file-path, bibtex-file-path): + Convert to defcustom. + 2012-06-12 Drew Adams * help-mode.el (help-bookmark-make-record, help-bookmark-jump): === modified file 'lisp/emacs-lisp/edebug.el' --- lisp/emacs-lisp/edebug.el 2012-06-07 19:25:48 +0000 +++ lisp/emacs-lisp/edebug.el 2012-06-12 05:47:14 +0000 @@ -3055,7 +3055,6 @@ (edebug-toggle-save-selected-window) (edebug-toggle-save-all-windows))) - (defun edebug-where () "Show the debug windows and where we stopped in the program." (interactive) @@ -3735,12 +3734,16 @@ ;;; Edebug Minor Mode -;; FIXME eh? -(defvar gud-inhibit-global-bindings - "Non-nil means don't do global rebindings of C-x C-a subcommands.") +(defvar edebug-inhibit-emacs-lisp-mode-bindings nil + "If non-nil, inhibit Edebug bindings on the C-x C-a key. +By default, loading the `edebug' library causes these bindings to +be installed in `emacs-lisp-mode-map'.") + +(define-obsolete-variable-alias 'gud-inhibit-global-bindings + 'edebug-inhibit-emacs-lisp-mode-bindings "24.2") ;; Global GUD bindings for all emacs-lisp-mode buffers. -(unless gud-inhibit-global-bindings +(unless edebug-inhibit-emacs-lisp-mode-bindings (define-key emacs-lisp-mode-map "\C-x\C-a\C-s" 'edebug-step-mode) (define-key emacs-lisp-mode-map "\C-x\C-a\C-n" 'edebug-next-mode) (define-key emacs-lisp-mode-map "\C-x\C-a\C-c" 'edebug-go-mode) === modified file 'lisp/emacs-lisp/eieio.el' --- lisp/emacs-lisp/eieio.el 2012-04-20 05:47:55 +0000 +++ lisp/emacs-lisp/eieio.el 2012-06-12 05:47:14 +0000 @@ -2044,7 +2044,7 @@ is called, the next method is popped off the stack.") (defvar eieio-pre-method-execution-hooks nil - "Hooks run just before a method is executed. + "Abnormal hook run just before an EIEIO method is executed. The hook function must accept one argument, the list of forms about to be executed.") === modified file 'lisp/erc/ChangeLog' --- lisp/erc/ChangeLog 2012-06-10 13:20:58 +0000 +++ lisp/erc/ChangeLog 2012-06-12 05:47:14 +0000 @@ -1,3 +1,8 @@ +2012-06-12 Chong Yidong + + * erc-dcc.el (erc-dcc-chat-filter-functions): Rename from + erc-dcc-chat-filter-hook, since this is an abnormal hook. + 2012-06-08 Chong Yidong * erc.el (erc-direct-msg-face, erc-header-line, erc-input-face) === modified file 'lisp/erc/erc-dcc.el' --- lisp/erc/erc-dcc.el 2012-05-14 15:42:23 +0000 +++ lisp/erc/erc-dcc.el 2012-06-12 05:47:14 +0000 @@ -627,7 +627,7 @@ ;;;###autoload (defvar erc-ctcp-query-DCC-hook '(erc-ctcp-query-DCC) - "Hook variable for CTCP DCC queries") + "Hook variable for CTCP DCC queries.") (defvar erc-dcc-query-handler-alist '(("SEND" . erc-dcc-handle-ctcp-send) @@ -1099,8 +1099,13 @@ (pcomplete-here '("auto" "ask" "ignore"))) (defalias 'pcomplete/erc-mode/SREQ 'pcomplete/erc-mode/CREQ) -(defvar erc-dcc-chat-filter-hook '(erc-dcc-chat-parse-output) - "Hook to run after doing parsing (and possible insertion) of DCC messages.") +(defvar erc-dcc-chat-filter-functions '(erc-dcc-chat-parse-output) + "Abnormal hook run after parsing (and maybe inserting) a DCC message. +Each function is called with two arguments: the ERC process and +the unprocessed output.") + +(define-obsolete-variable-alias 'erc-dcc-chat-filter-hook + 'erc-dcc-chat-filter-functions "24.2") (defvar erc-dcc-chat-mode-map (let ((map (make-sparse-keymap))) @@ -1195,8 +1200,8 @@ (set-buffer (process-buffer proc)) (setq erc-dcc-unprocessed-output (concat erc-dcc-unprocessed-output str)) - (run-hook-with-args 'erc-dcc-chat-filter-hook proc - erc-dcc-unprocessed-output)) + (run-hook-with-args 'erc-dcc-chat-filter-functions + proc erc-dcc-unprocessed-output)) (set-buffer orig-buffer)))) (defun erc-dcc-chat-parse-output (proc str) === modified file 'lisp/nxml/nxml-glyph.el' --- lisp/nxml/nxml-glyph.el 2012-04-09 13:05:48 +0000 +++ lisp/nxml/nxml-glyph.el 2012-06-12 05:47:14 +0000 @@ -25,7 +25,7 @@ ;; The entry point to this file is `nxml-glyph-display-string'. ;; The current implementation is heuristic due to a lack of ;; Emacs primitives necessary to implement it properly. The user -;; can tweak the heuristics using `nxml-glyph-set-hook'. +;; can tweak the heuristics using `nxml-glyph-set-functions'. ;;; Code: @@ -332,21 +332,26 @@ (#xFB01 . #xFB02)] "Glyph set corresponding to Windows Glyph List 4.") -(defvar nxml-glyph-set-hook nil - "Hook for determining the set of glyphs in a face. -The hook will receive a single argument FACE. If it can determine -the set of glyphs representable by FACE, it must set the variable -`nxml-glyph-set' and return non-nil. Otherwise, it must return nil. -The hook will be run until success. The constants -`nxml-ascii-glyph-set', `nxml-latin1-glyph-set', +(defvar nxml-glyph-set-functions nil + "Abnormal hook for determining the set of glyphs in a face. +Each function in this hook is called in turn, unless one of them +returns non-nil. Each function is called with a single argument +FACE. If it can determine the set of glyphs representable by +FACE, it must set the variable `nxml-glyph-set' and return +non-nil. Otherwise, it must return nil. + +The constants `nxml-ascii-glyph-set', `nxml-latin1-glyph-set', `nxml-misc-fixed-1-glyph-set', `nxml-misc-fixed-2-glyph-set', `nxml-misc-fixed-3-glyph-set' and `nxml-wgl4-glyph-set' are -predefined for use by `nxml-glyph-set-hook'.") +predefined for use by `nxml-glyph-set-functions'.") + +(define-obsolete-variable-alias 'nxml-glyph-set-hook + 'nxml-glyph-set-functions "24.2") (defvar nxml-glyph-set nil - "Used by `nxml-glyph-set-hook' to return set of glyphs in a FACE. + "Used by `nxml-glyph-set-functions' to return set of glyphs in a FACE. This should dynamically bound by any function that runs -`nxml-glyph-set-hook'. The value must be either nil representing an +`nxml-glyph-set-functions'. The value must be either nil representing an empty set or a vector. Each member of the vector is either a single integer or a cons (FIRST . LAST) representing the range of integers from FIRST to LAST. An integer represents a glyph with that Unicode @@ -367,7 +372,7 @@ (defun nxml-terminal-set-glyph-set (face) (setq nxml-glyph-set nxml-ascii-glyph-set)) -(add-hook 'nxml-glyph-set-hook +(add-hook 'nxml-glyph-set-functions (or (cdr (assq window-system '((x . nxml-x-set-glyph-set) (w32 . nxml-w32-set-glyph-set) @@ -381,7 +386,7 @@ FACE gives the face that will be used for displaying the string. Return nil if the face cannot display a glyph for N." (let ((nxml-glyph-set nil)) - (run-hook-with-args-until-success 'nxml-glyph-set-hook face) + (run-hook-with-args-until-success 'nxml-glyph-set-functions face) (and nxml-glyph-set (nxml-glyph-set-contains-p n nxml-glyph-set) (let ((ch (decode-char 'ucs n))) === modified file 'lisp/nxml/nxml-mode.el' --- lisp/nxml/nxml-mode.el 2012-04-19 17:20:26 +0000 +++ lisp/nxml/nxml-mode.el 2012-06-12 05:47:14 +0000 @@ -54,9 +54,9 @@ (defcustom nxml-char-ref-display-glyph-flag t "Non-nil means display glyph following character reference. -The glyph is displayed in face `nxml-glyph'. The hook -`nxml-glyph-set-hook' can be used to customize for which characters -glyphs are displayed." +The glyph is displayed in face `nxml-glyph'. The abnormal hook +`nxml-glyph-set-functions' can be used to change the characters +for which glyphs are displayed." :group 'nxml :type 'boolean) === modified file 'lisp/progmodes/cwarn.el' --- lisp/progmodes/cwarn.el 2012-04-09 13:05:48 +0000 +++ lisp/progmodes/cwarn.el 2012-06-12 05:47:14 +0000 @@ -119,12 +119,6 @@ :version "21.1" :group 'faces) -(defvar cwarn-mode nil - "Non-nil when Cwarn mode is active. - -Never set this variable directly, use the command `cwarn-mode' -instead.") - (defcustom cwarn-configuration '((c-mode (not reference)) (c++-mode t)) === modified file 'lisp/progmodes/pascal.el' --- lisp/progmodes/pascal.el 2012-04-27 02:48:38 +0000 +++ lisp/progmodes/pascal.el 2012-06-12 05:47:14 +0000 @@ -232,10 +232,10 @@ :group 'pascal) (defvar pascal-toggle-completions nil - "Non-nil meant \\\\[pascal-complete-word] would try all possible completions one by one. -Repeated use of \\[pascal-complete-word] would show you all of them. -Normally, when there is more than one possible completion, -it displays a list of all possible completions.") + "If non-nil, `pascal-complete-word' tries all possible completions. +Repeated use of \\[pascal-complete-word] then shows all +completions in turn, instead of displaying a list of all possible +completions.") (make-obsolete-variable 'pascal-toggle-completions 'completion-cycle-threshold "24.1") === modified file 'lisp/textmodes/bibtex.el' --- lisp/textmodes/bibtex.el 2012-04-09 13:05:48 +0000 +++ lisp/textmodes/bibtex.el 2012-06-12 05:47:14 +0000 @@ -916,8 +916,10 @@ :group 'bibtex :type '(repeat file)) -(defvar bibtex-string-file-path (getenv "BIBINPUTS") - "Colon separated list of paths to search for `bibtex-string-files'.") +(defcustom bibtex-string-file-path (getenv "BIBINPUTS") + "Colon-separated list of paths to search for `bibtex-string-files'." + :group 'bibtex + :type 'string) (defcustom bibtex-files nil "List of BibTeX files that are searched for entry keys. @@ -930,8 +932,10 @@ :type '(repeat (choice (const :tag "bibtex-file-path" bibtex-file-path) directory file))) -(defvar bibtex-file-path (getenv "BIBINPUTS") - "Colon separated list of paths to search for `bibtex-files'.") +(defcustom bibtex-file-path (getenv "BIBINPUTS") + "Colon separated list of paths to search for `bibtex-files'." + :group 'bibtex + :type 'string) (defcustom bibtex-search-entry-globally nil "If non-nil, interactive calls of `bibtex-search-entry' search globally. === modified file 'lisp/url/ChangeLog' --- lisp/url/ChangeLog 2012-06-10 13:20:58 +0000 +++ lisp/url/ChangeLog 2012-06-12 05:47:14 +0000 @@ -1,3 +1,9 @@ +2012-06-12 Chong Yidong + + * url-handlers.el (url-handler-regexp): + * url-nfs.el (url-nfs-automounter-directory-spec): + * url-vars.el (url-load-hook): Convert to defcustom. + 2012-05-25 Leo Liu * url-http.el (url-http-codes): Fix mal-formed defconst. === modified file 'lisp/url/url-handlers.el' --- lisp/url/url-handlers.el 2012-04-09 13:05:48 +0000 +++ lisp/url/url-handlers.el 2012-06-12 05:47:14 +0000 @@ -90,13 +90,24 @@ ;; verify-visited-file-modtime ;; write-region -(defvar url-handler-regexp - "\\`\\(https?\\|ftp\\|file\\|nfs\\)://" - "A regular expression for matching URLs handled by `file-name-handler-alist'. -Some valid URL protocols just do not make sense to visit interactively -\(about, data, info, irc, mailto, etc\). This regular expression -avoids conflicts with local files that look like URLs \(Gnus is -particularly bad at this\).") +;;;###autoload +(defcustom url-handler-regexp "\\`\\(https?\\|ftp\\|file\\|nfs\\)://" + "Regular expression for URLs handled by `url-handler-mode'. +When URL Handler mode is enabled, this regular expression is +added to `file-name-handler-alist'. + +Some valid URL protocols just do not make sense to visit +interactively \(about, data, info, irc, mailto, etc\). This +regular expression avoids conflicts with local files that look +like URLs \(Gnus is particularly bad at this\)." + :group 'url + :type 'regexp + :set (lambda (symbol value) + (let ((enable url-handler-mode)) + (url-handler-mode 0) + (set-default symbol value) + (if enable + (url-handler-mode))))) ;;;###autoload (define-minor-mode url-handler-mode @@ -105,16 +116,13 @@ positive, and disable it otherwise. If called from Lisp, enable the mode if ARG is omitted or nil." :global t :group 'url - (if (not (boundp 'file-name-handler-alist)) - ;; Can't be turned ON anyway. - (setq url-handler-mode nil) - ;; Remove old entry, if any. - (setq file-name-handler-alist - (delq (rassq 'url-file-handler file-name-handler-alist) - file-name-handler-alist)) - (if url-handler-mode - (push (cons url-handler-regexp 'url-file-handler) - file-name-handler-alist)))) + ;; Remove old entry, if any. + (setq file-name-handler-alist + (delq (rassq 'url-file-handler file-name-handler-alist) + file-name-handler-alist)) + (if url-handler-mode + (push (cons url-handler-regexp 'url-file-handler) + file-name-handler-alist))) (defun url-run-real-handler (operation args) (let ((inhibit-file-name-handlers (cons 'url-file-handler === modified file 'lisp/url/url-nfs.el' --- lisp/url/url-nfs.el 2012-04-09 13:05:48 +0000 +++ lisp/url/url-nfs.el 2012-06-12 05:47:14 +0000 @@ -27,8 +27,7 @@ (require 'url-parse) (require 'url-file) -(defvar url-nfs-automounter-directory-spec - "file:/net/%h%f" +(defcustom url-nfs-automounter-directory-spec "file:/net/%h%f" "How to invoke the NFS automounter. Certain % sequences are recognized. %h -- the hostname of the NFS server @@ -38,7 +37,9 @@ %f -- the filename on the remote server %% -- a literal % -Each can be used any number of times.") +Each can be used any number of times." + :group 'url + :type 'string) (defun url-nfs-unescape (format host port user pass file) (with-current-buffer (get-buffer-create " *nfs-parse*") === modified file 'lisp/url/url-vars.el' --- lisp/url/url-vars.el 2012-05-10 06:27:12 +0000 +++ lisp/url/url-vars.el 2012-06-12 05:47:14 +0000 @@ -375,8 +375,10 @@ (modify-syntax-entry ?> ")<" url-parse-syntax-table) (modify-syntax-entry ?/ " " url-parse-syntax-table) -(defvar url-load-hook nil - "Hooks to be run after initializing the URL library.") +(defcustom url-load-hook nil + "Hook run after initializing the URL library." + :group 'url + :type 'hook) ;;; Make OS/2 happy - yeeks ;; (defvar tcp-binary-process-input-services nil