Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 100034. ------------------------------------------------------------ revno: 100034 committer: Dan Nicolaescu branch nick: trunk timestamp: Sun 2010-04-25 15:16:58 -0700 message: Remove all NO_ARG_ARRAY uses. * fns.c (concat2, concat3, nconc2): * eval.c (apply1, call1, call2, call3, call4, call5, call6) (call7): Remove NO_ARG_ARRAY usage, assume it's always true. * m/xtensa.h (NO_ARG_ARRAY): * m/template.h (NO_ARG_ARRAY): * m/sparc.h (NO_ARG_ARRAY): * m/sh3.h (NO_ARG_ARRAY): * m/mips.h (NO_ARG_ARRAY): * m/macppc.h (NO_ARG_ARRAY): * m/iris4d.h (NO_ARG_ARRAY): * m/intel386.h (NO_ARG_ARRAY): * m/ibms390x.h (NO_ARG_ARRAY): * m/ibms390.h (NO_ARG_ARRAY): * m/ibmrs6000.h (NO_ARG_ARRAY): * m/ia64.h (NO_ARG_ARRAY): * m/hp800.h (NO_ARG_ARRAY): * m/arm.h (NO_ARG_ARRAY): * m/amdx86-64.h (NO_ARG_ARRAY): * m/alpha.h (NO_ARG_ARRAY): Remove definition. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-04-25 17:06:41 +0000 +++ src/ChangeLog 2010-04-25 22:16:58 +0000 @@ -1,3 +1,26 @@ +2010-04-25 Dan Nicolaescu + + Remove all NO_ARG_ARRAY uses. + * fns.c (concat2, concat3, nconc2): + * eval.c (apply1, call1, call2, call3, call4, call5, call6) + (call7): Remove NO_ARG_ARRAY usage, assume it's always true. + * m/xtensa.h (NO_ARG_ARRAY): + * m/template.h (NO_ARG_ARRAY): + * m/sparc.h (NO_ARG_ARRAY): + * m/sh3.h (NO_ARG_ARRAY): + * m/mips.h (NO_ARG_ARRAY): + * m/macppc.h (NO_ARG_ARRAY): + * m/iris4d.h (NO_ARG_ARRAY): + * m/intel386.h (NO_ARG_ARRAY): + * m/ibms390x.h (NO_ARG_ARRAY): + * m/ibms390.h (NO_ARG_ARRAY): + * m/ibmrs6000.h (NO_ARG_ARRAY): + * m/ia64.h (NO_ARG_ARRAY): + * m/hp800.h (NO_ARG_ARRAY): + * m/arm.h (NO_ARG_ARRAY): + * m/amdx86-64.h (NO_ARG_ARRAY): + * m/alpha.h (NO_ARG_ARRAY): Remove definition. + 2010-04-25 Eli Zaretskii * xdisp.c (display_line): Don't assume 2nd call to === modified file 'src/eval.c' --- src/eval.c 2010-04-21 03:02:58 +0000 +++ src/eval.c 2010-04-25 22:16:58 +0000 @@ -2786,7 +2786,6 @@ if (NILP (arg)) RETURN_UNGCPRO (Ffuncall (1, &fn)); gcpro1.nvars = 2; -#ifdef NO_ARG_ARRAY { Lisp_Object args[2]; args[0] = fn; @@ -2794,9 +2793,6 @@ gcpro1.var = args; RETURN_UNGCPRO (Fapply (2, args)); } -#else /* not NO_ARG_ARRAY */ - RETURN_UNGCPRO (Fapply (2, &fn)); -#endif /* not NO_ARG_ARRAY */ } /* Call function fn on no arguments */ @@ -2817,7 +2813,6 @@ Lisp_Object fn, arg1; { struct gcpro gcpro1; -#ifdef NO_ARG_ARRAY Lisp_Object args[2]; args[0] = fn; @@ -2825,11 +2820,6 @@ GCPRO1 (args[0]); gcpro1.nvars = 2; RETURN_UNGCPRO (Ffuncall (2, args)); -#else /* not NO_ARG_ARRAY */ - GCPRO1 (fn); - gcpro1.nvars = 2; - RETURN_UNGCPRO (Ffuncall (2, &fn)); -#endif /* not NO_ARG_ARRAY */ } /* Call function fn with 2 arguments arg1, arg2 */ @@ -2839,7 +2829,6 @@ Lisp_Object fn, arg1, arg2; { struct gcpro gcpro1; -#ifdef NO_ARG_ARRAY Lisp_Object args[3]; args[0] = fn; args[1] = arg1; @@ -2847,11 +2836,6 @@ GCPRO1 (args[0]); gcpro1.nvars = 3; RETURN_UNGCPRO (Ffuncall (3, args)); -#else /* not NO_ARG_ARRAY */ - GCPRO1 (fn); - gcpro1.nvars = 3; - RETURN_UNGCPRO (Ffuncall (3, &fn)); -#endif /* not NO_ARG_ARRAY */ } /* Call function fn with 3 arguments arg1, arg2, arg3 */ @@ -2861,7 +2845,6 @@ Lisp_Object fn, arg1, arg2, arg3; { struct gcpro gcpro1; -#ifdef NO_ARG_ARRAY Lisp_Object args[4]; args[0] = fn; args[1] = arg1; @@ -2870,11 +2853,6 @@ GCPRO1 (args[0]); gcpro1.nvars = 4; RETURN_UNGCPRO (Ffuncall (4, args)); -#else /* not NO_ARG_ARRAY */ - GCPRO1 (fn); - gcpro1.nvars = 4; - RETURN_UNGCPRO (Ffuncall (4, &fn)); -#endif /* not NO_ARG_ARRAY */ } /* Call function fn with 4 arguments arg1, arg2, arg3, arg4 */ @@ -2884,7 +2862,6 @@ Lisp_Object fn, arg1, arg2, arg3, arg4; { struct gcpro gcpro1; -#ifdef NO_ARG_ARRAY Lisp_Object args[5]; args[0] = fn; args[1] = arg1; @@ -2894,11 +2871,6 @@ GCPRO1 (args[0]); gcpro1.nvars = 5; RETURN_UNGCPRO (Ffuncall (5, args)); -#else /* not NO_ARG_ARRAY */ - GCPRO1 (fn); - gcpro1.nvars = 5; - RETURN_UNGCPRO (Ffuncall (5, &fn)); -#endif /* not NO_ARG_ARRAY */ } /* Call function fn with 5 arguments arg1, arg2, arg3, arg4, arg5 */ @@ -2908,7 +2880,6 @@ Lisp_Object fn, arg1, arg2, arg3, arg4, arg5; { struct gcpro gcpro1; -#ifdef NO_ARG_ARRAY Lisp_Object args[6]; args[0] = fn; args[1] = arg1; @@ -2919,11 +2890,6 @@ GCPRO1 (args[0]); gcpro1.nvars = 6; RETURN_UNGCPRO (Ffuncall (6, args)); -#else /* not NO_ARG_ARRAY */ - GCPRO1 (fn); - gcpro1.nvars = 6; - RETURN_UNGCPRO (Ffuncall (6, &fn)); -#endif /* not NO_ARG_ARRAY */ } /* Call function fn with 6 arguments arg1, arg2, arg3, arg4, arg5, arg6 */ @@ -2933,7 +2899,6 @@ Lisp_Object fn, arg1, arg2, arg3, arg4, arg5, arg6; { struct gcpro gcpro1; -#ifdef NO_ARG_ARRAY Lisp_Object args[7]; args[0] = fn; args[1] = arg1; @@ -2945,11 +2910,6 @@ GCPRO1 (args[0]); gcpro1.nvars = 7; RETURN_UNGCPRO (Ffuncall (7, args)); -#else /* not NO_ARG_ARRAY */ - GCPRO1 (fn); - gcpro1.nvars = 7; - RETURN_UNGCPRO (Ffuncall (7, &fn)); -#endif /* not NO_ARG_ARRAY */ } /* Call function fn with 7 arguments arg1, arg2, arg3, arg4, arg5, arg6, arg7 */ @@ -2959,7 +2919,6 @@ Lisp_Object fn, arg1, arg2, arg3, arg4, arg5, arg6, arg7; { struct gcpro gcpro1; -#ifdef NO_ARG_ARRAY Lisp_Object args[8]; args[0] = fn; args[1] = arg1; @@ -2972,11 +2931,6 @@ GCPRO1 (args[0]); gcpro1.nvars = 8; RETURN_UNGCPRO (Ffuncall (8, args)); -#else /* not NO_ARG_ARRAY */ - GCPRO1 (fn); - gcpro1.nvars = 8; - RETURN_UNGCPRO (Ffuncall (8, &fn)); -#endif /* not NO_ARG_ARRAY */ } /* The caller should GCPRO all the elements of ARGS. */ === modified file 'src/fns.c' --- src/fns.c 2010-01-13 08:35:10 +0000 +++ src/fns.c 2010-04-25 22:16:58 +0000 @@ -392,14 +392,10 @@ concat2 (s1, s2) Lisp_Object s1, s2; { -#ifdef NO_ARG_ARRAY Lisp_Object args[2]; args[0] = s1; args[1] = s2; return concat (2, args, Lisp_String, 0); -#else - return concat (2, &s1, Lisp_String, 0); -#endif /* NO_ARG_ARRAY */ } /* ARGSUSED */ @@ -407,15 +403,11 @@ concat3 (s1, s2, s3) Lisp_Object s1, s2, s3; { -#ifdef NO_ARG_ARRAY Lisp_Object args[3]; args[0] = s1; args[1] = s2; args[2] = s3; return concat (3, args, Lisp_String, 0); -#else - return concat (3, &s1, Lisp_String, 0); -#endif /* NO_ARG_ARRAY */ } DEFUN ("append", Fappend, Sappend, 0, MANY, 0, @@ -2344,14 +2336,10 @@ nconc2 (s1, s2) Lisp_Object s1, s2; { -#ifdef NO_ARG_ARRAY Lisp_Object args[2]; args[0] = s1; args[1] = s2; return Fnconc (2, args); -#else - return Fnconc (2, &s1); -#endif /* NO_ARG_ARRAY */ } DEFUN ("nconc", Fnconc, Snconc, 0, MANY, 0, === modified file 'src/m/alpha.h' --- src/m/alpha.h 2010-03-20 08:11:59 +0000 +++ src/m/alpha.h 2010-04-25 22:16:58 +0000 @@ -41,11 +41,6 @@ #undef WORDS_BIG_ENDIAN -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - /* Now define a symbol for the cpu type, if your compiler does not define it automatically. */ === modified file 'src/m/amdx86-64.h' --- src/m/amdx86-64.h 2010-04-24 19:50:03 +0000 +++ src/m/amdx86-64.h 2010-04-25 22:16:58 +0000 @@ -38,11 +38,6 @@ #undef WORDS_BIG_ENDIAN -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - /* Now define a symbol for the cpu type, if your compiler does not define it automatically: Ones defined so far include vax, m68000, ns16000, pyramid, === modified file 'src/m/arm.h' --- src/m/arm.h 2010-02-21 13:44:07 +0000 +++ src/m/arm.h 2010-04-25 22:16:58 +0000 @@ -24,16 +24,6 @@ #undef WORDS_BIG_ENDIAN -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. We can't - * do this on the arm with gcc, since the first 4 args are in registers. */ - -#ifdef __GNUC__ -#define NO_ARG_ARRAY -#else -#undef NO_ARG_ARRAY -#endif - #define NO_REMAP /* armin76@gentoo.org reported that the lgcc_s flag is necessary to === modified file 'src/m/hp800.h' --- src/m/hp800.h 2010-04-21 19:32:54 +0000 +++ src/m/hp800.h 2010-04-25 22:16:58 +0000 @@ -27,11 +27,6 @@ #define WORDS_BIG_ENDIAN -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend the bit field into an int. In other words, if bit fields are always unsigned. === modified file 'src/m/ia64.h' --- src/m/ia64.h 2010-01-13 08:35:10 +0000 +++ src/m/ia64.h 2010-04-25 22:16:58 +0000 @@ -26,11 +26,6 @@ #undef WORDS_BIG_ENDIAN -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - /* Now define a symbol for the cpu type, if your compiler does not define it automatically. */ === modified file 'src/m/ibmrs6000.h' --- src/m/ibmrs6000.h 2010-03-23 02:39:19 +0000 +++ src/m/ibmrs6000.h 2010-04-25 22:16:58 +0000 @@ -22,11 +22,6 @@ operating system this machine is likely to run. USUAL-OPSYS="aix3-1" */ -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - /* Now define a symbol for the cpu type, if your compiler does not define it automatically. */ === modified file 'src/m/ibms390.h' --- src/m/ibms390.h 2010-01-13 08:35:10 +0000 +++ src/m/ibms390.h 2010-04-25 22:16:58 +0000 @@ -27,11 +27,6 @@ #define WORDS_BIG_ENDIAN -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend the 24-bit bit field into an int. In other words, if bit fields are always unsigned. === modified file 'src/m/ibms390x.h' --- src/m/ibms390x.h 2010-04-24 02:23:22 +0000 +++ src/m/ibms390x.h 2010-04-25 22:16:58 +0000 @@ -40,11 +40,6 @@ #define WORDS_BIG_ENDIAN -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - /* Define the type to use. */ #define EMACS_INT long #define EMACS_UINT unsigned long === modified file 'src/m/intel386.h' --- src/m/intel386.h 2010-04-23 22:14:14 +0000 +++ src/m/intel386.h 2010-04-25 22:16:58 +0000 @@ -39,11 +39,6 @@ #undef WORDS_BIG_ENDIAN -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/* #define NO_ARG_ARRAY */ - #ifdef USG #define TEXT_START 0 #endif /* USG */ @@ -51,7 +46,6 @@ #ifdef WINDOWSNT #define VIRT_ADDR_VARIES #define DATA_START get_data_start () -#define NO_ARG_ARRAY #endif #ifdef GNU_LINUX === modified file 'src/m/iris4d.h' --- src/m/iris4d.h 2010-04-07 06:01:30 +0000 +++ src/m/iris4d.h 2010-04-25 22:16:58 +0000 @@ -23,11 +23,6 @@ #define WORDS_BIG_ENDIAN -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend the bit field into an int. In other words, if bit fields are always unsigned. === modified file 'src/m/macppc.h' --- src/m/macppc.h 2010-04-23 09:06:43 +0000 +++ src/m/macppc.h 2010-04-25 22:16:58 +0000 @@ -22,11 +22,6 @@ #define WORDS_BIG_ENDIAN -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - /* Data type of load average, as read out of kmem. */ #define LOAD_AVE_TYPE long === modified file 'src/m/mips.h' --- src/m/mips.h 2010-04-23 21:58:07 +0000 +++ src/m/mips.h 2010-04-25 22:16:58 +0000 @@ -33,11 +33,6 @@ #define WORDS_BIG_ENDIAN #endif -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend the 24-bit bit field into an int. In other words, if bit fields are always unsigned. === modified file 'src/m/sh3.h' --- src/m/sh3.h 2008-10-20 02:25:28 +0000 +++ src/m/sh3.h 2010-04-25 22:16:58 +0000 @@ -4,7 +4,5 @@ # define WORDS_BIG_ENDIAN #endif -#define NO_ARG_ARRAY - /* arch-tag: 1b01b84f-f044-4afa-aa4b-caa54ec38966 (do not change this comment) */ === modified file 'src/m/sparc.h' --- src/m/sparc.h 2010-01-13 08:35:10 +0000 +++ src/m/sparc.h 2010-04-25 22:16:58 +0000 @@ -31,11 +31,6 @@ #define WORDS_BIG_ENDIAN -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - /* __sparc__ is defined by the compiler by default. */ /* XINT must explicitly sign-extend === modified file 'src/m/template.h' --- src/m/template.h 2010-01-13 08:35:10 +0000 +++ src/m/template.h 2010-04-25 22:16:58 +0000 @@ -27,11 +27,6 @@ #define WORDS_BIG_ENDIAN -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - /* Now define a symbol for the cpu type, if your compiler does not define it automatically. Ones defined so far include m68k and many others */ === modified file 'src/m/xtensa.h' --- src/m/xtensa.h 2008-07-11 02:29:43 +0000 +++ src/m/xtensa.h 2010-04-25 22:16:58 +0000 @@ -2,8 +2,6 @@ Add a license notice if this grows to > 10 lines of code. */ -#define NO_ARG_ARRAY - #ifdef __LITTLE_ENDIAN #undef WORDS_BIG_ENDIAN #else ------------------------------------------------------------ revno: 100033 [merge] committer: Eli Zaretskii branch nick: trunk timestamp: Sun 2010-04-25 20:06:41 +0300 message: Fix crash with bidi display on the last empty line (bug#6030). xdisp.c (display_line): Don't assume 2nd call to get_next_display_element cannot return zero. (Bug#6030) Move code that bidi-iterates out of display property to a separate function. xdisp.c (iterate_out_of_display_property): New function, body from pop_it. (pop_it): Use it. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-04-24 19:50:03 +0000 +++ src/ChangeLog 2010-04-25 17:06:41 +0000 @@ -1,3 +1,10 @@ +2010-04-25 Eli Zaretskii + + * xdisp.c (display_line): Don't assume 2nd call to + get_next_display_element cannot return zero. (Bug#6030) + (iterate_out_of_display_property): New function, body from pop_it. + (pop_it): Use it. + 2010-04-24 Glenn Morris * m/amdx86-64.h (START_FILES, LIB_STANDARD) [__OpenBSD__]: === modified file 'src/xdisp.c' --- src/xdisp.c 2010-04-24 11:11:40 +0000 +++ src/xdisp.c 2010-04-25 17:06:41 +0000 @@ -5259,6 +5259,33 @@ ++it->sp; } +static void +iterate_out_of_display_property (it) + struct it *it; +{ + /* Maybe initialize paragraph direction. If we are at the beginning + of a new paragraph, next_element_from_buffer may not have a + chance to do that. */ + if (it->bidi_it.first_elt && it->bidi_it.charpos < ZV) + bidi_paragraph_init (it->paragraph_embedding, &it->bidi_it); + /* prev_stop can be zero, so check against BEGV as well. */ + while (it->bidi_it.charpos >= BEGV + && it->prev_stop <= it->bidi_it.charpos + && it->bidi_it.charpos < CHARPOS (it->position)) + bidi_get_next_char_visually (&it->bidi_it); + /* Record the stop_pos we just crossed, for when we cross it + back, maybe. */ + if (it->bidi_it.charpos > CHARPOS (it->position)) + it->prev_stop = CHARPOS (it->position); + /* If we ended up not where pop_it put us, resync IT's + positional members with the bidi iterator. */ + if (it->bidi_it.charpos != CHARPOS (it->position)) + { + SET_TEXT_POS (it->position, + it->bidi_it.charpos, it->bidi_it.bytepos); + it->current.pos = it->position; + } +} /* Restore IT's settings from IT->stack. Called, for example, when no more overlay strings must be processed, and we return to delivering @@ -5309,25 +5336,7 @@ determine the paragraph base direction if the overlay we just processed is at the beginning of a new paragraph. */ - if (it->bidi_it.first_elt && it->bidi_it.charpos < ZV) - bidi_paragraph_init (it->paragraph_embedding, &it->bidi_it); - /* prev_stop can be zero, so check against BEGV as well. */ - while (it->bidi_it.charpos >= BEGV - && it->prev_stop <= it->bidi_it.charpos - && it->bidi_it.charpos < CHARPOS (it->position)) - bidi_get_next_char_visually (&it->bidi_it); - /* Record the stop_pos we just crossed, for when we cross it - back, maybe. */ - if (it->bidi_it.charpos > CHARPOS (it->position)) - it->prev_stop = CHARPOS (it->position); - /* If we ended up not where pop_it put us, resync IT's - positional members with the bidi iterator. */ - if (it->bidi_it.charpos != CHARPOS (it->position)) - { - SET_TEXT_POS (it->position, - it->bidi_it.charpos, it->bidi_it.bytepos); - it->current.pos = it->position; - } + iterate_out_of_display_property (it); } break; case GET_FROM_STRING: @@ -17979,9 +17988,8 @@ row_end = it->current; /* If the character at max_pos+1 is a newline, skip that as well. Note that this may skip some invisible text. */ - if (!get_next_display_element (it)) - abort (); - if (ITERATOR_AT_END_OF_LINE_P (it)) + if (get_next_display_element (it) + && ITERATOR_AT_END_OF_LINE_P (it)) { set_iterator_to_next (it, 1); /* Record the position after the newline of a continued ------------------------------------------------------------ revno: 100032 committer: Jan D branch nick: trunk timestamp: Sun 2010-04-25 09:23:01 +0200 message: tool-bar.el: Revert unintended checkin in rev 100010. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-04-24 02:36:43 +0000 +++ lisp/ChangeLog 2010-04-25 07:23:01 +0000 @@ -1,3 +1,8 @@ +2010-04-25 Jan Djärv + + * tool-bar.el (tool-bar-local-item-from-menu): Revert unintended + checkin in rev 100010. + 2010-04-24 Glenn Morris * emacs-lisp/authors.el (authors-obsolete-files-regexps): === modified file 'lisp/tool-bar.el' --- lisp/tool-bar.el 2010-04-23 16:26:11 +0000 +++ lisp/tool-bar.el 2010-04-25 07:23:01 +0000 @@ -243,24 +243,24 @@ ;; Last element in the bound key sequence: (kk (aref k (1- (length k))))) (if (and (keymapp m) - (symbolp kk)) ;FIXME: Why? --Stef + (symbolp kk)) (setq submap m key kk))))) - (when submap - (let ((defn nil)) - ;; Here, we're essentially doing a "lookup-key without get_keyelt". - (map-keymap (lambda (k b) (if (eq k key) (setq defn b))) - submap) + (when (and (symbolp submap) (boundp submap)) + (setq submap (eval submap))) + (let ((defn (assq key (cdr submap)))) + (if (eq (cadr defn) 'menu-item) + (define-key-after in-map (vector key) + (append (cdr defn) (list :image image-exp) props)) + (setq defn (cdr defn)) (define-key-after in-map (vector key) - (if (eq (car defn) 'menu-item) - (append (cdr defn) (list :image image-exp) props) - (let ((rest (cdr defn))) - ;; If the rest of the definition starts - ;; with a list of menu cache info, get rid of that. - (if (and (consp rest) (consp (car rest))) - (setq rest (cdr rest))) - (append `(menu-item ,(car defn) ,rest) - (list :image image-exp) props)))))))) + (let ((rest (cdr defn))) + ;; If the rest of the definition starts + ;; with a list of menu cache info, get rid of that. + (if (and (consp rest) (consp (car rest))) + (setq rest (cdr rest))) + (append `(menu-item ,(car defn) ,rest) + (list :image image-exp) props))))))) ;;; Set up some global items. Additions/deletions up for grabs. ------------------------------------------------------------ revno: 100031 committer: Glenn Morris branch nick: trunk timestamp: Sat 2010-04-24 12:50:03 -0700 message: Minor simplications for src/m/amdx86-64.h. * m/amdx86-64.h (START_FILES, LIB_STANDARD) [__OpenBSD__]: For clarity, revert to using fixed /usr/lib rather than $CRT_DIR. (START_FILES, LIB_STANDARD) [__FreeBSD__]: Merge into the generic case, since CRT_DIR defaults to /usr/lib. Suggested by Dan Nicolaescu. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-04-24 12:33:31 +0000 +++ src/ChangeLog 2010-04-24 19:50:03 +0000 @@ -1,3 +1,10 @@ +2010-04-24 Glenn Morris + + * m/amdx86-64.h (START_FILES, LIB_STANDARD) [__OpenBSD__]: + For clarity, revert to using fixed /usr/lib rather than $CRT_DIR. + (START_FILES, LIB_STANDARD) [__FreeBSD__]: Merge into the generic case, + since CRT_DIR defaults to /usr/lib. Suggested by Dan Nicolaescu. + 2010-04-24 Eli Zaretskii * xdisp.c (display_line): Use `reseat' instead of `reseat_1', and === modified file 'src/m/amdx86-64.h' --- src/m/amdx86-64.h 2010-04-24 02:30:11 +0000 +++ src/m/amdx86-64.h 2010-04-24 19:50:03 +0000 @@ -72,30 +72,12 @@ /* Define XPNTR to avoid or'ing with DATA_SEG_BITS */ #undef DATA_SEG_BITS -#ifdef __FreeBSD__ - -/* The libraries for binaries native to the build host's architecture are - installed under /usr/lib in FreeBSD, and the ones that need special paths - are 32-bit compatibility libraries (installed under /usr/lib32). To build - a native binary of Emacs on FreeBSD/amd64 we can just point to /usr/lib. */ - -#undef START_FILES -#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o - -/* The duplicate -lgcc is intentional in the definition of LIB_STANDARD. - The reason is that some functions in libgcc.a call functions from libc.a, - and some libc.a functions need functions from libgcc.a. Since most - versions of ld are one-pass linkers, we need to mention -lgcc twice, - or else we risk getting unresolved externals. */ -#undef LIB_STANDARD -#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o - -#elif defined(__OpenBSD__) - -#undef START_FILES -#define START_FILES pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crtbegin.o -#undef LIB_STANDARD -#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtend.o +#ifdef __OpenBSD__ + +#undef START_FILES +#define START_FILES pre-crt0.o /usr/lib/crt0.o /usr/lib/crtbegin.o +#undef LIB_STANDARD +#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o #elif defined(__NetBSD__) @@ -110,19 +92,25 @@ /* LIB_STANDARD and START_FILES set correctly in s/darwin.h */ -#else /* !__OpenBSD__ && !__FreeBSD__ && !__NetBSD__ && !SOLARIS2 - && !__APPLE__ */ +#else /* !__OpenBSD__ && !__NetBSD__ && !SOLARIS2 && !__APPLE__ */ +/* CRT_DIR defaults to /usr/lib. On GNU/Linux, it may be /usr/lib64. + On FreeBSD, the libraries for binaries native to the build host's + architecture are installed under /usr/lib, and the ones that need + special paths are 32-bit compatibility libraries (installed under + /usr/lib32). So to build a native binary of Emacs on FreeBSD/amd64 + we can just point to /usr/lib. + */ +#undef START_FILES +#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o /* The duplicate -lgcc is intentional in the definition of LIB_STANDARD. The reason is that some functions in libgcc.a call functions from libc.a, and some libc.a functions need functions from libgcc.a. Since most versions of ld are one-pass linkers, we need to mention -lgcc twice, or else we risk getting unresolved externals. */ -#undef START_FILES #undef LIB_STANDARD -#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o #define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o -#endif /* __FreeBSD__ */ +#endif /* __OpenBSD__ */ #endif /* !i386 */ /* arch-tag: 8a5e001d-e12e-4692-a3a6-0b15ba271c6e ------------------------------------------------------------ Use --include-merges or -n0 to see merged revisions.