emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Emacs.app dev]: ghost cursor problem is still there


From: Dan Nicolaescu
Subject: Re: [Emacs.app dev]: ghost cursor problem is still there
Date: Sat, 23 Aug 2008 10:30:39 -0700

David Reitter <address@hidden> writes:

  > Adrian et al,
  > 
  > On 22 Jul 2008, at 09:41, David Reitter wrote:
  > >
  > > The main changes are that we check cursor_type instead of cursorType  
  > > and draw the text glyph rather than the cursor when erasing anything  
  > > (`hl' variable).  There's a range of steps that we do to ensure that  
  > > the cursor area is actually visible; I'm not sure if they are really  
  > > needed, but the corresponding X code does it, too.
  > > There is a good bit of guess-work involved, but I'm sure that  
  > > testing will take care of any problems.
  > 
  > OK, in my latest build, things work a lot better and the original  
  > blink-cursor-mode appears to work fine now.  (I don't quite understand  
  > which change made the event mechanisms work better.)
  > 
  > To repeat, these changes address the following issues:
  > 
  > - frame background rather than the right glyph in the white-out phases  
  > during blinking
  > - `cursor-type' variable as in core Emacs, rather than NS specific  
  > solution
  > - with it, support for things like (box . 2)
  > - box/hollow cursors too narrow
  > - standard blink-cursor-mode with all its bells and whistles (whether  
  > one needs them or not)
  > 
  > I would also take the blink rate stuff out of the preferences (a patch  
  > to the nib) - it doesn't work with the generic blinking code and I  
  > believe it's there for historic reasons (because the NS port  
  > implemented blinking separately) rather than because it would be very  
  > important to have for users (one could think of much more important  
  > settings that could be there).
  > 
  > ns_set_cursor_type is now equivalent to the x_set_cursor_type (quasi)  
  > generic.  I left ns_set_cursor_color for you or someone else.
  > 
  > The occasional ghost cursors seem to remain.
  > 
  > Any objections?

[snip]

  > +       drawGlyph = 1; // just draw the Glyph
  >          [FRAME_BACKGROUND_COLOR (f) set];
  > !
  > !       NSDisableScreenUpdates ();


Unfortunately this breaks GNUStep:

gcc -rdynamic `./prefix-args -Xlinker -z nocombreloc -L/usr/lib -L/usr/lib 
-lgnustep-gui -lgnustep-base -lobjc  -lpthread` -o temacs dispnew.o frame.o 
scroll.o xdisp.o menu.o  window.o charset.o coding.o category.o ccl.o 
character.o chartab.o cm.o term.o terminal.o xfaces.o    emacs.o keyboard.o 
macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o 
fileio.o dired.o filemode.o cmds.o casetab.o casefiddle.o indent.o search.o 
regex.o undo.o alloc.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o 
font.o print.o lread.o syntax.o unexelf.o bytecode.o process.o callproc.o 
region-cache.o sound.o atimer.o doprnt.o strftime.o intervals.o textprop.o 
composite.o md5.o  nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o 
fontset.o fringe.o image.o   terminfo.o lastfile.o   vm-limit.o         
-lncurses   -lm 
nsterm.o: In function `ns_draw_window_cursor':
/tmp/emacs/src/nsterm.m:2432: undefined reference to `NSDisableScreenUpdates'
/tmp/emacs/src/nsterm.m:2417: undefined reference to `NSDisableScreenUpdates'
/tmp/emacs/src/nsterm.m:2469: undefined reference to `NSEnableScreenUpdates'
/tmp/emacs/src/nsterm.m:2432: undefined reference to `NSDisableScreenUpdates'
collect2: ld returned 1 exit status
make[1]: *** [temacs] Error 1

Also please make sure that your log entries are properly formatted:

----------------------------
revision 1.24
date: 2008-08-20 19:46:37 +0200;  author: davidswelt;  state: Exp;  lines: +125 
-150;  commitid: c97vNELzQ5S6kyft;
Clear cursor properly rather than redrawing the area. Respect width of
bar cursors. remove ns-specific code for cursor blinking.
----------------------------

Like ChangeLog, it should contain the changed function name, 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]