home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / languages / elisp / interfaces / Emacs-cl-shell / cl-buglist < prev    next >
Encoding:
Text File  |  1991-04-01  |  5.2 KB  |  120 lines

  1. ----------------------------------------------------------------------
  2. CL-SHELL BUGS:
  3.  
  4. Source-file code can't find :after, :before and :around methods in
  5. CLOS.  Also sometimes can't find methods on class T.
  6.  
  7. Default arg to cl-describe should be a symbol if point is in a symbol,
  8. or the nearest sexp.
  9.  
  10. cl-remove-file-extension breaks for pathnames with periods in them.
  11.  
  12. Compile-form behaves differently depending on whether it sends the
  13. form directly to CL inside of a call to compile-def or saves it to a
  14. temporary file and compiles the file.
  15.  
  16. Hitting return in an unfinished expression in the middle of the *lisp*
  17. buffer should insert a newline, as at the end of the buffer.
  18. Currently, it beeps and moves the point to the start of the
  19. expression.
  20.  
  21. Behavior when killing the *lisp* buffer and calling run-cl when a
  22. *lisp* buffer already exists should check that the process is alive,
  23. and clear the buffer. Should the function cl-process do the checking?
  24.  
  25. Source-file code doesn't give proper redefinition warnings for PCL.
  26.  
  27. Lucid insists on expanding all symbolic filename links for source-file
  28. pathnames.  In general, source-file code can easily get screwed up in
  29. situations where you have complicated symlinks between
  30. files/directories.  Making source-files work correctly from different
  31. machines depends on the system administrator setting up the full
  32. (non-symlink) paths to look the same.
  33.  
  34. Source-file code assumes that there are no package prefixes used in
  35. your definitions.  If there are, it won't find them in the file.  I
  36. don't know if this is worth fixing.
  37.  
  38. If you hit a CL error when starting up, it can easily screw up the
  39. cl-shell-mode initialization, which occurs when CL produces its first
  40. prompt.  This is because CL has to perform startups which are
  41. dependent on the features present in CL...  Any suggestions?  One
  42. helpful thing would be to only initialize on occurance of a normal
  43. (i.e. non-error) prompt.  The startup code should also be fixed so
  44. that it doesn't return anything to top-level... It currently causes
  45. lots of extra prompts to appear by returning an empty list of values.
  46. Also, if the *lisp* buffer is already around, if CL already running,
  47. etc. should handle this correctly.
  48.  
  49. Shouldn't allow user to save or write the *lisp* buffer, since this
  50. will rename it!  Instead, copy to a temp buffer and save that (as an
  51. interaction log).
  52.  
  53. ----------------------------------------------------------------------
  54. CL-SHELL SUGGESTIONS:
  55.  
  56. Carriage return in the *lisp* buffer should ask for confirmation if 
  57. *cl-confirm-input* (a new parameter) is non-nil.
  58.  
  59. cl-send-request could be modified for Lucid to use multi-processing.
  60. The cl-lucid file should tell CL to set up a secondary process for
  61. handling help requests, and then Cl should tell emacs how to connect
  62. to that process.  This would allow help requests to run asynchronously.
  63.  
  64. CL Errors should cause the *lisp* buffer to pop up and scroll to the
  65. bottom.
  66.  
  67. Shell-history should allow user to save previous history in a file and 
  68. reload it the next time they run lisp.
  69.  
  70. Should allow users to have evaluations done in-package (like
  71. compilations).  Perhaps another global parameter?  Perhaps
  72. cl-compile-form should not move point to end of form.  cl-eval-region
  73. (C-c C-r) should probably send the forms in the region one-by-one so
  74. that the results are printed at top-level.  In general, need to
  75. reconsider the following issues for evaluating and compiling forms
  76. from lisp-mode buffers (using cl-eval-form, cl-eval-region, and
  77. cl-compile-form):
  78.     1) move point to end of form?
  79.     2) in-package of buffer or current package?
  80.     3) with source file recording? (Lucid only)
  81.     4) echo into *lisp* buffer?
  82.     5) move *lisp* buffer point to end of echoed form?
  83.     6) What value/values should be returned by CL?
  84.  
  85. Should fix the standard Emacs TAGS facility M-. to handle multiple
  86. source files just like C-c.  Perhaps C-c. should call the standard
  87. TAGS facility if it cannot get a source file from Lisp.  Alternatively,
  88. it could call apropos.
  89.  
  90. Should provide bindings to do apropos and inspect.  The latter requires
  91. much more work, since one would like an interactive inspection mode.
  92.  
  93. Advise the CL function 'ed to check the variable
  94. user::*emacs-cl-shell* and send a find-file command to emacs if it is
  95. non-nil (current version just prints an error message if the Lucid
  96. editor is not in the CL world).  This is easy and would be helpful.
  97.  
  98. Need a pushnew function in cl-lucid, cl-pcl, cl-flavors, so that they
  99. do not add things to plists every time they are loaded.
  100.  
  101. Would be nice if Emacs could figure out the prompt automagically.  
  102. It could instruct CL to print something like "[[EVAL-STREAM>>(cl-set-prompt " 
  103. and then ")<<EVAL-STREAM]]".
  104.  
  105. Should probably get rid of the ability to have Emacs change the prompt.  Most 
  106. implementations of CL will probably provide a *prompt* variable to do this.
  107.  
  108. What about a cl-compile-load-file?  Or even some extensions to dired to 
  109. compile CL files?
  110.  
  111. Would be nice to have a yank-last-output (like in shell-mode). 
  112.  
  113. Would be nice to have eval-buffer, compile-eval-buffer.
  114.  
  115. Enter key on SPARCS should be bound to cl-eval-form.
  116.  
  117. Perhaps cl-set-buffer-package should ask the user if they want to
  118. insert an in-package statement in the file.
  119. ----------------------------------------------------------------------
  120.