--- /dev/null
+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)))
++
+ \f
+ (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~