[comp.emacs] call-interactively crashes emacs

biesack@xyzzy.UUCP (Dave Biesack) (10/13/88)

A couple weeks ago, John Sturdy (jcgs@harlqn.UUCP) posted some elisp for
doing completion based on a tags file. I tried it and it crashed my
emacs:

(emacs-version) GNU Emacs 18.51.2 of Tue Jun  7 1988 on godel (berkeley-unix)
(running under X11, but I doubt that matters)

I traced it down to the following expression:

      (call-interactively (symbol-function 'visit-tags-table)))

which causes emacs to crash when 
(symbol-function 'visit-tags-table) is '(autoload "tags" 184745 t nil)

The big question is: why does this crash emacs? Is this a bug? I can
understand this being an error because an autoload form is not really a
function, but the error should be caught.

The quick fix is to load tags first:
  (cond ((null tags-file-name)
	 (load-library "tags") ; this defines visit-tags-table
	 (call-interactively (symbol-function 'visit-tags-table))))

Another problem I encountered was an apparent byte-trashing due to
a DEL character in the posting. The copy I received contained a line
in the make-tags-name-list function:
      (while (search-forward "" (point-max) t)
Of course, the test always fails so the loop is void. The string
should really contain a DEL (^?, 0xff) character. Change this to:

      (while (search-forward del-string (point-max) t)

where del-string is defined:

(defconst del-string (char-to-string 127) "String containing DEL character")

After these fixes, things work well. Sorry they're not 'diff' format.

djb
-- 
		    David J. Biesack  (919) 248-5989
		Data General, Research Triangle Park, NC
	      {ihnp4, seismo, ...}!mcnc!rti!dg-rtp!biesack
			 biesack@dg-rtp.dg.com
				    

jcgs@harlqn.UUCP (John Sturdy) (10/17/88)

Whoops! I'd never hit that one - I have a rudimentary set-up for handling
multiple tags files, that interacts with the tags-helper program. Sometime
it might handle multiple compilation commands too. It's not really ready to
release yet, but if there's any interest I could tidy it up and post it.
(I think there was something for multiple compilation commands in this group
a while back, but I didn't catch it.)
-- 
__John            The Lord bless you and watch over you, The Lord make his face
         shine upon you and be gracious to you, The Lord look kindly on you and
   give you peace; My brothers, my sisters, God bless you. Amen.  (St. Francis)
         jcgs@uk.co.harlqn Harlequin Ltd,Barrington,Cambridge,UK +44-223-872522