home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / msdos / demacs / demacs.faq < prev    next >
Encoding:
Text File  |  1993-03-04  |  32.7 KB  |  746 lines

  1.  
  2. Frequently Asked Questions for Demacs (Demacs FAQ)
  3.  
  4. Please send any comments, inaccuracies or revisions to steibel@cs.umbc.edu
  5. --
  6. Hello again folks,
  7.  
  8. I had planned on having the "brand new and improved" Demacs FAQ out by
  9. now, but its looking like it will take much longer than I had planned
  10. (as usual).  Therefore, I am reposting the old FAQ.
  11.  
  12. Note that the only thing that changed in the FAQ from last time in the
  13. location where the FAQ, and files mentioned in the FAQ, are stored.
  14. The old address was algol.cs.umbc.edu.  The new one is
  15. archive.cs.umbc.edu.
  16.  
  17. Also, there is an error in the emacs.bat file which is created using the
  18. installation method outlined in the FAQ.  After installation, change 
  19. the lines in the file emacs.bat
  20.  
  21. from                                  to
  22. set home = d:/emacs                   set home = c:/demacs
  23. set termcap = c:/emacs/termcap        set termcap = c:/demacs/termcap
  24. set EmacsLoadPath = c:/emacs/lisp     set EmacsLoadPath = c:/demacs/lisp
  25. set EmacsExecPath = c:/emacs/etc      set EmacsExecPath = c:/demacs/etc
  26.  
  27. Again, I'm sorry about not being able to post the new FAQ.  It has already
  28. been rewritten, and I've added a number of patches, but its not in
  29. a form ready to distribute.  Look for it around next month (hopefully).
  30.  
  31. --
  32. 1) What is Demacs.
  33.  
  34. Demacs is a port of GNU Emacs 18.55 (and part of 18.57) to MS-DOS machines 
  35. written by Manubu Higashida and HIRANO Satoshi at the University of Tokyo, 
  36. Japan.  It is currently in version 1.2.0 (1991/12/12).
  37.  
  38. 2) What kind of equipment, software do I need to run Demacs?
  39.  
  40. The main platform used to run Demacs is a 386 or 486 machine using MS-DOS
  41. 3.0 or later.  You should also use an XMS manager such as ('HIMEM.SYS') or a 
  42. VCPI memory manager such as ('EMM386.EXE'), or ('QEMM').  {I'm not sure
  43. at this time whether an XMS memory manager is required.  I do know that
  44. Demacs will work with a combination of XMS and VCPI or with XMS alone.}
  45.  
  46. Demacs will also run on the AX J-3100, the NEC PC-9801, Hi-res. PC-98, and 
  47. EPSON PC-386.  However I have absolutely no familiarity with any of these
  48. machines.  The rest of this FAQ will deal with 386/486 and compatibles.
  49.  
  50. 2b) Why won't Demacs work on my 286 (or earlier models)?
  51.  
  52. Demacs uses 32-bit protected mode.  This is one of the new features in the 
  53. 386/486 line of CPUs.
  54.  
  55. 3) Why doesn't Demacs work with Windows or OS/2 ?.
  56.  
  57. When MS-DOS was written, it was designed to address a maximum of one
  58. megabyte of memory.  In order to have more than one application use
  59. memory over this one megabyte limit, it is neccassary to use an
  60. interface to allow the two applications to cooperate.  Two of these
  61. types of interfaces are VCPI (Virtual Control Program Interface), and
  62. DPMI (Dos Protected Mode Interface).  These two schemes are incompatible
  63. and using two programs with different schemes will generally crash the
  64. system.  Unfortunately, Demacs works with VCPI, while both Windows and
  65. OS/2 both use DPMI.
  66.  
  67. 3) Where do I find a copy of Demacs, and how do I install it?
  68.  
  69. Detailed instructions are included at the end of this FAQ.
  70.  
  71. 4) I tried to install Demacs and had a problem . . .
  72.  
  73. Try to find your problem yourself by going through the suggestions in the
  74. installation instructions.  If you have any problems, please send me
  75. mail and I will try to help.  I think that the install file that I
  76. wrote should fix all installation problems that I have seen.
  77.  
  78. 5) I tried to run Demacs and recieved the error 
  79.     "Cannot run with CPU set to V86 mode - must be in real mode"
  80.  
  81. It basically means you've clashed upper memory management in some way.
  82. Refer back to question three.  The most common reason for this problem
  83. is related to the emm386.sys.  Please refer to the installation instruction
  84. contained at the end of this file for possible problems with the way
  85. you are handling emm386.sys.  
  86.  
  87. 6) When I type in "m-x shell-command" it says "filename not found" and
  88.     the filename given is my ('command.com') file (or equivalant)
  89.  
  90. Make sure that your "set shell = c:\command.com" is set properly.  I will
  91. describe my case and hopefully it will help.  I have Demacs installed on
  92. my "c:" drive.  I also have my command.com file in both my "c:\" directory
  93. and my "d:\" directory (where "d:\" is RAMdisk).  I have tried the 
  94. permutations of . . . 
  95.  
  96. "set shell=d:command.com", "set shell=c:command.com", 
  97. "set shell=d:/command.com", "set shell=c:/command.com",
  98. "set shell=d:\command.com", "set shell=c:\command.com",
  99.  
  100. Only "set shell=c:\command.com" worked properly.  Note the backslash and
  101. location on the main drive.
  102.  
  103. 7) I tried typing in a M-x command and it didn't work. For example,
  104.    "M-x hanoi" says "Cannot open load file: hanoi"
  105.  
  106. Not all of the M-x files that come with standard Emacs are distributed with 
  107. Demacs.  Only those files that had to be modified in order for Demacs to
  108. work properly were included.  You can try getting them from a standard 
  109. Emacs Lisp (or E-Lisp) distribution.  Details on E-Lisp sites can be 
  110. found in the comp.emacs FAQ.  Also, details for finding the comp.emacs FAQ
  111. are listed below.
  112.  
  113. I'll be a little more specific on the how to add M-x files.  Basically, 
  114. files will be stored in the "filename.el" designation, where filename is
  115. the M-x command.  For example, the code to run "M-x hanoi" (a cute little
  116. demonstration for solving the towers of hanoi puzzle) is stored in the 
  117. filename "hanoi.el" on an E-Lisp distribution somewhere.  Copy the filename
  118. corresponding to the M-x function you want to include into your demacs/lisp 
  119. directory and type (in demacs) "M-x byte-compile-file<enter>filename.el"
  120. For example, "copy hanoi.el \demacs\lisp" and in Demacs 
  121. "M-x byte-compile-file<enter>hanoi.el".  This condenses the file into
  122. "filename.elc" (or "hanoi.elc" for our example).  The ".elc" means that
  123. it will load, and execute a little faster.  Also, it is of note that
  124. filenames with a ".elc" extension are loaded in preference to filenames with
  125. a ".el" extension.  In other words, be sure to erase the ".elc" file, or
  126. byte-compile it over again before testing modifications.  
  127.  
  128. Also it is important to keep in mind that many distributions of elisp
  129. use filenames that are longer than 8 characters.  It is neccassary to
  130. change these, and also to modify their loading-in points so that
  131. the length is no more than 8 characters + ".el".
  132.  
  133. Hopefully, I can get together a comprehensive list of standard E-Lisp
  134. files that work with Demacs using the M-x keys in the future.  So far I 
  135. have been told that the following work
  136.  
  137. boss       by Masanobu Umeda "Boss screen for getris"
  138. fortran.el (from std. dist) "formats format code"
  139. getris     by MAEDA Atusi "Clone of famous Russion game"
  140. gomuku     by P. Schnoebelen "Gomoku Game"
  141. hanoi      (from std. dist) "solves towers of hanoi puzzle"
  142. hexl-mode  by Keith Gabryelski "edit a file in hex dump format"
  143. show-time  "digital clock" {second part doesn't work}
  144. sort       (from std. dist) "commands to sort text in buffer" used for getris
  145. tabify.el  (from std. dist) "changes spaces to tabs and vice-versa"
  146.  
  147. If you've added any M-x files, and can verify that they work unmodified, 
  148. please contact me with the filename, site, and path of the file.  Also, if
  149. you've made any modifications for making E-Lisp functions that normally
  150. do not work under Demacs to work, please contact me with that information
  151. or post it.
  152.  
  153. I assume that the above files can be easily found by using the elisp
  154. finding instruction outlined in the comp.emacs FAQ.  
  155.  
  156. 8) "M-x shell" does not work when I port it.  It gives me an error with
  157.    the word "process" in it.  
  158. 8b) I get an error with the word "process" in it from doing something else.
  159.  
  160. Unfortunately, MS-DOS and UNIX are two entirely different operating
  161. systems.  Basically UNIX gives you the ability to spawn child processes
  162. monitor process information, and redirect input/output in ways that
  163. MS-DOS is incapable of handling.  If a function or variable with the
  164. "process" keyword is encountered, then an error will result.  Look under
  165. the header "Differences from UNIX Version" in the "demacs/readme" file 
  166. included in the main demacs distribution for a listing of these incompatible 
  167. functions and variables.
  168.  
  169. However, Demacs does include two provisions for generating shells.
  170.  
  171. Full Screen Shells.
  172. Typing control-z in Demacs will generate a full screen Dos shell similar 
  173. to that provided by other programs.  Typing "exit" will return you to Demacs 
  174. which automatically refreshes the screen.
  175.  
  176. Non-interactive shell where output is stored in a buffer/window.
  177. Typing "M-x shell-command" will prompt you for a command to run in a window.  
  178. This is a very powerful, yet tricky command.  The program to be run MUST 
  179. be non-interactive!  It should not be expecting user input, or it will have 
  180. unpredictable results.  Examples of noninteractive uses for this command
  181. include compiling files in order to to view the error messages in a window, 
  182. and running text-based programs with pipes.
  183.  
  184. Also, a further comment of note which I haven't had a chance to try out
  185. because I erased DOSSHELL a long time ago.
  186.  
  187. > From: "B.C." Moszkowski <Ben.Moszkowski@newcastle.ac.uk>
  188. >
  189. > I have a 386 with 8meg and run demacs under dosshell.  I suspend
  190. > demacs and then do a task switch to another program.  This is quite
  191. > simple and reliable for most of my needs.  Of course, one can only task
  192. > switch AFTER suspending demacs, since it is running in protected mode.
  193. > I can therefore run demacs, 386-emtex, 386-perl, etc with plenty of
  194. > resources and a more stable shell than the one obtained by just
  195. > suspending demacs.
  196.  
  197. 9) In dired (and possible elsewhere), the commands make-directory, and
  198.    remove-directory do not function properly.
  199.  
  200. This is a genuine error in Demacs.  The steps for fixing this problem are
  201. outlined in a patch at the end of this message.  The entire file as 
  202. changed is also included in the file dem120z.lzh, which is included
  203. in the deminst.exe installation file talked about below.
  204.  
  205. 10) I have a problem having to do with the time field
  206. 10b) My times are different in dired.el than from typing "dir".
  207. 10c) Demacs has problems saving files because it misinterprets the time
  208. 10d) Demacs keeps locking my files for no reason sporatically.
  209.  
  210. I was experiencing problem b), and one of the commenters on the FAQ 
  211. mentioned that one way to solve this is to set the time variable like so
  212.  
  213. set tz=cdt-9
  214.  
  215. I did this and suddenly was recieving errors c) and d) and tons of other
  216. ones like crazy.  I also lost a few hours work done on revising the FAQ.
  217. I therefore recommend that you set it like so . . .
  218.  
  219. set tz=mst
  220.  
  221. which is supposed to set the time to mountain standard time, although it
  222. doesn't so that all of your times in dired are wrong.  However, I have 
  223. heard about many time related errors with this version of Demacs on uunet,  
  224. and I have never had any problems with 'set tz=mst' asside from the 
  225. dired problem already mentioned.
  226.  
  227. 11) Does anyone have the patch to allow me to use nansi/nnansi drivers
  228.    instead of the ansi.sys included with MS-DOS?
  229.  
  230. They are included in the current distribution in the ('termcap') file.
  231. Basically, for those that don't already know, ('nansi.sys'), and 
  232. ('nnansi.sys') are both ('ansi.sys') replacement files written in assembly 
  233. code.  They are both faster than their MS-DOS counterpart.  However there is 
  234. a slight problem with using the nansi, and nnansi drivers.  To my knowledge,
  235. they do not properly support function key codes that produce a prefix that
  236. contains control-@ Meta.  These include the function keys F11/F12, and a few 
  237. other keys combinations.
  238.  
  239. 12) How do I change the color of the screen?
  240.  
  241. A patch is included at the end of this FAQ to change the color to a white 
  242. foreground on a blue backround with a white on red status bar.  It can be 
  243. modified to produce other colors.  Also, the modified file is included
  244. in dem120z.lzh located in deminst.exe discussed towards the end of the FAQ.
  245.  
  246. 13) How do I load Demacs with more than the default number of columns,
  247.     and rows.  
  248.  
  249. Change your video mode before loading Demacs then add the following lines
  250. to "demacs/_emacs".
  251.  
  252. (set-screen-height #)
  253. (set-screen-width #)
  254.  
  255. I have heard that there is a #define in the c code from which Demacs is
  256. compiled that sets the maximum number of usable rows to 128.  Although
  257. it is possible to (set-screen-width 132), many people say there are
  258. problems unless you recompile Demacs.
  259.  
  260. Also, there is code included at the end of the FAQ to change your number
  261. of rows from 25 to 43 for EGA or 50 for VGA, and back again.
  262.  
  263. 14) I would like to add foreign characters, such as the umlaute (sp?) and 
  264.     german double s.  How can I do this?
  265.  
  266. Look into the file called ('umlaut.txt') on the FTP site mentioned below.
  267. This contains a list of suggestions sent to me for adding Dirk Zabel's
  268. umlaut.el.  Note: the documentation for umlaute.el is in German.
  269.  
  270. 15) Is there a TeX editing mode for Demacs?
  271.  
  272. Auc-Tex works partially under Demacs, except for commands which require
  273. a called process.  Look into the file ('auc-tex.txt') for a discription
  274. of some of the commands which work, and the ones which don't work.
  275.  
  276. 16) I seem to have problems with some of the included files such as
  277.     isearch and fill.  Whats going on?
  278.  
  279. Apparently, there was a problem with some of the files that are pre-loaded
  280. into Demacs.  To use fill, and isearch, you have to load in the files
  281. isearch.el and fill.el.  I've also heard that the byte-compile feature is
  282. buggy and could have something to do with it.  If you continue to have
  283. problems with loading the files, you might want to either byte-compile
  284. them in UNIX and download them, or stick with the slower non-byte-compiled
  285. copies.
  286.  
  287. I have also heard that the Demacs will switch to the buggy version of
  288. fill.el randomly, and that fill.el has problems with toggle-pass8-mode.
  289. Unfortunately, I haven't received any examples to try out, so I haven't
  290. been able to verify any of these bugs, but if you've been getting them,
  291. hopefully this has been of some help.
  292.  
  293. 17) Can I use etags in Demacs with globbing?
  294.  
  295. There is a file called ('detags.zip') on the FTP site mentioned below
  296. which is supposed to do just that and it says (etags *.[ch]) and comes
  297. with source code.  I have no idea what etags is or globbing so I haven't
  298. tested it yet.
  299.  
  300. 18) When I shell out into a full screen DOS session.  Sometimes I forget
  301.     and type "demacs" again.  Why doesn't it detect itself like in UNIX?
  302.  
  303. Because it doesn't.  However, it is possible to change the name of the
  304. file you use to call demacs while demacs is running, then change it
  305. back after exiting demacs.  However this is complicated, and I use
  306. NDOS which allows aliasing the program name and unliasing the name similar
  307. to UNIX.  However, if someone writes it, I will include it here.
  308.  
  309. Another way to prevent yourself from making this type of error is to
  310. change the prompt to include a "Type EXIT to go back to Demacs message"
  311. before loading demacs and change it back afterwards.
  312.  
  313. 19) I want to define more keys like F11, and F12.  How?
  314.  
  315. The answer to this is included in the file dem120z.lzh, which is inluded
  316. in deminst.exe and discussed at the end of the message.
  317.  
  318. 20) How do I use online help?  
  319.     How do I get printed manuals?  
  320.     Where can I find other source of help?  
  321.     I have a non-demacs specific question and . . .
  322.  
  323. Because Demacs is such an incredibly good copy of GNU Emacs, all of these
  324. questions can be answered by refering to the Comp.Emacs FAQ.  This FAQ
  325. should be located in the same system where you have found this document.
  326. Alternate sources of information are also detailed below.
  327.  
  328. 21) Are there any mailing lists for Demacs?
  329.  
  330. No there is not one currently.  However, there is a mailing list designed
  331. for djgpp which is the compiler used to compile demacs.  Details for
  332. subscribing to it are found in the comp.emacs FAQ in question 124.
  333.  
  334. If you feel interested in joining a Demacs mailing list, send me mail.
  335. I will try to form one if enough people are interested.
  336.  
  337. 22) Where can I find copies of the material mentioned in this document?
  338.  
  339. The editor of this document (me) has made available all of the files
  340. mentioned in this document in the following FTP site.
  341.  
  342. archive.cs.umbc.edu:pub/demacs
  343.  
  344. I will append a list of the of the files contained at this site towards
  345. the end of the document and give an explanation of each file's 
  346. purpose.
  347.  
  348. If you do not have access to FTP from your site, then contact me and
  349. I will try to work out a method for delivering the files to you.  If
  350. you do not have email then I'm afraid that I can't help you very much.
  351. I'm only an undergraduate with no permanent mail drop.
  352.  
  353. ----------------------------------------------------------------------------
  354. Other unanswered questions, and my thoughts on them.
  355.  
  356. *) Can I use a mouse in Demacs, ala x-windows and Epoch?
  357.   
  358. No one has done this yet as far as I know.  To me, personally, this is low
  359. on my list of programming priorities to work on.  I assume is is possible to
  360. patch the appropriate functions into the c-code, as in any other moused
  361. based program (of which there are millions), and name them to correspond
  362. to appropriate x-windows, and epoch functions.  Unfortunately, I have
  363. no experience with coding mouse functions in MSDOS.  Also, I haven't used
  364. x-windows terminals so I have no sense of a mouse being particularly
  365. useful for the amount of effort needed to implement.  
  366.  
  367. In summary for this question, if you REALLY need to use a mouse in Demacs,
  368. then code it yourself and make sure to emulate already used x-windows,
  369. or Epoch-type functions.  And also tell us when you've done it, because
  370. ALOT of people seem to be interested in this feature.  I'm somewhat certain
  371. that it would not be too hard of a task.  Just look up the appropriate
  372. functions in a X-windows/epoch, and read the little section on "Functions
  373. written in C (primitives)" in the E-Lisp manual.  Especially easy for all
  374. of you combination Emacs C, and DOS Mouse gurus out there. :-)
  375.  
  376. *) Can I load Demacs with only a little bit in convential RAM so that I
  377.    can shell out with c-z and still run large programs?  
  378.  
  379. I asked this question awhile ago.  I think it's impossible, but I'd love
  380. to see it made possible :-)
  381.  
  382. *) Is it possible to load one Demacs session, exit it and have it pick off
  383.    from where I left off if I were to want to run a larger program?  Can I 
  384.    power down/reset the system with the same option? 
  385.  
  386. I had planned on doing dsome work on this myself but many other things have
  387. come up to work on that I feel are important.  I would assume it would be 
  388. possible to do this in c as a full memory dump, but I have no idea at this 
  389. time on how to implement it.  It certainly would make a GREAT alternative
  390. to suspend-emacs.
  391.  
  392. Special thanks go to Daniel G. Simmons, who's help in this has been great.
  393. Also, thanks to all of the people who have responded to the first FAQ with
  394. suggestions or who have posted helpful comments to comp.emacs.
  395.  
  396. --------------------------------------------------------------------------
  397.                       | color change patch |
  398. --------------------------------------------------------------------------
  399.  
  400. This patch will change the default color to a white on blue backround with
  401. a white on red status line.  If you feel the desire to change the colors
  402. from those listed, look up "ansi" in you DOS manual and it should explain
  403. how colors are changed, which colors are which values, etc.
  404.  
  405. To install it, cut out the enclosed module and insert it into your 
  406. "~/demacs/termcap" file (It might be a good idea to make a backup first 
  407. just in case).
  408.  
  409. #  BEGIN-------------------cut here-------------------------------------
  410. #  IBM-PC with ANSI.SYS
  411. #-----------------------------------------------------------------------
  412. ibmpc|ibmpc-ansi|ANSI.SYS:\
  413.         :li#25:co#80:bs:pt:km:bl=^G:\
  414.         :le=\E[D:do=\E[B:\
  415.         :al@:dl@:AL@:DL@:ic@:dc@:IC@:DC@:im@:ei@:\
  416.         :cs@:cd@:\
  417.         :ti=\E[44m:te=\E[m:so=\E[37;41m:se=\E[37;44m:\
  418.         :tc=ansi:
  419.  
  420. ti=\E[44m  (terminal initialize)= blue background attribute
  421. te=\E[m    (terminal end)= normal attribute
  422. so=\E[37;41m (stand out)= white foreground and red background attribute
  423. se=\E[37;44m (stand out end)= white foreground blue background attribute
  424. #  END--------------------cut here---------------------------------------
  425.  
  426. -------------------------------------------------------------------------
  427.         | Patch for Create-Directory, and Remove-Directory | 
  428. -------------------------------------------------------------------------
  429.  
  430. I tracked the problem down to the file "~/lisp/emacs-19.el" which is a
  431. patch file to allow compatibility with GNU Emacs version 1 9 when it
  432. comes out.  To install this patch, make a copy of "~/lisp/emacs-19.el"
  433. and put it in a safe place.  Then load up Demacs (or a text editor of
  434. your choice) and add the following lines right after the header
  435. information.
  436.  
  437. ;;--Patch for md/rd support for emacs-19.el-----cut here------------------
  438. ;;
  439. ;; Modified on 5-2-92 by David M. Steibel (DMS) for Demacs 1.2.0 (91/12/12) 
  440. ;;    - added convert-filename-ibmpc; changed unix mkdir/rmdir to dos md/rd
  441. ;; Modified on 6-1-92 by DMS
  442. ;;    - changed convert-filename-ibmpc based on suggeston by Sebastian Kremer
  443. ;; Modified on 7-2-92 by DMS
  444. ;;    - cleaned it up for install.bat
  445. ;;
  446. (defun convert-filename-ibmpc (fn)
  447.   (dired-replace-in-string "/" "\\" fn))
  448. ;;--------------------end of patch------------cut here-----------------------
  449.  
  450. 2) find the following line in the function "remove-directory"
  451.  
  452.       (call-process "rmdir" nil nil nil fn)
  453.  
  454.    comment it out and add the following line like so... 
  455.  
  456. ;      (call-process "rmdir" nil nil nil fn)
  457.       (shell-command (format "%s%s" "rd " (convert-filename-ibmpc fn)))
  458.  
  459. 3) do the same for 
  460.  
  461.     (call-process "mkdir" nil nil nil fn))
  462.  
  463.    turning it into
  464.  
  465. ;    (call-process "mkdir" nil nil nil fn))
  466.      (shell-command (format "%s%s" "md " (convert-filename-ibmpc fn))) )
  467.  
  468. That's it.  (change-filename-ibm string) will convert a string containing 
  469. UNIX style foward slashes to DOS-style backwards slashes.  The rest is
  470. accomplished by calling a shell command with the converted filename.
  471. ----------------------------------------------------------------------------
  472.  
  473. ----------------------------------------------------------------------------
  474.               | Change video mode and number of rows |
  475. ----------------------------------------------------------------------------
  476.  
  477. Martin Bradford <mab@mcdd1.uucp> posted the following . . .
  478.  
  479. Note: /DMS indicates I changed  his original code.  Also, I modified
  480.       the introduction.
  481.  
  482. The following functions allow you to switch between 43/50-row and 25-row 
  483. modes in Demacs.  In EGA mode its 43 lines, and in VGA mode its 50 lines 
  484. so change the "set-screen-size" parameter if you have VGA.  The author 
  485. could not get this patch to work under MS-DOS 3, and assumes it is because 
  486. of an alternate ANSI.SYS driver being included with MS-DOS 3.
  487.  
  488. To install, cut out the 2 appropriate functions (or 3 if you use both
  489. VGA mode and EGA mode), and paste into the end of your _emacs file.
  490.  
  491. Note: This code is NOT included in the deminstl.exe file nor in the
  492.       dem120z.lzh file.
  493.  
  494. (defun set43 () "Changes the number of rows to 43.  
  495.                  Only works in EGA mode" ; /DMS added the comment
  496.   (let ((regs (make-register)))
  497.     (set-register-value regs 'ax 3)     ; 0x19
  498.     (int86 16 regs)                     ; 0x21
  499.     (set-register-value regs 'ax 4370) 
  500.     (set-register-value regs 'bl 0)
  501.     (int86 16 regs)
  502.     (set-register-value regs 'ax 4608) 
  503.     (set-register-value regs 'bl 32)
  504.     (int86 16 regs)
  505.     (set-register-value regs 'ax 256) 
  506.     (set-register-value regs 'cx 7)
  507.     (int86 16 regs)
  508.     (set-register-value regs 'ax 4400)
  509.     (int86 16 regs)
  510.     (set-screen-height 43) 
  511.     (recenter) ; /DMS 
  512. ))
  513.  
  514. (defun set43 () "Changes the number of rows to 50.  
  515.                  Only works in VGA mode" ; /DMS set43->set50, added comment
  516.   (let ((regs (make-register)))
  517.     (set-register-value regs 'ax 3)     ; 0x19
  518.     (int86 16 regs)                     ; 0x21
  519.     (set-register-value regs 'ax 4370) 
  520.     (set-register-value regs 'bl 0)
  521.     (int86 16 regs)
  522.     (set-register-value regs 'ax 4608) 
  523.     (set-register-value regs 'bl 32)
  524.     (int86 16 regs)
  525.     (set-register-value regs 'ax 256) 
  526.     (set-register-value regs 'cx 7)
  527.     (int86 16 regs)
  528.     (set-register-value regs 'ax 4400)
  529.     (int86 16 regs)
  530.     (set-screen-height 50) ; /DMS changed for VGA users 
  531.     (recenter) ; /DMS 
  532. ))
  533.  
  534. (defun set25 () "Changes the number of rows to 25 which is also the default.
  535.                  Works in both EGA and VGA modes." ;; /DMS added the comment
  536.   (let ((regs (make-register)))
  537.     (set-register-value regs 'ax 3)     ; 0x19
  538.     (int86 16 regs)                     ; 0x21
  539.     (set-register-value regs 'ax 4353)
  540.     (set-register-value regs 'bl 0)
  541.     (int86 16 regs)
  542.     (set-register-value regs 'ax 4608)
  543.     (set-register-value regs 'bl 32)
  544.     (int86 16 regs)
  545.     (set-register-value regs 'ax 3)
  546.     (int86 16 regs)
  547.     (set-screen-height 25)
  548.     (recenter) ; /DMS
  549. ))
  550.  
  551. ----------------------------------------------------------------------------
  552.                | Installation Instructions |
  553. ----------------------------------------------------------------------------
  554.  
  555. - Note: I will be using pc to refer to compatibles of the intel386/486
  556.         using MS-DOS.
  557.  
  558. - These instructions assume you want the english version, and you have a
  559.   pc although the installation program now works to a limited effect with 
  560.   non-pc computers that are capable of running Demacs)
  561.  
  562. - I also assume that you do not have any conflicts that would give you 
  563.   problems running programs compiled with djgpp.  
  564.  
  565. 1) Obtain copys of the following files
  566.  
  567.    dem120e.lzh 
  568.    deminstl.exe
  569.  
  570.    If you wish to have source code, obtain a copy of the file
  571.  
  572.    dem120s.lzh 
  573.  
  574. 2) Run the file deminstl.exe
  575.  
  576.    It is a self-expanding archive that will contain the following files:
  577.  
  578.    lha.exe     (from lha213.exe; used to uncompress files)
  579.    install.bat (a file to automatically install the neccassary files for you)
  580.    install.txt (this file)
  581.    dem120z.lzh (files required by i386/i486 compatibles)
  582.  
  583.    dem120z.lzh contains the following files.
  584.    
  585.    _emacs        (condensed version of _emacs, with bug fixes)
  586.    emacs-19.el   (patch for rd/md support)
  587.    emacs-19.elc  (compiled emacs-19.el)
  588.    ibmpc.el      (modified key-bindings)
  589.    ibmpc.elc     (compiled ibmpc.el)
  590.    termcap       (changes screen color from white on black to white on blue)
  591.    emacs.bat     (batch file to load demacs and set required environmental
  592.                   variables)
  593.  
  594. 3) - make a directory called c:\demacs
  595.    - copy the files dem120e.lzh, dem120s.lzh (if you desire the source code),
  596.      and dem120z.lzh (if you have an i386/i486 compatible) into c:\demacs
  597.    - copy the file lha.exe into your path statement.
  598.  
  599. 4) run install.bat
  600.  
  601.    You have the following options.
  602.  
  603.    "install pc source" installs i386/i486 compatible version, with source
  604.    "install pc nosource" installs i386/i486 compatible version, no source
  605.    "install nopc source" for other computers, with source
  606.    "install nopc nosource" for other computers, with source
  607.  
  608.    install will automatically install the needed files for you in the directory
  609.    c:\demacs.  
  610.  
  611.    A few notes on install.bat operation that differ from how results would
  612.    be by using instructions in demacs manual:
  613.  
  614.    - c:\demacs\bin is not created.  
  615.      Instead, needed executables are copied directly into c:\demacs
  616.    - source code is more organized, more specifically into:
  617.      c:\demacs\sources\src
  618.      c:\demacs\sources\lisp
  619.      c:\demacs\sources\go32_pc
  620.      c:\demacs\sources\go32_98 (for nopc option)
  621.  
  622.    - c:\demacs\etc\make-doc.c is deleted (for nosource option)
  623.    - c:\demacs\demacs98 is deleted (for pc option)
  624.    - c:\demacs\lisp\term files not for pc are deleted (for pc option)
  625.  
  626.    - the files in dem120z.lzh are copied in place of the originals (for pc)
  627.      the original versions are renamed as follows.
  628.      c:\demacs\_emacs -> c:\demacs\_emacs.old
  629.      c:\demacs\termcap -> c:\demacs\termcap.old
  630.      c:\demacs\lisp\emacs-19.el -> c:\demacs\emacs-19.old
  631.      c:\demacs\lisp\term\ibmpc.el -> c:\demacs\ibmpc.old
  632.  
  633. 5) Check your config.sys file to ensure the following conditions are met.
  634.  
  635.    A) You must load ansi.sys in your config.sys.  If it isn't loaded,
  636.       add the statement
  637.   
  638.       set device=c:\dos\ansi.sys
  639.  
  640.       into your config.sys file, where "c:\dos\ansi.sys" is the path and
  641.       filename pointing to the ansi.sys that comes with MS-DOS.  Also note
  642.       now that using a non-Microsoft version of ANSI.SYS could result in
  643.       problems for you.
  644.  
  645.    B) You must have the proper memory manager installed.  You must also
  646.       have at least one megabyte of extended memory free to load demacs.
  647.       For example, include the following statement in your config.sys
  648.  
  649.       set device=c:\dos\himem.sys
  650.  
  651.       Also, if you use extended memory for other programs, you should
  652.       use emm386, where at least one megabyte of memory is free after
  653.       other programs for demacs.  For example, I have 4 megs. of memory
  654.       with a 1.5 meg RAMDrive, so I include the statement
  655.  
  656.       set device=c:\dos\emm386.sys 2880
  657.  
  658.       Note that emm386.sys doesn't HAVE to be used if no other programs
  659.       besides Demacs use extended memory.  Also certain switches on
  660.       the emm386.sys statement will result in demacs not operating 
  661.       properly.
  662.       
  663.    C) You must have the proper amount of environmental space designated.
  664.       If you receive the message "Out of environment space" when loading
  665.       then you must allocate more.  It is suggested to increment it in
  666.       stages of 1/2k.  For example, do the following increments in 
  667.       config.sys until your problem is gone.  
  668.  
  669.       set shell=c:\command.com
  670.       set shell=c:\command.com /e:512
  671.       set shell=c:\command.com /e:1024
  672.       etc..
  673.  
  674. 6) Modifications to emacs.bat to customize environmental variables.
  675.  
  676.    The following modifications to the file emacs.bat are recommended.
  677.  
  678.    set go32tmp = c:/temp
  679.  
  680.    should be modified to contain the directory name of your temporary
  681.    directory.  Optionally, you can avoid this modification by making
  682.    a subdirectory called c:\temp
  683.  
  684.    set user = root
  685.  
  686.    This should be changed to reflect your name or harddrive name.  However,
  687.    leaving it as root isn't an incredibly bad idea because you in effect
  688.    have root priviledges as far as control to your harddrive.  The only
  689.    place I've seen this variable used is in dired.
  690.  
  691. 7) Modification of the file c:\demacs\_emacs
  692.  
  693.    If you wish for the delete key to generate a control-h, which will
  694.    call help, instead of deleting the next character, then you will
  695.    wish to add a semi-colon in front of the following line.
  696.  
  697.    (load-library "term/bobcat")   ;;; swaps BS (C-h) and DEL
  698.  
  699.    If you wish to have a help template shown on the screen while editing,
  700.    then you will wish to remove the semi-colon from in front of the 
  701.    following line.
  702.  
  703.    ;  (setq console-is-with-function-key-label t)
  704.  
  705.    The most recent version of this file can be found in the FTP site
  706.    Archive.cs.umbc.edu:pub/demacs
  707.  
  708.    If you have any comments, or problems with installation, please contact 
  709.    steibel@cs.umbc.edu (David M. Steibel)
  710.  
  711. --------------------------------------------------------------------------
  712.  
  713. ----------------------------------------------------------------------------
  714. | List of file from FTP site -> archive.cs.umbc.edu : pub/demacs/00-index.txt | 
  715. ----------------------------------------------------------------------------
  716.  
  717. This directory consists of Demacs related files.
  718.  
  719.     Size Filename       Discription
  720.  
  721.      793  00-index.txt   This file
  722.     7539  auc-tex.txt    Describes how auc-tex mode operates under Demacs 
  723.  1076853  dem120e.lzh    Demacs executables; English version (version 1.2.0)
  724.   673436  dem120s.lzh    Demacs source code files (version 1.2.0)
  725.   221365  demacs.PS      Demacs manual; Postscript format
  726.    31124  demacs.faq     Demacs Frequently Asked Questions (FAQ) (July 6)
  727.    35934  demacs.faq.old Demacs FAQ from last month (June)
  728.    42404  deminstl.exe   Demacs 1.2.0 self-extracting installation program
  729.                            V1.00 (July 6, 1992)
  730.    71485  detags.zip     Etags for Demacs with globbing; (etags *.[ch])
  731.   201714  emacs.faq      Comp.Emacs Frequently Asked Questions (FAQ)
  732.    44416  lha213.exe     Program used to un-lzh demacs, self extracting
  733.     6138  umlaute.txt    tells how to add foreign characters (German)
  734.  
  735. Please obtain and read a copy of ('demacs.faq') before doing anything
  736. else.  It contains more detailed instructions about the files contained
  737. in this directory.
  738.  
  739. Please send any comments directly to steibel@cs.umbc.edu (David M. Steibel)
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.