[BACK]Return to window-copy.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/window-copy.c between version 1.202 and 1.203

version 1.202, 2018/10/03 15:27:55 version 1.203, 2018/11/08 18:49:19
Line 69 
Line 69 
 static int      window_copy_update_selection(struct window_pane *, int);  static int      window_copy_update_selection(struct window_pane *, int);
 static void     window_copy_synchronize_cursor(struct window_pane *);  static void     window_copy_synchronize_cursor(struct window_pane *);
 static void    *window_copy_get_selection(struct window_pane *, size_t *);  static void    *window_copy_get_selection(struct window_pane *, size_t *);
 static void     window_copy_copy_buffer(struct window_pane *, const char *,  static void     window_copy_copy_buffer(struct window_pane *, void *, size_t);
                     void *, size_t);  
 static void     window_copy_copy_pipe(struct window_pane *, struct session *,  static void     window_copy_copy_pipe(struct window_pane *, struct session *,
                     const char *, const char *);  
 static void     window_copy_copy_selection(struct window_pane *, const char *);  
 static void     window_copy_append_selection(struct window_pane *,  
                     const char *);                      const char *);
   static void     window_copy_copy_selection(struct window_pane *);
   static void     window_copy_append_selection(struct window_pane *);
 static void     window_copy_clear_selection(struct window_pane *);  static void     window_copy_clear_selection(struct window_pane *);
 static void     window_copy_copy_line(struct window_pane *, char **, size_t *,  static void     window_copy_copy_line(struct window_pane *, char **, size_t *,
                     u_int, u_int, u_int);                      u_int, u_int, u_int);
