home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / emacs / 2838 < prev    next >
Encoding:
Text File  |  1992-08-12  |  31.3 KB  |  726 lines

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