diff -ur emacs-20.5/lib-src/ChangeLog emacs-hanwen/lib-src/ChangeLog
--- emacs-20.5/lib-src/ChangeLog	Fri Dec 10 17:25:36 1999
+++ emacs-hanwen/lib-src/ChangeLog	Sun Jul 16 23:00:54 2000
@@ -1,3 +1,7 @@
+2000-07-16  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+	
+	* emacsclient.c: Added support for +LINE:COLUMN style arguments.
+
 1999-12-04  Gerd Moellmann  <gerd@gnu.org>
 
 	* Version 20.5 released.
Only in emacs-hanwen/lib-src: ChangeLog~
diff -ur emacs-20.5/lib-src/emacsclient.c emacs-hanwen/lib-src/emacsclient.c
--- emacs-20.5/lib-src/emacsclient.c	Wed Nov  3 14:12:46 1999
+++ emacs-hanwen/lib-src/emacsclient.c	Sun Jul 16 22:10:35 2000
@@ -27,6 +27,7 @@
 #undef close
 #undef signal
 
+#include <ctype.h> 
 #include <stdio.h>
 #include <getopt.h>
 #ifdef STDC_HEADERS
@@ -323,7 +324,7 @@
       if (*argv[i] == '+')
 	{
 	  char *p = argv[i] + 1;
-	  while (*p >= '0' && *p <= '9') p++;
+	  while (isdigit (*p) || *p == ':') p++;
 	  if (*p != 0)
 	    fprintf (out, "%s/", quote_file_name (cwd));
 	}
@@ -466,7 +467,8 @@
       if (*modified_arg == '+')
 	{
 	  char *p = modified_arg + 1;
-	  while (*p >= '0' && *p <= '9') p++;
+	  while (isdigit (*p) || *p == ':')
+	    p++;
 	  if (*p != 0)
 	    need_cwd = 1;
 	}
Only in emacs-hanwen/lib-src: emacsclient.c~
diff -ur emacs-20.5/lib-src/emacsserver.c emacs-hanwen/lib-src/emacsserver.c
--- emacs-20.5/lib-src/emacsserver.c	Mon Feb 22 21:44:14 1999
+++ emacs-hanwen/lib-src/emacsserver.c	Sun Jul 16 22:09:52 2000
@@ -61,6 +61,7 @@
 #include <errno.h>
 #include <sys/stat.h>
 
+
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
Only in emacs-hanwen/lib-src: emacsserver.c~
Only in emacs-hanwen/lib-src: suf.el~
diff -ur emacs-20.5/lisp/ChangeLog emacs-hanwen/lisp/ChangeLog
--- emacs-20.5/lisp/ChangeLog	Fri Dec 10 17:25:02 1999
+++ emacs-hanwen/lisp/ChangeLog	Sun Jul 16 23:00:04 2000
@@ -1,3 +1,8 @@
+2000-07-16  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+	* server.el (server-process-filter,server-visit-files): add support for "LINE:COLUMN"
+	style emacsclient calls.
+
 1999-12-04  Gerd Moellmann  <gerd@gnu.org>
 
 	* Version 20.5 released.
Only in emacs-hanwen/lisp: ChangeLog~
diff -ur emacs-20.5/lisp/server.el emacs-hanwen/lisp/server.el
--- emacs-20.5/lisp/server.el	Sat Mar 13 01:20:25 1999
+++ emacs-hanwen/lisp/server.el	Sun Jul 16 23:04:41 2000
@@ -215,7 +215,8 @@
 				  default-file-name-coding-system)))
 	  client nowait
 	  (files nil)
-	  (lineno 1))
+	  (lineno 1)
+	  (columnno 0))
       ;; Remove this line from STRING.
       (setq string (substring string (match-end 0)))	  
       (if (string-match "^Error: " request)
@@ -232,9 +233,17 @@
 		  (setq request (substring request (match-end 0)))
 		  (if (string-match "\\`-nowait" arg)
 		      (setq nowait t)
-		    (if (string-match "\\`\\+[0-9]+\\'" arg)
-			;; ARG is a line number option.
-			(setq lineno (read (substring arg 1)))
+		    (cond
+    			;; ARG is a line number option.
+		     ((string-match "\\`\\+[0-9]+\\'" arg)
+		      (setq lineno (read (substring arg 1)))
+		      )
+		     ;; ARG is line number / column option. 
+		     ((string-match "\\`\\+[0-9]+:[0-9]+\\'" arg)
+		      (setq lineno (read (substring arg 1 (string-match ":" arg))))
+		      (setq columnno (read (substring arg (+ 1 (string-match ":" arg)))))
+		      )
+		     (t
 		      ;; ARG is a file name.
 		      ;; Collapse multiple slashes to single slashes.
 		      (setq arg (command-line-normalize-file-name arg))
@@ -253,9 +262,11 @@
 		      (if coding-system
 			  (setq arg (decode-coding-string arg coding-system)))
 		      (setq files
-			    (cons (list arg lineno)
+			    (cons (list arg lineno columnno)
 				  files))
-		      (setq lineno 1)))))
+		      (setq lineno 1)
+		      (setq columnno 0)
+		      )))))
 	      (server-visit-files files client nowait)
 	      ;; CLIENT is now a list (CLIENTNUM BUFFERS...)
 	      (or nowait
@@ -267,9 +278,11 @@
   ;; Save for later any partial line that remains.
   (setq server-previous-string string))
 
+
+
 (defun server-visit-files (files client &optional nowait)
   "Finds FILES and returns the list CLIENT with the buffers nconc'd.
-FILES is an alist whose elements are (FILENAME LINENUMBER).
+FILES is an alist whose elements are (FILENAME LINENUMBER COLUMNNUMBER).
 NOWAIT non-nil means this client is not waiting for the results,
 so don't mark these buffers specially, just visit them normally."
   ;; Bind last-nonmenu-event to force use of keyboard, not mouse, for queries.
@@ -297,6 +310,7 @@
 	      (set-buffer (find-file-noselect filen))
 	      (run-hooks 'server-visit-hook)))
 	  (goto-line (nth 1 (car files)))
+	  (move-to-column (nth 2 (car files)))
 	  (if (not nowait)
 	      (setq server-buffer-clients
 		    (cons (car client) server-buffer-clients)))
@@ -304,6 +318,7 @@
 	  (setq files (cdr files)))
       (set-buffer obuf))
     (nconc client client-record)))
+
 
 (defun server-buffer-done (buffer &optional for-killing)
   "Mark BUFFER as \"done\" for its client(s).
Only in emacs-hanwen/lisp: server.el.orig
Only in emacs-hanwen/lisp: server.el~
