-*-mode:outline;minor-mode:outl-mouse-*-Thisfiledescribesvariousproblemsthathavebeenencounteredincompiling,installingandrunningXEmacs.Thisfileislarge,butwehavetriedtosorttheentriesbytheirrespectiverelevanceforXEmacs,butmayhavenotsucceededcompletelyinthattask.TryfindingthethingsyouneedusingoneofthesearchcommandsXEmacsprovides(e.g.`C-s').(updated for 20.2)* Watch out for .emacs file~/.emacs is your Emacs init file. If you observe strange problems,invoke XEmacs with the `-q'optionandseeifyoucanrepeattheproblem.*ProblemswithbuildingXEmacs**Thecompilergenerateslotsandlotsofsyntaxerrors.AreyouusinganANSICcompiler,likelccorgcc?TheSunOS4.1bundledccisnotANSI.IfXhasnotbeenconfiguredtocompileitselfusinglcc,gcc,oranotherANSIcompiler,thenyouwillhavetohacktheautomatically-generatedmakefileinthe`lwlib' directory by hand to make it use an ANSI compiler.** test-distrib says that the distribution has been clobbered** or, temacs prints "Command key out of range 0-127"** or, temacs runs and dumps xemacs, but xemacs totally fails to work.** or, temacs gets errors dumping xemacsThis can be because the .elc files have been garbled. Do not befooled by the fact that most of a .elc file is text: these arebinary files and can contain all 256 byte values.In particular `shar'cannotbeusedfortransmittingGNUEmacs.Ittypicallytruncates"lines".Whatappeartobe"lines"inabinaryfilecanofcoursebeofanylength.Evenonce`shar'itself is made to work correctly, `sh'discardsnullcharacterswhenunpackingtheshellarchive.Ihavealsoseencharacter\177changedinto\377.Idonotknowwhattransfermeanscausedthisproblem.Variousnetworkfiletransferprogramsaresuspectedofclobberingthehighbit.IfyouhaveacopyofEmacsthathasbeendamagedinitsnonprintingcharacters,youcanfixthem:1)Recordthenamesofallthe.elcfiles.2)Deleteallthe.elcfiles.3)Recompilealloc.cwithavalueofPURESIZEtwiceaslarge.Youmightaswellsavetheoldalloc.o.4)Remakexemacs.Itshouldworknow.5)Runningxemacs,doMeta-xbyte-compile-filerepeatedlytorecreateallthe.elcfilesthatusedtoexist.Youmayneedtoincreasethevalueofthevariablemax-lisp-eval-depthtosucceedinrunningthecompilerinterpretedoncertain.elfiles.400wassufficientasoflastreport.6)Reinstalltheoldalloc.o(undoingchangestoalloc.cifany)andremaketemacs.7)Remakexemacs.Itshouldworknow,withvalid.elcfiles.**temacsprints"Pure Lisp storage exhausted"ThismeansthattheLispcodeloadedfromthe.elcand.elfilesduringtemacs-lloadupincdumptookupmorespacethanwasallocated.Thiscouldbecausedby1)addingcodetothepreloadedLispfiles2)addingmorepreloadedfilesinloadup.el3)havingasite-init.elorsite-load.elwhichloadsfiles.NotethatANYsite-init.elorsite-load.elisnonstandard;ifyouhavereceivedEmacsfromsomeothersiteanditcontainsasite-init.elorsite-load.elfile,considerdeletingthatfile.4)gettingthewrong.elor.elcfiles(notfromthedirectoryyouexpected).5)deletingsome.elcfilesthataresupposedtoexist.Thiswouldcausethesourcefiles(.elfiles)tobeloadedinstead.Theytakeupmoreroom,soyoulose.6)abugintheEmacsdistributionwhichunderestimatesthespacerequired.Iftheneedformorespaceislegitimate,usethe--puresizeoptionto`configure' to specify more pure space.But in some of the cases listed above, this problem is a consequenceof something else that is wrong. Be sure to check and fix the realproblem.** Don'tuse-O2withgcc2.7.2underLinuxwithoutalsousing`-fno-strength-reduce'.gcc will generate incorrect code otherwise. This bug is present in atleast 2.6.x and 2.7.[0-2]. This bug has been fixed in GCC 2.7.2.1 andlater.** `Error: No ExtNode to pop!'onLinuxsystemswithLesstif.Thiserrormessagehasbeenobservedwithlesstif-0.75a.Itdoesnotappeartocauseanyharm.**MovemailonLinuxdoesn't work any moreLinux now defaults to using .lock mail locking. To get back to theprevious flock locking, edit src/s/linux.h and uncomment out the`# define MAIL_USE_FLOCK'line.**SparcLinux-vs-libXmu.TherehavebeenreportsofconfigurenotdetectinglibXmuonSparcLinux.Thefixistoadd-lXmutothelinkflags.**DebianLinuxandBerkeleydbincludefiles.DebianLinuxputstheBerkeleydbincludefilesin/usr/include/dbinsteadof/usr/include.Thefixistouse--site-includes=/usr/include/dbwithconfigure.**alloc.cwillnotcompilewithout-PonHP-UX9.05PekkaMarjola<pema@iki.fi>writes:Gcc(2.7.2,withcpplibIIRC)requiredsomething(-Pworked:)togetittocompile.OtherwiseitfailedonthoseDEFUNmacroswithcommentsinsideparameterlists(likebuffer.c,line296).**ExcessiveoptimizationwithpgcccanbreakXEmacsIthasbeenreportedonsomesystemsthatcompilingwith-O6canleadtoXEmacsfailures.Theworkaroundistousealoweroptimizationlevel.-O2and-O4havebeentestedextensively.**-O2optimizationonIrix5.3cancausecompilercomplaint.NickJ.Crabtree<nickc@scopic.com>writes:ComesupOKonatty(allIhaveavailableoverthisslowlink).Illgiveitahammeringtomorrow.The-O2optimisationcomplainedaboutsizesexceedingthresholds;Ihaven't bothered to use the -Olimit option it recommends.** Excessive optimization on AIX 4.2 can lead to compiler failure.Valdis.Kletnieks@vt.edu writes: At least at the b34 level, and the latest-and-greatest IBM xlc (3.1.4.4), there are problems with -O3. I haven'tinvestigatedfurther.**SedproblemsonSolaris2.5TherehavebeenreportsofSunsedtruncatingverylinesintheMakefileduringconfiguration.TheworkaroundistouseGNUsedor,evenbetter,thinkofabetterwaytogenerateMakefile,andsendusapatch.:-)**Linkingwith-rpathonIRIX.DarrellKindred<dkindred@cmu.edu>writes:Thereareacoupleofproblems[withuseof-rpathwithIrixld],though:1.TheldinIRIX5.3ignoresallbutthelast-rpathspec,sothepatchedconfigurespitsoutawarningif--x-librariesor--site-runtime-librariesarespecifiedunderirix5.x,anditonlyadds-rpathentriesforthe--site-runtime-libraries.Thisbugwasfixedsometimebetween5.3and6.2.2.IRIXgcc2.7.2doesn't accept -rpath directly, so it would have to be prefixed by -Xlinker or "-Wl,". This would be fine, except that configure compiles with ${CC-cc} $CFLAGS $LDFLAGS ... rather than quoting $LDFLAGS with prefix-args, like src/Makefile does. So if you specify --x-libraries or --site-runtime-libraries, you must use --use-gcc=no, or configure will fail.** On Irix 5.x and 6.x, the dumped XEmacs (xemacs) core dumps when executed on another machine, or after newer SGI IRIX patches have been installed.The xemacs binary must be executed with the same "libc.so" file whichwas used when the xemacs binary was dumped. Some SGI IRIX patchesupdate this file. Make sure that all machines using the xemacs binaryare using the same set of IRIX patches. If xemacs core dumps after apatch upgrade then you will have to redump it from temacs.** xemacs: can'tresolvesymbol'__malloc_hook'ThisisaLinuxproblemwhereyou've compiled the XEmacs binary on a libc5.4 with version higher than 5.4.19 and attempted to run the binary againstan earlier version. The solution is to upgrade your old library.** Compilation errors on VMS.Sorry, XEmacs does not work under VMS. You might consider working onthe port if you really want to have XEmacs work under VMS.** On HP/UX configure selects gcc even though it isn'tactuallypresent.SomeversionsofSoftBenchhaveanexecutablecalled'gcc'thatisnotactuallytheGNUCcompiler.Usethe--with-gcc=noflagwhenrunningconfigure.**OnSolaris2.*Igetundefinedsymbolsfromlibcurses.a.Youprobablyhave/usr/ucblib/onyourLD_LIBRARY_PATH.DothelinkwithLD_LIBRARY_PATHunset.**OnSolaris2.*Icannotmakealloc.o,glyphs.oorprocess.o.TheSparcWorksCcompilermayhavedifficultybuildingthosemoduleswithoptimizationlevel-xO4.Tryusingonly"-fast"optimizationforjustthosemodules.(Orusegcc).**OnDigitalUNIX,theDECCcompilermighthaveaproblemcompilingsomefiles.Inparticular,src/extents.candsrc/faces.cmightcausetheDECCcompilertoabort.Whenthishappens:cdsrc,compilethefilesbyhand,cd..,andredothe"make"command.Whenrecompilingthefilesbyhand,usetheoldCcompilerforthefollowingversionsofDigitalUNIX:-V3.n:Remove"-migrate"fromthecompilecommand.-V4.n:Add"-oldc"tothecompilecommand.**OnDigitalUNIX,TOOLTALKgetsmisdetectedandmisconfiguredThisproblemmanifesteditselfinthebetacycleasputtingaliteralLIB_TOOLTALKstringintotheMakefile.**OnHPUX,theHPCcompilermighthaveaproblemcompilingsomefileswithoptimization.RichardCognot<cognot@ensg.u-nancy.fr>writes:Hadtodroponceagaintolevel2optimization,atleasttocompilelstream.c.Otherwise,Igeta"variable is void: \if"problemwhiledumping(thisisaproblemIalreadyreportedwithvanillahpux10.01and9.07,whichwentawayafterapplyingpatchesfortheCcompiler).TroubleisIstillhaven't found the same patch for hpux 10.10, and I don'trememberthepatchnumbers.IthinkpotentialXEmacsbuildersonHPshouldbewarnedaboutthis.**Idon't have `xmkmf'and`imake' on my HP.You can get these standard X tools by anonymous FTP to hpcvaaz.cv.hp.com.Essentially all X programs need these.** Solaris 2.3 /bin/sh coredumps during configuration.This only occurs if you have LANG != C. This is a known bug with/bin/sh fixed by installing Patch-ID# 101613-01.** On Irix 6.0, make tries (and fails) to build a program named unexelfsgiA compiler bug inserts spaces into the string "unexelfsgi . o"in src/Makefile. Edit src/Makefile, after configure is run,find that string, and take out the spaces.Compiler fixes in Irix 6.0.1 should eliminate this problem.** Native cc on SCO OpenServer 5 is now OK. Icc may still throw you a curve. Here is what Robert Lipe <robertl@arnet.com> says:Unlike XEmacs 19.13, building with the native cc on SCO OpenServer 5 now produces a functional binary. I will typically build thisconfiguration for COFF with: /path_to_XEmacs_source/configure --with-gcc=no \ --site-includes=/usr/local/include --site-libraries=/usr/local/lib \ --with-xpm --with-xface --with-sound=nasThis version now supports ELF builds. I highly recommend this to reduce the in-core footprint of XEmacs. This is now how I compile all my test releases. Build it like this: /path_to_XEmacs_source/configure --with-gcc=no \ --site-includes=/usr/local/include --site-libraries=/usr/local/lib \ --with-xpm --with-xface --with-sound=nas --dynamicThe compiler known as icc [suppliedwiththeOpenServer5DevelopmentSystem] generates a working binary, but it takes forever to generateXEmacs. ICC also whines more about the code than /bin/cc does. I dobelieve all its whining is legitimate, however. Note that you dohave to 'cdsrc;makeLD=icc' to avoid linker errors.The way I handle the build procedure is: /path_to_XEmacs_source/configure --with-gcc=no \ --site-includes=/usr/local/include --site-libraries=/usr/local/lib \ --with-xpm --with-xface --with-sound=nas --dynamic --compiler="icc"NOTE I have the xpm, xface, and audio libraries and includes in /usr/local/lib, /usr/local/include. If you don'thavethese,don't include the "--with-*" arguments in any of my examples.In previous versions of XEmacs, you had to override the defaults while compiling font-lock.o and extents.o when building with icc. This seemsto no longer be true, but I'mincludingthisoldinformationincaseitresurfaces.TheprocessIusedwas:make-k[procurepizza,beer,repeat]cdsrcmakeCC="icc -W0,-mP1COPT_max_tree_size=3000"font-lock.oextents.omakeLD=iccIfyouwantsoundsupport,getthetls566supplementfromftp.sco.com:/TLSoranyofitsmirrors.ItworksjustgroovywithXEmacs.TheM-xmanual-entryisknownnottowork.IfyouknowLispandwouldlikehelpinmakingitwork,e-mailmeat<robertl@dgii.com>.(UNCHECKEDfor19.15--itmightwork).Inearlierreleases,gnuserv/gnuclient/gnudoitwouldopenaframejustfine,buttheclientwouldlockupandtheserverwouldterminatewhenyouusedC-x#toclosetheframe.ThisisnowfixedinXEmacs.Inetc/therearetwofilesofnote.emacskeys.scoandemacsstrs.sco.Thecommentsatthetopofemacskeys.scodescribeitsfunction,andtheemacstrs.scoisasuitablecandidatefor/usr/lib/keyboard/stringstotakeadvantageofthekeyboardmapinemacskeys.sco.**UndersomeversionsofOSFXEmacsrunsfineifbuiltwithoutoptimizationbutwillcrashrandomlyifbuiltwithoptimization.Using'cc -g'isnotsufficienttoeliminatealloptimization.Try'cc -g -O0'instead.**OnSunOS,yougetlinkererrorsld:Undefinedsymbol_get_wmShellWidgetClass_get_applicationShellWidgetClassThefixtothisistoinstallpatch100573forOpenWindows3.0orlinklibXmustatically.**OnSunos4,yougettheerrorld:Undefinedsymbol__lib_version.Thisistheresultofusingccorgccwiththesharedlibrarymeantforacc(theSunprocompiler).CheckyourLD_LIBRARY_PATHanddelete/usr/lang/SC2.0.1orsomesimilardirectory.**OnAIX4.1.2,linkererrormessagessuchasld:0711-212SEVEREERROR:Symbol.__quous,foundintheglobalsymboltableofarchive/usr/lib/libIM.a,wasnotdefinedinarchivemembershr.o.ThisisaprobleminlibIM.a.YoucanworkarounditbyexecutingtheseshellcommandsinthesrcsubdirectoryofthedirectorywhereyoubuildEmacs:cp/usr/lib/libIM.a.chmod664libIM.aranliblibIM.aThenchange-lIMto./libIM.ainthecommandtolinktemacs(inMakefile).**OnIrix5.2,unexelfsgi.ccan't find cmplrs/stsupport.h.The file cmplrs/stsupport.h was included in the wrong file set in theIrix 5.2 distribution. You can find it in the optional filesetcompiler_dev, or copy it from some other Irix 5.2 system. A kludgyworkaround is to change unexelfsgi.c to include sym.h instead ofsyms.h.** Link failure when using acc on a Sun.To use acc, you need additional options just before the libraries, such as /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1and you need to add -lansi just before -lc.The precise file names depend on the compiler version, so wecannot easily arrange to supply them.** Link failure on IBM AIX 1.3 ptf 0013.There is a real duplicate definition of the function `_slibc_free'inthelibrary/lib/libc_s.a(justdonmonittoverify).Theworkaround/fixis:cd/libarxvlibc_s.aNLtmtime.oardvlibc_s.aNLtmtime.o**Undefinedsymbols_dlopen,_dlsymand/or_dlcloseonaSun.Ifyouseeundefinedsymbols_dlopen,_dlsym,or_dlclosewhenlinkingwith-lX11,compileandlinkagainstthefilemit/util/misc/dlsym.cintheMITX11R5distribution.Alternatively,linktemacsusingsharedlibrarieswiths/sunos4shr.h.(Thisdoesn't work if you use the Xtoolkit.)If you get the additional error that the linker could not findlib_version.o, try extracting it from X11/usr/lib/X11/libvim.a inX11R4, then use it in the link.** Undefined symbols when linking on Sunos 4.1.If you get the undefined symbols _atowc _wcslen, _iswprint, _iswspace,_iswcntrl, _wcscpy, and _wcsncpy, then you need to add -lXwchar after-lXaw in the command that links temacs.This problem seems to arise only when the international languageextensions to X11R5 are installed.** src/Makefile and lib-src/Makefile are truncated--most of the file missing.This can happen if configure uses GNU sed version 2.03. That versionhad a bug. GNU sed version 2.05 works properly.** On AIX, you get this compiler error message: Processing include file ./XMenuInt.h 1501-106: (S) Include file X11/Xlib.h not found.This means your system was installed with only the X11 runtime i.dlibraries. You have to find your sipo (bootable tape) and installX11Dev... with smit.** C-z just refreshes the screen instead of suspending Emacs.You are probably using a shell that doesn'tsupportjobcontrol,eventhoughthesystemitselfiscapableofit.Eitheruseadifferentshell,orsetthevariable`cannot-suspend' to a non-nil value.** On a Sun running SunOS 4.1.1, you get this error message from GNU ld: /lib/libc.a(_Q_sub.o): Undefined symbol __Q_get_rp_rd referenced from text segment The problem is in the Sun shared C library, not in GNU ld.The solution is to install Patch-ID# 100267-03 from Sun.** SunOS 4.1.2: undefined symbol _get_wmShellWidgetClass Apparently the version of libXmu.so.a that Sun ships is hosed: it'smissingsomestuffthatisinlibXmu.a(thestaticversion).Sunhasapatchforthis,butaworkaroundistousethestaticversionoflibXmu,bychangingthelinkcommandfrom"-lXmu"to"-Bstatic -lXmu -Bdynamic".IfyouhaveOpenWindows3.0,askSunforthesepatches:100512-024.1.xOpenWindows3.0libXtJumbopatch100573-034.1.xOpenWindows3.0undefinedsymbolswithsharedlibXmu**RandomotherSunOS4.1.[12]linkerrors.TheXheadersandlibrariesthatSunshipsin/usr/{include,lib}/X11arebroken.Usetheonesin/usr/openwin/{include,lib}instead.**Whenusinggcc,yougettheerrormessage"undefined symbol __fixunsdfsi".**Whenusinggcc,yougettheerrormessage"undefined symbol __main".Thismeansthatyouneedtolinkwiththegcclibrary.Itmaybecalled"gcc-gnulib"or"libgcc.a";figureoutwhereitis,anddefineLIB_GCCinconfig.htopointtoit.ItmayalsoworktousetheGCCversionof`ld' instead of the standard one.** When compiling with X11, you get "undefined symbol _XtStrings".This means that you are trying to link emacs against the X11r4 version oflibXt.a, but you have compiled either Emacs or the code in the lwlibsubdirectory with the X11r5 header files. That doesn'twork.Remember,youcan't compile lwlib for r4 and emacs for r5, or vice versa.They must be in sync.** Problems finding X11 libraries on Solaris with OpenwindowsSome users have reported problems in this area. The reported solutionis to define the environment variable OPENWINHOME, even if you must setit to `/usr/openwin'.*ProblemswithrunningXEmacs**YoutypeControl-H(Backspace)expectingtodeletecharacters.EmacshastraditionallyusedControl-Hforhelp;unfortunatelythisinterfereswithitsuseasBackspaceonTTY's. One way to solve thisproblem is to put this in your .emacs: (keyboard-translate ?\C-h ?\C-?) (global-set-key "\M-?" 'help-command)ThismakesControl-H(Backspace)worksensibly,andmoveshelptoMeta-?(ESC?).NotethatyoucanprobablyalsoaccesshelpusingF1.**OnSolaris,C-xdoesn't get through to Emacs when you use the console.This is a Solaris feature (at least on Intel x86 cpus). Type C-rC-r C-t, to toggle whether C-x gets through to Emacs.** VM appears to hang in large foldersThis is normal (trust us) when upgrading to VM-6.22 from earlierversions. Let VM finish what it is doing and all will be well.** Changes made to .el files do not take effect.You may have forgotten to recompile them into .elc files.Then the old .elc files will be loaded, and your changeswill not be seen. To fix this, do M-x byte-recompile-directoryand specify the directory that contains the Lisp files.Note that you may get a warning when loading a .elc file thatis older than the corresponding .el file.** Things which should be bold or italic (such as the initial copyright notice) are not.The fonts of the "bold" and "italic" faces are generated from the font ofthe "default" face; in this way, your bold and italic fonts will have theappropriate size and family. However, emacs can only be clever in thisway if you have specified the default font using the XLFD (X Logical FontDescription) format, which looks like *-courier-medium-r-*-*-*-120-*-*-*-*-*-*if you use any of the other, less strict font name formats, some of whichlook like lucidasanstypewriter-12and fixedand 9x13then emacs won'tbeabletoguessthenamesofthe"bold"and"italic"versions.AllXfontscanbereferredtoviaXLFD-stylenames,soyoushouldusethoseforms.SeethemanpagesforX(1),xlsfonts(1),andxfontsel(1).**ThedumpedEmacs(XEmacs)crasheswhenrun,tryingtowritepuredata.Twocauseshavebeenseenforsuchproblems.1)Onasystemwheregetpagesizeisnotasystemcall,itisdefinedasamacro.Ifthedefinition(inbothunexec.candmalloc.c)iswrong,itcancauseproblemslikethis.Youmightbeabletofindthecorrectvalueinthemanpagefora.out(5).2)Somesystemsallocatevariablesdeclaredstaticamongtheinitializedvariables.Emacsmakesallinitializedvariablesinmostofitsfilespureafterdumping,butthevariablesdeclaredstaticandnotinitializedarenotsupposedtobepure.Onthesesystemsyoumayneedtoadd"#define static"tothem-orthes-file.**Readingandwritingfilesisveryveryslow.Tryevaluatingtheform(setqlock-directorynil)andseeifthathelps.Thereisaproblemwithfile-lockingonsomesystems(possiblyrelatedtoNFS)thatIdon't understand. Please send mail to the address xemacs@xemacs.org if you figure this one out.** The Emacs window disappears when you type M-q.Some versions of the Open Look window manager interpret M-q as a quitcommand for whatever window you are typing at. If you want to useEmacs with that window manager, you should try to configure the windowmanager to use some other command. You can disable theshortcut keys entirely by adding this line to ~/.OWdefaults: OpenWindows.WindowMenuAccelerators: False** The `Alt'keydoesn't behave as `Meta'whenrunningDECwindows.ThedefaultDECkeyboardmappinghastheAltkeyssetuptogeneratethekeysym`Multi_key', which has a meaning to xemacs which is distinct from thatof the `Meta_L'and`Meta-R' keysyms. A second problem is that certain keyshave the Mod2 modifier attached to them for no adequately explored reason.The correct fix is to pass this file to xmodmap upon starting X: clear mod2 keysym Multi_key = Alt_L add mod1 = Alt_L add mod1 = Alt_R** The Compose key on a DEC keyboard does not work as Meta key.This shell command should fix it: xmodmap -e 'keycode0xb1=Meta_L'** When emacs starts up, I get lots of warnings about unknown keysyms.If you are running the prebuilt binaries, the Motif library expects to findcertain thing in the XKeysymDB file. This file is normally in /usr/lib/X11/or in /usr/openwin/lib/. If you keep yours in a different place, set theenvironment variable $XKEYSYMDB to point to it before starting emacs. If you still have the problem after doing that, perhaps your version of X is too old. There is a copy of the MIT X11R5 XKeysymDB file in the emacs `etc'directory.Tryusingthatone.**MyXresourcesusedtowork,andnowsomeofthemarebeingignored.Checktheresourcesin.../etc/Emacs.ad(whichisthesameasthefilesample.Xdefaults).Perhapssomeofthedefaultresourcesbuiltintoemacsarenowoverridingyourexistingresources.CopyandedittheresourcesinEmacs.adasnecessary.**IgetcomplaintsaboutthemappingofmyHPkeyboardatstartup,butIhaven't changed anything.The default HP keymap is set up to have Mod1 assigned to two different keys:Meta_L and Mode_switch (even though there is not actually a Mode_switch key onthe keyboard -- it uses an "imaginary" keycode.) There actually is a reasonfor this, but it'snotagoodone.ThecorrectfixistoexecutethiscommanduponstartingX:xmodmap-e'remove mod1 = Mode_switch'**IhavefocusproblemswhenIuse`M-o' to switch to another screen without using the mouse.The focus issues with a program like XEmacs, which has multiple homogeneoustop-level windows, are very complicated, and as a result, most window managersdon'timplementthemcorrectly.TheR4/R5versionoftwm(andallofitsdescendants)hadbuggyfocushandling;thereisapatchin.../xemacs/etc/twm-patchwhichfixesthis.Sufficientlyrecentversionsoftvtwmdonotneedthispatch,butmostotherversionsoftwmdo.Ifyouneedtoapplythispatch,pleasetrytogetitintegratedbythemaintainerofwhicheverversionoftwmyou're using.In addition, if you'reusingtwm,makesureyouhavenotspecified"NoTitleFocus"inyour.tvtwmrcfile.Theverynatureofthisoptionmakestwmdosomeillegalfocustricks,evenwiththepatch.Itisknownthatolwmandolvwmarebuggy,andindifferentways.Ifyou're using click-to-type mode, try using point-to-type, or vice versa.In older versions of NCDwm, one could not even type at XEmacs windows. Thishas been fixed in newer versions (2.4.3, and possibly earlier).(Many people suggest that XEmacs should warp the mouse when focusing onanother screen in point-to-type mode. This is not ICCCM-compliant behavior.Implementing such policy is the responsibility of the window manager itself,it is not legal for a client to do this.)** Mail agents (VM, Gnus, rmail) cannot get new mailrmail and VM get new mail from /usr/spool/mail/$USER using a programcalled `movemail'.Thisprograminterlockswith/bin/mailusingtheprotocoldefinedby/bin/mail.Therearetwodifferentprotocolsingeneraluse.Oneofthemusesthe`flock' system call. The other involves creating a lock file;`movemail'mustbeabletowritein/usr/spool/mailinordertodothis.Youcontrolwhichoneisusedbydefining,ornotdefining,themacroMAIL_USE_FLOCKinconfig.horthem-ors-fileitincludes.IFYOUDON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR SYSTEM,YOU CAN LOSE MAIL!If your system uses the lock file protocol, and fascist restrictionsprevent ordinary users from writing the lock files in /usr/spool/mail,you may need to make `movemail'setgidtoasuitablegroupsuchas`mail'. To do this, use the following commands (as root) after doingthe make install. chgrp mail movemail chmod 2755 movemailInstallation normally copies movemail from the build directory to aninstallation directory which is usually under /usr/local/lib. Theinstalled copy of movemail is usually in the directory/usr/local/lib/emacs/VERSION/TARGET. You must change the group andmode of the installed copy; changing the group and mode of the builddirectory copy is ineffective.** Emacs spontaneously displays "I-search: " at the bottom of the screen.This means that Control-S/Control-Q (XON/XOFF) "flow control" is beingused. C-s/C-q flow control is bad for Emacs editors because it takesaway C-s and C-q as user commands. Since editors do not output longstreams of text without user commands, there is no need for auser-issuable "stop output" command in an editor; therefore, aproperly designed flow control mechanism would transmit all possibleinput characters without interference. Designing such a mechanism iseasy, for a person with at least half a brain.There are three possible reasons why flow control could be taking place: 1) Terminal has not been told to disable flow control 2) Insufficient padding for the terminal in use 3) Some sort of terminal concentrator or line switch is responsibleFirst of all, many terminals have a set-up mode which controls whetherthey generate XON/XOFF flow control characters. This must be set to"no XON/XOFF" in order for Emacs to work. Sometimes there is anescape sequence that the computer can send to turn flow control offand on. If so, perhaps the termcap `ti'stringshouldturnflowcontroloff,andthe`te' string should turn it on.Once the terminal has been told "no flow control", you may find itneeds more padding. The amount of padding Emacs sends is controlledby the termcap entry for the terminal in use, and by the output baudrate as known by the kernel. The shell command `stty'willprintyouroutputbaudrate;`stty' with suitable arguments will set it ifit is wrong. Setting to a higher speed causes increased padding. Ifthe results are wrong for the correct speed, there is probably aproblem in the termcap entry. You must speak to a local Unix wizardto fix this. Perhaps you are just using the wrong terminal type.For terminals that lack a "no flow control" mode, sometimes justgiving lots of padding will prevent actual generation of flow controlcodes. You might as well try it.If you are really unlucky, your terminal is connected to the computerthrough a concentrator which sends XON/XOFF flow control to thecomputer, or it insists on sending flow control itself no matter howmuch padding you give it. Unless you can figure out how to turn flowcontrol off on this concentrator (again, refer to your local wizard),you are screwed! You should have the terminal or concentratorreplaced with a properly designed one. In the mean time, some drasticmeasures can make Emacs semi-work.You can make Emacs ignore C-s and C-q and let the operating systemhandle them. To do this on a per-session basis, just type M-xenable-flow-control RET. You will see a message that C-\ and C-^ arenow translated to C-s and C-q. (Use the same command M-xenable-flow-control to turn *off* this special mode. It toggles flowcontrol handling.)If C-\ and C-^ are inconvenient for you (for example, if one of themis the escape character of your terminal concentrator), you can chooseother characters by setting the variables flow-control-c-s-replacementand flow-control-c-q-replacement. But choose carefully, since allother control characters are already used by emacs.IMPORTANT: if you type C-s by accident while flow control is enabled,Emacs output will freeze, and you will have to remember to type C-q inorder to continue.If you work in an environment where a majority of terminals of acertain type are flow control hobbled, you can use the function`enable-flow-control-on'toturnonthisflowcontrolavoidanceschemeautomatically.Hereisanexample:(enable-flow-control-on"vt200""vt300""vt101""vt131")Ifthisisn't quite correct (e.g. you have a mixture of flow-control hobbledand good vt200 terminals), you can still run enable-flow-controlmanually.I have no intention of ever redesigning the Emacs command set for theassumption that terminals use C-s/C-q flow control. XON/XOFF flowcontrol technique is a bad design, and terminals that need it are badmerchandise and should not be purchased. Now that X is becomingwidespread, XON/XOFF seems to be on the way out. If you can get someuse out of GNU Emacs on inferior terminals, more power to you, but Iwill not make Emacs worse for properly designed systems for the sakeof inferior systems.** Control-S and Control-Q commands are ignored completely.For some reason, your system is using brain-damaged C-s/C-q flowcontrol despite Emacs'sattemptstoturnitoff.Perhapsyourterminalisconnectedtothecomputerthroughaconcentratorthatwantstouseflowcontrol.Youshouldfirsttrytotelltheconcentratornottouseflowcontrol.Ifyousucceedinthis,trymakingtheterminalworkwithoutflowcontrol,asdescribedintheprecedingsection.Ifthatlineofapproachisnotsuccessful,mapsomeothercharactersintoC-sandC-qusingkeyboard-translate-table.TheexampleaboveshowshowtodothiswithC-^andC-\.**Control-SandControl-Qcommandsareignoredcompletelyonanetconnection.Someversionsofrlogin(andpossiblytelnet)donotpassflowcontrolcharacterstotheremotesystemtowhichtheyconnect.Onsuchsystems,emacsontheremotesystemcannotdisableflowcontrolonthelocalsystem.Onewaytocurethisistodisableflowcontrolonthelocalhost(theonerunningrlogin,nottheonerunningrlogind)usingthesttycommand,beforestartingtherloginprocess.Onmanysystems,`sttystartustopu' will do this.Some versions of tcsh will prevent even this from working. One wayaround this is to start another shell before starting rlogin, andissue the stty command to disable flow control from that shell.If none of these methods work, the best solution is to type`M-x enable-flow-control'atthebeginningofyouremacssession,orifyouexpecttheproblemtocontinue,addalinesuchasthefollowingtoyour.emacs(onthehostrunningrlogind):(enable-flow-control-on"vt200""vt300""vt101""vt131")SeetheentryaboutspontaneousdisplayofI-search(above)formoreinfo.**Screenisupdatedwrong,butonlyononekindofterminal.Thiscouldmeanthatthetermcapentryyouareusingforthatterminaliswrong,oritcouldmeanthatEmacshasabughandingthecombinationoffeaturesspecifiedforthatterminal.ThefirststepintrackingthisdownistorecordwhatcharactersEmacsissendingtotheterminal.ExecutetheLispexpression(open-termscript"./emacs-script")tomakeEmacswriteallterminaloutputintothefile~/emacs-scriptaswell;thendowhatmakesthescreenupdatewrong,andlookatthefileanddecodethecharactersusingthemanualfortheterminal.Thereareseveralpossibilities:1)Thecharacterssentarecorrect,accordingtotheterminalmanual.Inthiscase,thereisnoobviousbuginEmacs,andmostlikelyyouneedmorepadding,orpossiblytheterminalmanualiswrong.2)Thecharacterssentareincorrect,duetoanobscureaspectoftheterminalbehaviornotdescribedinanobviouswaybytermcap.Thiscaseishard.ItwillbenecessarytothinkofawayforEmacstodistinguishbetweenterminalswiththiskindofbehaviorandotherterminalsthatbehavesubtlydifferentlybutareclassifiedthesamebytermcap;orelsefindanalgorithmforEmacstousethatavoidsthedifference.Suchchangesmustbetestedonmanykindsofterminals.3)Thetermcapentryiswrong.Seethefileetc/TERMSforinformationonchangesthatareknowntobeneededincommonlyusedtermcapentriesforcertainterminals.4)Thecharacterssentareincorrect,andclearlycannotberightforanyterminalwiththetermcapentryyouwereusing.ThisisunambiguouslyanEmacsbug,andcanprobablybefixedintermcap.c,tparam.c,term.c,scroll.c,cm.cordispnew.c.**OutputfromControl-Visslow.Onmanybit-mapterminals,scrollingoperationsarefairlyslow.OftenthetermcapentryforthetypeofterminalinusefailstoinformEmacsofthis.ThetwolinesatthebottomofthescreenbeforeaControl-VcommandaresupposedtoappearatthetopaftertheControl-Vcommand.IfEmacsthinksscrollingthelinesisfast,itwillscrollthemtothetopofthescreen.IfscrollingisslowbutEmacsthinksitisfast,theusualreasonisthatthetermcapentryfortheterminalyouareusingdoesnotspecifyanypaddingtimeforthe`al' and `dl'strings.Emacsconcludesthattheseoperationstakeonlyasmuchtimeasittakestosendthecommandsatwhateverlinespeedyouareusing.Youmustfixthetermcapentrytospecify,forthe`al' and `dl',asmuchtimeastheoperationsreallytake.CurrentlyEmacsthinksintermsofseriallineswhichsendcharactersatafixedrate,sothatanyoperationwhichtakestimefortheterminaltoexecutemustalsobepadded.Withbit-mapterminalsoperatedacrossnetworks,oftenthenetworkprovidessomesortofflowcontrolsothatpaddingisneverneedednomatterhowslowanoperationis.YoumuststillspecifyapaddingtimeifyouwantEmacstorealizethattheoperationtakesalongtime.Thiswillcausepaddingcharacterstobesentunnecessarily,buttheydonotreallycostmuch.Theywillbetransmittedwhilethescrollingishappeningandthendiscardedquicklybytheterminal.Mostbit-mapterminalsprovidecommandsforinsertingordeletingmultiplelinesatonce.Definethe`AL' and `DL'stringsinthetermcapentrytosayhowtodothesethings,andyouwillhavefastoutputwithoutwastedpaddingcharacters.Thesestringsshouldeachcontainasingle%-specsayinghowtosendthenumberoflinestobescrolled.These%-specsarelikethoseinthetermcap`cm' string.You should also define the `IC'and`DC' strings if your terminalhas a command to insert or delete multiple characters. Thesetake the number of positions to insert or delete as an argument.A `cs'stringtosetthescrollingregionwillreducetheamountofmotionyouseeonthescreenwhenpartofthescreenisscrolled.**YourDeletekeysendsaBackspacetotheterminal,usinganAIXterm.Thesolutionistoincludeinyour.Xdefaultsthelines:*aixterm.Translations:#override<Key>BackSpace:string(0x7f)aixterm*ttyModes:erase^?ThismakesyourBackspacekeysendDEL(ASCII127).**Withcertainfonts,whenthecursorappearsonacharacter,thecharacterdoesn't appear--you get a solid box instead.One user on a Linux system reported that this problem went away withinstallation of a new X server. The failing server was XFree86 3.1.1.XFree86 3.1.2 works.** On SunOS 4.1.3, Emacs unpredictably crashes in _yp_dobind_soft.This happens if you configure Emacs specifying just `sparc-sun-sunos4'onasystemthatisversion4.1.3.Youmustspecifythepreciseversionnumber(orletconfigurefigureouttheconfiguration,whichitcandoperfectlywellforSunOS).**OnIrix,Idon't see the toolbar icons and I'mgettinglotsofentriesinthewarningsbuffer.SGIshipsareallyoldXpmlibraryin/usr/libwhichdoesnotworkatallwellwithXEmacs.ThesolutionistoinstallyourowncopyofthelatestversionofXpmsomewhereandthenusethe--site-includesand--site-librariesflagstotellconfigurewheretofindit.**OnHPUX,youget"poll: Interrupted system call"messageinthewindowwhereXEmacswaslaunched.RichardCognot<cognot@ensg.u-nancy.fr>writes:Igetaverystrangeproblemwhenlinkinglibc.adynamically:everyevent(mouse,keyboard,expose...)resultsina"poll: Interrupted system call"messageinthewindowwhereXEmacswaslaunched.Forcingastaticlinkoflibc.aalonebyadding/usr/lib/libc.aattheendofthelinklinesolvesthis.Notethatmy9.07buildof19.14b17andmy(old)buildof19.13bothexhibitthesamebehaviour.I've tried various hpux patches to no avail. If this problem cannot be solved before the release date, binary kits for HP *must* be linked statically against libc, otherwise this problem will show up. (This is directed at whoever will volunteer for this kit, as I won'tbeavailabletodoit,unless19.14getsdelayeduntilmid-june;-).IthinkthisproblemwillbeanFAQsoonafterthereleaseotherwise.**WhenEmacstriestoringthebell,yougetanerrorlikeaudio:sst_open:SETQSIZE" Invalid argument audio: sst_close: SETREG MMR2, Invalid argumentyou have probably compiled using an ANSI C compiler, but with non-ANSI includefiles. In particular, on Suns, the file /usr/include/sun/audioio.h uses the_IOW macro to define the constant AUDIOSETQSIZE. _IOW in turn uses a K&Rpreprocessor feature that is now explicitly forbidden in ANSI preprocessors,namely substitution inside character constants. All ANSI C compilers must provide a workaround for this problem. Lucid's C compiler is shipped with a new set of system include files. If you are using GCC, there is a scriptcalled fixincludes that creates new versions of some system include files thatuse this obsolete feature.** My buffers are full of \000 characters or otherwise corrupt.Some compilers have trouble with gmalloc.c and ralloc.c; try recompilingwithout optimization. If that doesn't work, try recompiling withSYSTEM_MALLOC defined, and/or with REL_ALLOC undefined.** On AIX 4, some programs fail when run in a Shell buffer with an error message like No terminfo entry for "unknown".On AIX, many terminal type definitions are not installed by default.`unknown' is one of them. Install the "SpecialGenericTerminalDefinitions" to make them defined.** Emacs exits with "Xprotocolerror" when run with an X server for Windows.A certain X server for Windows had a bug which caused this.Supposedly the newer 32-bit version of this server doesn't have theproblem.** A position you specified in .Xdefaults is ignored, using twm.twm normally ignores "program-specified" positions.You can tell it to obey them with this command in your `.twmrc' file: UsePPosition "on" #allow clents to request a position** The right Alt key works wrong on German HP keyboards (and perhaps other non-English HP keyboards too).This is because HPUX defines the modifiers wrong in X. Here is ashell script to fix the problem; be sure that it is run after VUEconfigures the X server. xmodmap 2> /dev/null - << EOF keysym Alt_L = Meta_L keysym Alt_R = Meta_R EOF xmodmap - << EOF clear mod1 keysym Mode_switch = NoSymbol add mod1 = Meta_L keysym Meta_R = Mode_switch add mod2 = Mode_switch EOF** Emacs does not notice when you release the mouse.There are reports that this happened with (some) Microsoft mice andthat replacing the mouse made it stop.** Trouble using ptys on IRIX, or running out of ptys.The program mkpts (which may be in `/usr/adm' or `/usr/sbin') needs tobe set-UID to root, or non-root programs like Emacs will not be ableto allocate ptys reliably.** Motif dialog boxes lose big time on Irix.Larry Auton <lda@control.att.com> writes:Beware of not specifying --with-dialogs=athenaif it builds with the motif dialogs [boom!] you're a dead man.** Beware of the default image & graphics library on IrixRichard Cognot <cognot@ensg.u-nancy.fr> writes:You *have* to compile your own jpeg lib. The one delivered with SGIsystems is a C++ lib, which apparently XEmacs cannot cope with.** XEmacs won't build with the n32 environment on Irix 6.Olivier Galibert <Olivier.Galibert@mines.u-nancy.fr> writes:While making the OS and the compiler able to work on 64barchitectures, SGI designed another mode for using registersand passing parameters between functions, activated on thecompiler by using -64. Since it was much more efficient arusing registers even for 32b architectures, they designeda version for 32b called n32. And it _is_ really better.This mode should always be used when not using gcc (whichcan only do o32 afaik).Too bad xemacs can't do n32 out of the box. So here is whatI had to do to compile it in this mode:s/irix6-0.h:- #define LD_SWITCH_SYSTEM -32+ #define LD_SWITCH_SYSTEM -n32 -G 0m/iris4d.h:- #define LIBS_MACHINE -lmld+ #define LIBS_MACHINE- #define C_SWITCH_MACHINE -32+ #define C_SWITCH_MACHINE -n32 -G 0(the mld lib does not exist in n32 mode)I also added a --cflags='-n32 -O2 -G 0 -s' to the configurationline but it seems that these flags are ignored for configure testand since o32 and n32 libraries are independant I had to revertto the CFLAGS env var.Anyway, once done that the compile has gone succesfully, the dumpwas OK and I'm writing this in the resulting xemacs-20.2b1 ;-)** Slow startup on Linux.People using systems based on the Linux kernel sometimes report thatstartup takes 10 to 15 seconds longer than `usual'.This is because Emacs looks up the host name when it starts.Normally, this takes negligible time; the extra delay is due toimproper system configuration. This problem can occur for bothnetworked and non-networked machines.Here is how to fix the configuration. It requires being root.*** Networked CaseFirst, make sure the files `/etc/hosts' and `/etc/host.conf' bothexist. The first line in the `/etc/hosts' file should look like this(replace HOSTNAME with your host name): 127.0.0.1 localhost HOSTNAMEAlso make sure that the `/etc/host.conf' files contains the followinglines: order hosts, bind multi onAny changes, permanent and temporary, to the host name should beindicated in the `/etc/hosts' file, since it acts a limited localdatabase of addresses and names (e.g., some SLIP connectionsdynamically allocate ip addresses).*** Non-Networked CaseThe solution described in the networked case applies here as well.However, if you never intend to network your machine, you can use asimpler solution: create an empty `/etc/host.conf' file. The command`touch /etc/host.conf' suffices to create the file. The `/etc/hosts'file is not necessary with this approach.** On Solaris 2.4, Dired hangs and C-g does not work. Or Emacs hangs forever waiting for termination of a subprocess that is a zombie.casper@fwi.uva.nl says the problem is in X11R6. Rebuild libX11.soafter changing the file xc/config/cf/sunLib.tmpl. Change the lines #if ThreadedX #define SharedX11Reqs -lthread #endifto: #if OSMinorVersion < 4 #if ThreadedX #define SharedX11Reqs -lthread #endif #endifBe sure also to edit x/config/cf/sun.cf so that OSMinorVersion is 4(as it should be for Solaris 2.4). The file has three definitions forOSMinorVersion: the first is for x86, the second for SPARC underSolaris, and the third for SunOS 4. Make sure to update thedefinition for your type of machine and system.Then do `make Everything' in the top directory of X11R6, to rebuildthe makefiles and rebuild X. The X built this way work only onSolaris 2.4, not on 2.3.For multithreaded X to work it necessary to install patch101925-02 to fix problems in header files [2.4]. You needto reinstall gcc or re-run just-fixinc after installing thatpatch.However, Frank Rust <frust@iti.cs.tu-bs.de> used a simpler solution:he changed #define ThreadedX YESto #define ThreadedX NOin sun.cf and did `make World' to rebuild X11R6. Removing all`-DXTHREAD*' flags and `-lthread' entries from lib/X11/Makefile andtyping 'make install' in that directory also seemed to work.** With M-x enable-flow-control, you need to type C-\ twice to do incremental search--a single C-\ gets no response.This has been traced to communicating with your machine via kermit,with C-\ as the kermit escape character. One solution is to useanother escape character in kermit. One user did set escape-character 17in his .kermrc file, to make C-q the kermit escape character.** The Motif version of Emacs paints the screen a solid color.This has been observed to result from the following X resource: Emacs*default.attributeFont: -*-courier-medium-r-*-*-*-140-*-*-*-*-iso8859-*That the resource has this effect indicates a bug in something, but wedo not yet know what. If it is an Emacs bug, we hope someone canexplain what the bug is so we can fix it. In the mean time, removingthe resource prevents the problem.** Regular expressions matching bugs on SCO systems.On SCO, there are problems in regexp matching when Emacs is compiledwith the system compiler. The compiler version is "MicrosoftCversion6", SCO 4.2.0h Dev Sys Maintenance Supplement 01/06/93; QuickC Compiler Version 1.00.46 (Beta). The solution is to compile withGCC.** In Shell mode, you get a ^M at the end of every line.This happens to people who use tcsh, because it is trying to be toosmart. It sees that the Shell uses terminal type `unknown' and turnson the flag to output ^M at the end of each line. You can fix theproblem by adding this to your .cshrc file: if ($?EMACS) then if ($EMACS == "t") then unset edit stty -icrnl -onlcr -echo susp ^Z endif endif** An error message such as `X protocol error: BadMatch (invalidparameter attributes) on protocol request 93'.This comes from having an invalid X resource, such as emacs*Cursor: black(which is invalid because it specifies a color name for somethingthat isn't a color.)The fix is to correct your X resources.** Mail is lost when sent to local aliases.Many emacs mail user agents (VM and rmail, for instance) use thesendmail.el library. This library can arrange for mail to bedelivered by passing messages to the /usr/lib/sendmail (usually)program . In doing so, it passes the '-t' flag to sendmail, whichmeans that the name of the recipient of the message is not on thecommand line and, therefore, that sendmail must parse the message toobtain the destination address.There is a bug in the SunOS4.1.1 and SunOS4.1.3 versions of sendmail.In short, when given the -t flag, the SunOS sendmail won't recognizenon-local (i.e. NIS) aliases. It has been reported that the Solaris2.x versions of sendmail do not have this bug. For those using SunOS4.1, the best fix is to install sendmail V8 or IDA sendmail (whichhave other advantages over the regular sendmail as well). At the timeof this writing, these official versions are available: Sendmail V8 on ftp.cs.berkeley.edu in /ucb/sendmail: sendmail.8.6.9.base.tar.Z (the base system source & documentation) sendmail.8.6.9.cf.tar.Z (configuration files) sendmail.8.6.9.misc.tar.Z (miscellaneous support programs) sendmail.8.6.9.xdoc.tar.Z (extended documentation, with postscript) IDA sendmail on vixen.cso.uiuc.edu in /pub: sendmail-5.67b+IDA-1.5.tar.gz** On AIX, you get this message when running Emacs: Could not load program emacs Symbol smtcheckinit in csh is undefined Error was: Exec format erroror this one: Could not load program .emacs Symbol _system_con in csh is undefined Symbol _fp_trapsta in csh is undefined Error was: Exec format errorThese can happen when you try to run on AIX 3.2.5 a program that wascompiled with 3.2.4. The fix is to recompile.** After running emacs once, subsequent invocations crash.Some versions of SVR4 have a serious bug in the implementation of themmap () system call in the kernel; this causes emacs to run correctlythe first time, and then crash when run a second time.Contact your vendor and ask for the mmap bug fix; in the mean time,you may be able to work around the problem by adding a line to youroperating system description file (whose name is reported by theconfigure script) that reads:#define SYSTEM_MALLOCThis makes Emacs use memory less efficiently, but seems to work aroundthe kernel bug.** Inability to send an Alt-modified key, when Emacs is communicating directly with an X server.If you have tried to bind an Alt-modified key as a command, and itdoes not work to type the command, the first thing you should check iswhether the key is getting through to Emacs. To do this, type C-h cfollowed by the Alt-modified key. C-h c should say what kind of eventit read. If it says it read an Alt-modified key, then make sure youhave made the key binding correctly.If C-h c reports an event that doesn't have the Alt modifier, it maybe because your X server has no key for the Alt modifier. The Xserver that comes from MIT does not set up the Alt modifier bydefault.If your keyboard has keys named Alt, you can enable them as follows: xmodmap -e 'add mod2 = Alt_L' xmodmap -e 'add mod2 = Alt_R'If the keyboard has just one key named Alt, then only one of thosecommands is needed. The modifier `mod2' is a reasonable choice if youare using an unmodified MIT version of X. Otherwise, choose anymodifier bit not otherwise used.If your keyboard does not have keys named Alt, you can use some otherkeys. Use the keysym command in xmodmap to turn a function key (orsome other 'spare' key) into Alt_L or into Alt_R, and then use thecommands show above to make them modifier keys.Note that if you have Alt keys but no Meta keys, Emacs translates Altinto Meta. This is because of the great importance of Meta in Emacs.** `Pid xxx killed due to text modification or page I/O error'On HP/UX, you can get that error when the Emacs executable is on an NFSfile system. HP/UX responds this way if it tries to swap in a page anddoes not get a response from the server within a timeout whose defaultvalue is just ten seconds.If this happens to you, extend the timeout period.** `expand-file-name' fails to work on any but the machine you dumped Emacs on.On Ultrix, if you use any of the functions which look up informationin the passwd database before dumping Emacs (say, by usingexpand-file-name in site-init.el), then those functions will not workin the dumped Emacs on any host but the one Emacs was dumped on.The solution? Don't use expand-file-name in site-init.el, or inanything it loads. Yuck - some solution.I'm not sure why this happens; if you can find out exactly what isgoing on, and perhaps find a fix or a workaround, please let us know.Perhaps the YP functions cache some information, the cache is includedin the dumped Emacs, and is then inaccurate on any other host.** Emacs fails to understand most Internet host names, even thoughthe names work properly with other programs on the same system.** Emacs won't work with X-windows if the value of DISPLAY is HOSTNAME:0.** Gnus can't make contact with the specified host for nntp.This typically happens on Suns and other systems that use sharedlibraries. The cause is that the site has installed a version of theshared library which uses a name server--but has not installed asimilar version of the unshared library which Emacs uses.The result is that most programs, using the shared library, work withthe nameserver, but Emacs does not.The fix is to install an unshared library that corresponds to what youinstalled in the shared library, and then relink Emacs.On SunOS 4.1, simply define HAVE_RES_INIT.If you have already installed the name resolver in the file libresolv.a,then you need to compile Emacs to use that library. The easiest way todo this is to add to config.h a definition of LIBS_SYSTEM, LIBS_MACHINEor LIB_STANDARD which uses -lresolv. Watch out! If you redefine a macrothat is already in use in your configuration to supply some other libraries,be careful not to lose the others.Thus, you could start by adding this to config.h:#define LIBS_SYSTEM -lresolvThen if this gives you an error for redefining a macro, and you see thatthe s- file defines LIBS_SYSTEM as -lfoo -lbar, you could change config.hagain to say this:#define LIBS_SYSTEM -lresolv -lfoo -lbar** Bus errors on startup when compiled with Sun's "acc" (in the routine make_string_internal() called from initialize_environment_alist()) The Sun ANSI compiler doesn't place uninitialized static variables in BSS space like other compilers do. This breaks emacs. If you want to use acc, you need to make the file "lastfile.o" be the *first* file in the link command. Better yet, use Lucid C or GCC.** Trouble using ptys on AIX.People often install the pty devices on AIX incorrectly.Use `smit pty' to reinstall them properly.** Shell mode on HP/UX gives the message, "`tty`:Ambiguous".christos@theory.tn.cornell.edu says:The problem is that in your .cshrc you have something that tries toexecute `tty`. If you are not running the shell on a real tty then tty will print "notatty". Csh expects one word in some places, but tty is giving it back 3.The solution is to add a pair of quotes around `tty` to make it a singleword: if (`tty` == "/dev/console") should be changed to:if ("`tty`" == "/dev/console") Even better, move things that set up terminal sections out of .cshrcand into .login.** With process-connection-type set to t, each line of subprocess output is terminated with a ^M, making ange-ftp and GNUS not work.On SunOS systems, this problem has been seen to be a result of an incompleteinstallation of gcc 2.2 which allowed some non-ANSI compatible include filesinto the compilation. In particular this affected virtually all ioctl() calls.** Once you pull down a menu from the menubar, it won't go away.It has been claimed that this is caused by a bug in certain very old (1990?)versions of the twm window manager. It doesn't happen with recent vintages,or with other window managers.** Emacs ignores the "help" key when running OLWM.OLWM grabs the help key, and retransmits it to the appropriate client usingXSendEvent. Allowing emacs to react to synthetic events is a security hole,so this is turned off by default. You can enable it by setting the variablex-allow-sendevents to t. You can also cause fix this by telling OLWM to notgrab the help key, with the null binding "OpenWindows.KeyboardCommand.Help:".** Programs running under terminal emulator do not recognize `emacs' terminal type.The cause of this is a shell startup file that sets the TERMCAPenvironment variable. The terminal emulator uses that variable toprovide the information on the special terminal type that Emacsemulates.Rewrite your shell startup file so that it does not change TERMCAPin such a case. You could use the following conditional which setsit only if it is undefined. if ( ! ${?TERMCAP} ) setenv TERMCAP ~/my-termcap-fileOr you could set TERMCAP only when you set TERM--which should nothappen in a non-login shell.* Compatibility problems (with Emacs 18, GNU Emacs, or previous XEmacs/lemacs)** "Symbol's value as variable is void: unread-command-char".** "Wrong type argument: arrayp, #<keymap 143 entries>"** "Wrong type argument: stringp, [#<keypress-eventreturn>]"There are a few incompatible changes in XEmacs, and these are thesymptoms. Some of the emacs-lisp code you are running needs to beupdated to be compatible with XEmacs.The code should not treat keymaps as arrays (use `define-key',etc.),shouldnotuseobsoletevariableslike`unread-command-char' (use`unread-command-event').Many(most)ofthenewwaysofdoingthingsarecompatibleinGNUEmacsandXEmacs.ModernEmacspackages(Gnus,VM,etc)arewrittentosupportGNUEmacsandXEmacs.Wehaveprovidedmodifiedversionsofseveralpopularemacspackages(dired,etc)whicharecompatiblewiththisversionofemacs.Checktomakesureyouhavenotsetyourload-pathsothatyourprivatecopiesofthesepackagesarebeingfoundbeforetheversionsinthelispdirectory.Makesurethatyourload-pathandyour$EMACSLOADPATHenvironmentvariablearenotpointingatanEmacs18lispdirectory.Thiswillcrippleemacs.**SomepackagesthatworkedbeforenowcausetheerrorWrongtypeargument:arrayp,#<face...>Codewhichusesthe`face' accessor functions must be recompiled with xemacs19.9 or later. The functions whose callers must be recompiled are: face-font,face-foreground, face-background, face-background-pixmap, and face-underline-p.The .elc files generated by version 19.9 will work in 19.6 and 19.8, but older.elc files which contain calls to these functions will not work in 19.9.** Signaling: (error "Byte code stack underflow (byte compiler bug), pc 38")This error is given when XEmacs 20 is compiled without MULE supportbut is attempting to load a .elc which requires MULE support. The fixis to rebytecompile the offending file.** Signaling: (wrong-type-argument ...) when loading mail-abbrevsThe is seen when installing the Big Brother Data Base (bbdb) whichincludes an outdated copy of mail-abbrevs.el. Remove the copy thatcomes with bbdb and use the one that comes with XEmacs.* MULE issues** Internationalized (Asian) Isearch doesn'tworkCurrently,Isearchdoesn't directly support any of the input methodsthat are not XIM based (like egg, canna and quail) (and there arepotential problems with XIM version too...). This is somethingwe are working on, but for the moment, if you'reusingeggthereisaworkaround.Hitting<RET>rightafterC-stoinvokeIsearchwillputIsearchinstringmode,whereacompletestringcanbetypedintotheminibufferandthenprocessedbyIsearchafterwards.SinceeggisnowsupportedintheminibufferusingstringmodeyoucannowuseeggtoinputyourJapanese,KoreanorChinesestring,thenhitreturntosendthattoIsearchandthenusestandardIsearchcommandsfromthere.**Usingeggorcannaandmousingaroundwhilein'fence'modescrewsupmybufferDon't do this. The fence modes of egg and canna are currently verymodal, and messing with where they expect point to be and what theythink is the current buffer is just asking for trouble. If you'reluckytheywillrealizethatsomethingisawry,andsimplydeletethefence,butworstcasecantrashotherbufferstoo.We'vetriedtoprotectagainstthiswherewecan,buttherestillaremanywaystoshootyourselfinthefoot.Sojustfinishwhatyouaretypingintothefencebeforereachingforthemouse.