Changeset c6ecf5c


Ignore:
Timestamp:
Jul 11, 2009, 1:14:36 PM (15 years ago)
Author:
Nelson Elhage <nelhage@mit.edu>
Branches:
master, release-1.10, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
Children:
bd7fb58
Parents:
d41294a
git-author:
Nelson Elhage <nelhage@mit.edu> (06/21/09 01:12:01)
git-committer:
Nelson Elhage <nelhage@mit.edu> (07/11/09 13:14:36)
Message:
Implement text_{before,after)_point in Perl.

These can easily be implemented in perl using save_excursion and
get_region, so there's no need for them in C.
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • editwin.c

    rd41294a rc6ecf5c  
    13521352}
    13531353
    1354 char *owl_editwin_text_before_point(owl_editwin *e)
    1355 {
    1356   return oe_chunk(e, e->index < e->lock ? 0 : e->lock, e->index);
    1357 }
    1358 
    1359 char *owl_editwin_text_after_point(owl_editwin *e)
    1360 {
    1361   return oe_chunk(e, e->index, e->bufflen);
    1362 }
    1363 
    13641354/*
    13651355 * The only guarantee made about these values is that comparisons
  • perl/lib/BarnOwl/Editwin.pm

    rd41294a rc6ecf5c  
    2121                    save_excursion current_column point mark);
    2222
     23sub text_before_point {
     24    save_excursion {
     25        BarnOwl::command('edit:set-mark');
     26        BarnOwl::command('edit:move-to-buffer-start');
     27        get_region();
     28    }
     29}
     30
     31sub text_after_point {
     32    save_excursion {
     33        BarnOwl::command('edit:set-mark');
     34        BarnOwl::command('edit:move-to-buffer-end');
     35        get_region();
     36    }
     37}
     38
    23391;
  • perlglue.xs

    rd41294a rc6ecf5c  
    432432MODULE = BarnOwl                PACKAGE = BarnOwl::Editwin
    433433
    434 char *
    435 text_before_point()
    436         PREINIT:
    437                 char *p;
    438         CODE:
    439                 p = owl_editwin_text_before_point(owl_global_get_typwin(&g));
    440                 RETVAL = p;
    441         OUTPUT:
    442                 RETVAL
    443         CLEANUP:
    444                 if (p)
    445                         owl_free(p);
    446 
    447 char *
    448 text_after_point()
    449         PREINIT:
    450                 char *p;
    451         CODE:
    452                 p = owl_editwin_text_after_point(owl_global_get_typwin(&g));
    453                 RETVAL = p;
    454         OUTPUT:
    455                 RETVAL
    456         CLEANUP:
    457                 if (p)
    458                         owl_free(p);
    459 
    460434int
    461435replace(count, string)
Note: See TracChangeset for help on using the changeset viewer.