| 3 | | |
|---|
| 4 | | * Emacs pauses for several seconds when changing the default font |
|---|
| 5 | | |
|---|
| 6 | | This has been reported for fvwm 2.2.5 and the window manager of KDE |
|---|
| 7 | | 2.1. The reason for the pause is Xt waiting for a ConfigureNotify |
|---|
| 8 | | event from the window manager, which the window manager doesn't send. |
|---|
| 9 | | Xt stops waiting after a default timeout of usually 5 seconds. |
|---|
| 10 | | |
|---|
| 11 | | A workaround for this is to add something like |
|---|
| 12 | | |
|---|
| 13 | | emacs.waitForWM: false |
|---|
| 14 | | |
|---|
| 15 | | to your X resources. or to add `(wait-for-wm . nil)' to a frame's |
|---|
| 16 | | parameter list. |
|---|
| 17 | | |
|---|
| 18 | | * Underlines appear at the wrong position. |
|---|
| 19 | | |
|---|
| 20 | | This is caused by fonts having a wrong UNDERLINE_POSITION property. |
|---|
| 21 | | An example is the font 7x13 on XFree prior to version 4.1. To |
|---|
| 22 | | circumvent this problem, set x-use-underline-position-properties to |
|---|
| 23 | | nil in your .emacs. |
|---|
| 24 | | |
|---|
| 25 | | * Building Emacs with GCC 2.9x fails in the `src' directory. |
|---|
| 26 | | |
|---|
| 27 | | This may happen if you use a development version of GNU `cpp' from one |
|---|
| 28 | | of the GCC snapshots between Oct 2000 and Feb 2001, or from a released |
|---|
| 29 | | version of GCC newer than 2.95.2 which was prepared around those |
|---|
| 30 | | dates. The preprocessor in those versions expands ".." into ". .", |
|---|
| 31 | | which breaks relative file names that reference the parent directory. |
|---|
| 32 | | |
|---|
| 33 | | The solution is to make sure the preprocessor is run with the |
|---|
| 34 | | `-traditional' option. (The `configure' script does that |
|---|
| 35 | | automatically.) |
|---|
| 36 | | |
|---|
| 37 | | Note that this problem does not pertain to the MS-Windows port of |
|---|
| 38 | | Emacs, since it doesn't use the preprocessor to generate Makefiles. |
|---|
| 39 | | |
|---|
| 40 | | * Building the MS-Windows port with Cygwin GCC can fail. |
|---|
| 41 | | |
|---|
| 42 | | Emacs may not build using recent Cygwin builds of GCC, such as Cygwin |
|---|
| 43 | | version 1.1.8, using the default configure settings. It appears to be |
|---|
| 44 | | necessary to specify the -mwin32 flag when compiling, and define |
|---|
| 45 | | __MSVCRT__, like so: |
|---|
| 46 | | |
|---|
| 47 | | configure --with-gcc --cflags -mwin32 --cflags -D__MSVCRT__ |
|---|
| 48 | | |
|---|
| 49 | | * Building the MS-Windows port with Leim fails in the `leim' directory. |
|---|
| 50 | | |
|---|
| 51 | | The error message might be something like this: |
|---|
| 52 | | |
|---|
| 53 | | Converting d:/emacs-21.1/leim/CXTERM-DIC/4Corner.tit to quail-package... |
|---|
| 54 | | Invalid ENCODE: value in TIT dictionary |
|---|
| 55 | | NMAKE : fatal error U1077: '"../src/obj-spd/i386/emacs.exe"' : return code |
|---|
| 56 | | '0xffffffff' |
|---|
| 57 | | Stop. |
|---|
| 58 | | |
|---|
| 59 | | This can happen if the Leim distribution is unpacked with a program |
|---|
| 60 | | which converts the `*.tit' files to DOS-style CR-LF text format. The |
|---|
| 61 | | `*.tit' files in the leim/CXTERM-DIC directory require Unix-style line |
|---|
| 62 | | endings to compile properly, because Emacs reads them without any code |
|---|
| 63 | | or EOL conversions. |
|---|
| 64 | | |
|---|
| 65 | | The solution is to make sure the program used to unpack Leim does not |
|---|
| 66 | | change the files' line endings behind your back. The GNU FTP site has |
|---|
| 67 | | in the `/gnu/emacs/windows' directory a program called `djtarnt.exe' |
|---|
| 68 | | which can be used to unpack `.tar.gz' and `.zip' archives without |
|---|
| 69 | | mangling them. |
|---|
| 70 | | |
|---|
| 71 | | * JPEG images aren't displayed. |
|---|
| 72 | | |
|---|
| 73 | | This has been reported when Emacs is built with jpeg-6a library. |
|---|
| 74 | | Upgrading to jpeg-6b solves the problem. |
|---|
| 75 | | |
|---|
| 76 | | * Building `ctags' for MS-Windows with the MinGW port of GCC fails. |
|---|
| 77 | | |
|---|
| 78 | | This might happen due to a bug in the MinGW header assert.h, which |
|---|
| 79 | | defines the `assert' macro with a trailing semi-colon. The following |
|---|
| 80 | | patch to assert.h should solve this: |
|---|
| 81 | | |
|---|
| 82 | | *** include/assert.h.orig Sun Nov 7 02:41:36 1999 |
|---|
| 83 | | --- include/assert.h Mon Jan 29 11:49:10 2001 |
|---|
| 84 | | *************** |
|---|
| 85 | | *** 41,47 **** |
|---|
| 86 | | /* |
|---|
| 87 | | * If not debugging, assert does nothing. |
|---|
| 88 | | */ |
|---|
| 89 | | ! #define assert(x) ((void)0); |
|---|
| 90 | | |
|---|
| 91 | | #else /* debugging enabled */ |
|---|
| 92 | | |
|---|
| 93 | | --- 41,47 ---- |
|---|
| 94 | | /* |
|---|
| 95 | | * If not debugging, assert does nothing. |
|---|
| 96 | | */ |
|---|
| 97 | | ! #define assert(x) ((void)0) |
|---|
| 98 | | |
|---|
| 99 | | #else /* debugging enabled */ |
|---|
| 100 | | |
|---|
| 101 | | |
|---|
| 102 | | * When using Xaw3d scroll bars without arrows, the very first mouse |
|---|
| 103 | | click in a scroll bar might be ignored by the scroll bar widget. This |
|---|
| 104 | | is probably a bug in Xaw3d; when Xaw3d is compiled with arrows, the |
|---|
| 105 | | problem disappears. |
|---|
| 106 | | |
|---|
| 107 | | * Clicking C-mouse-2 in the scroll bar doesn't split the window. |
|---|
| 108 | | |
|---|
| 109 | | This currently doesn't work with scroll-bar widgets (and we don't know |
|---|
| 110 | | a good way of implementing it with widgets). If Emacs is configured |
|---|
| 111 | | --without-toolkit-scroll-bars, C-mouse-2 on the scroll bar does work. |
|---|
| 112 | | |
|---|
| 113 | | * Colors are not available on a tty or in xterm. |
|---|
| 114 | | |
|---|
| 115 | | Emacs 21 supports colors on character terminals and terminal |
|---|
| 116 | | emulators, but this support relies on the terminfo or termcap database |
|---|
| 117 | | entry to specify that the display supports color. Emacs looks at the |
|---|
| 118 | | "Co" capability for the terminal to find out how many colors are |
|---|
| 119 | | supported; it should be non-zero to activate the color support within |
|---|
| 120 | | Emacs. (Most color terminals support 8 or 16 colors.) If your system |
|---|
| 121 | | uses terminfo, the name of the capability equivalent to "Co" is |
|---|
| 122 | | "colors". |
|---|
| 123 | | |
|---|
| 124 | | In addition to the "Co" capability, Emacs needs the "op" (for |
|---|
| 125 | | ``original pair'') capability, which tells how to switch the terminal |
|---|
| 126 | | back to the default foreground and background colors. Emacs will not |
|---|
| 127 | | use colors if this capability is not defined. If your terminal entry |
|---|
| 128 | | doesn't provide such a capability, try using the ANSI standard escape |
|---|
| 129 | | sequence \E[00m (that is, define a new termcap/terminfo entry and make |
|---|
| 130 | | it use your current terminal's entry plus \E[00m for the "op" |
|---|
| 131 | | capability). |
|---|
| 132 | | |
|---|
| 133 | | Finally, the "NC" capability (terminfo name: "ncv") tells Emacs which |
|---|
| 134 | | attributes cannot be used with colors. Setting this capability |
|---|
| 135 | | incorrectly might have the effect of disabling colors; try setting |
|---|
| 136 | | this capability to `0' (zero) and see if that helps. |
|---|
| 137 | | |
|---|
| 138 | | Emacs uses the database entry for the terminal whose name is the value |
|---|
| 139 | | of the environment variable TERM. With `xterm', a common terminal |
|---|
| 140 | | entry that supports color is `xterm-color', so setting TERM's value to |
|---|
| 141 | | `xterm-color' might activate the color support on an xterm-compatible |
|---|
| 142 | | emulator. |
|---|
| 143 | | |
|---|
| 144 | | Some modes do not use colors unless you turn on the Font-lock mode. |
|---|
| 145 | | Some people have long ago set their `~/.emacs' files to turn on |
|---|
| 146 | | Font-lock on X only, so they won't see colors on a tty. The |
|---|
| 147 | | recommended way of turning on Font-lock is by typing "M-x |
|---|
| 148 | | global-font-lock-mode RET" or by customizing the variable |
|---|
| 149 | | `global-font-lock-mode'. |
|---|
| 150 | | |
|---|
| 151 | | * Problems in Emacs built with LessTif. |
|---|
| 152 | | |
|---|
| 153 | | The problems seem to depend on the version of LessTif and the Motif |
|---|
| 154 | | emulation for which it is set up. |
|---|
| 155 | | |
|---|
| 156 | | Only the Motif 1.2 emulation seems to be stable enough in LessTif. |
|---|
| 157 | | Lesstif 0.92-17's Motif 1.2 emulation seems to work okay on FreeBSD. |
|---|
| 158 | | On GNU/Linux systems, lesstif-0.92.6 configured with "./configure |
|---|
| 159 | | --enable-build-12 --enable-default-12" is reported to be the most |
|---|
| 160 | | successful. The binary GNU/Linux package |
|---|
| 161 | | lesstif-devel-0.92.0-1.i386.rpm was reported to have problems with |
|---|
| 162 | | menu placement. |
|---|
| 163 | | |
|---|
| 164 | | On some systems, even with Motif 1.2 emulation, Emacs occasionally |
|---|
| 165 | | locks up, grabbing all mouse and keyboard events. We still don't know |
|---|
| 166 | | what causes these problems; they are not reproducible by Emacs |
|---|
| 167 | | developers. |
|---|
| 168 | | |
|---|
| 169 | | * Known problems with the MS-Windows port of Emacs 21.1. |
|---|
| 170 | | |
|---|
| 171 | | Emacs 21.1 built for MS-Windows doesn't support images, the tool bar, |
|---|
| 172 | | and tooltips. Support for these will be added in future versions. |
|---|
| 173 | | |
|---|
| 174 | | There are problems with display if the variable `redisplay-dont-pause' |
|---|
| 175 | | is set to nil (w32-win.el sets it to t by default, to avoid these |
|---|
| 176 | | problems). The problems include: |
|---|
| 177 | | |
|---|
| 178 | | . No redisplay as long as help echo is displayed in the echo area, |
|---|
| 179 | | e.g. if the mouse is on a mouse-sensitive part of the mode line. |
|---|
| 180 | | |
|---|
| 181 | | . When the mode line is dragged with the mouse, multiple copies of the |
|---|
| 182 | | mode line are left behind, until the mouse button is released and |
|---|
| 183 | | the next input event occurs. |
|---|
| 184 | | |
|---|
| 185 | | . Window contents are not updated when text is selected by dragging |
|---|
| 186 | | the mouse, and the mouse is dragged below the bottom line of the |
|---|
| 187 | | window. When the mouse button is released, the window display is |
|---|
| 188 | | correctly updated. |
|---|
| 189 | | |
|---|
| 190 | | Again, these problems only occur if `redisplay-dont-pause' is nil. |
|---|
| 191 | | |
|---|
| 192 | | Emacs can sometimes abort when non-ASCII text, possibly with null |
|---|
| 193 | | characters, is copied and pasted into a buffer. |
|---|
| 194 | | |
|---|
| 195 | | An inactive cursor remains in an active window after the Windows |
|---|
| 196 | | Manager driven switch of the focus, until a key is pressed. |
|---|
| 197 | | |
|---|
| 198 | | Windows 2000 input methods are not recognized by Emacs (as of v21.1). |
|---|
| 199 | | These input methods cause the keyboard to send characters encoded in |
|---|
| 200 | | the appropriate coding system (e.g., ISO 8859-1 for Latin-1 |
|---|
| 201 | | characters, ISO 8859-8 for Hebrew characters, etc.). To make this |
|---|
| 202 | | work, set the keyboard coding system to the appropriate value after |
|---|
| 203 | | you activate the Windows input method. For example, if you activate |
|---|
| 204 | | the Hebrew input method, type "C-x RET k iso-8859-8 RET". (Emacs |
|---|
| 205 | | ought to recognize the Windows language-change event and set up the |
|---|
| 206 | | appropriate keyboard encoding automatically, but it doesn't do that |
|---|
| 207 | | yet.) |
|---|
| 208 | | |
|---|
| 209 | | Multilingual text put into the Windows 2000 clipboard by Windows |
|---|
| 210 | | applications cannot be safely pasted into Emacs (as of v21.1). This |
|---|
| 211 | | is because Windows 2000 uses Unicode to represent multilingual text, |
|---|
| 212 | | but Emacs does not yet support Unicode well enough to decode it. This |
|---|
| 213 | | means that Emacs can only interchange non-ASCII text with other |
|---|
| 214 | | Windows 2000 programs if the characters are in the system codepage. |
|---|
| 215 | | Reportedly, a partial solution is to install the Mule-UCS package and |
|---|
| 216 | | set selection-coding-system to utf-16-le-dos. |
|---|
| 217 | | |
|---|
| 218 | | * The `configure' script doesn't find the jpeg library. |
|---|
| 219 | | |
|---|
| 220 | | This can happen because the linker by default only looks for shared |
|---|
| 221 | | libraries, but jpeg distribution by default doesn't build and doesn't |
|---|
| 222 | | install a shared version of the library, `libjpeg.so'. One system |
|---|
| 223 | | where this is known to happen is Compaq OSF/1 (`Tru64'), but it |
|---|
| 224 | | probably isn't limited to that system. |
|---|
| 225 | | |
|---|
| 226 | | You can configure the jpeg library with the `--enable-shared' option |
|---|
| 227 | | and then rebuild libjpeg. This produces a shared version of libjpeg, |
|---|
| 228 | | which you need to install. Finally, rerun the Emacs configure script, |
|---|
| 229 | | which should now find the jpeg library. Alternatively, modify the |
|---|
| 230 | | generated src/Makefile to link the .a file explicitly. |
|---|
| 231 | | |
|---|
| 232 | | (If you need the static version of the jpeg library as well, configure |
|---|
| 233 | | libjpeg with both `--enable-static' and `--enable-shared' options.) |
|---|
| 234 | | |
|---|
| 235 | | * Building Emacs over NFS fails with ``Text file busy''. |
|---|
| 236 | | |
|---|
| 237 | | This was reported to happen when building Emacs on a GNU/Linux system |
|---|
| 238 | | (RedHat Linux 6.2) using a build directory automounted from Solaris |
|---|
| 239 | | (SunOS 5.6) file server, but it might not be limited to that |
|---|
| 240 | | configuration alone. Presumably, the NFS server doesn't commit the |
|---|
| 241 | | files' data to disk quickly enough, and the Emacs executable file is |
|---|
| 242 | | left ``busy'' for several seconds after Emacs has finished dumping |
|---|
| 243 | | itself. This causes the subsequent commands which invoke the dumped |
|---|
| 244 | | Emacs excutable to fail with the above message. |
|---|
| 245 | | |
|---|
| 246 | | In some of these cases, a time skew between the NFS server and the |
|---|
| 247 | | machine where Emacs is built is detected and reported by GNU Make |
|---|
| 248 | | (it says that some of the files have modification time in the future). |
|---|
| 249 | | This might be a symptom of NFS-related problems. |
|---|
| 250 | | |
|---|
| 251 | | If the NFS server runs on Solaris, apply the Solaris patch 105379-05 |
|---|
| 252 | | (Sunos 5.6: /kernel/misc/nfssrv patch). If that doesn't work, or if |
|---|
| 253 | | you have a different version of the OS or the NFS server, you can |
|---|
| 254 | | force the NFS server to use 1KB blocks, which was reported to fix the |
|---|
| 255 | | problem albeit at a price of slowing down file I/O. You can force 1KB |
|---|
| 256 | | blocks by specifying the "-o rsize=1024,wsize=1024" options to the |
|---|
| 257 | | `mount' command, or by adding ",rsize=1024,wsize=1024" to the mount |
|---|
| 258 | | options in the appropriate system configuration file, such as |
|---|
| 259 | | `/etc/auto.home'. |
|---|
| 260 | | |
|---|
| 261 | | Alternatively, when Make fails due to this problem, you could wait for |
|---|
| 262 | | a few seconds and then invoke Make again. In one particular case, |
|---|
| 263 | | waiting for 10 or more seconds between the two Make invocations seemed |
|---|
| 264 | | to work around the problem. |
|---|
| 265 | | |
|---|
| 266 | | * Accented ISO-8859-1 characters are displayed as | or _. |
|---|
| 267 | | |
|---|
| 268 | | Try other font set sizes (S-mouse-1). If the problem persists with |
|---|
| 269 | | other sizes as well, your text is corrupted, probably through software |
|---|
| 270 | | that is not 8-bit clean. If the problem goes away with another font |
|---|
| 271 | | size, it's probably because some fonts pretend to be ISO-8859-1 fonts |
|---|
| 272 | | when they are really ASCII fonts. In particular the schumacher-clean |
|---|
| 273 | | fonts have this bug in some versions of X. |
|---|
| 274 | | |
|---|
| 275 | | To see what glyphs are included in a font, use `xfd', like this: |
|---|
| 276 | | |
|---|
| 277 | | xfd -fn -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-1 |
|---|
| 278 | | |
|---|
| 279 | | If this shows only ASCII glyphs, the font is indeed the source of the |
|---|
| 280 | | problem. |
|---|
| 281 | | |
|---|
| 282 | | The solution is to remove the corresponding lines from the appropriate |
|---|
| 283 | | `fonts.alias' file, then run `mkfontdir' in that directory, and then run |
|---|
| 284 | | `xset fp rehash'. |
|---|
| 285 | | |
|---|
| 286 | | * Large file support is disabled on HP-UX. See the comments in |
|---|
| 287 | | src/s/hpux10.h. |
|---|
| 288 | | |
|---|
| 289 | | * Crashes when displaying uncompressed GIFs with version |
|---|
| 290 | | libungif-4.1.0 are resolved by using version libungif-4.1.0b1. |
|---|
| 291 | | |
|---|
| 292 | | * Interrupting Cygwin port of Bash from Emacs doesn't work. |
|---|
| 293 | | |
|---|
| 294 | | Cygwin 1.x builds of the ported Bash cannot be interrupted from the |
|---|
| 295 | | MS-Windows version of Emacs. This is due to some change in the Bash |
|---|
| 296 | | port or in the Cygwin library which apparently make Bash ignore the |
|---|
| 297 | | keyboard interrupt event sent by Emacs to Bash. (Older Cygwin ports |
|---|
| 298 | | of Bash, up to b20.1, did receive SIGINT from Emacs.) |
|---|
| 299 | | |
|---|
| 300 | | * The latest released version of the W3 package doesn't run properly |
|---|
| 301 | | with Emacs 21 and needs work. However, these problems are already |
|---|
| 302 | | fixed in W3's CVS. This patch is reported to make w3-4.0pre.46 work: |
|---|
| 303 | | |
|---|
| 304 | | diff -aur --new-file w3-4.0pre.46-orig/lisp/w3-display.el w3-4.0pre.46-new/lisp/w3-display.el |
|---|
| 305 | | --- w3-4.0pre.46-orig/lisp/w3-display.el Sun Nov 14 22:00:12 1999 |
|---|
| 306 | | +++ w3-4.0pre.46-new/lisp/w3-display.el Thu Dec 14 14:59:15 2000 |
|---|
| 307 | | @@ -181,7 +181,8 @@ |
|---|
| 308 | | (dispatch-event (next-command-event))) |
|---|
| 309 | | (error nil)))) |
|---|
| 310 | | (t |
|---|
| 311 | | - (if (and (not (sit-for 0)) (input-pending-p)) |
|---|
| 312 | | + ;; modified for GNU Emacs 21 by bob@rattlesnake.com on 2000 Dec 14 |
|---|
| 313 | | + (if (and (not (sit-for 0)) nil) |
|---|
| 314 | | (condition-case () |
|---|
| 315 | | (progn |
|---|
| 316 | | (setq w3-pause-keystroke |
|---|
| 317 | | diff -aur --new-file w3-4.0pre.46-orig/lisp/w3-e21.el w3-4.0pre.46-new/lisp/w3-e21.el |
|---|
| 318 | | --- w3-4.0pre.46-orig/lisp/w3-e21.el Thu Jan 1 00:00:00 1970 |
|---|
| 319 | | +++ w3-4.0pre.46-new/lisp/w3-e21.el Thu Dec 14 14:54:58 2000 |
|---|
| 320 | | @@ -0,0 +1,5 @@ |
|---|
| 321 | | +;;; w3-e21.el --- ** required for GNU Emacs 21 ** |
|---|
| 322 | | +;; Added by bob@rattlesnake.com on 2000 Dec 14 |
|---|
| 323 | | + |
|---|
| 324 | | +(require 'w3-e19) |
|---|
| 325 | | +(provide 'w3-e21) |
|---|
| 326 | | |
|---|
| 327 | | |
|---|
| 328 | | * On AIX, if linking fails because libXbsd isn't found, check if you |
|---|
| 329 | | are compiling with the system's `cc' and CFLAGS containing `-O5'. If |
|---|
| 330 | | so, you have hit a compiler bug. Please make sure to re-configure |
|---|
| 331 | | Emacs so that it isn't compiled with `-O5'. |
|---|
| 332 | | |
|---|
| 333 | | * The PSGML package uses the obsolete variables |
|---|
| 334 | | `before-change-function' and `after-change-function', which are no |
|---|
| 335 | | longer used by Emacs. These changes to PSGML 1.2.2 fix that. |
|---|
| 336 | | |
|---|
| 337 | | --- psgml-edit.el 2001/03/03 00:23:31 1.1 |
|---|
| 338 | | +++ psgml-edit.el 2001/03/03 00:24:22 |
|---|
| 339 | | @@ -264,4 +264,4 @@ |
|---|
| 340 | | ; inhibit-read-only |
|---|
| 341 | | - (before-change-function nil) |
|---|
| 342 | | - (after-change-function nil)) |
|---|
| 343 | | + (before-change-functions nil) |
|---|
| 344 | | + (after-change-functions nil)) |
|---|
| 345 | | (setq selective-display t) |
|---|
| 346 | | @@ -1544,3 +1544,3 @@ |
|---|
| 347 | | (buffer-read-only nil) |
|---|
| 348 | | - (before-change-function nil) |
|---|
| 349 | | + (before-change-functions nil) |
|---|
| 350 | | (markup-index ; match-data index in tag regexp |
|---|
| 351 | | @@ -1596,3 +1596,3 @@ |
|---|
| 352 | | (defun sgml-expand-shortref-to-text (name) |
|---|
| 353 | | - (let (before-change-function |
|---|
| 354 | | + (let (before-change-functions |
|---|
| 355 | | (entity (sgml-lookup-entity name (sgml-dtd-entities sgml-dtd-info)))) |
|---|
| 356 | | @@ -1613,3 +1613,3 @@ |
|---|
| 357 | | (re-found nil) |
|---|
| 358 | | - before-change-function) |
|---|
| 359 | | + before-change-functions) |
|---|
| 360 | | (goto-char sgml-markup-start) |
|---|
| 361 | | @@ -1646,3 +1646,3 @@ |
|---|
| 362 | | (goto-char (sgml-element-end element)) |
|---|
| 363 | | - (let ((before-change-function nil)) |
|---|
| 364 | | + (let ((before-change-functions nil)) |
|---|
| 365 | | (sgml-normalize-content element only-one))) |
|---|
| 366 | | --- psgml-other.el 2001/03/03 00:23:42 1.1 |
|---|
| 367 | | +++ psgml-other.el 2001/03/03 00:30:05 |
|---|
| 368 | | @@ -32,2 +32,3 @@ |
|---|
| 369 | | (require 'easymenu) |
|---|
| 370 | | +(eval-when-compile (require 'cl)) |
|---|
| 371 | | |
|---|
| 372 | | @@ -61,4 +62,9 @@ |
|---|
| 373 | | (let ((submenu |
|---|
| 374 | | - (subseq entries 0 (min (length entries) |
|---|
| 375 | | - sgml-max-menu-size)))) |
|---|
| 376 | | +;;; (subseq entries 0 (min (length entries) |
|---|
| 377 | | +;;; sgml-max-menu-size)) |
|---|
| 378 | | + (let ((new (copy-sequence entries))) |
|---|
| 379 | | + (setcdr (nthcdr (1- (min (length entries) |
|---|
| 380 | | + sgml-max-menu-size)) |
|---|
| 381 | | + new) nil) |
|---|
| 382 | | + new))) |
|---|
| 383 | | (setq entries (nthcdr sgml-max-menu-size entries)) |
|---|
| 384 | | @@ -113,9 +119,10 @@ |
|---|
| 385 | | (let ((inhibit-read-only t) |
|---|
| 386 | | - (after-change-function nil) ; obsolete variable |
|---|
| 387 | | - (before-change-function nil) ; obsolete variable |
|---|
| 388 | | (after-change-functions nil) |
|---|
| 389 | | - (before-change-functions nil)) |
|---|
| 390 | | + (before-change-functions nil) |
|---|
| 391 | | + (modified (buffer-modified-p)) |
|---|
| 392 | | + (buffer-undo-list t) |
|---|
| 393 | | + deactivate-mark) |
|---|
| 394 | | (put-text-property start end 'face face) |
|---|
| 395 | | - (when (< start end) |
|---|
| 396 | | - (put-text-property (1- end) end 'rear-nonsticky '(face))))) |
|---|
| 397 | | + (when (and (not modified) (buffer-modified-p)) |
|---|
| 398 | | + (set-buffer-modified-p nil)))) |
|---|
| 399 | | (t |
|---|
| 400 | | --- psgml-parse.el 2001/03/03 00:23:57 1.1 |
|---|
| 401 | | +++ psgml-parse.el 2001/03/03 00:29:56 |
|---|
| 402 | | @@ -40,2 +40,4 @@ |
|---|
| 403 | | |
|---|
| 404 | | +(eval-when-compile (require 'cl)) |
|---|
| 405 | | + |
|---|
| 406 | | |
|---|
| 407 | | @@ -2493,8 +2495,8 @@ |
|---|
| 408 | | (setq sgml-scratch-buffer nil)) |
|---|
| 409 | | - (when after-change-function ;*** |
|---|
| 410 | | - (message "OOPS: after-change-function not NIL in scratch buffer %s: %s" |
|---|
| 411 | | + (when after-change-functions ;*** |
|---|
| 412 | | + (message "OOPS: after-change-functions not NIL in scratch buffer %s: %S" |
|---|
| 413 | | (current-buffer) |
|---|
| 414 | | - after-change-function) |
|---|
| 415 | | - (setq before-change-function nil |
|---|
| 416 | | - after-change-function nil)) |
|---|
| 417 | | + after-change-functions) |
|---|
| 418 | | + (setq before-change-functions nil |
|---|
| 419 | | + after-change-functions nil)) |
|---|
| 420 | | (setq sgml-last-entity-buffer (current-buffer)) |
|---|
| 421 | | @@ -2878,6 +2880,5 @@ |
|---|
| 422 | | "Set initial state of parsing" |
|---|
| 423 | | - (make-local-variable 'before-change-function) |
|---|
| 424 | | - (setq before-change-function 'sgml-note-change-at) |
|---|
| 425 | | - (make-local-variable 'after-change-function) |
|---|
| 426 | | - (setq after-change-function 'sgml-set-face-after-change) |
|---|
| 427 | | + (set (make-local-variable 'before-change-functions) '(sgml-note-change-at)) |
|---|
| 428 | | + (set (make-local-variable 'after-change-functions) |
|---|
| 429 | | + '(sgml-set-face-after-change)) |
|---|
| 430 | | (sgml-set-active-dtd-indicator (sgml-dtd-doctype dtd)) |
|---|
| 431 | | @@ -3925,7 +3926,7 @@ |
|---|
| 432 | | (sgml-need-dtd) |
|---|
| 433 | | - (unless before-change-function |
|---|
| 434 | | - (message "WARN: before-change-function has been lost, restoring (%s)" |
|---|
| 435 | | + (unless before-change-functions |
|---|
| 436 | | + (message "WARN: before-change-functions has been lost, restoring (%s)" |
|---|
| 437 | | (current-buffer)) |
|---|
| 438 | | - (setq before-change-function 'sgml-note-change-at) |
|---|
| 439 | | - (setq after-change-function 'sgml-set-face-after-change)) |
|---|
| 440 | | + (setq before-change-functions '(sgml-note-change-at)) |
|---|
| 441 | | + (setq after-change-functions '(sgml-set-face-after-change))) |
|---|
| 442 | | (sgml-with-parser-syntax-ro |
|---|
| 443 | | |
|---|
| 444 | | * The Calc package fails to build and signals errors with Emacs 21. |
|---|
| 445 | | |
|---|
| 446 | | Apply the following patches which reportedly fix several problems: |
|---|
| 447 | | |
|---|
| 448 | | --- calc-ext.el.~1~ Sun Apr 3 02:26:34 1994 |
|---|
| 449 | | +++ calc-ext.el Wed Sep 18 17:35:01 1996 |
|---|
| 450 | | @@ -1354,6 +1354,25 @@ |
|---|
| 451 | | (calc-fancy-prefix 'calc-inverse-flag "Inverse..." n) |
|---|
| 452 | | ) |
|---|
| 453 | | |
|---|
| 454 | | +(defconst calc-fancy-prefix-map |
|---|
| 455 | | + (let ((map (make-sparse-keymap))) |
|---|
| 456 | | + (define-key map [t] 'calc-fancy-prefix-other-key) |
|---|
| 457 | | + (define-key map (vector meta-prefix-char t) 'calc-fancy-prefix-other-key) |
|---|
| 458 | | + (define-key map [switch-frame] nil) |
|---|
| 459 | | + (define-key map [?\C-u] 'universal-argument) |
|---|
| 460 | | + (define-key map [?0] 'digit-argument) |
|---|
| 461 | | + (define-key map [?1] 'digit-argument) |
|---|
| 462 | | + (define-key map [?2] 'digit-argument) |
|---|
| 463 | | + (define-key map [?3] 'digit-argument) |
|---|
| 464 | | + (define-key map [?4] 'digit-argument) |
|---|
| 465 | | + (define-key map [?5] 'digit-argument) |
|---|
| 466 | | + (define-key map [?6] 'digit-argument) |
|---|
| 467 | | + (define-key map [?7] 'digit-argument) |
|---|
| 468 | | + (define-key map [?8] 'digit-argument) |
|---|
| 469 | | + (define-key map [?9] 'digit-argument) |
|---|
| 470 | | + map) |
|---|
| 471 | | + "Keymap used while processing calc-fancy-prefix.") |
|---|
| 472 | | + |
|---|
| 473 | | (defun calc-fancy-prefix (flag msg n) |
|---|
| 474 | | (let (prefix) |
|---|
| 475 | | (calc-wrapper |
|---|
| 476 | | @@ -1364,6 +1383,8 @@ |
|---|
| 477 | | (message (if prefix msg ""))) |
|---|
| 478 | | (and prefix |
|---|
| 479 | | (not calc-is-keypad-press) |
|---|
| 480 | | + (if (boundp 'overriding-terminal-local-map) |
|---|
| 481 | | + (setq overriding-terminal-local-map calc-fancy-prefix-map) |
|---|
| 482 | | (let ((event (calc-read-key t))) |
|---|
| 483 | | (if (eq (setq last-command-char (car event)) ?\C-u) |
|---|
| 484 | | (universal-argument) |
|---|
| 485 | | @@ -1376,9 +1397,18 @@ |
|---|
| 486 | | (if (or (not (integerp last-command-char)) |
|---|
| 487 | | (eq last-command-char ?-)) |
|---|
| 488 | | (calc-unread-command) |
|---|
| 489 | | - (digit-argument n)))))) |
|---|
| 490 | | + (digit-argument n))))))) |
|---|
| 491 | | ) |
|---|
| 492 | | (setq calc-is-keypad-press nil) |
|---|
| 493 | | + |
|---|
| 494 | | +(defun calc-fancy-prefix-other-key (arg) |
|---|
| 495 | | + (interactive "P") |
|---|
| 496 | | + (if (or (not (integerp last-command-char)) |
|---|
| 497 | | + (and (>= last-command-char 0) (< last-command-char ? ) |
|---|
| 498 | | + (not (eq last-command-char meta-prefix-char)))) |
|---|
| 499 | | + (calc-wrapper)) ; clear flags if not a Calc command. |
|---|
| 500 | | + (calc-unread-command) |
|---|
| 501 | | + (setq overriding-terminal-local-map nil)) |
|---|
| 502 | | |
|---|
| 503 | | (defun calc-invert-func () |
|---|
| 504 | | (save-excursion |
|---|
| 505 | | |
|---|
| 506 | | --- Makefile.~1~ Sun Dec 15 23:50:45 1996 |
|---|
| 507 | | +++ Makefile Thu Nov 30 15:09:45 2000 |
|---|
| 508 | | @@ -41,7 +41,7 @@ |
|---|
| 509 | | |
|---|
| 510 | | # Other macros. |
|---|
| 511 | | EFLAGS = -batch |
|---|
| 512 | | -MAINT = -l calc-maint.elc |
|---|
| 513 | | +MAINT = -l calc-maint.el |
|---|
| 514 | | |
|---|
| 515 | | # Control whether intermediate files are kept. |
|---|
| 516 | | PURGE = -rm -f |
|---|
| 517 | | @@ -154,10 +154,7 @@ |
|---|
| 518 | | |
|---|
| 519 | | |
|---|
| 520 | | # All this because "-l calc-maint" doesn't work. |
|---|
| 521 | | -maint: calc-maint.elc |
|---|
| 522 | | -calc-maint.elc: calc-maint.el |
|---|
| 523 | | - cp calc-maint.el calc-maint.elc |
|---|
| 524 | | - |
|---|
| 525 | | +maint: calc-maint.el |
|---|
| 526 | | |
|---|
| 527 | | # Create an Emacs TAGS file |
|---|
| 528 | | tags: TAGS |
|---|
| 529 | | |
|---|
| 530 | | --- calc-aent.el.~1~ Sun Dec 15 23:50:36 1996 |
|---|
| 531 | | +++ calc-aent.el Tue Nov 21 18:34:33 2000 |
|---|
| 532 | | @@ -385,7 +385,7 @@ |
|---|
| 533 | | (calc-minibuffer-contains |
|---|
| 534 | | "\\`\\([^\"]*\"[^\"]*\"\\)*[^\"]*\"[^\"]*\\'")) |
|---|
| 535 | | (insert "`") |
|---|
| 536 | | - (setq alg-exp (buffer-string)) |
|---|
| 537 | | + (setq alg-exp (field-string)) |
|---|
| 538 | | (and (> (length alg-exp) 0) (setq calc-previous-alg-entry alg-exp)) |
|---|
| 539 | | (exit-minibuffer)) |
|---|
| 540 | | ) |
|---|
| 541 | | @@ -393,14 +393,14 @@ |
|---|
| 542 | | |
|---|
| 543 | | (defun calcAlg-enter () |
|---|
| 544 | | (interactive) |
|---|
| 545 | | - (let* ((str (buffer-string)) |
|---|
| 546 | | + (let* ((str (field-string)) |
|---|
| 547 | | (exp (and (> (length str) 0) |
|---|
| 548 | | (save-excursion |
|---|
| 549 | | (set-buffer calc-buffer) |
|---|
| 550 | | (math-read-exprs str))))) |
|---|
| 551 | | (if (eq (car-safe exp) 'error) |
|---|
| 552 | | (progn |
|---|
| 553 | | - (goto-char (point-min)) |
|---|
| 554 | | + (goto-char (field-beginning)) |
|---|
| 555 | | (forward-char (nth 1 exp)) |
|---|
| 556 | | (beep) |
|---|
| 557 | | (calc-temp-minibuffer-message |
|---|
| 558 | | @@ -455,14 +455,14 @@ |
|---|
| 559 | | (interactive) |
|---|
| 560 | | (if (calc-minibuffer-contains ".*[@oh] *[^'m ]+[^'m]*\\'") |
|---|
| 561 | | (calcDigit-key) |
|---|
| 562 | | - (setq calc-digit-value (buffer-string)) |
|---|
| 563 | | + (setq calc-digit-value (field-string)) |
|---|
| 564 | | (exit-minibuffer)) |
|---|
| 565 | | ) |
|---|
| 566 | | |
|---|
| 567 | | (defun calcDigit-edit () |
|---|
| 568 | | (interactive) |
|---|
| 569 | | (calc-unread-command) |
|---|
| 570 | | - (setq calc-digit-value (buffer-string)) |
|---|
| 571 | | + (setq calc-digit-value (field-string)) |
|---|
| 572 | | (exit-minibuffer) |
|---|
| 573 | | ) |
|---|
| 574 | | |
|---|
| 575 | | --- calc.el.~1~ Sun Dec 15 23:50:47 1996 |
|---|
| 576 | | +++ calc.el Wed Nov 22 13:08:49 2000 |
|---|
| 577 | | @@ -2051,11 +2051,11 @@ |
|---|
| 578 | | ;; Exercise for the reader: Figure out why this is a good precaution! |
|---|
| 579 | | (or (boundp 'calc-buffer) |
|---|
| 580 | | (use-local-map minibuffer-local-map)) |
|---|
| 581 | | - (let ((str (buffer-string))) |
|---|
| 582 | | + (let ((str (field-string))) |
|---|
| 583 | | (setq calc-digit-value (save-excursion |
|---|
| 584 | | (set-buffer calc-buffer) |
|---|
| 585 | | (math-read-number str)))) |
|---|
| 586 | | - (if (and (null calc-digit-value) (> (buffer-size) 0)) |
|---|
| 587 | | + (if (and (null calc-digit-value) (> (field-end) (field-beginning))) |
|---|
| 588 | | (progn |
|---|
| 589 | | (beep) |
|---|
| 590 | | (calc-temp-minibuffer-message " [Bad format]")) |
|---|
| 591 | | @@ -2071,7 +2071,7 @@ |
|---|
| 592 | | |
|---|
| 593 | | (defun calc-minibuffer-contains (rex) |
|---|
| 594 | | (save-excursion |
|---|
| 595 | | - (goto-char (point-min)) |
|---|
| 596 | | + (goto-char (field-end (point-min))) |
|---|
| 597 | | (looking-at rex)) |
|---|
| 598 | | ) |
|---|
| 599 | | |
|---|
| 600 | | @@ -2158,10 +2158,8 @@ |
|---|
| 601 | | (upcase last-command-char)))) |
|---|
| 602 | | (and dig |
|---|
| 603 | | (< dig radix))))))) |
|---|
| 604 | | - (save-excursion |
|---|
| 605 | | - (goto-char (point-min)) |
|---|
| 606 | | - (looking-at |
|---|
| 607 | | - "[-+]?\\(.*\\+/- *\\|.*mod *\\)?\\([0-9]+\\.?0*[@oh] *\\)?\\([0-9]+\\.?0*['m] *\\)?[0-9]*\\(\\.?[0-9]*\\(e[-+]?[0-3]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?\\)?\\|[0-9]:\\([0-9]+:\\)?[0-9]*\\)?[\"s]?\\'"))) |
|---|
| 608 | | + (calc-minibuffer-contains |
|---|
| 609 | | + "[-+]?\\(.*\\+/- *\\|.*mod *\\)?\\([0-9]+\\.?0*[@oh] *\\)?\\([0-9]+\\.?0*['m] *\\)?[0-9]*\\(\\.?[0-9]*\\(e[-+]?[0-3]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?\\)?\\|[0-9]:\\([0-9]+:\\)?[0-9]*\\)?[\"s]?\\'")) |
|---|
| 610 | | (if (and (memq last-command-char '(?@ ?o ?h ?\' ?m)) |
|---|
| 611 | | (string-match " " calc-hms-format)) |
|---|
| 612 | | (insert " ")) |
|---|
| 613 | | @@ -2190,7 +2188,7 @@ |
|---|
| 614 | | ((eq last-command 'calcDigit-start) |
|---|
| 615 | | (erase-buffer)) |
|---|
| 616 | | (t (backward-delete-char 1))) |
|---|
| 617 | | - (if (= (buffer-size) 0) |
|---|
| 618 | | + (if (= (field-beginning) (field-end)) |
|---|
| 619 | | (progn |
|---|
| 620 | | (setq last-command-char 13) |
|---|
| 621 | | (calcDigit-nondigit))) |
|---|
| 622 | | |
|---|
| 623 | | * TeX'ing the Calc manual fails. |
|---|
| 624 | | |
|---|
| 625 | | The following patches allow to build the Calc manual using texinfo.tex |
|---|
| 626 | | from Emacs 19.34 distribution: |
|---|
| 627 | | |
|---|
| 628 | | *** calc-maint.e~0 Mon Dec 16 07:11:26 1996 |
|---|
| 629 | | --- calc-maint.el Sun Dec 10 14:32:38 2000 |
|---|
| 630 | | *************** |
|---|
| 631 | | *** 308,314 **** |
|---|
| 632 | | (insert "@tex\n" |
|---|
| 633 | | "\\global\\advance\\appendixno2\n" |
|---|
| 634 | | "\\gdef\\xref#1.{See ``#1.''}\n") |
|---|
| 635 | | ! (setq midpos (point)) |
|---|
| 636 | | (insert "@end tex\n") |
|---|
| 637 | | (insert-buffer-substring srcbuf sumpos endpos) |
|---|
| 638 | | (insert "@bye\n") |
|---|
| 639 | | --- 308,314 ---- |
|---|
| 640 | | (insert "@tex\n" |
|---|
| 641 | | "\\global\\advance\\appendixno2\n" |
|---|
| 642 | | "\\gdef\\xref#1.{See ``#1.''}\n") |
|---|
| 643 | | ! (setq midpos (point-marker)) |
|---|
| 644 | | (insert "@end tex\n") |
|---|
| 645 | | (insert-buffer-substring srcbuf sumpos endpos) |
|---|
| 646 | | (insert "@bye\n") |
|---|
| 647 | | *** Makefile.~0 Mon Dec 16 07:11:24 1996 |
|---|
| 648 | | --- Makefile Sun Dec 10 14:44:00 2000 |
|---|
| 649 | | *************** |
|---|
| 650 | | *** 98,106 **** |
|---|
| 651 | | # Format the Calc manual as one printable volume using TeX. |
|---|
| 652 | | tex: |
|---|
| 653 | | $(REMOVE) calc.aux |
|---|
| 654 | | ! $(TEX) calc.texinfo |
|---|
| 655 | | $(TEXINDEX) calc.[cfkptv]? |
|---|
| 656 | | ! $(TEX) calc.texinfo |
|---|
| 657 | | $(PURGE) calc.cp calc.fn calc.pg calc.tp calc.vr |
|---|
| 658 | | $(PURGE) calc.cps calc.fns calc.kys calc.pgs calc.tps calc.vrs |
|---|
| 659 | | $(PURGE) calc.toc |
|---|
| 660 | | --- 98,106 ---- |
|---|
| 661 | | # Format the Calc manual as one printable volume using TeX. |
|---|
| 662 | | tex: |
|---|
| 663 | | $(REMOVE) calc.aux |
|---|
| 664 | | ! -$(TEX) calc.texinfo |
|---|
| 665 | | $(TEXINDEX) calc.[cfkptv]? |
|---|
| 666 | | ! -$(TEX) calc.texinfo |
|---|
| 667 | | $(PURGE) calc.cp calc.fn calc.pg calc.tp calc.vr |
|---|
| 668 | | $(PURGE) calc.cps calc.fns calc.kys calc.pgs calc.tps calc.vrs |
|---|
| 669 | | $(PURGE) calc.toc |
|---|
| 670 | | *** calc.texinfo.~1~ Thu Oct 10 18:18:56 1996 |
|---|
| 671 | | --- calc.texinfo Mon Dec 11 08:25:00 2000 |
|---|
| 672 | | *************** |
|---|
| 673 | | *** 12,17 **** |
|---|
| 674 | | --- 12,19 ---- |
|---|
| 675 | | % Because makeinfo.c exists, we can't just define new commands. |
|---|
| 676 | | % So instead, we take over little-used existing commands. |
|---|
| 677 | | % |
|---|
| 678 | | + % Suggested by Karl Berry <karl@@freefriends.org> |
|---|
| 679 | | + \gdef\!{\mskip-\thinmuskip} |
|---|
| 680 | | % Redefine @cite{text} to act like $text$ in regular TeX. |
|---|
| 681 | | % Info will typeset this same as @samp{text}. |
|---|
| 682 | | \gdef\goodtex{\tex \let\rm\goodrm \let\t\ttfont \turnoffactive} |
|---|
| 683 | | *************** |
|---|
| 684 | | *** 23686,23692 **** |
|---|
| 685 | | a vector of the actual parameter values, written as equations: |
|---|
| 686 | | @cite{[a = 3, b = 2]}, in case you'd rather read them in a list |
|---|
| 687 | | than pick them out of the formula. (You can type @kbd{t y} |
|---|
| 688 | | ! to move this vector to the stack; @pxref{Trail Commands}.) |
|---|
| 689 | | |
|---|
| 690 | | Specifying a different independent variable name will affect the |
|---|
| 691 | | resulting formula: @kbd{a F 1 k RET} produces @kbd{3 + 2 k}. |
|---|
| 692 | | --- 23689,23695 ---- |
|---|
| 693 | | a vector of the actual parameter values, written as equations: |
|---|
| 694 | | @cite{[a = 3, b = 2]}, in case you'd rather read them in a list |
|---|
| 695 | | than pick them out of the formula. (You can type @kbd{t y} |
|---|
| 696 | | ! to move this vector to the stack; see @ref{Trail Commands}.) |
|---|
| 697 | | |
|---|
| 698 | | Specifying a different independent variable name will affect the |
|---|
| 699 | | resulting formula: @kbd{a F 1 k RET} produces @kbd{3 + 2 k}. |
|---|
| 700 | | |
|---|
| 701 | | * Unicode characters are not unified with other Mule charsets. |
|---|
| 702 | | |
|---|
| 703 | | As of v21.1, Emacs charsets are still not unified. This means that |
|---|
| 704 | | characters which belong to charsets such as Latin-2, Greek, Hebrew, |
|---|
| 705 | | etc. and the same characters in the `mule-unicode-*' charsets are |
|---|
| 706 | | different characters, as far as Emacs is concerned. For example, text |
|---|
| 707 | | which includes Unicode characters from the Latin-2 locale cannot be |
|---|
| 708 | | encoded by Emacs with ISO 8859-2 coding system; and if you yank Greek |
|---|
| 709 | | text from a buffer whose buffer-file-coding-system is greek-iso-8bit |
|---|
| 710 | | into a mule-unicode-0100-24ff buffer, Emacs won't be able to save that |
|---|
| 711 | | buffer neither as ISO 8859-7 nor as UTF-8. |
|---|
| 712 | | |
|---|
| 713 | | To work around this, install some add-on package such as Mule-UCS. |
|---|
| 714 | | |
|---|
| 715 | | * The `oc-unicode' package doesn't work with Emacs 21. |
|---|
| 716 | | |
|---|
| 717 | | This package tries to define more private charsets than there are free |
|---|
| 718 | | slots now. If the built-in Unicode/UTF-8 support is insufficient, |
|---|
| 719 | | e.g. if you need more CJK coverage, use the current Mule-UCS package. |
|---|
| 720 | | Any files encoded as emacs-mule using oc-unicode won't be read |
|---|
| 721 | | correctly by Emacs 21. |
|---|
| 722 | | |
|---|
| 723 | | * On systems with shared libraries you might encounter run-time errors |
|---|
| 724 | | from the dynamic linker telling you that it is unable to find some |
|---|
| 725 | | shared libraries, for instance those for Xaw3d or image support. |
|---|
| 726 | | These errors mean Emacs has been linked with a library whose shared |
|---|
| 727 | | library is not in the default search path of the dynamic linker. |
|---|
| 728 | | |
|---|
| 729 | | On many systems, it is possible to set LD_LIBRARY_PATH in your |
|---|
| 730 | | environment to specify additional directories where shared libraries |
|---|
| 731 | | can be found. |
|---|
| 732 | | |
|---|
| 733 | | Other systems allow to set LD_RUN_PATH in a similar way, but before |
|---|
| 734 | | Emacs is linked. With LD_RUN_PATH set, the linker will include a |
|---|
| 735 | | specified run-time search path in the executable. |
|---|
| 736 | | |
|---|
| 737 | | Please refer to the documentation of your dynamic linker for details. |
|---|
| 738 | | |
|---|
| 739 | | * On Solaris 2.7, building Emacs with WorkShop Compilers 5.0 98/12/15 |
|---|
| 740 | | C 5.0 failed, apparently with non-default CFLAGS, most probably due to |
|---|
| 741 | | compiler bugs. Using Sun Solaris 2.7 Sun WorkShop 6 update 1 C |
|---|
| 742 | | release was reported to work without problems. It worked OK on |
|---|
| 743 | | another system with Solaris 8 using apparently the same 5.0 compiler |
|---|
| 744 | | and the default CFLAGS. |
|---|
| 745 | | |
|---|
| 746 | | * Compiling syntax.c with the OPENSTEP 4.2 compiler gcc 2.7.2.1 fails. |
|---|
| 747 | | |
|---|
| 748 | | The compiler was reported to crash while compiling syntax.c with the |
|---|
| 749 | | following message: |
|---|
| 750 | | |
|---|
| 751 | | cc: Internal compiler error: program cc1obj got fatal signal 11 |
|---|
| 752 | | |
|---|
| 753 | | To work around this, replace the macros UPDATE_SYNTAX_TABLE_FORWARD, |
|---|
| 754 | | INC_BOTH, and INC_FROM with functions. To this end, first define 3 |
|---|
| 755 | | functions, one each for every macro. Here's an example: |
|---|
| 756 | | |
|---|
| 757 | | static int update_syntax_table_forward(int from) |
|---|
| 758 | | { |
|---|
| 759 | | return(UPDATE_SYNTAX_TABLE_FORWARD(from)); |
|---|
| 760 | | }/*update_syntax_table_forward*/ |
|---|
| 761 | | |
|---|
| 762 | | Then replace all references to UPDATE_SYNTAX_TABLE_FORWARD in syntax.c |
|---|
| 763 | | with a call to the function update_syntax_table_forward. |
|---|
| 764 | | |
|---|
| 765 | | * Emacs 20 and later fails to load Lisp files at startup. |
|---|
| 766 | | |
|---|
| 767 | | The typical error message might be like this: |
|---|
| 768 | | |
|---|
| 769 | | "Cannot open load file: fontset" |
|---|
| 770 | | |
|---|
| 771 | | This could happen if you compress the file lisp/subdirs.el. That file |
|---|
| 772 | | tells Emacs what are the directories where it should look for Lisp |
|---|
| 773 | | files. Emacs cannot work with subdirs.el compressed, since the |
|---|
| 774 | | Auto-compress mode it needs for this will not be loaded until later, |
|---|
| 775 | | when your .emacs file is processed. (The package `fontset.el' is |
|---|
| 776 | | required to set up fonts used to display text on window systems, and |
|---|
| 777 | | its loaded very early in the startup procedure.) |
|---|
| 778 | | |
|---|
| 779 | | Similarly, any other .el file for which there's no corresponding .elc |
|---|
| 780 | | file could fail to load if it is compressed. |
|---|
| 781 | | |
|---|
| 782 | | The solution is to uncompress all .el files which don't have a .elc |
|---|
| 783 | | file. |
|---|
| 784 | | |
|---|
| 785 | | * Attempting to visit remote files via ange-ftp fails. |
|---|
| 786 | | |
|---|
| 787 | | If the error message is "ange-ftp-file-modtime: Specified time is not |
|---|
| 788 | | representable", then this could happen when `lukemftp' is used as the |
|---|
| 789 | | ftp client. This was reported to happen on Debian GNU/Linux 2.4.3 |
|---|
| 790 | | with `lukemftp' 1.5-5, but might happen on other systems as well. To |
|---|
| 791 | | avoid this problem, switch to using the standard ftp client. On a |
|---|
| 792 | | Debian system, type |
|---|
| 793 | | |
|---|
| 794 | | update-alternatives --config ftpd |
|---|
| 795 | | |
|---|
| 796 | | and then choose /usr/bin/netkit-ftp. |
|---|
| 797 | | |
|---|
| 798 | | * On Windows 95/98/ME, subprocesses do not terminate properly. |
|---|
| 799 | | |
|---|
| 800 | | This is a limitation of the Operating System, and can cause problems |
|---|
| 801 | | when shutting down Windows. Ensure that all subprocesses are exited |
|---|
| 802 | | cleanly before exiting Emacs. For more details, see the FAQ at |
|---|
| 803 | | ftp://ftp.gnu.org/gnu/windows/emacs/doc/index.html |
|---|
| 804 | | |
|---|
| 805 | | * Mail sent through Microsoft Exchange in some encodings appears to be |
|---|
| 806 | | mangled and is not seen correctly in Rmail or Gnus. We don't know |
|---|
| 807 | | exactly what happens, but it isn't an Emacs problem in cases we've |
|---|
| 808 | | seen. |
|---|
| 809 | | |
|---|
| 810 | | * On OSF/Dec Unix/Tru64/<whatever it is this year> under X locally or |
|---|
| 811 | | remotely, M-SPC acts as a `compose' key with strange results. See |
|---|
| 812 | | keyboard(5). |
|---|
| 813 | | |
|---|
| 814 | | Changing Alt_L to Meta_L fixes it: |
|---|
| 815 | | % xmodmap -e 'keysym Alt_L = Meta_L Alt_L' |
|---|
| 816 | | % xmodmap -e 'keysym Alt_R = Meta_R Alt_R' |
|---|
| 817 | | |
|---|
| 818 | | * Error "conflicting types for `initstate'" compiling with GCC on Irix 6. |
|---|
| 819 | | |
|---|
| 820 | | Install GCC 2.95 or a newer version, and this problem should go away. |
|---|
| 821 | | It is possible that this problem results from upgrading the operating |
|---|
| 822 | | system without reinstalling GCC; so you could also try reinstalling |
|---|
| 823 | | the same version of GCC, and telling us whether that fixes the problem. |
|---|
| 824 | | |
|---|
| 825 | | * On Solaris 7, Emacs gets a segmentation fault when starting up using X. |
|---|
| 826 | | |
|---|
| 827 | | This results from Sun patch 107058-01 (SunOS 5.7: Patch for |
|---|
| 828 | | assembler) if you use GCC version 2.7 or later. |
|---|
| 829 | | To work around it, either install patch 106950-03 or later, |
|---|
| 830 | | or uninstall patch 107058-01, or install the GNU Binutils. |
|---|
| 831 | | Then recompile Emacs, and it should work. |
|---|
| 832 | | |
|---|
| 833 | | * With X11R6.4, public-patch-3, Emacs crashes at startup. |
|---|
| 834 | | |
|---|
| 835 | | Reportedly this patch in X fixes the problem. |
|---|
| 836 | | |
|---|
| 837 | | --- xc/lib/X11/imInt.c~ Wed Jun 30 13:31:56 1999 |
|---|
| 838 | | +++ xc/lib/X11/imInt.c Thu Jul 1 15:10:27 1999 |
|---|
| 839 | | @@ -1,4 +1,4 @@ |
|---|
| 840 | | -/* $TOG: imInt.c /main/5 1998/05/30 21:11:16 kaleb $ */ |
|---|
| 841 | | +/* $TOG: imInt.c /main/5 1998/05/30 21:11:16 kaleb $ */ |
|---|
| 842 | | /****************************************************************** |
|---|
| 843 | | |
|---|
| 844 | | Copyright 1992, 1993, 1994 by FUJITSU LIMITED |
|---|
| 845 | | @@ -166,8 +166,8 @@ |
|---|
| 846 | | _XimMakeImName(lcd) |
|---|
| 847 | | XLCd lcd; |
|---|
| 848 | | { |
|---|
| 849 | | - char* begin; |
|---|
| 850 | | - char* end; |
|---|
| 851 | | + char* begin = NULL; |
|---|
| 852 | | + char* end = NULL; |
|---|
| 853 | | char* ret; |
|---|
| 854 | | int i = 0; |
|---|
| 855 | | char* ximmodifier = XIMMODIFIER; |
|---|
| 856 | | @@ -182,7 +182,11 @@ |
|---|
| 857 | | } |
|---|
| 858 | | ret = Xmalloc(end - begin + 2); |
|---|
| 859 | | if (ret != NULL) { |
|---|
| 860 | | - (void)strncpy(ret, begin, end - begin + 1); |
|---|
| 861 | | + if (begin != NULL) { |
|---|
| 862 | | + (void)strncpy(ret, begin, end - begin + 1); |
|---|
| 863 | | + } else { |
|---|
| 864 | | + ret[0] = '\0'; |
|---|
| 865 | | + } |
|---|
| 866 | | ret[end - begin + 1] = '\0'; |
|---|
| 867 | | } |
|---|
| 868 | | return ret; |
|---|
| 869 | | |
|---|
| 870 | | |
|---|
| 871 | | * Emacs crashes on Irix 6.5 on the SGI R10K, when compiled with GCC. |
|---|
| 872 | | |
|---|
| 873 | | This seems to be fixed in GCC 2.95. |
|---|
| 874 | | |
|---|
| 875 | | * Emacs crashes in utmpname on Irix 5.3. |
|---|
| 876 | | |
|---|
| 877 | | This problem is fixed in Patch 3175 for Irix 5.3. |
|---|
| 878 | | It is also fixed in Irix versions 6.2 and up. |
|---|
| 879 | | |
|---|
| 880 | | * The S-C-t key combination doesn't get passed to Emacs on X. |
|---|
| 881 | | |
|---|
| 882 | | This happens because some X configurations assign the Ctrl-Shift-t |
|---|
| 883 | | combination the same meaning as the Multi_key. The offending |
|---|
| 884 | | definition is in the file `...lib/X11/locale/iso8859-1/Compose'; there |
|---|
| 885 | | might be other similar combinations which are grabbed by X for similar |
|---|
| 886 | | purposes. |
|---|
| 887 | | |
|---|
| 888 | | We think that this can be countermanded with the `xmodmap' utility, if |
|---|
| 889 | | you want to be able to bind one of these key sequences within Emacs. |
|---|
| 890 | | |
|---|
| 891 | | * On Solaris, CTRL-t is ignored by Emacs when you use |
|---|
| 892 | | the fr.ISO-8859-15 locale (and maybe other related locales). |
|---|
| 893 | | |
|---|
| 894 | | You can fix this by editing the file: |
|---|
| 895 | | |
|---|
| 896 | | /usr/openwin/lib/locale/iso8859-15/Compose |
|---|
| 897 | | |
|---|
| 898 | | Near the bottom there is a line that reads: |
|---|
| 899 | | |
|---|
| 900 | | Ctrl<t> <quotedbl> <Y> : "\276" threequarters |
|---|
| 901 | | |
|---|
| 902 | | that should read: |
|---|
| 903 | | |
|---|
| 904 | | Ctrl<T> <quotedbl> <Y> : "\276" threequarters |
|---|
| 905 | | |
|---|
| 906 | | Note the lower case <t>. Changing this line should make C-t work. |
|---|
| 907 | | |
|---|
| 908 | | * Emacs on Digital Unix 4.0 fails to build, giving error message |
|---|
| 909 | | Invalid dimension for the charset-ID 160 |
|---|
| 910 | | |
|---|
| 911 | | This is due to a bug or an installation problem in GCC 2.8.0. |
|---|
| 912 | | |
|---|