[5133] in testers

home help back first fref pref prev next nref lref last post

Re: eolcr breaks under emacs 21

daemon@ATHENA.MIT.EDU (Arun A Tharuvai)
Tue Apr 23 13:22:58 2002

Date: Tue, 23 Apr 2002 13:22:56 -0400
From: Arun A Tharuvai <aatharuv@MIT.EDU>
To: eolcdev@MIT.EDU
Cc: y@MIT.EDU, testers@MIT.EDU, aatharuv@MIT.EDU
Message-ID: <20020423172256.GD1675@dorm.mit.edu>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="/WwmFnJnmDyWGHa4"
Content-Disposition: inline
In-Reply-To: <20020423163134.GC1675@dorm.mit.edu>


--/WwmFnJnmDyWGHa4
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

My last suggested bugfix was incorrect (since olcr-uid was expected to
return an integer in several locations).

Attached is a patch which I've tested and works on both emacs20 and
emacs21.

Arun

On Tue, Apr 23, 2002 at 12:31:34PM -0400, Arun A Tharuvai wrote:
> I debugged the problem a bit more, and it appears to be caused by a
> change in behavior in the concat function between emacs20 and emacs21.
> 
> olcr-uid returns the number 8106, and not a string "8106". In emacs
> 20, the following code 
> 
> (concat "/tmp/olcr-replay-" "paco" "0" "." 8106)
> returns
> "/tmp/olcr-replay-brandonw0.8106"
> 
> whereas the same code returns the following error in emacs 21:
> 
> Debugger entered--Lisp error: (wrong-type-argument sequencep 8106)
>   concat("/tmp/olcr-replay-" "brandonw" "0" "." 8106)
>   eval((concat "/tmp/olcr-replay-" "brandonw" "0" "." 8106))
>   eval-last-sexp-1(nil)
>   eval-last-sexp(nil)
>   call-interactively(eval-last-sexp)
> 
> 
> Quoting it seems to work in both emacs20 and emacs21. 
> 
> Changing  the following in definitions.el
> 
> (defvar olcr-uid (user-uid)
>   "The UID of the consultant running OLCR.")
> 
> to
> 
> (defvar olcr-uid (concat (user-uid))
>   "The UID of the consultant running OLCR.")
> 
> _should_ work, and I'm currently testing this out (making changes to a
> few paths in the elisp), to make sure that this actually works.
> 
> 
> Arun
> 
> On Mon, Apr 22, 2002 at 12:38:37PM -0400, chad wrote:
> > 
> > M-x toggle-debug-on-error RET and send the stack trace.  (in the emacs
> > debugger window, `c' continues, `d' steps, and `q' quits)
> > 
> > 
> 
> eolcdev: Here was my initial email which should have been sent to you.
> 
> [5131] daemon@ATHENA.MIT.EDU (Arun A Tharuvai)  testers  04/22/02 12:34 (39 lines)
> Subject: eolcr breaks under emacs 21
> Date: Mon, 22 Apr 2002 12:34:27 -0400
> From: Arun A Tharuvai <aatharuv@MIT.EDU>
> To: testers@MIT.EDU
> Cc: aatharuv@MIT.EDU
> Message-ID: <20020422163427.GA1675@dorm.mit.edu>
> Mime-Version: 1.0
> Content-Type: text/plain; charset=us-ascii
> Content-Disposition: inline
> 
> Emacs olcr doesn't work under emacs 21. More specifically, olcr-list
> worksm but whenever I try to replay a conversation, I get the error:
> 
> Wrong type argument: sequencep, 8106
> 
> (8106 is my Athena uid)
> 
> Here's some related spew from my *Messages* buffer.
> 
> olcr-execute: Wrong type argument: sequencep, 8106
> Finished updating user list.  Type ? to get help on using OLCR.
> Reading user conversation...
> olcr-make-replay-filename: Wrong type argument: sequencep, 8106
> Reading user conversation...
> olcr-make-replay-filename: Wrong type argument: sequencep, 8106
> Reading user conversation...
> olcr-make-replay-filename: Wrong type argument: sequencep, 8106
> Reading user conversation...
> olcr-make-replay-filename: Wrong type argument: sequencep, 8106
> Reading user conversation...
> olcr-make-replay-filename: Wrong type argument: sequencep, 8106
> Reading user conversation...
> olcr-make-replay-filename: Wrong type argument: sequencep, 8106
> Reading user conversation...
> olcr-make-replay-filename: Wrong type argument: sequencep, 8106
> Reading user conversation...
> olcr-make-replay-filename: Wrong type argument: sequencep, 8106
> 
> Arun
> 
> -- 

-- 

--/WwmFnJnmDyWGHa4
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="eolcr.patch"



Apr 23 13:18 2002  diff -url /mit/eolcdev/Emacs19/eolcr/commands.el eolcr/eolcr/commands.el Page 1