Line 535 
Line 533 
         if (args->argc == 1) {          if (args->argc == 1) {
                 if (strcmp(command, "append-selection") == 0) {                  if (strcmp(command, "append-selection") == 0) {
                         if (s != NULL)                          if (s != NULL)
                                 window_copy_append_selection(wp, NULL);                                  window_copy_append_selection(wp);
                         window_copy_clear_selection(wp);                          window_copy_clear_selection(wp);
                         redraw = 1;                          redraw = 1;
                 }                  }
                 if (strcmp(command, "append-selection-and-cancel") == 0) {                  if (strcmp(command, "append-selection-and-cancel") == 0) {
                         if (s != NULL)                          if (s != NULL)
                                 window_copy_append_selection(wp, NULL);                                  window_copy_append_selection(wp);
                         window_copy_clear_selection(wp);                          window_copy_clear_selection(wp);
                         redraw = 1;                          redraw = 1;
                         cancel = 1;                          cancel = 1;
Line 579 
Line 577 
                         redraw = 1;                          redraw = 1;
   
                         if (s != NULL) {                          if (s != NULL) {
                                 window_copy_copy_selection(wp, NULL);                                  window_copy_copy_selection(wp);
                                 cancel = 1;                                  cancel = 1;
                         }                          }
                 }                  }
Line 592 
Line 590 
                         redraw = 1;                          redraw = 1;
   
                         if (s != NULL) {                          if (s != NULL) {
                                 window_copy_copy_selection(wp, NULL);                                  window_copy_copy_selection(wp);
                                 cancel = 1;                                  cancel = 1;
                         }                          }
                 }                  }
                 if (strcmp(command, "copy-selection") == 0) {                  if (strcmp(command, "copy-selection") == 0) {
                         if (s != NULL)                          if (s != NULL)
                                 window_copy_copy_selection(wp, NULL);                                  window_copy_copy_selection(wp);
                         window_copy_clear_selection(wp);                          window_copy_clear_selection(wp);
                         redraw = 1;                          redraw = 1;
                 }                  }
                 if (strcmp(command, "copy-selection-and-cancel") == 0) {                  if (strcmp(command, "copy-selection-and-cancel") == 0) {
                         if (s != NULL)                          if (s != NULL)
                                 window_copy_copy_selection(wp, NULL);                                  window_copy_copy_selection(wp);
                         window_copy_clear_selection(wp);                          window_copy_clear_selection(wp);
                         redraw = 1;                          redraw = 1;
                         cancel = 1;                          cancel = 1;
Line 828 
Line 826 
                 argument = args->argv[1];                  argument = args->argv[1];
                 if (strcmp(command, "copy-pipe") == 0) {                  if (strcmp(command, "copy-pipe") == 0) {
                         if (s != NULL)                          if (s != NULL)
                                 window_copy_copy_pipe(wp, s, NULL, argument);                                  window_copy_copy_pipe(wp, s, argument);
                 }                  }
                 if (strcmp(command, "copy-pipe-and-cancel") == 0) {                  if (strcmp(command, "copy-pipe-and-cancel") == 0) {
                         if (s != NULL) {                          if (s != NULL) {
                                 window_copy_copy_pipe(wp, s, NULL, argument);                                  window_copy_copy_pipe(wp, s, argument);
                                 cancel = 1;                                  cancel = 1;
                         }                          }
                 }                  }
Line 1657 
Line 1655 
 }  }
   
 static void  static void
 window_copy_copy_buffer(struct window_pane *wp, const char *bufname, void *buf,  window_copy_copy_buffer(struct window_pane *wp, void *buf, size_t len)
     size_t len)  
 {  {
         struct screen_write_ctx ctx;          struct screen_write_ctx ctx;
   
Line 1669 
Line 1666 
                 notify_pane("pane-set-clipboard", wp);                  notify_pane("pane-set-clipboard", wp);
         }          }
   
         if (paste_set(buf, len, bufname, NULL) != 0)          if (paste_set(buf, len, NULL, NULL) != 0)
                 free(buf);                  free(buf);
 }  }
   
 static void  static void
 window_copy_copy_pipe(struct window_pane *wp, struct session *s,  window_copy_copy_pipe(struct window_pane *wp, struct session *s,
     const char *bufname, const char *arg)      const char *fmt)
 {  {
         void            *buf;          void            *buf;
         size_t           len;          size_t           len;
Line 1685 
Line 1682 
         buf = window_copy_get_selection(wp, &len);          buf = window_copy_get_selection(wp, &len);
         if (buf == NULL)          if (buf == NULL)
                 return;                  return;
         expanded = format_single(NULL, arg, NULL, s, NULL, wp);          expanded = format_single(NULL, fmt, NULL, s, NULL, wp);
   
         job = job_run(expanded, s, NULL, NULL, NULL, NULL, NULL, JOB_NOWAIT);          job = job_run(expanded, s, NULL, NULL, NULL, NULL, NULL, JOB_NOWAIT);
         bufferevent_write(job_get_event(job), buf, len);          bufferevent_write(job_get_event(job), buf, len);
   
         free(expanded);          free(expanded);
         window_copy_copy_buffer(wp, bufname, buf, len);          window_copy_copy_buffer(wp, buf, len);
 }  }
   
 static void  static void
 window_copy_copy_selection(struct window_pane *wp, const char *bufname)  window_copy_copy_selection(struct window_pane *wp)
 {  {
         void    *buf;          char    *buf;
         size_t   len;          size_t   len;
   
         buf = window_copy_get_selection(wp, &len);          buf = window_copy_get_selection(wp, &len);
         if (buf == NULL)          if (buf != NULL)
                 return;                  window_copy_copy_buffer(wp, buf, len);
   
         window_copy_copy_buffer(wp, bufname, buf, len);  
 }  }
   
 static void  static void
 window_copy_append_selection(struct window_pane *wp, const char *bufname)  window_copy_append_selection(struct window_pane *wp)
 {  {
         char                            *buf;          char                            *buf;
         struct paste_buffer             *pb;          struct paste_buffer             *pb;
         const char                      *bufdata;          const char                      *bufdata, *bufname;
         size_t                           len, bufsize;          size_t                           len, bufsize;
         struct screen_write_ctx          ctx;          struct screen_write_ctx          ctx;
   
Line 1727 
Line 1722 
                 notify_pane("pane-set-clipboard", wp);                  notify_pane("pane-set-clipboard", wp);
         }          }
   
         if (bufname == NULL || *bufname == '\0')          pb = paste_get_top(&bufname);
                 pb = paste_get_top(&bufname);  
         else  
                 pb = paste_get_name(bufname);  
         if (pb != NULL) {          if (pb != NULL) {
                 bufdata = paste_buffer_data(pb, &bufsize);                  bufdata = paste_buffer_data(pb, &bufsize);
                 buf = xrealloc(buf, len + bufsize);                  buf = xrealloc(buf, len + bufsize);

Legend:
Removed from v.1.202  
changed lines
  Added in v.1.203