1. 20 Apr, 2010 1 commit
    • Eli Zaretskii's avatar
      Fix R2L paragraph display on TTY. · 93d68d0c
      Eli Zaretskii authored
       xdisp.c (unproduce_glyphs): New function.
       (display_line): Use it when produced glyphs are discarded from R2L
       glyph rows.
       (append_composite_glyph): In R2L rows, prepend the glyph rather
       than appending it.
       term.c (append_composite_glyph): In R2L rows, prepend the glyph
       rather than append it.  Set up the resolved_level and bidi_type
       attributes of the appended glyph.
      93d68d0c
  2. 17 Apr, 2010 4 commits
    • Eli Zaretskii's avatar
      Fix cursor positioning at end of R2L line on TTY frames. · 43a03da5
      Eli Zaretskii authored
       xdisp.c (extend_face_to_end_of_line): Fix off-by-one error on
       TTY frames in testing whether a line needs face extension.
      43a03da5
    • Eli Zaretskii's avatar
      Mirror continuation indicators for R2L lines; fix face extension on TTY. · 26cdf528
      Eli Zaretskii authored
       xdisp.c (extend_face_to_end_of_line): Fix face extension at ZV.
       term.c (produce_special_glyphs): Mirror the backslash
       continuation character in R2L lines.
       xdisp.c (set_cursor_from_row, display_line): Use
       MATRIX_ROW_CONTINUATION_LINE_P instead of testing value of
       row->continuation_lines_width.
       fringe.c (update_window_fringes): For R2L rows, swap the bitmaps
       of continuation indicators on the fringes.
      26cdf528
    • Eli Zaretskii's avatar
      Fix two crashes with display of R2L lines in GUI sessions. · 45903529
      Eli Zaretskii authored
       xdisp.c (next_element_from_buffer): Don't call
       bidi_paragraph_init if we are at ZV.  Fixes a crash when reseated to
       ZV by try_window_reusing_current_matrix.
       (display_and_set_cursor, erase_phys_cursor): Handle negative HPOS,
       which happens with R2L glyph rows.  Fixes a crash when inserting a
       character at end of an R2L line.
      45903529
    • Eli Zaretskii's avatar
      Continue work on R2L paragraphs in GUI sessions. · 8fccb117
      Eli Zaretskii authored
       xdisp.c (set_cursor_from_row): Don't be fooled by truncated
       rows: don't treat them as having zero-width characters.  Improve
       comments.
       (extend_face_to_end_of_line): Use window_box_width to compute the
       width of the stretch glyph, to account for margins.  If this is
       the last glyph row, use DEFAULT_FACE_ID, to avoid painting the
       rest of the window with the region face.
      8fccb117
  3. 10 Apr, 2010 2 commits
    • Eli Zaretskii's avatar
      Implement cursor on the left fringe for R2L lines. · f951a506
      Eli Zaretskii authored
       xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): For R2L lines,
       consider the left fringe, not the right one.
       (set_cursor_from_row): Don't reverse pos_before and pos_after for
       reversed glyph rows.  Set cursor.x to negative value when the
       cursor might be on the left fringe.
       (extend_face_to_end_of_line): Append the stretch glyph only if its
       width is positive.
       (notice_overwritten_cursor, draw_phys_cursor_glyph)
       (erase_phys_cursor): For reversed cursor_row, support cursor on
       the left fringe.
       w32term.c (w32_draw_window_cursor): For reversed glyph rows,
       draw cursor on the left fringe.
       xterm.c (x_draw_window_cursor): For reversed glyph rows, draw
       cursor on the left fringe.
       fringe.c (draw_fringe_bitmap): For reversed glyph rows, allow
       cursor on the left fringe.
       dispnew.c (update_text_area): Handle reversed desired rows when
       the cursor is on the left fringe.
       (set_window_cursor_after_update): Limit cursor's hpos by -1 from
       below, not by 0, for when the cursor is on the left fringe.
      f951a506
    • Eli Zaretskii's avatar
      Initial implementation of display of R2L paragraphs in GUI sessions. · 2204f4de
      Eli Zaretskii authored
       xdisp.c [HAVE_WINDOW_SYSTEM]: Add prototype for
       append_stretch_glyph.
       (set_cursor_from_row) <cursor_x>: Remove unused variable.  Fix
       off-by-one error in computing x at end of text in the row.
       (extend_face_to_end_of_line): If the row is reversed, prepend a
       stretch glyph whose width is such that the rightmost glyph will be
       drawn at the right margin of the window.
       (append_stretch_glyph): In reversed row, prepend the glyph rather
       than append it.  Set resolved_level and bidi_type of the glyph.
      2204f4de
  4. 09 Apr, 2010 1 commit
  5. 08 Apr, 2010 5 commits
    • Eli Zaretskii's avatar
      Fix bug#5856: don't dereference glyphs beyond end of glyph_row. · 21d28484
      Eli Zaretskii authored
       xdisp.c (set_cursor_from_row): Don't dereference glyphs beyond
       the end of TEXT_AREA.  (Bug#5856)
      21d28484
    • Stefan Monnier's avatar
      Fix some of the problems in defsubst* (bug#5728). · e754e83b
      Stefan Monnier authored
      * emacs-lisp/cl-macs.el (defsubst*): Don't substitute non-trivial args.
      (cl-defsubst-expand): Do the substitutions simultaneously (bug#5728).
      e754e83b
    • Jan Djärv's avatar
    • Eli Zaretskii's avatar
      Fix crash due to incorrect resolution of type of NSM characters (bug#5858). · 5930fe97
      Eli Zaretskii authored
       bidi.c (bidi_resolve_weak): Use prev.type_after_w1, instead of
       prev.orig_type, for resolving type of NSM.
      5930fe97
    • Jan Djärv's avatar
      Lucid menus can now use Xft for fonts. · 99852628
      Jan Djärv authored
      * xsettings.c (current_font, SYSTEM_FONT, XSETTINGS_FONT_NAME): New.
      (parse_xft_settings): Also check for XSETTINGS_FONT_NAME and save that
      in current_font.
      (init_gconf): Read value of SYSTEM_FONT and save it in current_font.
      (Ffont_get_system_normal_font, xsettings_get_system_normal_font): New
      functions.
      (syms_of_xsettings): Initialize current_font. defsubr
      Sfont_get_system_normal_font.
      
      * xsettings.h (Ffont_get_system_normal_font,
      xsettings_get_system_normal_font): Declare.
      
      * xfns.c (extern xlwmenu_default_font): Remove.
      (Fx_create_frame): Remove setting of xlwmenu_default_font, moved
      to xlwmenu.c.
      
      * menu.c (digest_single_submenu): If USE_LUCID and HAVE_XFT, encode
      menu items in UTF-8.
      
      * xmenu.c: include xsettings.h and xlwmenu.h if USE_LUCID.
      (apply_systemfont_to_menu): New function.
      (set_frame_menubar, create_and_show_popup_menu): Call
      apply_systemfont_to_menu.
      
      * xlwmenu.c (xlwmenu_default_font): Make static.
      (xlwMenuResources): Add XtNfaceName and XtNdefaultFace.
      (string_width): Use XftTextExtentsUtf8 if HAVE_XFT.
      (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Add versions for
      HAVE_XFT.
      (size_menu): Set max_rest_width in window_state structure.
      (display_menu_item): If HAVE_XFT and xft_draw is set, use
      XftDrawRect and XftDrawStringUtf8 to draw text.
      (make_windows_if_needed): Set max_rest_width and xft_draw
      in windows[i].
      (openXftFont): New.
      (XlwMenuInitialize): Call openXftFont if HAVE_XFT. If mw->menu.font
      is not set, load font fixed and save it in xlwmenu_default_font.
      (XlwMenuInitialize): Set max_rest_width and xft_draw in windows[0].
      (XlwMenuClassInitialize): Initialize xlwmenu_default_font.
      (XlwMenuRealize): Set xft_fg, xft_bg, xft_disabled_fg and
      windows[0].xft_draw if xft_font is set.
      (XlwMenuDestroy): Destroy all xft_draw and close xft_font.
      (facename_changed): New.
      (XlwMenuSetValues): Call facename_changed. If face name did change,
      close old fonts and destroy xft_draw:s.  Then create new ones.
      
      * xlwmenu.h (XtNfaceName, XtCFaceName, XtNdefaultFace,
      XtCDefaultFace): New.
      
      * xlwmenuP.h (_window_state): Add max_rest_width and xft_draw.
      (_XlwMenu_part): Add faceName,xft_fg, xft_bg, xft_disabled_fg and
      xft_font.
      
      * xresources.texi (Lucid Resources): Mention faceName to set Xft fonts.
      99852628
  6. 07 Apr, 2010 12 commits
    • Sam Steingold's avatar
      add ";;;###autoload" cookies · 9a15cc5a
      Sam Steingold authored
      9a15cc5a
    • Sam Steingold's avatar
      (compilation-save-buffers-predicate): New custom variable. · 9e86ab0b
      Sam Steingold authored
      (compile, recompile): Pass it to `save-some-buffers'.
      9e86ab0b
    • Christoph's avatar
    • Jan Djärv's avatar
    • Jan D's avatar
      Fix resizing for X and non-Gtk+ build. Bug #5848. · 7fc874c4
      Jan D authored
      * frame.h (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Don't use
        FRAME_LINE_TO_PIXEL_Y.
      
      * xterm.c (x_set_window_size_1): Don't add border_width/height to
        pixelwidth/height.
      7fc874c4
    • Dan Nicolaescu's avatar
      Simplify code for HP machines. · 5e5a3b92
      Dan Nicolaescu authored
      * m/hp800.h (LOAD_AVE_TYPE, LOAD_AVE_CVT, NO_REMAP): Do not define
      for GNU_LINUX, not needed.
      (UNEXEC, NEED_BSDTTY): Move definitions...
      * s/hpux10-20.h (UNEXEC, NEED_BSDTTY): ... here.
      5e5a3b92
    • Dan Nicolaescu's avatar
      * m/iris4d.h (UNEXEC): Move definition ... · 863bf481
      Dan Nicolaescu authored
      * s/irix6-5.h (UNEXEC): ... here.
      863bf481
    • Dan Nicolaescu's avatar
      Add new VC methods: vc-log-incoming and vc-log-outgoing. · 31527c56
      Dan Nicolaescu authored
      * vc.el (vc-print-log-setup-buttons): New function split out from
      vc-print-log-internal.
      (vc-log-internal-common): New function, a parametrized version of
      vc-print-log-internal.
      (vc-print-log-internal): Just call vc-log-internal-common with the
      right arguments.
      (vc-incoming-outgoing-internal):
      (vc-log-incoming, vc-log-outgoing): New functions.
      (vc-log-view-type): New permanent local variable.
      
      * vc-hooks.el (vc-menu-map): Bind vc-log-incoming and vc-log-outgoing.
      
      * vc-bzr.el (vc-bzr-log-view-mode): Use vc-log-view-type instead
      of the dynamic bound vc-short-log.
      (vc-bzr-log-incoming, vc-bzr-log-outgoing): New functions.
      
      * vc-git.el (vc-git-log-outgoing): New function.
      (vc-git-log-view-mode): Use vc-log-view-type instead
      of the dynamic bound vc-short-log.
      
      * vc-hg.el (vc-hg-log-view-mode): Use vc-log-view-type instead
      of the dynamic bound vc-short-log.  Highlight the tag.
      (vc-hg-log-incoming, vc-hg-log-outgoing): New functions.
      (vc-hg-outgoing, vc-hg-incoming, vc-hg-outgoing-mode):
      (vc-hg-incoming-mode): Remove.
      (vc-hg-extra-menu-map): Do not bind vc-hg-incoming and vc-hg-outgoing.
      31527c56
    • Dan Nicolaescu's avatar
      Fix default-directory for vc-root-diff. · 7ec69e2b
      Dan Nicolaescu authored
      * vc.el (vc-root-diff): Bind default-directory to the root
      directory for the diff command.
      7ec69e2b
    • Wilson Snyder's avatar
      * verilog-mode.el (verilog-forward-sexp, verilog-calc-1): Support · fd9ea9d3
      Wilson Snyder authored
      "disable fork" and "fork wait" multi word keywords, suggested by
      Steve Pearlmutter.
      (verilog-pretty-declarations): Support lineup of declarations in
      port lists.
      (verilog-skip-backward-comments, verilog-skip-forward-comment-p):
      fix bug for /* / comments
      (verilog-backward-syntactic-ws, verilog-forward-syntactic-ws):
      Speed up and simplfy as this is never called with a bound.
      (verilog-pretty-declarations): Enhance to line up declarations
      inside a parameter list, suggested by Alan Morgan.
      (verilog-pretty-expr): Tune assignment regular expression match
      string for corner cases; also use markers instead of character
      number as indent changes the later.
      (verilog-type-keywords): Fix pulldown as missing
      keyword.
      (verilog-read-sub-decls-line): Fix comments in AUTO_TEMPLATE
      causing truncation of AUTOWIRE signals.  Reported by Bruce
      Tennant.
      (verilog-auto-inst, verilog-auto-inst-port): Add vl_mbits for
      AUTO_TEMPLATEs needing multiple array bits.  Suggested by Bruce
      Tennant.
      (verilog-keywords):
      (verilog-1800-2005-keywords, verilog-1800-2009-keywords): Add IEEE
      1800-2009 keywords, including "global.".
      fd9ea9d3
    • Jay Belanger's avatar
      cfd4160d
    • Vincent Belaïche's avatar
      317a26be
  7. 06 Apr, 2010 5 commits
  8. 05 Apr, 2010 5 commits
  9. 04 Apr, 2010 4 commits
    • Jan Djärv's avatar
      Move declaration before other statements. · 6c1b5a1c
      Jan Djärv authored
      6c1b5a1c
    • Jan Djärv's avatar
      Set WM_CLIENT_MACHINE and _NET_WM_PID properties (Bug#5828). · 3e6bec3b
      Jan Djärv authored
      * xfns.c (set_machine_and_pid_properties): New function.
               (Fx_create_frame): Call set_machine_and_pid_properties.
      3e6bec3b
    • Eli Zaretskii's avatar
      feb72cfb
    • John Wiegley's avatar
      2010-04-04 John Wiegley <jwiegley@gmail.com> · 0523d117
      John Wiegley authored
      	* ido.el (ido-use-virtual-buffers): New variable to indicate
      	whether "virtual buffer" support is enabled for IDO.  Essentially
      	it works as follows: Say you are visiting a file and the buffer
      	gets cleaned up by mignight.el.  Later, you want to switch to that
      	buffer, but find it's no longer open.  With virtual buffers
      	enabled, the buffer name stays in the buffer list (using the
      	ido-virtual face, and always at the end), and if you select it, it
      	opens the file back up again.  This allows you to think less about
      	whether recently opened files are still open or not.  Most of the
      	time you can quit Emacs, restart, and then switch to a file buffer
      	that was previously open as if it still were.  NOTE: This feature
      	has been present in iswitchb for several years now, and I'm
      	porting the same logic to IDO.
      	(ido-virtual): Face used to indicate virtual buffers in the list.
      	(ido-buffer-internal): If a buffer is chosen, and no such buffer
      	exists, but a virtual buffer of that name does (which would be why
      	it was in the list), recreate the buffer by reopening the file.
      	(ido-make-buffer-list): If virtual buffers are being used, call
      	`ido-add-virtual-buffers-to-list' before the make list hook.
      	(ido-virtual-buffers): New variable which contains a copy of the
      	current contents of the `recentf-list', albeit pared down for the
      	sake of speed, and with proper faces applied.
      	(ido-add-virtual-buffers-to-list): Using the `recentf-list',
      	create a list of "virtual buffers" to present to the user in
      	addition to the currently open set.  Note that this logic could
      	get rather slow if that list is too large.  With the default
      	`recentf-max-saved-items' of 200, there is little speed penalty.
      0523d117
  10. 03 Apr, 2010 1 commit