--- /mit/eolcdev/Emacs19/eolcr/commands.el	Thu Aug  3 18:15:07 1995
+++ eolcr/eolcr/commands.el	Tue Apr 23 13:04:45 2002
@@ -16,10 +16,10 @@
    nil 'olcr-motd-done
    "(OLCR: Finished getting OLC motd.  Type \\[olcr-pop-unseen-buffer] to see results.)"
    arg olcr-path nil "-server" olcr-server
-   "motd" "-f" (concat "/tmp/olcr-motd." olcr-uid)))
+   "motd" "-f" (concat "/tmp/olcr-motd." (number-to-string olcr-uid))))

 (defun olcr-motd-done (buffer)
-  (let ((file (concat "/tmp/olcr-motd." olcr-uid))
+  (let ((file (concat "/tmp/olcr-motd." (number-to-string olcr-uid)))
 	parent-buffer error)
     (save-excursion
       (set-buffer buffer)
@@ -210,7 +210,7 @@
 	      olcr-temp-userinstance userinstance
 	      olcr-temp-new-window (if olcr-display-temporary-buffers-in-other-window
 				       (not new-window) new-window)
-	      olcr-temp-other-args (format "/tmp/olcr-unseen-msgs-%s%s.%s"
+	      olcr-temp-other-args (format "/tmp/olcr-unseen-msgs-%s%s.%d"
 					   username userinstance olcr-uid)
 	      olcr-temp-parent-buffer (window-buffer))
 	(set-process-sentinel


Apr 23 13:18 2002  diff -url /mit/eolcdev/Emacs19/eolcr/definitions.el eolcr/eolcr/definitions.el Page 1


--- /mit/eolcdev/Emacs19/eolcr/definitions.el	Wed Apr 10 15:21:24 2002
+++ eolcr/eolcr/definitions.el	Tue Apr 23 12:59:35 2002
@@ -792,7 +792,7 @@
 on duty to OLC, elements put in reverse order from `olcr-signed-on-levels'.")

 (defvar olcr-uid (user-uid)
-  "The UID of the consultant running OLCR.")
+  "The UID of the consultant running OLCR-21.")

 (defvar olcr-input-log nil
   "List used to check how long olcr-input commands take.")


Apr 23 13:18 2002  diff -url /mit/eolcdev/Emacs19/eolcr/misc.el eolcr/eolcr/misc.el Page 1


--- /mit/eolcdev/Emacs19/eolcr/misc.el	Fri Feb 13 17:36:22 1998
+++ eolcr/eolcr/misc.el	Tue Apr 23 13:05:38 2002
@@ -686,7 +686,7 @@
   "Remove all temporary files created by OLCR."
   (interactive)
   (start-process "olcr-flush-temp" nil olcr-flush-temp-path
-		 (concat "/tmp/olcr-*." olcr-uid)))
+		 (concat "/tmp/olcr-*." (number-to-string olcr-uid))))

 (defun olcr-get-on-duty-instance ()
   (set-process-sentinel


Apr 23 13:18 2002  diff -url /mit/eolcdev/Emacs19/eolcr/olc-commands.el eolcr/eolcr/olc-commands.el Page 1


--- /mit/eolcdev/Emacs19/eolcr/olc-commands.el	Thu Feb 25 10:45:36 1999
+++ eolcr/eolcr/olc-commands.el	Tue Apr 23 13:06:02 2002
@@ -37,7 +37,7 @@
 	 (name (or (olcr-get-user-real-name user-buffer) ""))
 	 (keymap (copy-keymap olcr-input-mode-map))
 	 (parent-buffer (current-buffer))
-	 (file (format "/tmp/olcr-mail-%s%s.%s" username userinstance olcr-uid)))
+	 (file (format "/tmp/olcr-mail-%s%s.%d" username userinstance olcr-uid)))
     (Unless (string-equal "" username)
       (When olcr-display-input-buffers-in-other-window
 	(setq new-window (not new-window)))


Apr 23 13:18 2002  diff -url /mit/eolcdev/Emacs19/eolcr/replay-mode.el eolcr/eolcr/replay-mode.el Page 1


--- /mit/eolcdev/Emacs19/eolcr/replay-mode.el	Mon Sep 11 16:55:39 1995
+++ eolcr/eolcr/replay-mode.el	Tue Apr 23 13:06:53 2002
@@ -192,7 +192,7 @@
 	   (set-buffer-modified-p (buffer-modified-p))))))

 (defun olcr-make-replay-filename (username userinstance)
-  (concat "/tmp/olcr-replay-" username userinstance "." olcr-uid))
+  (concat "/tmp/olcr-replay-" username userinstance "." (number-to-string olcr-uid)))

 (defun olcr-remove-replay-files (user)
   (let ((file (olcr-make-replay-filename (olcr-user-username user)

--/WwmFnJnmDyWGHa4--

home help back first fref pref prev next nref lref last post