The patch below provides column positioning point-and-click for
xemacs. The diff is against 21.1.13, but ought to be okay back to
(at least) 21.1.10.

Perhaps you would like to make it available alongside
emacsclient-column? Obviously you will still need to patch xdvi as well.

Hope people find it useful. It certainly speeds up the editing cycle
for me.

Best wishes

Mark



*** ./lib-src/gnuclient.c	2001/01/25 00:14:49	1.1
--- ./lib-src/gnuclient.c	2001/01/25 09:46:51
***************
*** 299,304 ****
--- 299,305 ----
  main (int argc, char *argv[])
  {
    int starting_line = 1;	/* line to start editing at */
+   int starting_column = 0;	/* column to start editing at */
    char command[MAXPATHLEN+50];	/* emacs command buffer */
    char fullpath[MAXPATHLEN+1];	/* full pathname to file */
    char *eval_form = NULL;	/* form to evaluate with `-eval' */
***************
*** 447,456 ****
  #ifdef INTERNET_DOMAIN_SOCKETS
  	       "usage: %s [-nw] [-display display] [-q] [-v] [-l library]\n"
                 "       [-batch] [-f function] [-eval form]\n"
! 	       "       [-h host] [-p port] [-r remote-path] [[+line] file] ...\n",
  #else /* !INTERNET_DOMAIN_SOCKETS */
  	       "usage: %s [-nw] [-q] [-v] [-l library] [-f function] [-eval form] "
! 	       "[[+line] path] ...\n",
  #endif /* !INTERNET_DOMAIN_SOCKETS */
  	       progname);
        exit (1);
--- 448,457 ----
  #ifdef INTERNET_DOMAIN_SOCKETS
  	       "usage: %s [-nw] [-display display] [-q] [-v] [-l library]\n"
                 "       [-batch] [-f function] [-eval form]\n"
! 	       "       [-h host] [-p port] [-r remote-path] [[+line[:column]] file] ...\n",
  #else /* !INTERNET_DOMAIN_SOCKETS */
  	       "usage: %s [-nw] [-q] [-v] [-l library] [-f function] [-eval form] "
! 	       "[[+line[:column]] path] ...\n",
  #endif /* !INTERNET_DOMAIN_SOCKETS */
  	       progname);
        exit (1);
***************
*** 643,649 ****
        for (; argv[i]; i++)
  	{
  	  if (i < argc - 1 && *argv[i] == '+')
! 	    starting_line = atoi (argv[i++]);
  	  else
  	    starting_line = 1;
  	  /* If the last argument is +something, treat it as a file. */
--- 644,655 ----
        for (; argv[i]; i++)
  	{
  	  if (i < argc - 1 && *argv[i] == '+')
! 	    {
! 	      char *p =  strchr (argv[i], ':');
! 	      if (p != NULL )
! 		starting_column = atoi( &p[1] );
! 	      starting_line = atoi (argv[i++]);
! 	    }
  	  else
  	    starting_line = 1;
  	  /* If the last argument is +something, treat it as a file. */
***************
*** 659,665 ****
  #else
  	  path = my_strdup (fullpath);
  #endif
! 	  sprintf (command, "(%d . %s)", starting_line, clean_string (path));
  	  send_string (s, command);
  	  free (path);
  	} /* for */
--- 665,671 ----
  #else
  	  path = my_strdup (fullpath);
  #endif
! 	  sprintf (command, "((%d . %d) . %s)", starting_line, starting_column, clean_string (path));
  	  send_string (s, command);
  	  free (path);
  	} /* for */
*** ./lisp/gnuserv.el	2001/01/25 09:32:42	1.1
--- ./lisp/gnuserv.el	2001/01/25 09:43:10
***************
*** 450,463 ****
  	   (deiconify-frame frame))
        ;; Visit all the listed files.
        (while list
! 	(let ((line (caar list)) (path (cdar list)))
  	  (select-frame frame)
  	  ;; Visit the file.
  	  (funcall (if view
  		       gnuserv-view-file-function
  		     gnuserv-find-file-function)
  		   path)
! 	  (goto-line line)
  	  ;; Don't memorize the quick and view buffers.
  	  (unless (or quick view)
  	    (pushnew (current-buffer) (gnuclient-buffers client))
--- 450,463 ----
  	   (deiconify-frame frame))
        ;; Visit all the listed files.
        (while list
! 	(let ((line (caaar list)) (column (cdaar list)) (path (cdar list)))
  	  (select-frame frame)
  	  ;; Visit the file.
  	  (funcall (if view
  		       gnuserv-view-file-function
  		     gnuserv-find-file-function)
  		   path)
! 	  (goto-line line)(move-to-column column)
  	  ;; Don't memorize the quick and view buffers.
  	  (unless (or quick view)
  	    (pushnew (current-buffer) (gnuclient-buffers client))

_______________________________________________
Gnu-music-discuss mailing list
Gnu-music-discuss@gnu.org
http://mail.gnu.org/mailman/listinfo/gnu-music-discuss
