Re: RES: vt newcons 3 clicks mouse paste issue FIXED
- In reply to: Ivan Quitschal : "RES: vt newcons 3 clicks mouse paste issue FIXED"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 04 Aug 2022 14:33:05 UTC
> On 4. Aug 2022, at 17:04, Ivan Quitschal <tezeka@hotmail.com> wrote: > > Hi Hans > > D36042 created > How can I include more patch files in the same defect number? D36042 > https://reviews.freebsd.org/D36042 > > Its missing the vt.h.diff and vt_core.diff > Both attached > > Should i have put all three in the raw patch creation combo box when I was creating the defect? > Sorry my dumbness , never used that phabricator > > --tzk You may want to check ‘git arc’ (https://freebsdfoundation.org/wp-content/uploads/2021/11/FreeBSD-Code-Review-with-git-arc.pdf <https://freebsdfoundation.org/wp-content/uploads/2021/11/FreeBSD-Code-Review-with-git-arc.pdf>) rgds, toomas > > > > > >> -----Mensagem original----- >> De: Ivan Quitschal <tezeka@hotmail.com> >> Enviada em: terça-feira, 2 de agosto de 2022 09:34 >> Para: Hans Petter Selasky <hps@selasky.org> >> Cc: Tomoaki AOKI <junchoon@dec.sakura.ne.jp>; Ivan Quitschal >> <tezeka@hotmail.com>; freebsd-current@freebsd.org; Kurt Jaeger >> <pi@freebsd.org> >> Assunto: vt newcons 3 clicks mouse paste issue FIXED >> >> >> Hi guys >> >> Currently , if you click 3 times in order to select the entire row, its just not >> working as it should. >> i fixed that please find below and attached the patches >> >> With this change now we can do a 3 clicks and paste , i dont know, in some >> command, and it will be executed just fine, like it was in syscons, and still is in >> xterm/ linux etc >> >> now if the event is a 3 mouse clickss select, the space trim is made on the right >> and an <enter> is included >> >> thanks >> >> --tzk >> >> >> -------------------- >> --- sys/dev/vt/vt_buf.c.orig 2022-08-02 08:44:27.229782000 -0300 >> +++ sys/dev/vt/vt_buf.c 2022-08-02 08:45:02.703697000 -0300 >> @@ -771,7 +771,7 @@ >> } >> >> void >> -vtbuf_extract_marked(struct vt_buf *vb, term_char_t *buf, int sz) >> +vtbuf_extract_marked(struct vt_buf *vb, term_char_t *buf, int sz, int >> +mark) >> { >> int i, j, r, c, cs, ce; >> term_pos_t s, e; >> @@ -799,7 +799,7 @@ >> buf[i++] = vb->vb_rows[r][c]; >> >> /* For all rows, but the last one. */ >> - if (r != e.tp_row) { >> + if (r != e.tp_row || mark == VTB_MARK_ROW) { >> /* Trim trailing word separators, if any. */ >> for (; i != j; i--) { >> if (!tchar_is_word_separator(buf[i - 1])) >> -------------------- >> >> --- sys/dev/vt/vt_core.c.orig 2022-08-02 08:43:15.436415000 -0300 >> +++ sys/dev/vt/vt_core.c 2022-08-02 08:43:49.120096000 -0300 >> @@ -2287,7 +2287,7 @@ >> VD_PASTEBUFSZ(vd) = len; >> } >> /* Request copy/paste buffer data, no more than `len' */ >> - vtbuf_extract_marked(&vw->vw_buf, VD_PASTEBUF(vd), len); >> + vtbuf_extract_marked(&vw->vw_buf, VD_PASTEBUF(vd), len, >> + mark); >> >> VD_PASTEBUFLEN(vd) = len; >> >> --------------------- >> >> --- sys/dev/vt/vt.h.orig 2022-08-02 08:41:23.888584000 -0300 >> +++ sys/dev/vt/vt.h 2022-08-02 08:41:54.504309000 -0300 >> @@ -238,7 +238,7 @@ >> #ifndef SC_NO_CUTPASTE >> int vtbuf_set_mark(struct vt_buf *vb, int type, int col, int row); >> int vtbuf_get_marked_len(struct vt_buf *vb); -void >> vtbuf_extract_marked(struct vt_buf *vb, term_char_t *buf, int sz); >> +void vtbuf_extract_marked(struct vt_buf *vb, term_char_t *buf, int sz, >> +int >> mark); >> #endif >> >> #define VTB_MARK_NONE 0 >> -------------------------- > <vt.h.diff><vt_core.diff>