1. 28 Oct, 2011 3 commits
    • Stefan Monnier's avatar
      9aba6043
    • Juanma Barranquero's avatar
    • Eli Zaretskii's avatar
      Fix bug #8562 with Emacs display on Windows 9X. · db4f02f2
      Eli Zaretskii authored
      Thanks to oslsachem <oslsachem@gmail.com> for helping to debug this.
      
       src/w32font.c (g_b_init_is_w9x, g_b_init_get_outline_metrics_w)
       (g_b_init_get_text_metrics_w, g_b_init_get_glyph_outline_w)
       (g_b_init_get_glyph_outline_w): New static variables.
       (GetOutlineTextMetricsW_Proc, GetTextMetricsW_Proc)
       (GetGlyphOutlineW_Proc): New typedefs.
       (w32_load_unicows_or_gdi32, get_outline_metrics_w)
       (get_text_metrics_w, get_glyph_outline_w, globals_of_w32font): New
       functions.
       (w32font_open_internal, compute_metrics): Call
       get_outline_metrics_w, get_text_metrics_w, and get_glyph_outline_w
       instead of calling the "wide" APIs directly.
       src/emacs.c (main) [HAVE_NTGUI]: Call globals_of_w32font.
       src/w32.h (syms_of_w32font): Add prototype.
      db4f02f2
  2. 27 Oct, 2011 4 commits
  3. 26 Oct, 2011 2 commits
  4. 25 Oct, 2011 3 commits
  5. 20 Oct, 2011 2 commits
    • Eli Zaretskii's avatar
      Improve the speedup of bidi display introduced in 2011-10-18T16:56:09Z!eliz@gnu.org for bug#9771. · 7b5d6677
      Eli Zaretskii authored
       src/dispextern.h (struct bidi_it): New member next_en_type.
       src/bidi.c (bidi_line_init): Initialize the next_en_type member.
       (bidi_resolve_explicit_1): When next_en_pos is valid for the
       current character, check also for next_en_type being WEAK_EN.
       (bidi_resolve_weak): Don't enter the expensive loop if the current
       position is before next_en_pos.  Record the bidi type of the first
       non-ET, non-BN character we find, in addition to its position.
       (bidi_level_of_next_char): Invalidate next_en_type when
       next_en_pos is over-stepped.
      7b5d6677
    • Paul Eggert's avatar
      Time zone name fixes for non-ASCII locales (Bug#641, Bug#9794) · 7da0b018
      Paul Eggert authored
      * configure.in (AC_STRUCT_TM, AC_STRUCT_TIMEZONE, HAVE_TM_GMTOFF):
      Remove; no longer needed, now that we defer to strftime for time
      zone names.
      * src/editfns.c: Rewrite current-time-zone so that it invokes
      the equivalent of (format-time-string "%Z") to get the time zone name.
      This fixes a bug when the time zone name contains characters that
      need converting from the system time locale to Emacs internal format.
      This fixes a shortcoming that I introduced in my 1999-10-19 patch:
      that patch fixed format-time-string to do the conversion, but
      I forgot to fix current-time-zone.
      (format_time_string): New function, containing most of
      what Fformat_time_string used to contain.
      (Fformat_time_string): Rewrite in terms of format_time_string.
      This doesn't change this function's behavior.
      (current-time-zone): Rewrite to use format_time_string.
      This fixes the bug reported by Michael Schierl in
      <http://lists.gnu.org/archive/html/emacs-devel/2007-06/msg00334.html>.
      Jason Rumney's 2007-06-07 change worked around this bug, but
      didn't fix it.
      * src/systime.h (tzname, timezone): Remove no-longer-used declarations.
      7da0b018
  6. 19 Oct, 2011 2 commits
  7. 18 Oct, 2011 2 commits
    • Chong Yidong's avatar
      Have nobreak-char-display handle U+2010 and U+2011. · 4e948d15
      Chong Yidong authored
      See discussion at
      http://lists.gnu.org/archive/html/emacs-devel/2011-10/msg00747.html
      
      * src/xdisp.c (get_next_display_element): Handle U+2010 and U+2011
      with nobreak-char-display too.
      4e948d15
    • Eli Zaretskii's avatar
      Fix bug #9771 with slow redisplay in long lines full of control characters. · 4787455f
      Eli Zaretskii authored
       src/bidi.c (bidi_line_init): Initialize next_en_pos to zero, not -1.
       (bidi_resolve_neutral): Don't enter the expensive loop looking for
       non-neutral characters if the current character is a paragraph
       separator (a.k.a. Newline).  This avoids running the same
       expensive loop twice, once when we consume the preceding newline
       and the other time when the line actually needs to be displayed.
       Avoid the loop when we see neutrals on the base embedding level
       following a character whose directionality is the same as the
       paragraph's.  This avoids running the expensive loop when a line
       ends in a long sequence of neutrals, like control characters.
       Add assertion against STRONG_AL type.  Slightly rearrange code
       that determines the type of a neutral given the first non-neutral
       that follows it.
       (bidi_level_of_next_char): Set next_en_pos to zero when
       invalidating its info.
      4787455f
  8. 17 Oct, 2011 2 commits
  9. 15 Oct, 2011 1 commit
  10. 14 Oct, 2011 1 commit
  11. 13 Oct, 2011 2 commits
  12. 12 Oct, 2011 7 commits
  13. 11 Oct, 2011 2 commits
  14. 08 Oct, 2011 4 commits
  15. 07 Oct, 2011 2 commits
    • Stefan Monnier's avatar
      * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>: Don't · a66cfb1c
      Stefan Monnier authored
      advertise functionality which we discourage or doesn't work.
      a66cfb1c
    • Paul Eggert's avatar
      Fix alignment-related core dump during GC. · 7c5ee88e
      Paul Eggert authored
      * configure.in (GC_LISP_OBJECT_ALIGNMENT): Remove.
      This is now done by src/alloc.c.
      * src/alloc.c (GC_LISP_OBJECT_ALIGNMENT): Use offsetof, not __alignof__
      or sizeof.  __alignof__ gives the wrong answer on Fedora x86-64
      with GCC 4.6.1 when configured with CC='gcc -m32' --with-wide-int;
      this makes Emacs dump core during garbage collection on rare
      occasions.  sizeof is obviously inferior to offsetof here, so
      stick with offsetof.
      (GC_POINTER_ALIGNMENT): New macro.
      (mark_memory): Omit 3rd (offset) arg; caller changed.
      Don't assume EMACS_INT alignment is the same as pointer alignment.
      7c5ee88e
  16. 03 Oct, 2011 1 commit