[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemacs-commit] qemacs qe.c qe.h qeconfig.h
From: |
Charlie Gordon |
Subject: |
[Qemacs-commit] qemacs qe.c qe.h qeconfig.h |
Date: |
Thu, 16 Jan 2014 14:28:29 +0000 |
CVSROOT: /sources/qemacs
Module name: qemacs
Changes by: Charlie Gordon <chqrlie> 14/01/16 14:28:29
Modified files:
. : qe.c qe.h qeconfig.h
Log message:
add do_mark_region, do_mark_paragraph
* add do_mark_region to set hilighted region
* add command mark-paragraph on M-h
* make command mark-whole-buffer display hilighted region
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.125&r2=1.126
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.h?cvsroot=qemacs&r1=1.123&r2=1.124
http://cvs.savannah.gnu.org/viewcvs/qemacs/qeconfig.h?cvsroot=qemacs&r1=1.40&r2=1.41
Patches:
Index: qe.c
===================================================================
RCS file: /sources/qemacs/qemacs/qe.c,v
retrieving revision 1.125
retrieving revision 1.126
diff -u -b -r1.125 -r1.126
--- qe.c 16 Jan 2014 14:24:04 -0000 1.125
+++ qe.c 16 Jan 2014 14:28:28 -0000 1.126
@@ -472,6 +472,16 @@
}
}
+void do_mark_region(EditState *s, int mark, int offset)
+{
+ /* CG: Should have local and global mark rings */
+ s->b->mark = clamp(mark, 0, s->b->total_size);
+ s->offset = clamp(offset, 0, s->b->total_size);
+ /* activate region hilite */
+ if (s->qe_state->hilite_region)
+ s->region_style = QE_STYLE_REGION_HILITE;
+}
+
/* paragraph handling */
int eb_next_paragraph(EditBuffer *b, int offset)
@@ -511,6 +521,14 @@
return offset;
}
+void do_mark_paragraph(EditState *s)
+{
+ int start = eb_start_paragraph(s->b, s->offset);
+ int end = eb_next_paragraph(s->b, s->offset);
+
+ do_mark_region(s, start, end);
+}
+
void do_backward_paragraph(EditState *s)
{
int offset;
@@ -1413,20 +1431,13 @@
/* block functions */
void do_set_mark(EditState *s)
{
- /* CG: Should have local and global mark rings */
- s->b->mark = s->offset;
-
- /* activate region hilite */
- if (s->qe_state->hilite_region)
- s->region_style = QE_STYLE_REGION_HILITE;
-
+ do_mark_region(s, s->offset, s->offset);
put_status(s, "Mark set");
}
void do_mark_whole_buffer(EditState *s)
{
- s->b->mark = s->b->total_size;
- s->offset = 0;
+ do_mark_region(s, s->b->total_size, 0);
}
EditBuffer *new_yank_buffer(QEmacsState *qs, EditBuffer *base)
Index: qe.h
===================================================================
RCS file: /sources/qemacs/qemacs/qe.h,v
retrieving revision 1.123
retrieving revision 1.124
diff -u -b -r1.123 -r1.124
--- qe.h 16 Jan 2014 14:24:04 -0000 1.123
+++ qe.h 16 Jan 2014 14:28:28 -0000 1.124
@@ -1693,8 +1693,10 @@
void do_bol(EditState *s);
void do_eol(EditState *s);
void do_word_right(EditState *s, int dir);
+void do_mark_region(EditState *s, int mark, int offset);
int eb_next_paragraph(EditBuffer *b, int offset);
int eb_start_paragraph(EditBuffer *b, int offset);
+void do_mark_paragraph(EditState *s);
void do_backward_paragraph(EditState *s);
void do_forward_paragraph(EditState *s);
void do_kill_paragraph(EditState *s, int dir);
Index: qeconfig.h
===================================================================
RCS file: /sources/qemacs/qemacs/qeconfig.h,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -b -r1.40 -r1.41
--- qeconfig.h 15 Jan 2014 19:44:25 -0000 1.40
+++ qeconfig.h 16 Jan 2014 14:28:28 -0000 1.41
@@ -189,6 +189,8 @@
/*---------------- Paragraph / case handling ----------------*/
+ CMD0( KEY_META('h'), KEY_NONE,
+ "mark-paragraph", do_mark_paragraph)
CMD0( KEY_META('{'), KEY_NONE,
"backward-paragraph", do_backward_paragraph)
CMD0( KEY_META('}'), KEY_NONE,