1. 19 Nov, 2017 7 commits
  2. 18 Nov, 2017 10 commits
  3. 17 Nov, 2017 5 commits
  4. 16 Nov, 2017 1 commit
  5. 15 Nov, 2017 2 commits
  6. 14 Nov, 2017 6 commits
  7. 13 Nov, 2017 6 commits
    • Katsumi Yamaoka's avatar
      Fix cookie handling (bug#29282) · caa39f49
      Katsumi Yamaoka authored
      * lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
      Regard a Set-Cookie header as it contains a single cookie;
      prefer Max-Age to Expires and convert it to Expires;
      remove support for old time string styles (bug#29282).
      caa39f49
    • Gemini Lasswell's avatar
      Improve documentation of Edebug and macros · 93304e31
      Gemini Lasswell authored
      * doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
      discussion of when it might be necessary to find and evaluate macro
      specifications before instrumenting.
      (Specification List): Clarify what "defining form" means to Edebug
      and when 'def-form' or 'def-body' should be used instead of 'form'
      or 'body'.
      93304e31
    • Paul Eggert's avatar
      Port to IBM xlc 12.01 · 79108894
      Paul Eggert authored
      Work around a compiler bug by using a separate enum for alignment.
      * src/alloc.c (roundup_size): Declare in a separate enum.
      79108894
    • Paul Eggert's avatar
      Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED · d1495609
      Paul Eggert authored
      * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
      needed, since we no longer rely on __attribute__ ((aligned (8))).
      All uses removed.
      * src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
      (lisp_to_value): Simplify now that we no longer need to worry
      whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
      d1495609
    • Paul Eggert's avatar
      Use alignas to fix GCALIGN-related bugs · b1573a97
      Paul Eggert authored
      Use alignas and unions to specify alignments of objects needing
      addresses that are at least a multiple of GCALIGNMENT.  Using
      these standard C facilities should be safer than relying on ad hoc
      and poorly-understood features like GCC’s __attribute__
      ((aligned (N))), the root cause for recent porting bugs like
      Bug#29040.  The alignas macro was standardized by C11 and Gnulib
      supports alignas for pre-C11 platforms.  I have tested this on Sun
      Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
      more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
      x86-64 and x86).
      * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
      just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
      now properly aligned.  All uses changed.
      * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
      member; this is simpler and safer than casting a pointer that
      might not be aligned properly.
      (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
      Lisp_Symbol is aligned properly.  All uses replaced with struct
      Lisp_Symbol.
      * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
      it can cause the natural alignment to be ignored.  All uses
      replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
      described below.
      (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
      Change definition from ‘struct TAG { MEMBERS };’ to
      ‘struct TAG { union { struct { MEMBERS } s; char alignas
      (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
      to have an alignment that at least max (GCALIGNMENT, N) where N is
      its old alignment.  All uses like ‘PTR->MEMBER’ changed to
      ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
      anyway.  Verify that the resulting ‘struct TAG’ is properly
      aligned for Emacs.
      (union vectorlike_header): New member ‘gcaligned’ to guarantee
      that this type, and its containing types like ‘struct Lisp_Subr’,
      ‘struct buffer’ and ‘struct thread_state’, are all properly
      aligned for Emacs.
      (struct Lisp_String): New union member ‘next’, for the benefit
      of NEXT_FREE_LISP_STRING.
      (union Aligned_Cons, union Aligned_String): Remove.  All uses
      replaced by struct Lisp_Cons and struct Lisp_String, since they
      are now properly aligned.
      (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
      assume struct Lisp_Cons and struct Lisp_String are properly
      aligned.
      b1573a97
    • Paul Eggert's avatar
      Change vectorlike from struct to union · 5d68dc9a
      Paul Eggert authored
      * src/lisp.h (vectorlike_headed): Change from struct to union.
      All uses changed.  Since it has only one member, this does not
      change semantics.  This is designed to simplify future changes
      needed to fix bugs like Bug#29040.  All uses changed.
      5d68dc9a
  8. 12 Nov, 2017 3 commits