diff options
| author | Kenichi Handa | 2010-05-28 15:45:43 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2010-05-28 15:45:43 +0900 |
| commit | 0ad1627dbeb2c525a78252de500cb92ac367d8e2 (patch) | |
| tree | 9f66c2446d818199288ec6424ecc88c51418bca7 | |
| parent | 7d56b2ddfe092d1c25b6faf3f5688bb85fb46549 (diff) | |
| parent | 3d338b4613c47aecc773093f92cf48f279ed95d1 (diff) | |
| download | emacs-0ad1627dbeb2c525a78252de500cb92ac367d8e2.tar.gz emacs-0ad1627dbeb2c525a78252de500cb92ac367d8e2.zip | |
merge trunk
| -rw-r--r-- | ChangeLog | 13 | ||||
| -rw-r--r-- | configure.in | 85 | ||||
| -rw-r--r-- | etc/ChangeLog | 5 | ||||
| -rw-r--r-- | etc/MACHINES | 314 | ||||
| -rw-r--r-- | etc/NEWS | 18 | ||||
| -rw-r--r-- | etc/PROBLEMS | 163 | ||||
| -rw-r--r-- | lisp/ChangeLog | 77 | ||||
| -rw-r--r-- | lisp/diff.el | 4 | ||||
| -rw-r--r-- | lisp/dired.el | 39 | ||||
| -rw-r--r-- | lisp/epg.el | 8 | ||||
| -rw-r--r-- | lisp/files.el | 33 | ||||
| -rw-r--r-- | lisp/htmlfontify.el | 15 | ||||
| -rw-r--r-- | lisp/jka-compr.el | 6 | ||||
| -rw-r--r-- | lisp/net/ange-ftp.el | 21 | ||||
| -rw-r--r-- | lisp/net/tramp-compat.el | 27 | ||||
| -rw-r--r-- | lisp/net/tramp-fish.el | 18 | ||||
| -rw-r--r-- | lisp/net/tramp-ftp.el | 2 | ||||
| -rw-r--r-- | lisp/net/tramp-gvfs.el | 6 | ||||
| -rw-r--r-- | lisp/net/tramp-imap.el | 4 | ||||
| -rw-r--r-- | lisp/net/tramp-smb.el | 14 | ||||
| -rw-r--r-- | lisp/net/tramp.el | 39 | ||||
| -rw-r--r-- | lisp/progmodes/verilog-mode.el | 6 | ||||
| -rw-r--r-- | lisp/server.el | 2 | ||||
| -rw-r--r-- | lisp/speedbar.el | 4 | ||||
| -rw-r--r-- | src/ChangeLog | 22 | ||||
| -rw-r--r-- | src/ChangeLog.10 | 4 | ||||
| -rw-r--r-- | src/ChangeLog.8 | 3 | ||||
| -rw-r--r-- | src/Makefile.in | 2 | ||||
| -rw-r--r-- | src/buffer.c | 2 | ||||
| -rw-r--r-- | src/callproc.c | 2 | ||||
| -rw-r--r-- | src/fileio.c | 41 | ||||
| -rw-r--r-- | src/lisp.h | 2 | ||||
| -rw-r--r-- | src/xdisp.c | 12 |
33 files changed, 417 insertions, 596 deletions
| @@ -1,3 +1,7 @@ | |||
| 1 | 2010-05-28 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * configure.in: Simplify some of the $canonical tests. | ||
| 4 | |||
| 1 | 2010-05-27 Glenn Morris <rgm@gnu.org> | 5 | 2010-05-27 Glenn Morris <rgm@gnu.org> |
| 2 | 6 | ||
| 3 | * config.bat: Do not preprocess src/Makefile.in. | 7 | * config.bat: Do not preprocess src/Makefile.in. |
| @@ -2107,6 +2111,10 @@ | |||
| 2107 | 2111 | ||
| 2108 | Update copyright year(s) in many files. | 2112 | Update copyright year(s) in many files. |
| 2109 | 2113 | ||
| 2114 | 2006-04-01 Eli Zaretskii <eliz@gnu.org> | ||
| 2115 | |||
| 2116 | * configure: Regenerated. | ||
| 2117 | |||
| 2110 | 2006-04-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change) | 2118 | 2006-04-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change) |
| 2111 | 2119 | ||
| 2112 | * configure.in (HAVE_XAW3D): Disable Xaw3d check if | 2120 | * configure.in (HAVE_XAW3D): Disable Xaw3d check if |
| @@ -4067,6 +4075,11 @@ | |||
| 4067 | * make-dist: Unset EMACS_UNIBYTE, so Emacs runs in its default state. | 4075 | * make-dist: Unset EMACS_UNIBYTE, so Emacs runs in its default state. |
| 4068 | Quote $EMACS, in case it's a program with args. | 4076 | Quote $EMACS, in case it's a program with args. |
| 4069 | 4077 | ||
| 4078 | 1999-06-15 Gerd Moellmann <gerd@gnu.org> | ||
| 4079 | |||
| 4080 | * configure.in (HAVE_GIF): Use libungif instead of libgif | ||
| 4081 | because the former doesn't contain patented compression code. | ||
| 4082 | |||
| 4070 | 1999-05-29 Richard M. Stallman <rms@gnu.org> | 4083 | 1999-05-29 Richard M. Stallman <rms@gnu.org> |
| 4071 | 4084 | ||
| 4072 | * configure.in: Delete the Kerberos stuff. | 4085 | * configure.in: Delete the Kerberos stuff. |
diff --git a/configure.in b/configure.in index 9d301367b09..5ceb2c3bd48 100644 --- a/configure.in +++ b/configure.in | |||
| @@ -369,7 +369,7 @@ dnl quotation begins | |||
| 369 | ### the appropriate operating system and machine description files. | 369 | ### the appropriate operating system and machine description files. |
| 370 | 370 | ||
| 371 | ### You would hope that you could choose an m/*.h file pretty much | 371 | ### You would hope that you could choose an m/*.h file pretty much |
| 372 | ### based on the machine portion of the configuration name, and an s- | 372 | ### based on the machine portion of the configuration name, and an s/*.h |
| 373 | ### file based on the operating system portion. However, it turns out | 373 | ### file based on the operating system portion. However, it turns out |
| 374 | ### that each m/*.h file is pretty manufacturer-specific - for | 374 | ### that each m/*.h file is pretty manufacturer-specific - for |
| 375 | ### example mips.h is MIPS | 375 | ### example mips.h is MIPS |
| @@ -381,10 +381,6 @@ dnl quotation begins | |||
| 381 | ### /etc/MACHINES doesn't say anything about version numbers, be | 381 | ### /etc/MACHINES doesn't say anything about version numbers, be |
| 382 | ### prepared to handle anything reasonably. If version numbers | 382 | ### prepared to handle anything reasonably. If version numbers |
| 383 | ### matter, be sure /etc/MACHINES says something about it. | 383 | ### matter, be sure /etc/MACHINES says something about it. |
| 384 | ### | ||
| 385 | ### Eric Raymond says we should accept strings like "sysvr4" to mean | ||
| 386 | ### "System V Release 4"; he writes, "The old convention encouraged | ||
| 387 | ### confusion between `system' and `release' levels'." | ||
| 388 | 384 | ||
| 389 | machine='' opsys='' unported=no | 385 | machine='' opsys='' unported=no |
| 390 | case "${canonical}" in | 386 | case "${canonical}" in |
| @@ -393,14 +389,14 @@ case "${canonical}" in | |||
| 393 | *-*-freebsd* ) | 389 | *-*-freebsd* ) |
| 394 | opsys=freebsd | 390 | opsys=freebsd |
| 395 | case "${canonical}" in | 391 | case "${canonical}" in |
| 396 | alpha*-*-freebsd*) machine=alpha ;; | 392 | alpha*) machine=alpha ;; |
| 397 | arm*-*-freebsd*) machine=arm ;; | 393 | amd64-*|x86_64-*) machine=amdx86-64 ;; |
| 398 | ia64-*-freebsd*) machine=ia64 ;; | 394 | arm*) machine=arm ;; |
| 399 | sparc-*-freebsd*) machine=sparc ;; | 395 | ia64-*) machine=ia64 ;; |
| 400 | sparc64-*-freebsd*) machine=sparc ;; | 396 | i[3456]86-*) machine=intel386 ;; |
| 401 | powerpc-*-freebsd*) machine=macppc ;; | 397 | powerpc-*) machine=macppc ;; |
| 402 | i[3456]86-*-freebsd*) machine=intel386 ;; | 398 | sparc-*) machine=sparc ;; |
| 403 | amd64-*-freebsd*|x86_64-*-freebsd*) machine=amdx86-64 ;; | 399 | sparc64-*) machine=sparc ;; |
| 404 | esac | 400 | esac |
| 405 | ;; | 401 | ;; |
| 406 | 402 | ||
| @@ -408,13 +404,13 @@ case "${canonical}" in | |||
| 408 | *-*-kfreebsd*gnu* ) | 404 | *-*-kfreebsd*gnu* ) |
| 409 | opsys=gnu-kfreebsd | 405 | opsys=gnu-kfreebsd |
| 410 | case "${canonical}" in | 406 | case "${canonical}" in |
| 411 | alpha*-*-kfreebsd*) machine=alpha ;; | 407 | alpha*) machine=alpha ;; |
| 412 | ia64-*-kfreebsd*) machine=ia64 ;; | 408 | amd64-*|x86_64-*) machine=amdx86-64 ;; |
| 413 | sparc-*-kfreebsd*) machine=sparc ;; | 409 | ia64-*) machine=ia64 ;; |
| 414 | sparc64-*-kfreebsd*) machine=sparc ;; | 410 | i[3456]86-*) machine=intel386 ;; |
| 415 | powerpc-*-kfreebsd*) machine=macppc ;; | 411 | powerpc-*) machine=macppc ;; |
| 416 | i[3456]86-*-kfreebsd*) machine=intel386 ;; | 412 | sparc-*) machine=sparc ;; |
| 417 | amd64-*-kfreebsd*|x86_64-*-kfreebsd*) machine=amdx86-64 ;; | 413 | sparc64-*) machine=sparc ;; |
| 418 | esac | 414 | esac |
| 419 | ;; | 415 | ;; |
| 420 | 416 | ||
| @@ -422,18 +418,17 @@ case "${canonical}" in | |||
| 422 | *-*-netbsd* ) | 418 | *-*-netbsd* ) |
| 423 | opsys=netbsd | 419 | opsys=netbsd |
| 424 | case "${canonical}" in | 420 | case "${canonical}" in |
| 425 | alpha*-*-netbsd*) machine=alpha ;; | 421 | alpha*) machine=alpha ;; |
| 426 | i[3456]86-*-netbsd*) machine=intel386 ;; | 422 | x86_64-*) machine=amdx86-64 ;; |
| 427 | mips-*-netbsd*) machine=mips ;; | 423 | arm-*) machine=arm ;; |
| 428 | mipsel-*-netbsd*) machine=mips ;; | 424 | hppa-*) machine=hp800 ;; |
| 429 | mipseb-*-netbsd*) machine=mips ;; | 425 | i[3456]86-*) machine=intel386 ;; |
| 430 | powerpc-*-netbsd*) machine=macppc ;; | 426 | m68k-*) machine=m68k ;; |
| 431 | sparc*-*-netbsd*) machine=sparc ;; | 427 | powerpc-*) machine=macppc ;; |
| 432 | vax-*-netbsd*) machine=vax ;; | 428 | mips-*) machine=mips ;; |
| 433 | arm-*-netbsd*) machine=arm ;; | 429 | mipse[bl]-*) machine=mips ;; |
| 434 | x86_64-*-netbsd*) machine=amdx86-64 ;; | 430 | sparc*-) machine=sparc ;; |
| 435 | hppa-*-netbsd*) machine=hp800 ;; | 431 | vax-*) machine=vax ;; |
| 436 | m68k-*-netbsd*) machine=m68k ;; | ||
| 437 | esac | 432 | esac |
| 438 | ;; | 433 | ;; |
| 439 | 434 | ||
| @@ -441,14 +436,14 @@ case "${canonical}" in | |||
| 441 | *-*-openbsd* ) | 436 | *-*-openbsd* ) |
| 442 | opsys=openbsd | 437 | opsys=openbsd |
| 443 | case "${canonical}" in | 438 | case "${canonical}" in |
| 444 | alpha*-*-openbsd*) machine=alpha ;; | 439 | alpha*) machine=alpha ;; |
| 445 | arm-*-openbsd*) machine=arm ;; | 440 | x86_64-*) machine=amdx86-64 ;; |
| 446 | i386-*-openbsd*) machine=intel386 ;; | 441 | arm-*) machine=arm ;; |
| 447 | powerpc-*-openbsd*) machine=macppc ;; | 442 | hppa-*) machine=hp800 ;; |
| 448 | sparc*-*-openbsd*) machine=sparc ;; | 443 | i386-*) machine=intel386 ;; |
| 449 | vax-*-openbsd*) machine=vax ;; | 444 | powerpc-*) machine=macppc ;; |
| 450 | x86_64-*-openbsd*) machine=amdx86-64 ;; | 445 | sparc*) machine=sparc ;; |
| 451 | hppa-*-openbsd*) machine=hp800 ;; | 446 | vax-*) machine=vax ;; |
| 452 | esac | 447 | esac |
| 453 | ;; | 448 | ;; |
| 454 | 449 | ||
| @@ -499,16 +494,16 @@ case "${canonical}" in | |||
| 499 | s390x-*-linux-gnu* ) | 494 | s390x-*-linux-gnu* ) |
| 500 | machine=ibms390x opsys=gnu-linux | 495 | machine=ibms390x opsys=gnu-linux |
| 501 | ;; | 496 | ;; |
| 502 | rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2* ) | 497 | rs6000-ibm-aix4.[23]* ) |
| 503 | machine=ibmrs6000 opsys=aix4-2 | 498 | machine=ibmrs6000 opsys=aix4-2 |
| 504 | ;; | 499 | ;; |
| 505 | rs6000-ibm-aix4.3* | powerpc-ibm-aix4.3* ) | 500 | powerpc-ibm-aix4.[23]* ) |
| 506 | machine=ibmrs6000 opsys=aix4-2 | 501 | machine=ibmrs6000 opsys=aix4-2 |
| 507 | ;; | 502 | ;; |
| 508 | rs6000-ibm-aix5* | powerpc-ibm-aix5* ) | 503 | rs6000-ibm-aix[56]* ) |
| 509 | machine=ibmrs6000 opsys=aix4-2 | 504 | machine=ibmrs6000 opsys=aix4-2 |
| 510 | ;; | 505 | ;; |
| 511 | rs6000-ibm-aix6* | powerpc-ibm-aix6* ) | 506 | powerpc-ibm-aix[56]* ) |
| 512 | machine=ibmrs6000 opsys=aix4-2 | 507 | machine=ibmrs6000 opsys=aix4-2 |
| 513 | ;; | 508 | ;; |
| 514 | 509 | ||
| @@ -577,7 +572,7 @@ case "${canonical}" in | |||
| 577 | machine=ia64 opsys=gnu-linux | 572 | machine=ia64 opsys=gnu-linux |
| 578 | ;; | 573 | ;; |
| 579 | 574 | ||
| 580 | ## Intel 386 machines where we don't care about the manufacturer | 575 | ## Intel 386 machines where we don't care about the manufacturer. |
| 581 | i[3456]86-*-* ) | 576 | i[3456]86-*-* ) |
| 582 | machine=intel386 | 577 | machine=intel386 |
| 583 | case "${canonical}" in | 578 | case "${canonical}" in |
diff --git a/etc/ChangeLog b/etc/ChangeLog index 87c460bfb0d..135db74b9e0 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2010-05-28 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * MACHINES: Remove some old information no longer of relevance. | ||
| 4 | Switch to outline-mode. | ||
| 5 | |||
| 1 | 2010-05-27 Glenn Morris <rgm@gnu.org> | 6 | 2010-05-27 Glenn Morris <rgm@gnu.org> |
| 2 | 7 | ||
| 3 | * PROBLEMS: Remove old information no longer of relevance. | 8 | * PROBLEMS: Remove old information no longer of relevance. |
diff --git a/etc/MACHINES b/etc/MACHINES index aa5d766e8dd..ebefc8905e0 100644 --- a/etc/MACHINES +++ b/etc/MACHINES | |||
| @@ -6,9 +6,9 @@ See the end of the file for license conditions. | |||
| 6 | 6 | ||
| 7 | This is a list of the status of GNU Emacs on various machines and systems. | 7 | This is a list of the status of GNU Emacs on various machines and systems. |
| 8 | 8 | ||
| 9 | For each system and machine, we give the configuration name you should | 9 | Information about older releases, and platforms that are no longer |
| 10 | pass to the `configure' script to prepare to build Emacs for that | 10 | supported, has been removed. Consult older versions of this file if |
| 11 | system/machine. | 11 | you are interested in this information. |
| 12 | 12 | ||
| 13 | The `configure' script uses the configuration name to decide which | 13 | The `configure' script uses the configuration name to decide which |
| 14 | machine and operating system description files `src/config.h' should | 14 | machine and operating system description files `src/config.h' should |
| @@ -25,16 +25,10 @@ configuration name(s) should select your new machine description and | |||
| 25 | system description files. | 25 | system description files. |
| 26 | 26 | ||
| 27 | Some obsolete platforms are unsupported beginning with Emacs 23.1, see | 27 | Some obsolete platforms are unsupported beginning with Emacs 23.1, see |
| 28 | the full list at the end of this file. | 28 | the list at the end of this file. |
| 29 | 29 | ||
| 30 | 30 | ||
| 31 | Here are the configurations Emacs is intended to work with, with the | 31 | ** Alpha (DEC) running GNU/Linux (alpha-dec-linux-gnu) |
| 32 | corresponding configuration names. You can postpend version numbers | ||
| 33 | to operating system names (i.e. sunos4.1) or architecture names (i.e. | ||
| 34 | hppa1.1). If you leave out the version number, the `configure' script | ||
| 35 | will configure Emacs for the latest version it knows about. | ||
| 36 | |||
| 37 | Alpha (DEC) running GNU/Linux (alpha-dec-linux-gnu) | ||
| 38 | 32 | ||
| 39 | DEC C compiler version 5.9 (DEC C V5.9-005 on Digital UNIX V4.0f) | 33 | DEC C compiler version 5.9 (DEC C V5.9-005 on Digital UNIX V4.0f) |
| 40 | is reported to produce bogus binaries of Emacs 21.2 when the | 34 | is reported to produce bogus binaries of Emacs 21.2 when the |
| @@ -47,125 +41,26 @@ Alpha (DEC) running GNU/Linux (alpha-dec-linux-gnu) | |||
| 47 | versions fail to build with a message "Invalid dimension for the | 41 | versions fail to build with a message "Invalid dimension for the |
| 48 | charset-ID 160". | 42 | charset-ID 160". |
| 49 | 43 | ||
| 50 | Note that the X11 libraries on GNU/Linux systems for the Alpha are | 44 | ** Apple Macintosh running Mac OS X |
| 51 | said to have bugs that prevent Emacs from working with X (as of | ||
| 52 | November 1995). Recent releases work (July 2000). | ||
| 53 | |||
| 54 | Apple Macintosh running Mac OS X | ||
| 55 | |||
| 56 | For installation instructions see the file nextstep/INSTALL. | ||
| 57 | |||
| 58 | Apple PowerPC Macintosh running GNU/Linux | ||
| 59 | |||
| 60 | There are special considerations for a variety of this system which | ||
| 61 | is known as the ``Yellow Dog [GNU/]Linux'': Emacs may crash during | ||
| 62 | dumping. To solve this, edit the header file src/m/macppc.h in the | ||
| 63 | Emacs distribution, and remove the "#if 0" and "#endif" directives | ||
| 64 | which surround the following block near the end of the file: | ||
| 65 | |||
| 66 | #if 0 /* This breaks things on PPC GNU/Linux except for Yellowdog, | ||
| 67 | even with identical GCC, as, ld. Let's take it out until we | ||
| 68 | know what's really going on here. */ | ||
| 69 | /* GCC 2.95 and newer on GNU/Linux PPC changed the load address to | ||
| 70 | 0x10000000. */ | ||
| 71 | #if defined __linux__ | ||
| 72 | #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) | ||
| 73 | #define DATA_SEG_BITS 0x10000000 | ||
| 74 | #endif | ||
| 75 | #endif | ||
| 76 | #endif /* 0 */ | ||
| 77 | |||
| 78 | After that, reconfigure and rebuild Emacs. It should now build | ||
| 79 | successfully. | ||
| 80 | |||
| 81 | Cubix QBx/386 (i386-cubix-sysv) | ||
| 82 | |||
| 83 | Changes merged in 19.1. Systems before 2/A/0 may fail to compile etags.c | ||
| 84 | due to a compiler bug. | ||
| 85 | |||
| 86 | Motorola Delta 147 (m68k-motorola-sysv) | ||
| 87 | |||
| 88 | The EMacs 19.26 pretest was reported to work. | ||
| 89 | |||
| 90 | Motorola Delta boxes running System V/68 release 3. | ||
| 91 | Tested on 147 board with SVR3V7, no X and gcc. | ||
| 92 | Tested on 167 board with SVR3V7, no X, cc, gnucc and gcc. | ||
| 93 | Reports say it works with X too. | ||
| 94 | 45 | ||
| 95 | The installation script chooses the compiler itself. gnucc is | 46 | ** Apple PowerPC Macintosh running GNU/Linux |
| 96 | preferred. | ||
| 97 | 47 | ||
| 98 | Fujitsu DS/90 (sparc-fujitsu-sysv4) | 48 | ** HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux) |
| 99 | |||
| 100 | Changes merged in 20.3. | ||
| 101 | |||
| 102 | HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux | ||
| 103 | or ...hpux9shr) | ||
| 104 | |||
| 105 | Use hppa1.1 for the 700 series and hppa1.0 for the 800 | ||
| 106 | series machines. (Emacs may not actually care which one you use.) | ||
| 107 | 49 | ||
| 108 | Emacs 20 may work on HPUX 10. You need patch PHSS_6202 to install | 50 | Emacs 20 may work on HPUX 10. You need patch PHSS_6202 to install |
| 109 | the Xaw and Xmu libraries. On HPUX 10.20 you may need to compile with GCC; | 51 | the Xaw and Xmu libraries. On HPUX 10.20 you may need to compile with GCC; |
| 110 | when Emacs was compiled with HP's C compiler, HP92453-01 A.10.32.03, | 52 | when Emacs was compiled with HP's C compiler, HP92453-01 A.10.32.03, |
| 111 | the subprocess features failed to work. | 53 | the subprocess features failed to work. |
| 112 | 54 | ||
| 113 | 19.26 is believed to work on HPUX 9 provided you compile with GCC. | 55 | If you turn on the DSUSP character (delayed suspend), Emacs 19.26 |
| 114 | As of version 19.16, Emacs was reported to build (using GCC) and run | 56 | does not know how to turn it off on HPUX. You need to turn it off manually. |
| 115 | on HP 9000/700 series machines running HP/UX versions 8.07 and 9.01. | ||
| 116 | The HP compiler is known to fail on some versions if you use +O3, | ||
| 117 | but it may work with lower optimization levels. | ||
| 118 | |||
| 119 | Use hppa1.1-hp-hpux9shr to use shared libraries on HPUX version 9. | ||
| 120 | You may need to create the X libraries libXaw.a and libXmu.a from | ||
| 121 | the MIT X distribute, and you may need to edit src/Makefile's | ||
| 122 | definition of LIBXT to look like this: | ||
| 123 | |||
| 124 | LIBXT= $(LIBW) -lXmu -lXt $(LIBXTR6) -lXext | ||
| 125 | |||
| 126 | Some people report trouble using the GNU memory allocator under | ||
| 127 | HP/UX version 9. The problems often manifest as lots of ^@'s in the | ||
| 128 | buffer. | ||
| 129 | |||
| 130 | We are told that these problems go away if you obtain the latest | ||
| 131 | patches for the HP/UX C compiler. James J Dempsey | ||
| 132 | <jjd@spserv.bbn.com> says that this set of versions works for him: | ||
| 133 | /bin/cc: | ||
| 134 | HP92453-01 A.09.28 HP C Compiler | ||
| 135 | /lib/ccom: | ||
| 136 | HP92453-01 A.09.28 HP C Compiler | ||
| 137 | HP-UX SLLIC/OPTIMIZER HP-UX.09.00.23 02/18/93 | ||
| 138 | Ucode Code Generator - HP-UX.09.00.23.5 (patch) 2/18/93 | ||
| 139 | |||
| 140 | For 700 series machines, the HP-UX patch needed is known as | ||
| 141 | PHSS_2653. (Perhaps for 800 series machines as well; we don't | ||
| 142 | know.) If you are on the Internet, you should be able to obtain | ||
| 143 | this patch by using telnet to access the machine | ||
| 144 | support.mayfield.hp.com and logging in as "hpslreg" and following | ||
| 145 | the instructions there. Or you may be able to use this | ||
| 146 | web site: | ||
| 147 | |||
| 148 | HP Patch Server: http://support.mayfield.hp.com/patches/html/patches.html | ||
| 149 | HP Support Line: http://support.mayfield.hp.com | ||
| 150 | |||
| 151 | Please do not ask FSF for further support on this. If you have any | ||
| 152 | trouble obtaining the patch, contact HP Software Support. | ||
| 153 | |||
| 154 | If your buffer fills up with nulls (^@) at some point, it could well | ||
| 155 | be that problem. That problem does not happen when people use GCC | ||
| 156 | to compile Emacs. On the other hand, the HP compiler version 9.34 | ||
| 157 | was reported to work for the 19.26 pretest. 9.65 was also reported to work. | ||
| 158 | |||
| 159 | If you turn on the DSUSP character (delayed suspend), | ||
| 160 | Emacs 19.26 does not know how to turn it off on HPUX. | ||
| 161 | You need to turn it off manually. | ||
| 162 | 57 | ||
| 163 | If you are running HP/UX release 8.0 or later, you need the optional | 58 | If you are running HP/UX release 8.0 or later, you need the optional |
| 164 | "C/ANSI C" software in order to build Emacs (older releases of HP/UX | 59 | "C/ANSI C" software in order to build Emacs (older releases of HP/UX |
| 165 | do not require any special software). If the file "/etc/filesets/C" | 60 | do not require any special software). If the file "/etc/filesets/C" |
| 166 | exists on your machine, you have this software, otherwise you do not. | 61 | exists on your machine, you have this software, otherwise you do not. |
| 167 | 62 | ||
| 168 | IBM RS/6000 (rs6000-ibm-aix*) | 63 | ** IBM RS/6000 (rs6000-ibm-aix*) |
| 169 | 64 | ||
| 170 | Emacs 19.26 is believed to work; its pretest was tested. | 65 | Emacs 19.26 is believed to work; its pretest was tested. |
| 171 | 66 | ||
| @@ -180,31 +75,22 @@ IBM RS/6000 (rs6000-ibm-aix*) | |||
| 180 | persons say that the tty VMIN and VTIME settings have been | 75 | persons say that the tty VMIN and VTIME settings have been |
| 181 | corrupted; if you have a fix, please send it to us. | 76 | corrupted; if you have a fix, please send it to us. |
| 182 | 77 | ||
| 183 | Compiling with -O using the IBM compiler has been known | 78 | Compiling with -O using the IBM compiler has been known to make |
| 184 | to make Emacs work incorrectly. It's reported that on | 79 | Emacs work incorrectly. There are reports that IBM compiler versions |
| 185 | AIX 3.2.5 with an IBM compiler earlier than 1.03.00.14, | 80 | earlier than 1.03.00.02 fail even without -O. |
| 186 | cc -O fails for some files. You need to install any | ||
| 187 | PTF containing APAR #IX42810 to bring the compiler to | ||
| 188 | the 1.03.00.14 level to allow optimized compiles. | ||
| 189 | |||
| 190 | There are reports that IBM compiler versions earlier than 1.03.00.02 | ||
| 191 | fail even without -O. However, another report said that compiler | ||
| 192 | version 1.02.01.00 did work, on AIX 3.2.4, with Emacs 19.31. | ||
| 193 | 81 | ||
| 194 | As of 19.11, if you strip the Emacs executable, it ceases to work. | 82 | As of 19.11, if you strip the Emacs executable, it ceases to work. |
| 195 | 83 | ||
| 196 | If anyone can fix the above problems, or confirm that they don't happen | 84 | If anyone can fix the above problems, or confirm that they don't happen |
| 197 | with certain versions of various programs, we would appreciate it. | 85 | with certain versions of various programs, we would appreciate it. |
| 198 | 86 | ||
| 199 | IBM System/390 running GNU/Linux (s390-*-linux-gnu) | 87 | ** IBM System/390 running GNU/Linux (s390-*-linux-gnu) |
| 200 | 88 | ||
| 201 | As of Emacs 21.2, a 31-bit only version is supported on this system. | 89 | As of Emacs 21.2, a 31-bit only version is supported on this system. |
| 202 | 90 | ||
| 203 | Intel 386 (i386-*-freebsd, i386-*-linux-gnu, | 91 | ** Intel 386 (i386-*-freebsd, i386-*-linux-gnu, |
| 204 | i386-*-sol2.4, i386-intsys-sysv, | 92 | i386-*-cygwin, i386-*-msdos, i386-*-windowsnt. |
| 205 | i386-*-sysv4, i386-*-sysv4.2, i386-*-cygwin, | 93 | i386 can be replaced with i486, i586, or i686) |
| 206 | i386-*-msdos, i386-*-windowsnt. | ||
| 207 | i386... can be replaced with i486... or i586...) | ||
| 208 | 94 | ||
| 209 | In the above configurations, * means that the manufacturer's name | 95 | In the above configurations, * means that the manufacturer's name |
| 210 | you specify does not matter, and you can use any name you like | 96 | you specify does not matter, and you can use any name you like |
| @@ -213,12 +99,9 @@ Intel 386 (i386-*-freebsd, i386-*-linux-gnu, | |||
| 213 | Use i386-*-linux-gnu for GNU/Linux systems; Emacs runs as of version 19.26. | 99 | Use i386-*-linux-gnu for GNU/Linux systems; Emacs runs as of version 19.26. |
| 214 | Use i386-*-cygwin for Cygwin; Emacs builds as of version 22.1, in both X11 | 100 | Use i386-*-cygwin for Cygwin; Emacs builds as of version 22.1, in both X11 |
| 215 | and non-X11 modes. (The Cygwin site has source and binaries for 21.2.) | 101 | and non-X11 modes. (The Cygwin site has source and binaries for 21.2.) |
| 216 | Use i386-intsys-sysv for Integrated Solutions 386 machines. | ||
| 217 | It may also be correct for Microport systems. | ||
| 218 | 102 | ||
| 219 | On GNU/Linux systems, Emacs 19.23 was said to work properly with libc | 103 | On GNU/Linux systems, Emacs 19.23 was said to work properly with libc |
| 220 | version 4.5.21, but not with 4.5.19. If your system uses QMAGIC | 104 | version 4.5.21, but not with 4.5.19. |
| 221 | for the executable format, you must edit config.h to define LINUX_QMAGIC. | ||
| 222 | 105 | ||
| 223 | On GNU/Linux, configure may fail to put these definitions in config.h: | 106 | On GNU/Linux, configure may fail to put these definitions in config.h: |
| 224 | 107 | ||
| @@ -231,16 +114,6 @@ Intel 386 (i386-*-freebsd, i386-*-linux-gnu, | |||
| 231 | It is possible that this problem happens only with X11R6. | 114 | It is possible that this problem happens only with X11R6. |
| 232 | Newer system versions have fixed it. | 115 | Newer system versions have fixed it. |
| 233 | 116 | ||
| 234 | The 19.26 pretest was reported to work on SVR4.3 and on Freebsd. | ||
| 235 | |||
| 236 | 19.29 is reported to crash when using Motif on Solaris 2.5. | ||
| 237 | The reasons are not yet known. | ||
| 238 | |||
| 239 | For System V release 4, use i386-*-sysv4. | ||
| 240 | For System V release 4.2, use i386-*-sysv4.2. | ||
| 241 | |||
| 242 | If you are using SCO Unix, see notes at end under SCO. | ||
| 243 | |||
| 244 | On NetBSD and FreeBSD, at one time, it was necessary to use | 117 | On NetBSD and FreeBSD, at one time, it was necessary to use |
| 245 | GNU make, not the system's make. Assuming it's installed as gmake, | 118 | GNU make, not the system's make. Assuming it's installed as gmake, |
| 246 | do `gmake install MAKE=gmake'. However, more recently it is | 119 | do `gmake install MAKE=gmake'. However, more recently it is |
| @@ -253,16 +126,6 @@ Intel 386 (i386-*-freebsd, i386-*-linux-gnu, | |||
| 253 | but no coherent explanation of why that might be so. If it is so, | 126 | but no coherent explanation of why that might be so. If it is so, |
| 254 | in current versions of Linux, something else should probably be changed. | 127 | in current versions of Linux, something else should probably be changed. |
| 255 | 128 | ||
| 256 | Some versions have sys/sioctl.h, and require it in sysdep.c. | ||
| 257 | But some versions do not have sys/sioctl.h. | ||
| 258 | For a given version of the system, this may depend on whether you have | ||
| 259 | X Windows or TCP/IP. Define or undefine NO_SIOCTL_H in config.h | ||
| 260 | according to whether you have the file. | ||
| 261 | |||
| 262 | Likewise, some versions have been known to need sys/ttold.h, sys/stream.h, | ||
| 263 | and sys/ptem.h included in sysdep.c. If your system has these files, | ||
| 264 | try defining NEED_PTEM_H in config.h if you have trouble without it. | ||
| 265 | |||
| 266 | You may find that adding -I/usr/X/include or -I/usr/netinclude or both | 129 | You may find that adding -I/usr/X/include or -I/usr/netinclude or both |
| 267 | to CFLAGS avoids compilation errors on certain systems. | 130 | to CFLAGS avoids compilation errors on certain systems. |
| 268 | 131 | ||
| @@ -270,14 +133,13 @@ Intel 386 (i386-*-freebsd, i386-*-linux-gnu, | |||
| 270 | but define `struct tc' instead; add `#define tchars tc' | 133 | but define `struct tc' instead; add `#define tchars tc' |
| 271 | to config.h to solve this problem. | 134 | to config.h to solve this problem. |
| 272 | 135 | ||
| 273 | Iris 4D (mips-sgi-irix6.*) | 136 | ** Iris 4D (mips-sgi-irix6.*) |
| 274 | 137 | ||
| 275 | Emacs 21.3 is reported to work on IRIX 6.5.x. | 138 | Emacs 21.3 is reported to work on IRIX 6.5.x. |
| 276 | 139 | ||
| 277 | You can build a 64-bit executable (with larger maximum buffer size) | 140 | You can build a 64-bit executable (with larger maximum buffer size) |
| 278 | on Irix 6.5 by specifying the 64-bit ABI using the `-64' compiler | 141 | on Irix 6.5 by specifying the 64-bit ABI using the `-64' compiler |
| 279 | flag or otherwise (see cc(1)). This may work on earlier Irix 6 | 142 | flag or otherwise (see cc(1)). |
| 280 | systems if you edit src/s/irix6-0.h following irix6-5.h. | ||
| 281 | 143 | ||
| 282 | If compiling with GCC on Irix 6 yields an error "conflicting types | 144 | If compiling with GCC on Irix 6 yields an error "conflicting types |
| 283 | for `initstate'", install GCC 2.95 or a newer version, and this | 145 | for `initstate'", install GCC 2.95 or a newer version, and this |
| @@ -286,36 +148,7 @@ Iris 4D (mips-sgi-irix6.*) | |||
| 286 | could also try reinstalling the same version of GCC, and telling us | 148 | could also try reinstalling the same version of GCC, and telling us |
| 287 | whether that fixes the problem. | 149 | whether that fixes the problem. |
| 288 | 150 | ||
| 289 | NCR Intel system (i386-ncr-sysv4.2) | 151 | ** Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*, |
| 290 | |||
| 291 | This system works in 19.31, but if you don't link it with GNU ld, | ||
| 292 | you may need to set LD_RUN_PATH at link time to specify where | ||
| 293 | to find the X libraries. | ||
| 294 | |||
| 295 | Prime EXL (i386-prime-sysv) | ||
| 296 | |||
| 297 | Minor changes merged in 19.1. | ||
| 298 | |||
| 299 | Siemens Nixdorf RM600 and RM400 (mips-siemens-sysv4) | ||
| 300 | |||
| 301 | Changes merged in 19.29. The version configured with | ||
| 302 | `--with-x' works without any modifications, but `--with-x-toolkit' | ||
| 303 | works only if the Athena library and the Toolkit library are linked | ||
| 304 | statically. For this, edit `src/Makefile' after the `configure' run | ||
| 305 | and modify the lines with `-lXaw' and `-lXt' as follows: | ||
| 306 | |||
| 307 | LIBW= /usr/lib/libXaw.a | ||
| 308 | LIBXT= $(LIBW) -lXmu /usr/lib/libXt.a $(LIBXTR6) -lXext | ||
| 309 | |||
| 310 | In addition, `--with-x-toolkit=motif' works only | ||
| 311 | if the Motif library and the Toolkit library are linked statically. | ||
| 312 | To do this, edit `src/Makefile' after the `configure' run | ||
| 313 | and modify the lines with `-lXm' and `-lXt' as follows: | ||
| 314 | |||
| 315 | LIBW= /usr/lib/libXm.a /usr/ccs/lib/libgen.a | ||
| 316 | LIBXT= $(LIBW) -lXmu /usr/lib/libXt.a $(LIBXTR6) -lXext | ||
| 317 | |||
| 318 | Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*, | ||
| 319 | i386-sun-solaris2.*, sparc*-*-linux-gnu) | 152 | i386-sun-solaris2.*, sparc*-*-linux-gnu) |
| 320 | 153 | ||
| 321 | To build a 32-bit Emacs (i.e. if you are having any sort of problem | 154 | To build a 32-bit Emacs (i.e. if you are having any sort of problem |
| @@ -363,16 +196,6 @@ Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*, | |||
| 363 | As of release 2.95, GCC doesn't work properly with the 64-bit ABI | 196 | As of release 2.95, GCC doesn't work properly with the 64-bit ABI |
| 364 | (applicable on UltraSPARC), but that isn't the default mode. | 197 | (applicable on UltraSPARC), but that isn't the default mode. |
| 365 | 198 | ||
| 366 | Emacs 20.3 fails to build on Solaris 2.5 if you use GCC 2.7.2.3. | ||
| 367 | Installing GCC 2.8 fixes the problem. | ||
| 368 | |||
| 369 | 19.32 works on Solaris 2.4 and 2.5. On Solaris 2.5 | ||
| 370 | you may need one of these patches to prevent Emacs from crashing | ||
| 371 | when it starts up: | ||
| 372 | 103093-03: [README] SunOS 5.5: kernel patch (2140557 bytes) | ||
| 373 | 102832-01: [README] OpenWindows 3.5: Xview Jumbo Patch (4181613 bytes) | ||
| 374 | 103242-04: [README] SunOS 5.5: linker patch (595363 bytes) | ||
| 375 | |||
| 376 | There are reports that using SunSoft cc with -xO4 -xdepend produces | 199 | There are reports that using SunSoft cc with -xO4 -xdepend produces |
| 377 | bad code for some part of Emacs. | 200 | bad code for some part of Emacs. |
| 378 | 201 | ||
| @@ -384,11 +207,6 @@ Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*, | |||
| 384 | for transferring text between clients. The Cut, Paste and Copy items | 207 | for transferring text between clients. The Cut, Paste and Copy items |
| 385 | in the menu bar Edit menu work with the clipboard. | 208 | in the menu bar Edit menu work with the clipboard. |
| 386 | 209 | ||
| 387 | A user reported irreproducible segmentation faults when using 19.29 | ||
| 388 | on Solaris 2.3 and 2.4 after compiling it with the Sun compiler. | ||
| 389 | The problem went away when GCC 2.7.0 was used instead. We do not know | ||
| 390 | whether anything in Emacs is partly to blame for this. | ||
| 391 | |||
| 392 | If you compile with Sun's ANSI compiler acc, you need additional options | 210 | If you compile with Sun's ANSI compiler acc, you need additional options |
| 393 | when linking temacs, such as | 211 | when linking temacs, such as |
| 394 | /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1 | 212 | /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1 |
| @@ -410,40 +228,23 @@ Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*, | |||
| 410 | 228 | ||
| 411 | If you have trouble using open-network-stream, get the distribution | 229 | If you have trouble using open-network-stream, get the distribution |
| 412 | of `bind' (the BSD name-server), build libresolv.a, and link Emacs | 230 | of `bind' (the BSD name-server), build libresolv.a, and link Emacs |
| 413 | with -lresolv, by copying the #definition of LIBS_SYSTEM in | 231 | with -lresolv, by editing LIBRESOLV in src/Makefile. This problem is |
| 414 | src/s/sunos4-1.h to src/config.h. This problem is due to obsolete | 232 | due to obsolete software in the nonshared standard library. |
| 415 | software in the nonshared standard library. | ||
| 416 | 233 | ||
| 417 | Note that Emacs on a Sun is not really as big as it looks. | 234 | Note that Emacs on a Sun is not really as big as it looks. As |
| 418 | As dumped, it includes around 200k of zeros between the | 235 | dumped, it includes around 200k of zeros between the original text |
| 419 | original text section and the original data section | 236 | section and the original data section (now remapped as part of the |
| 420 | (now remapped as part of the text). These are never | 237 | text). These are never swapped in. |
| 421 | swapped in. | ||
| 422 | 238 | ||
| 423 | SuperH (sh[34]*-*-linux-gnu) | 239 | ** SuperH (sh[34]*-*-linux-gnu) |
| 424 | 240 | ||
| 425 | Emacs 23.0.60 was reported to work on GNU/Linux (October 2008). | 241 | Emacs 23.0.60 was reported to work on GNU/Linux (October 2008). |
| 426 | Tested on a little-endian sh4 system (cpu type SH7751R) running | 242 | Tested on a little-endian sh4 system (cpu type SH7751R) running |
| 427 | Gentoo Linux 2008.0. | 243 | Gentoo Linux 2008.0. |
| 428 | 244 | ||
| 429 | Tadpole 68K (m68k-tadpole-sysv) | 245 | * Here are notes about some of the systems supported: |
| 430 | |||
| 431 | Changes merged in 19.1. | ||
| 432 | |||
| 433 | You may need to edit Makefile to change the variables LIBDIR and | ||
| 434 | BINDIR from /usr/local to /usr/contrib. | ||
| 435 | |||
| 436 | To give movemail access to /usr/mail, you may need to execute | ||
| 437 | |||
| 438 | chmod 2755 etc/movemail; chgrp mail etc/movemail | ||
| 439 | 246 | ||
| 440 | Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3) | 247 | ** Linux (actually GNU/Linux) |
| 441 | |||
| 442 | Works. | ||
| 443 | |||
| 444 | Here are notes about some of the systems supported: | ||
| 445 | |||
| 446 | Linux (actually GNU/Linux) | ||
| 447 | 248 | ||
| 448 | Most of the complete systems which use the Linux kernel are close | 249 | Most of the complete systems which use the Linux kernel are close |
| 449 | enough to the GNU system to be considered variant GNU systems. We | 250 | enough to the GNU system to be considered variant GNU systems. We |
| @@ -462,54 +263,22 @@ Linux (actually GNU/Linux) | |||
| 462 | people to write more free software. See the file LINUX-GNU in this | 263 | people to write more free software. See the file LINUX-GNU in this |
| 463 | directory for more explanation. | 264 | directory for more explanation. |
| 464 | 265 | ||
| 465 | Microport | 266 | ** Mac OS X |
| 466 | |||
| 467 | See under "Intel 386". | ||
| 468 | |||
| 469 | MSDOS | ||
| 470 | |||
| 471 | For installation on MSDOS, see the file INSTALL (search for `MSDOG', | ||
| 472 | near the end of the file). See the "MS-DOS" chapter of the manual | ||
| 473 | for information about using Emacs on MSDOS. | ||
| 474 | 267 | ||
| 475 | System V rel 4.0.3 and 4.0.4 (usg5.4) | 268 | For installation instructions see the file nextstep/INSTALL. |
| 476 | |||
| 477 | Supported, including shared libraries for ELF, but ptys do not work | ||
| 478 | because TIOCGPGRP fails to work on ptys (but Dell 2.2 seems to have | ||
| 479 | fixed this). This failure is probably due to a misunderstanding of | ||
| 480 | the consequences of the POSIX spec: many system designers mistakenly | ||
| 481 | think that POSIX requires this feature to fail. This is untrue; | ||
| 482 | ptys are an extension, and POSIX says that extensions *when used* | ||
| 483 | may change the action of standard facilities in any fashion. | ||
| 484 | |||
| 485 | If you get compilation errors about wrong number of | ||
| 486 | arguments to getpgrp, define GETPGRP_NO_ARG. | ||
| 487 | |||
| 488 | Some versions 3 and earlier of V.4, on the Intel 386 and 860, had | ||
| 489 | problems in the X11 libraries. These prevent Emacs from working | ||
| 490 | with X. You can use Emacs with X provided your copy of X is based | ||
| 491 | on X11 release 4 or newer, or is Dell's 2.2 (which is a 4.0.3). | ||
| 492 | Unfortunately, the only way you can tell whether your X11 library is | ||
| 493 | new enough is to try compiling Emacs to use X. If emacs runs, your | ||
| 494 | X11 library is new enough. | ||
| 495 | 269 | ||
| 496 | In this context, GSV4 and GSV4i are alternate names for X11R4. | 270 | ** MSDOS |
| 497 | OL2.* is X11R3 based. OL3 is in between X11R3 and X11R4, and may or | ||
| 498 | may not work, depending on who made the Unix system. If the library | ||
| 499 | libXol is part of the X distribution, then you have X11R3 and Emacs | ||
| 500 | won't work with X. | ||
| 501 | 271 | ||
| 502 | Most versions of V.4 support sockets. If `/usr/lib/libsocket.so' | 272 | For installation on MSDOS, see the file msdos/INSTALL. |
| 503 | exists, your system supports them. If yours does not, you must add | 273 | See the "MS-DOS" chapter of the manual for information about using |
| 504 | #undef HAVE_SOCKETS in config.h, after the inclusion of s-usg5-4.h. | 274 | Emacs on MSDOS. |
| 505 | (Any system that supports Internet should implement sockets.) | ||
| 506 | 275 | ||
| 507 | Windows NT/95/98/ME/2000 | 276 | ** MS-Windows NT/95/98/ME/2000 |
| 508 | 277 | ||
| 509 | For installation on all versions of the MS-Windows platform, see the | 278 | For installation on all versions of the MS-Windows platform, see the |
| 510 | file nt/INSTALL. | 279 | file nt/INSTALL. |
| 511 | 280 | ||
| 512 | X86_64 GNU/Linux | 281 | ** X86_64 GNU/Linux |
| 513 | 282 | ||
| 514 | No special procedures should be needed to build a 64-bit Emacs. To | 283 | No special procedures should be needed to build a 64-bit Emacs. To |
| 515 | build a 32-bit Emacs, first ensure that the necessary 32-bit system | 284 | build a 32-bit Emacs, first ensure that the necessary 32-bit system |
| @@ -520,6 +289,9 @@ X86_64 GNU/Linux | |||
| 520 | 289 | ||
| 521 | (using the location of the 32-bit X libraries on your system). | 290 | (using the location of the 32-bit X libraries on your system). |
| 522 | 291 | ||
| 292 | |||
| 293 | * Obsolete platforms | ||
| 294 | |||
| 523 | Support for the following obsolete platforms was removed in Emacs 23.1 | 295 | Support for the following obsolete platforms was removed in Emacs 23.1 |
| 524 | (the names in parentheses state the files in src/ that were removed): | 296 | (the names in parentheses state the files in src/ that were removed): |
| 525 | 297 | ||
| @@ -612,7 +384,7 @@ Support for the following obsolete platforms was removed in Emacs 23.1 | |||
| 612 | 384 | ||
| 613 | 385 | ||
| 614 | Local variables: | 386 | Local variables: |
| 615 | mode: text | 387 | mode: outline |
| 616 | fill-prefix: " " | 388 | fill-prefix: " " |
| 617 | End: | 389 | End: |
| 618 | 390 | ||
| @@ -109,16 +109,20 @@ scroll a line instead of full screen. | |||
| 109 | ** New property `scroll-command' should be set on a command's symbol to | 109 | ** New property `scroll-command' should be set on a command's symbol to |
| 110 | define it as a scroll command affected by `scroll-preserve-screen-position. | 110 | define it as a scroll command affected by `scroll-preserve-screen-position. |
| 111 | 111 | ||
| 112 | ** Trash changes | ||
| 113 | |||
| 114 | *** `delete-by-moving-to-trash' now only affects commands that specify | ||
| 115 | trashing. This avoids inadvertently trashing temporary files. | ||
| 116 | |||
| 117 | *** Calling `delete-file' or `delete-directory' with a prefix argument | ||
| 118 | now forces true deletion, regardless of `delete-by-moving-to-trash'. | ||
| 119 | |||
| 112 | 120 | ||
| 113 | * Editing Changes in Emacs 24.1 | 121 | * Editing Changes in Emacs 24.1 |
| 114 | 122 | ||
| 115 | ** completion-at-point is now an alias for complete-symbol. | 123 | ** completion-at-point is now an alias for complete-symbol. |
| 116 | 124 | ||
| 117 | ** mouse-region-delete-keys has been deleted. | 125 | ** mouse-region-delete-keys has been deleted. |
| 118 | |||
| 119 | ** If delete-file is called with a prefix argument, it really deletes, | ||
| 120 | regardless of the value of `delete-by-moving-to-trash'. | ||
| 121 | |||
| 122 | 126 | ||
| 123 | * Changes in Specialized Modes and Packages in Emacs 24.1 | 127 | * Changes in Specialized Modes and Packages in Emacs 24.1 |
| 124 | 128 | ||
| @@ -237,8 +241,10 @@ secrets. | |||
| 237 | ** prog-mode is a new major-mode meant to be the parent of programming mode. | 241 | ** prog-mode is a new major-mode meant to be the parent of programming mode. |
| 238 | ** define-minor-mode accepts a new keyword :variable. | 242 | ** define-minor-mode accepts a new keyword :variable. |
| 239 | 243 | ||
| 240 | ** delete-file now accepts an optional second arg, FORCE, which says | 244 | ** `delete-file' and `delete-directory now accept optional arg TRASH. |
| 241 | to always delete and ignore the value of delete-by-moving-to-trash. | 245 | Trashing is performed if TRASH and `delete-by-moving-to-trash' are |
| 246 | both non-nil. Interactively, TRASH defaults to t, unless a prefix | ||
| 247 | argument is supplied (see Trash changes, above). | ||
| 242 | 248 | ||
| 243 | ** buffer-substring-filters is obsoleted by filter-buffer-substring-functions. | 249 | ** buffer-substring-filters is obsoleted by filter-buffer-substring-functions. |
| 244 | 250 | ||
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 4d48b66f47a..8c6a37dbd45 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -87,8 +87,7 @@ it's loaded very early in the startup procedure.) | |||
| 87 | Similarly, any other .el file for which there's no corresponding .elc | 87 | Similarly, any other .el file for which there's no corresponding .elc |
| 88 | file could fail to load if it is compressed. | 88 | file could fail to load if it is compressed. |
| 89 | 89 | ||
| 90 | The solution is to uncompress all .el files which don't have a .elc | 90 | The solution is to uncompress all .el files that don't have a .elc file. |
| 91 | file. | ||
| 92 | 91 | ||
| 93 | Another possible reason for such failures is stale *.elc files | 92 | Another possible reason for such failures is stale *.elc files |
| 94 | lurking somewhere on your load-path -- see the next section. | 93 | lurking somewhere on your load-path -- see the next section. |
| @@ -268,8 +267,7 @@ than the corresponding .el file. | |||
| 268 | 267 | ||
| 269 | These control the actions of Emacs. | 268 | These control the actions of Emacs. |
| 270 | ~/.emacs is your Emacs init file. | 269 | ~/.emacs is your Emacs init file. |
| 271 | EMACSLOADPATH overrides which directories the function | 270 | EMACSLOADPATH overrides which directories the function "load" will search. |
| 272 | "load" will search. | ||
| 273 | 271 | ||
| 274 | If you observe strange problems, check for these and get rid | 272 | If you observe strange problems, check for these and get rid |
| 275 | of them, then try again. | 273 | of them, then try again. |
| @@ -415,8 +413,7 @@ For example, (system-name) returns some variation on | |||
| 415 | 413 | ||
| 416 | You need to configure your machine with a fully qualified domain name, | 414 | You need to configure your machine with a fully qualified domain name, |
| 417 | (i.e. a name with at least one ".") either in /etc/hosts, | 415 | (i.e. a name with at least one ".") either in /etc/hosts, |
| 418 | /etc/hostname, the NIS, or wherever your system calls for specifying | 416 | /etc/hostname, the NIS, or wherever your system calls for specifying this. |
| 419 | this. | ||
| 420 | 417 | ||
| 421 | If you cannot fix the configuration, you can set the Lisp variable | 418 | If you cannot fix the configuration, you can set the Lisp variable |
| 422 | mail-host-address to the value you want. | 419 | mail-host-address to the value you want. |
| @@ -525,8 +522,7 @@ terminal type. | |||
| 525 | 522 | ||
| 526 | The cause of this is a shell startup file that sets the TERMCAP | 523 | The cause of this is a shell startup file that sets the TERMCAP |
| 527 | environment variable. The terminal emulator uses that variable to | 524 | environment variable. The terminal emulator uses that variable to |
| 528 | provide the information on the special terminal type that Emacs | 525 | provide the information on the special terminal type that Emacs emulates. |
| 529 | emulates. | ||
| 530 | 526 | ||
| 531 | Rewrite your shell startup file so that it does not change TERMCAP | 527 | Rewrite your shell startup file so that it does not change TERMCAP |
| 532 | in such a case. You could use the following conditional which sets | 528 | in such a case. You could use the following conditional which sets |
| @@ -825,8 +821,7 @@ To circumvent this problem, set x-use-underline-position-properties | |||
| 825 | to nil in your `.emacs'. | 821 | to nil in your `.emacs'. |
| 826 | 822 | ||
| 827 | To see what is the value of UNDERLINE_POSITION defined by the font, | 823 | To see what is the value of UNDERLINE_POSITION defined by the font, |
| 828 | type `xlsfonts -lll FONT' and look at the font's UNDERLINE_POSITION | 824 | type `xlsfonts -lll FONT' and look at the font's UNDERLINE_POSITION property. |
| 829 | property. | ||
| 830 | 825 | ||
| 831 | ** When using Exceed, fonts sometimes appear too tall. | 826 | ** When using Exceed, fonts sometimes appear too tall. |
| 832 | 827 | ||
| @@ -910,8 +905,7 @@ To see what glyphs are included in a font, use `xfd', like this: | |||
| 910 | 905 | ||
| 911 | xfd -fn -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-1 | 906 | xfd -fn -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-1 |
| 912 | 907 | ||
| 913 | If this shows only ASCII glyphs, the font is indeed the source of the | 908 | If this shows only ASCII glyphs, the font is indeed the source of the problem. |
| 914 | problem. | ||
| 915 | 909 | ||
| 916 | The solution is to remove the corresponding lines from the appropriate | 910 | The solution is to remove the corresponding lines from the appropriate |
| 917 | `fonts.alias' file, then run `mkfontdir' in that directory, and then run | 911 | `fonts.alias' file, then run `mkfontdir' in that directory, and then run |
| @@ -1017,8 +1011,7 @@ have made the key binding correctly. | |||
| 1017 | 1011 | ||
| 1018 | If C-h c reports an event that doesn't have the Alt modifier, it may | 1012 | If C-h c reports an event that doesn't have the Alt modifier, it may |
| 1019 | be because your X server has no key for the Alt modifier. The X | 1013 | be because your X server has no key for the Alt modifier. The X |
| 1020 | server that comes from MIT does not set up the Alt modifier by | 1014 | server that comes from MIT does not set up the Alt modifier by default. |
| 1021 | default. | ||
| 1022 | 1015 | ||
| 1023 | If your keyboard has keys named Alt, you can enable them as follows: | 1016 | If your keyboard has keys named Alt, you can enable them as follows: |
| 1024 | 1017 | ||
| @@ -1160,8 +1153,7 @@ menu placement. | |||
| 1160 | 1153 | ||
| 1161 | On some systems, even with Motif 1.2 emulation, Emacs occasionally | 1154 | On some systems, even with Motif 1.2 emulation, Emacs occasionally |
| 1162 | locks up, grabbing all mouse and keyboard events. We still don't know | 1155 | locks up, grabbing all mouse and keyboard events. We still don't know |
| 1163 | what causes these problems; they are not reproducible by Emacs | 1156 | what causes these problems; they are not reproducible by Emacs developers. |
| 1164 | developers. | ||
| 1165 | 1157 | ||
| 1166 | *** Motif: The Motif version of Emacs paints the screen a solid color. | 1158 | *** Motif: The Motif version of Emacs paints the screen a solid color. |
| 1167 | 1159 | ||
| @@ -1490,8 +1482,7 @@ In this case, there is no obvious bug in Emacs, and most likely you | |||
| 1490 | need more padding, or possibly the terminal manual is wrong. | 1482 | need more padding, or possibly the terminal manual is wrong. |
| 1491 | 1483 | ||
| 1492 | 2) The characters sent are incorrect, due to an obscure aspect | 1484 | 2) The characters sent are incorrect, due to an obscure aspect |
| 1493 | of the terminal behavior not described in an obvious way | 1485 | of the terminal behavior not described in an obvious way by termcap. |
| 1494 | by termcap. | ||
| 1495 | 1486 | ||
| 1496 | This case is hard. It will be necessary to think of a way for | 1487 | This case is hard. It will be necessary to think of a way for |
| 1497 | Emacs to distinguish between terminals with this kind of behavior | 1488 | Emacs to distinguish between terminals with this kind of behavior |
| @@ -1517,8 +1508,7 @@ in termcap.c, tparam.c, term.c, scroll.c, cm.c or dispnew.c. | |||
| 1517 | Some versions of rlogin (and possibly telnet) do not pass flow | 1508 | Some versions of rlogin (and possibly telnet) do not pass flow |
| 1518 | control characters to the remote system to which they connect. | 1509 | control characters to the remote system to which they connect. |
| 1519 | On such systems, emacs on the remote system cannot disable flow | 1510 | On such systems, emacs on the remote system cannot disable flow |
| 1520 | control on the local system. Sometimes `rlogin -8' will avoid this | 1511 | control on the local system. Sometimes `rlogin -8' will avoid this problem. |
| 1521 | problem. | ||
| 1522 | 1512 | ||
| 1523 | One way to cure this is to disable flow control on the local host | 1513 | One way to cure this is to disable flow control on the local host |
| 1524 | (the one running rlogin, not the one running rlogind) using the | 1514 | (the one running rlogin, not the one running rlogind) using the |
| @@ -1537,8 +1527,7 @@ following to your .emacs (on the host running rlogind): | |||
| 1537 | 1527 | ||
| 1538 | (enable-flow-control-on "vt200" "vt300" "vt101" "vt131") | 1528 | (enable-flow-control-on "vt200" "vt300" "vt101" "vt131") |
| 1539 | 1529 | ||
| 1540 | See the entry about spontaneous display of I-search (above) for more | 1530 | See the entry about spontaneous display of I-search (above) for more info. |
| 1541 | info. | ||
| 1542 | 1531 | ||
| 1543 | ** Output from Control-V is slow. | 1532 | ** Output from Control-V is slow. |
| 1544 | 1533 | ||
| @@ -1936,8 +1925,8 @@ Definitions" to make them defined. | |||
| 1936 | 1925 | ||
| 1937 | ** Solaris | 1926 | ** Solaris |
| 1938 | 1927 | ||
| 1939 | We list bugs in current versions here. Solaris 2.x and 4.x are covered in the | 1928 | We list bugs in current versions here. See also the section on legacy |
| 1940 | section on legacy systems. | 1929 | systems. |
| 1941 | 1930 | ||
| 1942 | *** On Solaris, C-x doesn't get through to Emacs when you use the console. | 1931 | *** On Solaris, C-x doesn't get through to Emacs when you use the console. |
| 1943 | 1932 | ||
| @@ -1951,7 +1940,7 @@ may not work if you have used the unshared system libraries. This | |||
| 1951 | is because the unshared libraries fail to use YP for host name lookup. | 1940 | is because the unshared libraries fail to use YP for host name lookup. |
| 1952 | As a result, the host name you specify may not be recognized. | 1941 | As a result, the host name you specify may not be recognized. |
| 1953 | 1942 | ||
| 1954 | *** Solaris 2,6: Emacs crashes with SIGBUS or SIGSEGV on Solaris after you delete a frame. | 1943 | *** Solaris 2.6: Emacs crashes with SIGBUS or SIGSEGV on Solaris after you delete a frame. |
| 1955 | 1944 | ||
| 1956 | We suspect that this is a bug in the X libraries provided by | 1945 | We suspect that this is a bug in the X libraries provided by |
| 1957 | Sun. There is a report that one of these patches fixes the bug and | 1946 | Sun. There is a report that one of these patches fixes the bug and |
| @@ -2267,8 +2256,7 @@ selection". | |||
| 2267 | 2256 | ||
| 2268 | Of this does not work, please inform bug-gnu-emacs@gnu.org. Then | 2257 | Of this does not work, please inform bug-gnu-emacs@gnu.org. Then |
| 2269 | please call support for your X-server and see if you can get a fix. | 2258 | please call support for your X-server and see if you can get a fix. |
| 2270 | If you do, please send it to bug-gnu-emacs@gnu.org so we can list it | 2259 | If you do, please send it to bug-gnu-emacs@gnu.org so we can list it here. |
| 2271 | here. | ||
| 2272 | 2260 | ||
| 2273 | * Build-time problems | 2261 | * Build-time problems |
| 2274 | 2262 | ||
| @@ -2499,7 +2487,7 @@ The fix is to install a newer version of ncurses, such as version 4.2. | |||
| 2499 | ** Bootstrapping | 2487 | ** Bootstrapping |
| 2500 | 2488 | ||
| 2501 | Bootstrapping (compiling the .el files) is normally only necessary | 2489 | Bootstrapping (compiling the .el files) is normally only necessary |
| 2502 | with CVS builds, since the .elc files are pre-compiled in releases. | 2490 | with development builds, since the .elc files are pre-compiled in releases. |
| 2503 | 2491 | ||
| 2504 | *** "No rule to make target" with Ubuntu 8.04 make 3.81-3build1 | 2492 | *** "No rule to make target" with Ubuntu 8.04 make 3.81-3build1 |
| 2505 | 2493 | ||
| @@ -2611,32 +2599,28 @@ nonprinting characters, you can fix them: | |||
| 2611 | 2599 | ||
| 2612 | *** temacs prints "Pure Lisp storage exhausted". | 2600 | *** temacs prints "Pure Lisp storage exhausted". |
| 2613 | 2601 | ||
| 2614 | This means that the Lisp code loaded from the .elc and .el | 2602 | This means that the Lisp code loaded from the .elc and .el files |
| 2615 | files during temacs -l loadup inc dump took up more | 2603 | during temacs -l loadup inc dump took up more space than was allocated. |
| 2616 | space than was allocated. | ||
| 2617 | 2604 | ||
| 2618 | This could be caused by | 2605 | This could be caused by |
| 2619 | 1) adding code to the preloaded Lisp files | 2606 | 1) adding code to the preloaded Lisp files |
| 2620 | 2) adding more preloaded files in loadup.el | 2607 | 2) adding more preloaded files in loadup.el |
| 2621 | 3) having a site-init.el or site-load.el which loads files. | 2608 | 3) having a site-init.el or site-load.el which loads files. |
| 2622 | Note that ANY site-init.el or site-load.el is nonstandard; | 2609 | Note that ANY site-init.el or site-load.el is nonstandard; |
| 2623 | if you have received Emacs from some other site | 2610 | if you have received Emacs from some other site and it contains a |
| 2624 | and it contains a site-init.el or site-load.el file, consider | 2611 | site-init.el or site-load.el file, consider deleting that file. |
| 2625 | deleting that file. | ||
| 2626 | 4) getting the wrong .el or .elc files | 2612 | 4) getting the wrong .el or .elc files |
| 2627 | (not from the directory you expected). | 2613 | (not from the directory you expected). |
| 2628 | 5) deleting some .elc files that are supposed to exist. | 2614 | 5) deleting some .elc files that are supposed to exist. |
| 2629 | This would cause the source files (.el files) to be | 2615 | This would cause the source files (.el files) to be |
| 2630 | loaded instead. They take up more room, so you lose. | 2616 | loaded instead. They take up more room, so you lose. |
| 2631 | 6) a bug in the Emacs distribution which underestimates | 2617 | 6) a bug in the Emacs distribution which underestimates the space required. |
| 2632 | the space required. | ||
| 2633 | 2618 | ||
| 2634 | If the need for more space is legitimate, change the definition | 2619 | If the need for more space is legitimate, change the definition |
| 2635 | of PURESIZE in puresize.h. | 2620 | of PURESIZE in puresize.h. |
| 2636 | 2621 | ||
| 2637 | But in some of the cases listed above, this problem is a consequence | 2622 | But in some of the cases listed above, this problem is a consequence |
| 2638 | of something else that is wrong. Be sure to check and fix the real | 2623 | of something else that is wrong. Be sure to check and fix the real problem. |
| 2639 | problem. | ||
| 2640 | 2624 | ||
| 2641 | *** Linux: Emacs crashes when dumping itself on Mac PPC running Yellow Dog GNU/Linux. | 2625 | *** Linux: Emacs crashes when dumping itself on Mac PPC running Yellow Dog GNU/Linux. |
| 2642 | 2626 | ||
| @@ -2765,16 +2749,7 @@ This section covers bugs reported on very old hardware or software. | |||
| 2765 | If you are using hardware and an operating system shipped after 2000, | 2749 | If you are using hardware and an operating system shipped after 2000, |
| 2766 | it is unlikely you will see any of these. | 2750 | it is unlikely you will see any of these. |
| 2767 | 2751 | ||
| 2768 | *** Sunos 5.3: Subprocesses remain, hanging but not zombies. | 2752 | *** OPENSTEP 4.2: Compiling syntax.c with gcc 2.7.2.1 fails. |
| 2769 | |||
| 2770 | A bug in Sunos 5.3 causes Emacs subprocesses to remain after Emacs | ||
| 2771 | exits. Sun patch # 101415-02 is part of the fix for this, but it only | ||
| 2772 | applies to ptys, and doesn't fix the problem with subprocesses | ||
| 2773 | communicating through pipes. | ||
| 2774 | |||
| 2775 | *** OPENSTEP | ||
| 2776 | |||
| 2777 | **** OPENSTEP 4.2: Compiling syntax.c with gcc 2.7.2.1 fails. | ||
| 2778 | 2753 | ||
| 2779 | The compiler was reported to crash while compiling syntax.c with the | 2754 | The compiler was reported to crash while compiling syntax.c with the |
| 2780 | following message: | 2755 | following message: |
| @@ -2857,15 +2832,10 @@ lists the supported locales; any locale other than "C" or "POSIX" | |||
| 2857 | should do. | 2832 | should do. |
| 2858 | 2833 | ||
| 2859 | pen@lysator.liu.se says (Feb 1998) that the Compose key does work | 2834 | pen@lysator.liu.se says (Feb 1998) that the Compose key does work |
| 2860 | if you link with the MIT X11 libraries instead of the Solaris X11 | 2835 | if you link with the MIT X11 libraries instead of the Solaris X11 libraries. |
| 2861 | libraries. | ||
| 2862 | |||
| 2863 | *** HP/UX versions before 11.0 | ||
| 2864 | |||
| 2865 | HP/UX 10 was end-of-lifed in May 1999. | ||
| 2866 | 2836 | ||
| 2867 | *** HP/UX 10: Large file support is disabled. | 2837 | *** HP/UX 10: Large file support is disabled. |
| 2868 | 2838 | (HP/UX 10 was end-of-lifed in May 1999.) | |
| 2869 | See the comments in src/s/hpux10-20.h. | 2839 | See the comments in src/s/hpux10-20.h. |
| 2870 | 2840 | ||
| 2871 | *** HP/UX: Emacs is slow using X11R5. | 2841 | *** HP/UX: Emacs is slow using X11R5. |
| @@ -2877,47 +2847,7 @@ libXmu.a, libXext.a and others. HP/UX normally doesn't come with | |||
| 2877 | those libraries installed. To get good performance, you need to | 2847 | those libraries installed. To get good performance, you need to |
| 2878 | install them and rebuild Emacs. | 2848 | install them and rebuild Emacs. |
| 2879 | 2849 | ||
| 2880 | *** Digital Unix 4.0: Garbled display on non-X terminals when Emacs runs. | 2850 | *** UnixWare 2.1: Error 12 (virtual memory exceeded) when dumping Emacs. |
| 2881 | |||
| 2882 | So far it appears that running `tset' triggers this problem (when TERM | ||
| 2883 | is vt100, at least). If you do not run `tset', then Emacs displays | ||
| 2884 | properly. If someone can tell us precisely which effect of running | ||
| 2885 | `tset' actually causes the problem, we may be able to implement a fix | ||
| 2886 | in Emacs. | ||
| 2887 | |||
| 2888 | *** SVr4 | ||
| 2889 | |||
| 2890 | **** SVr4: On some variants of SVR4, Emacs does not work at all with X. | ||
| 2891 | |||
| 2892 | Try defining BROKEN_FIONREAD in your config.h file. If this solves | ||
| 2893 | the problem, please send a bug report to tell us this is needed; be | ||
| 2894 | sure to say exactly what type of machine and system you are using. | ||
| 2895 | |||
| 2896 | **** SVr4: After running emacs once, subsequent invocations crash. | ||
| 2897 | |||
| 2898 | Some versions of SVR4 have a serious bug in the implementation of the | ||
| 2899 | mmap () system call in the kernel; this causes emacs to run correctly | ||
| 2900 | the first time, and then crash when run a second time. | ||
| 2901 | |||
| 2902 | Contact your vendor and ask for the mmap bug fix; in the mean time, | ||
| 2903 | you may be able to work around the problem by adding a line to your | ||
| 2904 | operating system description file (whose name is reported by the | ||
| 2905 | configure script) that reads: | ||
| 2906 | #define SYSTEM_MALLOC | ||
| 2907 | This makes Emacs use memory less efficiently, but seems to work around | ||
| 2908 | the kernel bug. | ||
| 2909 | |||
| 2910 | *** SCO Unix and UnixWare | ||
| 2911 | |||
| 2912 | **** SCO 4.2.0: Regular expressions matching bugs on SCO systems. | ||
| 2913 | |||
| 2914 | On SCO, there are problems in regexp matching when Emacs is compiled | ||
| 2915 | with the system compiler. The compiler version is "Microsoft C | ||
| 2916 | version 6", SCO 4.2.0h Dev Sys Maintenance Supplement 01/06/93; Quick | ||
| 2917 | C Compiler Version 1.00.46 (Beta). The solution is to compile with | ||
| 2918 | GCC. | ||
| 2919 | |||
| 2920 | **** UnixWare 2.1: Error 12 (virtual memory exceeded) when dumping Emacs. | ||
| 2921 | 2851 | ||
| 2922 | Paul Abrahams (abrahams@acm.org) reports that with the installed | 2852 | Paul Abrahams (abrahams@acm.org) reports that with the installed |
| 2923 | virtual memory settings for UnixWare 2.1.2, an Error 12 occurs during | 2853 | virtual memory settings for UnixWare 2.1.2, an Error 12 occurs during |
| @@ -2940,7 +2870,7 @@ According to Martin Sohnius, you can also retune this in the kernel: | |||
| 2940 | (He recommends you not change the stack limit, though.) | 2870 | (He recommends you not change the stack limit, though.) |
| 2941 | These changes take effect when you reboot. | 2871 | These changes take effect when you reboot. |
| 2942 | 2872 | ||
| 2943 | ** Windows 3.1, 95, 98, and ME | 2873 | ** MS-Windows 95, 98, ME, and NT |
| 2944 | 2874 | ||
| 2945 | *** MS-Windows NT/95: Problems running Perl under Emacs | 2875 | *** MS-Windows NT/95: Problems running Perl under Emacs |
| 2946 | 2876 | ||
| @@ -3022,8 +2952,7 @@ http://www.gnu.org/software/emacs/windows/. | |||
| 3022 | When a program you are trying to run is not found on the PATH, | 2952 | When a program you are trying to run is not found on the PATH, |
| 3023 | Windows might respond by crashing or locking up your system. In | 2953 | Windows might respond by crashing or locking up your system. In |
| 3024 | particular, this has been reported when trying to compile a Java | 2954 | particular, this has been reported when trying to compile a Java |
| 3025 | program in JDEE when javac.exe is installed, but not on the system | 2955 | program in JDEE when javac.exe is installed, but not on the system PATH. |
| 3026 | PATH. | ||
| 3027 | 2956 | ||
| 3028 | ** MS-DOS | 2957 | ** MS-DOS |
| 3029 | 2958 | ||
| @@ -3088,7 +3017,7 @@ your system works as before. | |||
| 3088 | *** MS-DOS: Emacs crashes at startup. | 3017 | *** MS-DOS: Emacs crashes at startup. |
| 3089 | 3018 | ||
| 3090 | Some users report that Emacs 19.29 requires dpmi memory management, | 3019 | Some users report that Emacs 19.29 requires dpmi memory management, |
| 3091 | and crashes on startup if the system does not have it. We don't yet | 3020 | and crashes on startup if the system does not have it. We don't |
| 3092 | know why this happens--perhaps these machines don't have enough real | 3021 | know why this happens--perhaps these machines don't have enough real |
| 3093 | memory, or perhaps something is wrong in Emacs or the compiler. | 3022 | memory, or perhaps something is wrong in Emacs or the compiler. |
| 3094 | However, arranging to use dpmi support is a workaround. | 3023 | However, arranging to use dpmi support is a workaround. |
| @@ -3112,7 +3041,7 @@ This is an unfortunate side-effect of the support for Unix-style | |||
| 3112 | device names such as /dev/null in the DJGPP runtime library. A | 3041 | device names such as /dev/null in the DJGPP runtime library. A |
| 3113 | work-around is to rename the problem directory to another name. | 3042 | work-around is to rename the problem directory to another name. |
| 3114 | 3043 | ||
| 3115 | *** MS-DOS+DJGPP: Problems on MS-DOG if DJGPP v2.0 is used to compile Emacs. | 3044 | *** MS-DOS+DJGPP: Problems on MS-DOS if DJGPP v2.0 is used to compile Emacs. |
| 3116 | 3045 | ||
| 3117 | There are two DJGPP library bugs which cause problems: | 3046 | There are two DJGPP library bugs which cause problems: |
| 3118 | 3047 | ||
| @@ -3134,8 +3063,7 @@ the Lisp files it needs to load at startup. Redirect Emacs stdout | |||
| 3134 | and stderr to a file to see the error message printed by Emacs. | 3063 | and stderr to a file to see the error message printed by Emacs. |
| 3135 | 3064 | ||
| 3136 | Another manifestation of this problem is that Emacs is unable to load | 3065 | Another manifestation of this problem is that Emacs is unable to load |
| 3137 | the support for editing program sources in languages such as C and | 3066 | the support for editing program sources in languages such as C and Lisp. |
| 3138 | Lisp. | ||
| 3139 | 3067 | ||
| 3140 | This can happen if the Emacs distribution was unzipped without LFN | 3068 | This can happen if the Emacs distribution was unzipped without LFN |
| 3141 | support, thus causing long filenames to be truncated to the first 6 | 3069 | support, thus causing long filenames to be truncated to the first 6 |
| @@ -3165,7 +3093,7 @@ shortcut keys entirely by adding this line to ~/.OWdefaults: | |||
| 3165 | 3093 | ||
| 3166 | OpenWindows.WindowMenuAccelerators: False | 3094 | OpenWindows.WindowMenuAccelerators: False |
| 3167 | 3095 | ||
| 3168 | **** twm: A position you specified in .Xdefaults is ignored, using twm. | 3096 | *** twm: A position you specified in .Xdefaults is ignored, using twm. |
| 3169 | 3097 | ||
| 3170 | twm normally ignores "program-specified" positions. | 3098 | twm normally ignores "program-specified" positions. |
| 3171 | You can tell it to obey them with this command in your `.twmrc' file: | 3099 | You can tell it to obey them with this command in your `.twmrc' file: |
| @@ -3188,31 +3116,6 @@ This problem seems to be a matter of configuring the DECserver to use | |||
| 3188 | 3116 | ||
| 3189 | * Build problems on legacy systems | 3117 | * Build problems on legacy systems |
| 3190 | 3118 | ||
| 3191 | ** BSD/386 1.0: --with-x-toolkit option configures wrong. | ||
| 3192 | |||
| 3193 | This problem is due to bugs in the shell in version 1.0 of BSD/386. | ||
| 3194 | The workaround is to edit the configure file to use some other shell, | ||
| 3195 | such as bash. | ||
| 3196 | |||
| 3197 | ** Digital Unix 4.0: Emacs fails to build, giving error message | ||
| 3198 | Invalid dimension for the charset-ID 160 | ||
| 3199 | |||
| 3200 | This is due to a bug or an installation problem in GCC 2.8.0. | ||
| 3201 | Installing a more recent version of GCC fixes the problem. | ||
| 3202 | |||
| 3203 | ** Digital Unix 4.0: Failure in unexec while dumping emacs. | ||
| 3204 | |||
| 3205 | This problem manifests itself as an error message | ||
| 3206 | |||
| 3207 | unexec: Bad address, writing data section to ... | ||
| 3208 | |||
| 3209 | The user suspects that this happened because his X libraries | ||
| 3210 | were built for an older system version, | ||
| 3211 | |||
| 3212 | ./configure --x-includes=/usr/include --x-libraries=/usr/shlib | ||
| 3213 | |||
| 3214 | made the problem go away. | ||
| 3215 | |||
| 3216 | ** SunOS: Emacs gets error message from linker on Sun. | 3119 | ** SunOS: Emacs gets error message from linker on Sun. |
| 3217 | 3120 | ||
| 3218 | If the error message says that a symbol such as `f68881_used' or | 3121 | If the error message says that a symbol such as `f68881_used' or |
| @@ -3297,7 +3200,7 @@ In the XCONS, etc., macros in lisp.h you must replace (a).u.val with | |||
| 3297 | This problem will only happen if USE_LISP_UNION_TYPE is manually | 3200 | This problem will only happen if USE_LISP_UNION_TYPE is manually |
| 3298 | defined in lisp.h. | 3201 | defined in lisp.h. |
| 3299 | 3202 | ||
| 3300 | *** C compilers lose on returning unions. | 3203 | ** C compilers lose on returning unions. |
| 3301 | 3204 | ||
| 3302 | I hear that some C compilers cannot handle returning a union type. | 3205 | I hear that some C compilers cannot handle returning a union type. |
| 3303 | Most of the functions in GNU Emacs return type Lisp_Object, which is | 3206 | Most of the functions in GNU Emacs return type Lisp_Object, which is |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 10cd04ec60d..bc80b4cafe0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,80 @@ | |||
| 1 | 2010-05-27 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * dired.el (dired-delete-file): New arg TRASH. | ||
| 4 | (dired-internal-do-deletions): New arg TRASH. Use progress | ||
| 5 | reporter. | ||
| 6 | (dired-do-flagged-delete, dired-do-delete): Use trash. | ||
| 7 | |||
| 8 | * speedbar.el (speedbar-item-delete): Allow trashing. | ||
| 9 | |||
| 10 | * files.el (delete-directory): New arg TRASH. | ||
| 11 | |||
| 12 | * net/ange-ftp.el (ange-ftp-del-tmp-name, ange-ftp-delete-file) | ||
| 13 | (ange-ftp-rename-remote-to-remote) | ||
| 14 | (ange-ftp-rename-local-to-remote) | ||
| 15 | (ange-ftp-rename-remote-to-local, ange-ftp-load) | ||
| 16 | (ange-ftp-compress, ange-ftp-uncompress): Remove optional arg from | ||
| 17 | `delete-file'. | ||
| 18 | (ange-ftp-delete-directory): Add optional arg to `delete-file', to | ||
| 19 | allow trashing. | ||
| 20 | |||
| 21 | * net/tramp-compat.el (tramp-compat-delete-file): Rewrite to | ||
| 22 | handle new TRASH arg of `delete-file'. | ||
| 23 | |||
| 24 | * net/tramp.el (tramp-handle-delete-file): Change FORCE arg to | ||
| 25 | TRASH. | ||
| 26 | (tramp-handle-make-symbolic-link, tramp-handle-load) | ||
| 27 | (tramp-do-copy-or-rename-file-via-buffer) | ||
| 28 | (tramp-do-copy-or-rename-file-directly) | ||
| 29 | (tramp-do-copy-or-rename-file-out-of-band) | ||
| 30 | (tramp-handle-process-file, tramp-handle-call-process-region) | ||
| 31 | (tramp-handle-shell-command, tramp-handle-file-local-copy) | ||
| 32 | (tramp-handle-insert-file-contents, tramp-handle-write-region) | ||
| 33 | (tramp-delete-temp-file-function): Use null TRASH arg in | ||
| 34 | tramp-compat-delete-file call. | ||
| 35 | |||
| 36 | * net/tramp-fish.el (tramp-fish-handle-delete-directory) | ||
| 37 | (tramp-fish-handle-delete-file) | ||
| 38 | (tramp-fish-handle-make-symbolic-link) | ||
| 39 | (tramp-fish-handle-process-file): Use null TRASH arg in | ||
| 40 | `tramp-compat-delete-file' call. | ||
| 41 | |||
| 42 | * net/tramp-ftp.el (tramp-ftp-file-name-handler): Use null TRASH | ||
| 43 | arg in `tramp-compat-delete-file' call. | ||
| 44 | |||
| 45 | * net/tramp-gvfs.el (tramp-gvfs-handle-delete-file): Rename arg. | ||
| 46 | (tramp-gvfs-handle-write-region): Use null TRASH arg in | ||
| 47 | `tramp-compat-delete-file' call. | ||
| 48 | |||
| 49 | * net/tramp-imap.el (tramp-imap-handle-delete-file): Rename arg. | ||
| 50 | (tramp-imap-do-copy-or-rename-file): Use null TRASH arg in | ||
| 51 | `tramp-compat-delete-file' call. | ||
| 52 | |||
| 53 | * net/tramp-smb.el (tramp-smb-handle-copy-file) | ||
| 54 | (tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file) | ||
| 55 | (tramp-smb-handle-write-region): Use null TRASH arg in | ||
| 56 | tramp-compat-delete-file call. | ||
| 57 | (tramp-smb-handle-delete-directory): Use tramp-compat-delete-file. | ||
| 58 | (tramp-smb-handle-delete-file): Rename arg. | ||
| 59 | |||
| 60 | * diff.el (diff-sentinel): | ||
| 61 | * epg.el (epg--make-temp-file, epg-decrypt-string) | ||
| 62 | (epg-verify-string, epg-sign-string, epg-encrypt-string): | ||
| 63 | * jka-compr.el (jka-compr-partial-uncompress) | ||
| 64 | (jka-compr-call-process, jka-compr-write-region): | ||
| 65 | * server.el (server-sentinel): Remove optional arg from | ||
| 66 | delete-file, reverting 2010-05-03 change. | ||
| 67 | |||
| 68 | 2010-05-27 Chong Yidong <cyd@stupidchicken.com> | ||
| 69 | |||
| 70 | * progmodes/verilog-mode.el (verilog-type-font-keywords): Use | ||
| 71 | font-lock-constant-face, not obsolete font-lock-reference-face. | ||
| 72 | |||
| 73 | 2010-05-27 Masatake YAMATO <yamato@redhat.com> | ||
| 74 | |||
| 75 | * htmlfontify.el (hfy-face-resolve-face): New function. | ||
| 76 | (hfy-face-to-style): Use it (Bug#6279). | ||
| 77 | |||
| 1 | 2010-05-27 Kenichi Handa <handa@m17n.org> | 78 | 2010-05-27 Kenichi Handa <handa@m17n.org> |
| 2 | 79 | ||
| 3 | * language/hebrew.el (hebrew-shape-gstring): Check if a glyph | 80 | * language/hebrew.el (hebrew-shape-gstring): Check if a glyph |
diff --git a/lisp/diff.el b/lisp/diff.el index d7fc993ec33..0206c17e770 100644 --- a/lisp/diff.el +++ b/lisp/diff.el | |||
| @@ -64,8 +64,8 @@ | |||
| 64 | "Code run when the diff process exits. | 64 | "Code run when the diff process exits. |
| 65 | CODE is the exit code of the process. It should be 0 only if no diffs | 65 | CODE is the exit code of the process. It should be 0 only if no diffs |
| 66 | were found." | 66 | were found." |
| 67 | (if diff-old-temp-file (delete-file diff-old-temp-file t)) | 67 | (if diff-old-temp-file (delete-file diff-old-temp-file)) |
| 68 | (if diff-new-temp-file (delete-file diff-new-temp-file t)) | 68 | (if diff-new-temp-file (delete-file diff-new-temp-file)) |
| 69 | (save-excursion | 69 | (save-excursion |
| 70 | (goto-char (point-max)) | 70 | (goto-char (point-max)) |
| 71 | (let ((inhibit-read-only t)) | 71 | (let ((inhibit-read-only t)) |
diff --git a/lisp/dired.el b/lisp/dired.el index 531f329b26a..4fe804dd46d 100644 --- a/lisp/dired.el +++ b/lisp/dired.el | |||
| @@ -2579,7 +2579,7 @@ Anything else means ask for each directory." | |||
| 2579 | ;; Delete file, possibly delete a directory and all its files. | 2579 | ;; Delete file, possibly delete a directory and all its files. |
| 2580 | ;; This function is usefull outside of dired. One could change it's name | 2580 | ;; This function is usefull outside of dired. One could change it's name |
| 2581 | ;; to e.g. recursive-delete-file and put it somewhere else. | 2581 | ;; to e.g. recursive-delete-file and put it somewhere else. |
| 2582 | (defun dired-delete-file (file &optional recursive) "\ | 2582 | (defun dired-delete-file (file &optional recursive trash) "\ |
| 2583 | Delete FILE or directory (possibly recursively if optional RECURSIVE is true.) | 2583 | Delete FILE or directory (possibly recursively if optional RECURSIVE is true.) |
| 2584 | RECURSIVE determines what to do with a non-empty directory. If RECURSIVE is: | 2584 | RECURSIVE determines what to do with a non-empty directory. If RECURSIVE is: |
| 2585 | nil, do not delete. | 2585 | nil, do not delete. |
| @@ -2590,15 +2590,19 @@ Anything else, ask for each sub-directory." | |||
| 2590 | ;; (and (file-directory-p fn) (not (file-symlink-p fn))) | 2590 | ;; (and (file-directory-p fn) (not (file-symlink-p fn))) |
| 2591 | ;; but more efficient | 2591 | ;; but more efficient |
| 2592 | (if (not (eq t (car (file-attributes file)))) | 2592 | (if (not (eq t (car (file-attributes file)))) |
| 2593 | (delete-file file) | 2593 | (delete-file file trash) |
| 2594 | (if (and recursive | 2594 | (if (and recursive |
| 2595 | (directory-files file t dired-re-no-dot) ; Not empty. | 2595 | (directory-files file t dired-re-no-dot) ; Not empty. |
| 2596 | (or (eq recursive 'always) | 2596 | (or (eq recursive 'always) |
| 2597 | (yes-or-no-p (format "Recursive delete of %s? " | 2597 | (yes-or-no-p (format "Recursively %s %s? " |
| 2598 | (if (and trash | ||
| 2599 | delete-by-moving-to-trash) | ||
| 2600 | "trash" | ||
| 2601 | "delete") | ||
| 2598 | (dired-make-relative file))))) | 2602 | (dired-make-relative file))))) |
| 2599 | (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask again. | 2603 | (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask again. |
| 2600 | (setq recursive nil)) | 2604 | (setq recursive nil)) |
| 2601 | (delete-directory file recursive))) | 2605 | (delete-directory file recursive trash))) |
| 2602 | 2606 | ||
| 2603 | (defun dired-do-flagged-delete (&optional nomessage) | 2607 | (defun dired-do-flagged-delete (&optional nomessage) |
| 2604 | "In Dired, delete the files flagged for deletion. | 2608 | "In Dired, delete the files flagged for deletion. |
| @@ -2616,7 +2620,7 @@ non-empty directories is allowed." | |||
| 2616 | ;; this can't move point since ARG is nil | 2620 | ;; this can't move point since ARG is nil |
| 2617 | (dired-map-over-marks (cons (dired-get-filename) (point)) | 2621 | (dired-map-over-marks (cons (dired-get-filename) (point)) |
| 2618 | nil) | 2622 | nil) |
| 2619 | nil) | 2623 | nil t) |
| 2620 | (or nomessage | 2624 | (or nomessage |
| 2621 | (message "(No deletions requested)"))))) | 2625 | (message "(No deletions requested)"))))) |
| 2622 | 2626 | ||
| @@ -2631,11 +2635,11 @@ non-empty directories is allowed." | |||
| 2631 | ;; this may move point if ARG is an integer | 2635 | ;; this may move point if ARG is an integer |
| 2632 | (dired-map-over-marks (cons (dired-get-filename) (point)) | 2636 | (dired-map-over-marks (cons (dired-get-filename) (point)) |
| 2633 | arg) | 2637 | arg) |
| 2634 | arg)) | 2638 | arg t)) |
| 2635 | 2639 | ||
| 2636 | (defvar dired-deletion-confirmer 'yes-or-no-p) ; or y-or-n-p? | 2640 | (defvar dired-deletion-confirmer 'yes-or-no-p) ; or y-or-n-p? |
| 2637 | 2641 | ||
| 2638 | (defun dired-internal-do-deletions (l arg) | 2642 | (defun dired-internal-do-deletions (l arg &optional trash) |
| 2639 | ;; L is an alist of files to delete, with their buffer positions. | 2643 | ;; L is an alist of files to delete, with their buffer positions. |
| 2640 | ;; ARG is the prefix arg. | 2644 | ;; ARG is the prefix arg. |
| 2641 | ;; Filenames are absolute. | 2645 | ;; Filenames are absolute. |
| @@ -2644,14 +2648,21 @@ non-empty directories is allowed." | |||
| 2644 | ;; lines still to be changed, so the (point) values in L stay valid. | 2648 | ;; lines still to be changed, so the (point) values in L stay valid. |
| 2645 | ;; Also, for subdirs in natural order, a subdir's files are deleted | 2649 | ;; Also, for subdirs in natural order, a subdir's files are deleted |
| 2646 | ;; before the subdir itself - the other way around would not work. | 2650 | ;; before the subdir itself - the other way around would not work. |
| 2647 | (let ((files (mapcar (function car) l)) | 2651 | (let* ((files (mapcar (function car) l)) |
| 2648 | (count (length l)) | 2652 | (count (length l)) |
| 2649 | (succ 0)) | 2653 | (succ 0) |
| 2654 | (trashing (and trash delete-by-moving-to-trash)) | ||
| 2655 | (progress-reporter | ||
| 2656 | (make-progress-reporter | ||
| 2657 | (if trashing "Trashing..." "Deleting...") | ||
| 2658 | succ count))) | ||
| 2650 | ;; canonicalize file list for pop up | 2659 | ;; canonicalize file list for pop up |
| 2651 | (setq files (nreverse (mapcar (function dired-make-relative) files))) | 2660 | (setq files (nreverse (mapcar (function dired-make-relative) files))) |
| 2652 | (if (dired-mark-pop-up | 2661 | (if (dired-mark-pop-up |
| 2653 | " *Deletions*" 'delete files dired-deletion-confirmer | 2662 | " *Deletions*" 'delete files dired-deletion-confirmer |
| 2654 | (format "Delete %s " (dired-mark-prompt arg files))) | 2663 | (format "%s %s " |
| 2664 | (if trashing "Trash" "Delete") | ||
| 2665 | (dired-mark-prompt arg files))) | ||
| 2655 | (save-excursion | 2666 | (save-excursion |
| 2656 | (let (failures);; files better be in reverse order for this loop! | 2667 | (let (failures);; files better be in reverse order for this loop! |
| 2657 | (while l | 2668 | (while l |
| @@ -2659,10 +2670,10 @@ non-empty directories is allowed." | |||
| 2659 | (let ((inhibit-read-only t)) | 2670 | (let ((inhibit-read-only t)) |
| 2660 | (condition-case err | 2671 | (condition-case err |
| 2661 | (let ((fn (car (car l)))) | 2672 | (let ((fn (car (car l)))) |
| 2662 | (dired-delete-file fn dired-recursive-deletes) | 2673 | (dired-delete-file fn dired-recursive-deletes trash) |
| 2663 | ;; if we get here, removing worked | 2674 | ;; if we get here, removing worked |
| 2664 | (setq succ (1+ succ)) | 2675 | (setq succ (1+ succ)) |
| 2665 | (message "%s of %s deletions" succ count) | 2676 | (progress-reporter-update progress-reporter succ) |
| 2666 | (dired-fun-in-all-buffers | 2677 | (dired-fun-in-all-buffers |
| 2667 | (file-name-directory fn) (file-name-nondirectory fn) | 2678 | (file-name-directory fn) (file-name-nondirectory fn) |
| 2668 | (function dired-delete-entry) fn)) | 2679 | (function dired-delete-entry) fn)) |
| @@ -2671,7 +2682,7 @@ non-empty directories is allowed." | |||
| 2671 | (setq failures (cons (car (car l)) failures))))) | 2682 | (setq failures (cons (car (car l)) failures))))) |
| 2672 | (setq l (cdr l))) | 2683 | (setq l (cdr l))) |
| 2673 | (if (not failures) | 2684 | (if (not failures) |
| 2674 | (message "%d deletion%s done" count (dired-plural-s count)) | 2685 | (progress-reporter-done progress-reporter) |
| 2675 | (dired-log-summary | 2686 | (dired-log-summary |
| 2676 | (format "%d of %d deletion%s failed" | 2687 | (format "%d of %d deletion%s failed" |
| 2677 | (length failures) count | 2688 | (length failures) count |
diff --git a/lisp/epg.el b/lisp/epg.el index 6e69ae09da4..9a75560704a 100644 --- a/lisp/epg.el +++ b/lisp/epg.el | |||
| @@ -1899,7 +1899,7 @@ You can then use `write-region' to write new data into the file." | |||
| 1899 | ;; Cleanup the tempfile. | 1899 | ;; Cleanup the tempfile. |
| 1900 | (and tempfile | 1900 | (and tempfile |
| 1901 | (file-exists-p tempfile) | 1901 | (file-exists-p tempfile) |
| 1902 | (delete-file tempfile t)) | 1902 | (delete-file tempfile)) |
| 1903 | ;; Cleanup the tempdir. | 1903 | ;; Cleanup the tempdir. |
| 1904 | (and tempdir | 1904 | (and tempdir |
| 1905 | (file-directory-p tempdir) | 1905 | (file-directory-p tempdir) |
| @@ -1999,7 +1999,7 @@ If PLAIN is nil, it returns the result as a string." | |||
| 1999 | (epg-read-output context)) | 1999 | (epg-read-output context)) |
| 2000 | (epg-delete-output-file context) | 2000 | (epg-delete-output-file context) |
| 2001 | (if (file-exists-p input-file) | 2001 | (if (file-exists-p input-file) |
| 2002 | (delete-file input-file t)) | 2002 | (delete-file input-file)) |
| 2003 | (epg-reset context)))) | 2003 | (epg-reset context)))) |
| 2004 | 2004 | ||
| 2005 | (defun epg-start-verify (context signature &optional signed-text) | 2005 | (defun epg-start-verify (context signature &optional signed-text) |
| @@ -2203,7 +2203,7 @@ Otherwise, it makes a cleartext signature." | |||
| 2203 | (epg-read-output context)) | 2203 | (epg-read-output context)) |
| 2204 | (epg-delete-output-file context) | 2204 | (epg-delete-output-file context) |
| 2205 | (if input-file | 2205 | (if input-file |
| 2206 | (delete-file input-file t)) | 2206 | (delete-file input-file)) |
| 2207 | (epg-reset context)))) | 2207 | (epg-reset context)))) |
| 2208 | 2208 | ||
| 2209 | (defun epg-start-encrypt (context plain recipients | 2209 | (defun epg-start-encrypt (context plain recipients |
| @@ -2323,7 +2323,7 @@ If RECIPIENTS is nil, it performs symmetric encryption." | |||
| 2323 | (epg-read-output context)) | 2323 | (epg-read-output context)) |
| 2324 | (epg-delete-output-file context) | 2324 | (epg-delete-output-file context) |
| 2325 | (if input-file | 2325 | (if input-file |
| 2326 | (delete-file input-file t)) | 2326 | (delete-file input-file)) |
| 2327 | (epg-reset context)))) | 2327 | (epg-reset context)))) |
| 2328 | 2328 | ||
| 2329 | (defun epg-start-export-keys (context keys) | 2329 | (defun epg-start-export-keys (context keys) |
diff --git a/lisp/files.el b/lisp/files.el index d4c05bdc5d6..4ab583d018b 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -4675,19 +4675,30 @@ this happens by default." | |||
| 4675 | "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*" | 4675 | "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*" |
| 4676 | "Regexp of file names excluging \".\" an \"..\".") | 4676 | "Regexp of file names excluging \".\" an \"..\".") |
| 4677 | 4677 | ||
| 4678 | (defun delete-directory (directory &optional recursive) | 4678 | (defun delete-directory (directory &optional recursive trash) |
| 4679 | "Delete the directory named DIRECTORY. Does not follow symlinks. | 4679 | "Delete the directory named DIRECTORY. Does not follow symlinks. |
| 4680 | If RECURSIVE is non-nil, all files in DIRECTORY are deleted as well." | 4680 | If RECURSIVE is non-nil, all files in DIRECTORY are deleted as well. |
| 4681 | TRASH non-nil means to trash the directory instead, provided | ||
| 4682 | `delete-by-moving-to-trash' is non-nil. | ||
| 4683 | |||
| 4684 | When called interactively, TRASH is t if no prefix argument is | ||
| 4685 | given. With a prefix argument, TRASH is nil." | ||
| 4681 | (interactive | 4686 | (interactive |
| 4682 | (let ((dir (expand-file-name | 4687 | (let* ((trashing (and delete-by-moving-to-trash |
| 4683 | (read-file-name | 4688 | (null current-prefix-arg))) |
| 4684 | "Delete directory: " | 4689 | (dir (expand-file-name |
| 4685 | default-directory default-directory nil nil)))) | 4690 | (read-file-name |
| 4691 | (if trashing | ||
| 4692 | "Move directory to trash: " | ||
| 4693 | "Delete directory: ") | ||
| 4694 | default-directory default-directory nil nil)))) | ||
| 4686 | (list dir | 4695 | (list dir |
| 4687 | (if (directory-files dir nil directory-files-no-dot-files-regexp) | 4696 | (if (directory-files dir nil directory-files-no-dot-files-regexp) |
| 4688 | (y-or-n-p | 4697 | (y-or-n-p |
| 4689 | (format "Directory `%s' is not empty, really delete? " dir)) | 4698 | (format "Directory `%s' is not empty, really %s? " |
| 4690 | nil)))) | 4699 | dir (if trashing "trash" "delete"))) |
| 4700 | nil) | ||
| 4701 | (null current-prefix-arg)))) | ||
| 4691 | ;; If default-directory is a remote directory, make sure we find its | 4702 | ;; If default-directory is a remote directory, make sure we find its |
| 4692 | ;; delete-directory handler. | 4703 | ;; delete-directory handler. |
| 4693 | (setq directory (directory-file-name (expand-file-name directory))) | 4704 | (setq directory (directory-file-name (expand-file-name directory))) |
| @@ -4695,7 +4706,7 @@ If RECURSIVE is non-nil, all files in DIRECTORY are deleted as well." | |||
| 4695 | (cond | 4706 | (cond |
| 4696 | (handler | 4707 | (handler |
| 4697 | (funcall handler 'delete-directory directory recursive)) | 4708 | (funcall handler 'delete-directory directory recursive)) |
| 4698 | (delete-by-moving-to-trash | 4709 | ((and delete-by-moving-to-trash trash) |
| 4699 | ;; Only move non-empty dir to trash if recursive deletion was | 4710 | ;; Only move non-empty dir to trash if recursive deletion was |
| 4700 | ;; requested. This mimics the non-`delete-by-moving-to-trash' | 4711 | ;; requested. This mimics the non-`delete-by-moving-to-trash' |
| 4701 | ;; case, where the operation fails in delete-directory-internal. | 4712 | ;; case, where the operation fails in delete-directory-internal. |
| @@ -4715,8 +4726,8 @@ If RECURSIVE is non-nil, all files in DIRECTORY are deleted as well." | |||
| 4715 | ;; (and (file-directory-p fn) (not (file-symlink-p fn))) | 4726 | ;; (and (file-directory-p fn) (not (file-symlink-p fn))) |
| 4716 | ;; but more efficient | 4727 | ;; but more efficient |
| 4717 | (if (eq t (car (file-attributes file))) | 4728 | (if (eq t (car (file-attributes file))) |
| 4718 | (delete-directory file recursive) | 4729 | (delete-directory file recursive nil) |
| 4719 | (delete-file file))) | 4730 | (delete-file file nil))) |
| 4720 | ;; We do not want to delete "." and "..". | 4731 | ;; We do not want to delete "." and "..". |
| 4721 | (directory-files | 4732 | (directory-files |
| 4722 | directory 'full directory-files-no-dot-files-regexp))) | 4733 | directory 'full directory-files-no-dot-files-regexp))) |
diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el index d4dd49ac17d..12e54972461 100644 --- a/lisp/htmlfontify.el +++ b/lisp/htmlfontify.el | |||
| @@ -1026,14 +1026,25 @@ haven't encountered them yet. Returns a `hfy-style-assoc'." | |||
| 1026 | (setq n (apply '* m)) | 1026 | (setq n (apply '* m)) |
| 1027 | (nconc r (hfy-size (if x (round n) (* n 1.0)))) )) | 1027 | (nconc r (hfy-size (if x (round n) (* n 1.0)))) )) |
| 1028 | 1028 | ||
| 1029 | (defun hfy-face-resolve-face (fn) | ||
| 1030 | (cond | ||
| 1031 | ((facep fn) | ||
| 1032 | (hfy-face-attr-for-class fn hfy-display-class)) | ||
| 1033 | ((and (symbolp fn) | ||
| 1034 | (facep (symbol-value fn))) | ||
| 1035 | ;; Obsolete faces like `font-lock-reference-face' are defined as | ||
| 1036 | ;; aliases for another face. | ||
| 1037 | (hfy-face-attr-for-class (symbol-value fn) hfy-display-class)) | ||
| 1038 | (t nil))) | ||
| 1039 | |||
| 1040 | |||
| 1029 | (defun hfy-face-to-style (fn) | 1041 | (defun hfy-face-to-style (fn) |
| 1030 | "Take FN, a font or `defface' style font specification, | 1042 | "Take FN, a font or `defface' style font specification, |
| 1031 | \(as returned by `face-attr-construct' or `hfy-face-attr-for-class') | 1043 | \(as returned by `face-attr-construct' or `hfy-face-attr-for-class') |
| 1032 | and return a `hfy-style-assoc'.\n | 1044 | and return a `hfy-style-assoc'.\n |
| 1033 | See also `hfy-face-to-style-i', `hfy-flatten-style'." | 1045 | See also `hfy-face-to-style-i', `hfy-flatten-style'." |
| 1034 | ;;(message "hfy-face-to-style");;DBUG | 1046 | ;;(message "hfy-face-to-style");;DBUG |
| 1035 | (let ((face-def (if (facep fn) | 1047 | (let ((face-def (hfy-face-resolve-face fn)) |
| 1036 | (hfy-face-attr-for-class fn hfy-display-class) fn)) | ||
| 1037 | (final-style nil)) | 1048 | (final-style nil)) |
| 1038 | 1049 | ||
| 1039 | (setq final-style (hfy-flatten-style (hfy-face-to-style-i face-def))) | 1050 | (setq final-style (hfy-flatten-style (hfy-face-to-style-i face-def))) |
diff --git a/lisp/jka-compr.el b/lisp/jka-compr.el index e4311e13f28..3f0ff542212 100644 --- a/lisp/jka-compr.el +++ b/lisp/jka-compr.el | |||
| @@ -181,7 +181,7 @@ to keep: LEN chars starting BEG chars from the beginning." | |||
| 181 | null-device)) | 181 | null-device)) |
| 182 | jka-compr-acceptable-retval-list) | 182 | jka-compr-acceptable-retval-list) |
| 183 | (jka-compr-error prog args infile message err-file)) | 183 | (jka-compr-error prog args infile message err-file)) |
| 184 | (delete-file err-file t))) | 184 | (delete-file err-file))) |
| 185 | 185 | ||
| 186 | ;; Run the uncompression program directly. | 186 | ;; Run the uncompression program directly. |
| 187 | ;; We get the whole file and must delete what we don't want. | 187 | ;; We get the whole file and must delete what we don't want. |
| @@ -223,7 +223,7 @@ to keep: LEN chars starting BEG chars from the beginning." | |||
| 223 | ""))) | 223 | ""))) |
| 224 | jka-compr-acceptable-retval-list) | 224 | jka-compr-acceptable-retval-list) |
| 225 | (jka-compr-error prog args infile message err-file)) | 225 | (jka-compr-error prog args infile message err-file)) |
| 226 | (delete-file err-file t))) | 226 | (delete-file err-file))) |
| 227 | (or (eq 0 | 227 | (or (eq 0 |
| 228 | (apply 'call-process | 228 | (apply 'call-process |
| 229 | prog infile (if (stringp output) temp output) | 229 | prog infile (if (stringp output) temp output) |
| @@ -335,7 +335,7 @@ There should be no more than seven characters after the final `/'." | |||
| 335 | (and append can-append) 'dont)) | 335 | (and append can-append) 'dont)) |
| 336 | (erase-buffer)) ) | 336 | (erase-buffer)) ) |
| 337 | 337 | ||
| 338 | (delete-file temp-file t) | 338 | (delete-file temp-file) |
| 339 | 339 | ||
| 340 | (and | 340 | (and |
| 341 | compress-message | 341 | compress-message |
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index 73cb2e57bb2..dcc6ddabcdc 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el | |||
| @@ -1736,7 +1736,7 @@ good, skip, fatal, or unknown." | |||
| 1736 | 1736 | ||
| 1737 | (defun ange-ftp-del-tmp-name (filename) | 1737 | (defun ange-ftp-del-tmp-name (filename) |
| 1738 | "Force to delete temporary file." | 1738 | "Force to delete temporary file." |
| 1739 | (delete-file filename 'force)) | 1739 | (delete-file filename)) |
| 1740 | 1740 | ||
| 1741 | 1741 | ||
| 1742 | ;;;; ------------------------------------------------------------ | 1742 | ;;;; ------------------------------------------------------------ |
| @@ -3507,8 +3507,9 @@ system TYPE.") | |||
| 3507 | (file-exists-p file) | 3507 | (file-exists-p file) |
| 3508 | (ange-ftp-real-file-executable-p file)))) | 3508 | (ange-ftp-real-file-executable-p file)))) |
| 3509 | 3509 | ||
| 3510 | (defun ange-ftp-delete-file (file &optional force) | 3510 | (defun ange-ftp-delete-file (file &optional trash) |
| 3511 | (interactive "fDelete file: ") | 3511 | (interactive (list (read-file-name "Delete file: " nil default-directory) |
| 3512 | (null current-prefix-arg))) | ||
| 3512 | (setq file (expand-file-name file)) | 3513 | (setq file (expand-file-name file)) |
| 3513 | (let ((parsed (ange-ftp-ftp-name file))) | 3514 | (let ((parsed (ange-ftp-ftp-name file))) |
| 3514 | (if parsed | 3515 | (if parsed |
| @@ -3526,7 +3527,7 @@ system TYPE.") | |||
| 3526 | (format "FTP Error: \"%s\"" (cdr result)) | 3527 | (format "FTP Error: \"%s\"" (cdr result)) |
| 3527 | file))) | 3528 | file))) |
| 3528 | (ange-ftp-delete-file-entry file)) | 3529 | (ange-ftp-delete-file-entry file)) |
| 3529 | (ange-ftp-real-delete-file file force)))) | 3530 | (ange-ftp-real-delete-file file trash)))) |
| 3530 | 3531 | ||
| 3531 | (defun ange-ftp-file-modtime (file) | 3532 | (defun ange-ftp-file-modtime (file) |
| 3532 | "Return the modification time of remote file FILE. | 3533 | "Return the modification time of remote file FILE. |
| @@ -3897,7 +3898,7 @@ E.g., | |||
| 3897 | (ange-ftp-add-file-entry newname) | 3898 | (ange-ftp-add-file-entry newname) |
| 3898 | (ange-ftp-delete-file-entry filename)) | 3899 | (ange-ftp-delete-file-entry filename)) |
| 3899 | (ange-ftp-copy-file-internal filename newname t nil) | 3900 | (ange-ftp-copy-file-internal filename newname t nil) |
| 3900 | (delete-file filename 'force)))) | 3901 | (delete-file filename)))) |
| 3901 | 3902 | ||
| 3902 | (defun ange-ftp-rename-local-to-remote (filename newname) | 3903 | (defun ange-ftp-rename-local-to-remote (filename newname) |
| 3903 | "Rename local file FILENAME to remote file NEWNAME." | 3904 | "Rename local file FILENAME to remote file NEWNAME." |
| @@ -3906,7 +3907,7 @@ E.g., | |||
| 3906 | (msg (format "Renaming %s to %s" fabbr nabbr))) | 3907 | (msg (format "Renaming %s to %s" fabbr nabbr))) |
| 3907 | (ange-ftp-copy-file-internal filename newname t nil msg) | 3908 | (ange-ftp-copy-file-internal filename newname t nil msg) |
| 3908 | (let (ange-ftp-process-verbose) | 3909 | (let (ange-ftp-process-verbose) |
| 3909 | (delete-file filename 'force)))) | 3910 | (delete-file filename)))) |
| 3910 | 3911 | ||
| 3911 | (defun ange-ftp-rename-remote-to-local (filename newname) | 3912 | (defun ange-ftp-rename-remote-to-local (filename newname) |
| 3912 | "Rename remote file FILENAME to local file NEWNAME." | 3913 | "Rename remote file FILENAME to local file NEWNAME." |
| @@ -3915,7 +3916,7 @@ E.g., | |||
| 3915 | (msg (format "Renaming %s to %s" fabbr nabbr))) | 3916 | (msg (format "Renaming %s to %s" fabbr nabbr))) |
| 3916 | (ange-ftp-copy-file-internal filename newname t nil msg) | 3917 | (ange-ftp-copy-file-internal filename newname t nil msg) |
| 3917 | (let (ange-ftp-process-verbose) | 3918 | (let (ange-ftp-process-verbose) |
| 3918 | (delete-file filename 'force)))) | 3919 | (delete-file filename)))) |
| 3919 | 3920 | ||
| 3920 | (defun ange-ftp-rename-file (filename newname &optional ok-if-already-exists) | 3921 | (defun ange-ftp-rename-file (filename newname &optional ok-if-already-exists) |
| 3921 | (interactive "fRename file: \nFRename %s to file: \np") | 3922 | (interactive "fRename file: \nFRename %s to file: \np") |
| @@ -4196,7 +4197,7 @@ directory, so that Emacs will know its current contents." | |||
| 4196 | (if copy | 4197 | (if copy |
| 4197 | (unwind-protect | 4198 | (unwind-protect |
| 4198 | (funcall 'load copy noerror nomessage nosuffix) | 4199 | (funcall 'load copy noerror nomessage nosuffix) |
| 4199 | (delete-file copy 'force)) | 4200 | (delete-file copy)) |
| 4200 | (or noerror | 4201 | (or noerror |
| 4201 | (signal 'file-error (list "Cannot open load file" file))) | 4202 | (signal 'file-error (list "Cannot open load file" file))) |
| 4202 | nil)) | 4203 | nil)) |
| @@ -4267,7 +4268,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.") | |||
| 4267 | (if (zerop (buffer-size)) | 4268 | (if (zerop (buffer-size)) |
| 4268 | (progn | 4269 | (progn |
| 4269 | (let (ange-ftp-process-verbose) | 4270 | (let (ange-ftp-process-verbose) |
| 4270 | (delete-file file 'force)) | 4271 | (delete-file file)) |
| 4271 | (ange-ftp-copy-file-internal tmp2 nfile t nil msg2)))) | 4272 | (ange-ftp-copy-file-internal tmp2 nfile t nil msg2)))) |
| 4272 | (ange-ftp-del-tmp-name tmp1) | 4273 | (ange-ftp-del-tmp-name tmp1) |
| 4273 | (ange-ftp-del-tmp-name tmp2)))) | 4274 | (ange-ftp-del-tmp-name tmp2)))) |
| @@ -4303,7 +4304,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.") | |||
| 4303 | (if (zerop (buffer-size)) | 4304 | (if (zerop (buffer-size)) |
| 4304 | (progn | 4305 | (progn |
| 4305 | (let (ange-ftp-process-verbose) | 4306 | (let (ange-ftp-process-verbose) |
| 4306 | (delete-file file 'force)) | 4307 | (delete-file file)) |
| 4307 | (ange-ftp-copy-file-internal tmp2 nfile t nil msg2)))) | 4308 | (ange-ftp-copy-file-internal tmp2 nfile t nil msg2)))) |
| 4308 | (ange-ftp-del-tmp-name tmp1) | 4309 | (ange-ftp-del-tmp-name tmp1) |
| 4309 | (ange-ftp-del-tmp-name tmp2)))) | 4310 | (ange-ftp-del-tmp-name tmp2)))) |
diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el index a9c4a478c06..530a8693490 100644 --- a/lisp/net/tramp-compat.el +++ b/lisp/net/tramp-compat.el | |||
| @@ -334,23 +334,18 @@ Add the extension of FILENAME, if existing." | |||
| 334 | (if keep-time | 334 | (if keep-time |
| 335 | (set-file-times newname (nth 5 (file-attributes directory)))))))) | 335 | (set-file-times newname (nth 5 (file-attributes directory)))))))) |
| 336 | 336 | ||
| 337 | ;; FORCE has been introduced with Emacs 24.1. | 337 | ;; TRASH has been introduced with Emacs 24.1. |
| 338 | (defun tramp-compat-delete-file (filename &optional force) | 338 | (defun tramp-compat-delete-file (filename &optional trash) |
| 339 | "Like `delete-file' for Tramp files (compat function)." | 339 | "Like `delete-file' for Tramp files (compat function)." |
| 340 | (if (null force) | 340 | (condition-case nil |
| 341 | (delete-file filename) | 341 | (tramp-compat-funcall 'delete-file filename trash) |
| 342 | (condition-case nil | 342 | ;; This Emacs version does not support the TRASH flag. |
| 343 | (tramp-compat-funcall 'delete-file filename force) | 343 | (wrong-number-of-arguments |
| 344 | ;; This Emacs version does not support the FORCE flag. Setting | 344 | (let ((delete-by-moving-to-trash |
| 345 | ;; `delete-by-moving-to-trash' shall give us the same effect. | 345 | (and (boundp 'delete-by-moving-to-trash) |
| 346 | (wrong-number-of-arguments | 346 | delete-by-moving-to-trash |
| 347 | (let ((delete-by-moving-to-trash | 347 | trash))) |
| 348 | (cond | 348 | (delete-file filename))))) |
| 349 | ((null force) t) | ||
| 350 | ((boundp 'delete-by-moving-to-trash) | ||
| 351 | (symbol-value 'delete-by-moving-to-trash)) | ||
| 352 | (t nil)))) | ||
| 353 | (delete-file filename)))))) | ||
| 354 | 349 | ||
| 355 | ;; RECURSIVE has been introduced with Emacs 23.2. | 350 | ;; RECURSIVE has been introduced with Emacs 23.2. |
| 356 | (defun tramp-compat-delete-directory (directory &optional recursive) | 351 | (defun tramp-compat-delete-directory (directory &optional recursive) |
diff --git a/lisp/net/tramp-fish.el b/lisp/net/tramp-fish.el index c7617252288..db5c8ad0b48 100644 --- a/lisp/net/tramp-fish.el +++ b/lisp/net/tramp-fish.el | |||
| @@ -326,16 +326,16 @@ pass to the OPERATION." | |||
| 326 | (lambda (file) | 326 | (lambda (file) |
| 327 | (if (file-directory-p file) | 327 | (if (file-directory-p file) |
| 328 | (tramp-compat-delete-directory file recursive) | 328 | (tramp-compat-delete-directory file recursive) |
| 329 | (delete-file file))) | 329 | (tramp-compat-delete-file file))) |
| 330 | ;; We do not want to delete "." and "..". | 330 | ;; We do not want to delete "." and "..". |
| 331 | (directory-files | 331 | (directory-files |
| 332 | directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))) | 332 | directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))) |
| 333 | (with-parsed-tramp-file-name | 333 | (with-parsed-tramp-file-name |
| 334 | (directory-file-name (expand-file-name directory)) nil | 334 | (directory-file-name (expand-file-name directory)) nil |
| 335 | (tramp-flush-directory-property v localname) | 335 | (tramp-flush-directory-property v localname) |
| 336 | (tramp-fish-send-command-and-check v (format "#RMD %s" localname))))) | 336 | (tramp-fish-send-command-and-check v (format "#RMD %s" localname))))) |
| 337 | 337 | ||
| 338 | (defun tramp-fish-handle-delete-file (filename &optional force) | 338 | (defun tramp-fish-handle-delete-file (filename &optional trash) |
| 339 | "Like `delete-file' for Tramp files." | 339 | "Like `delete-file' for Tramp files." |
| 340 | (when (file-exists-p filename) | 340 | (when (file-exists-p filename) |
| 341 | (with-parsed-tramp-file-name (expand-file-name filename) nil | 341 | (with-parsed-tramp-file-name (expand-file-name filename) nil |
| @@ -660,7 +660,7 @@ target of the symlink differ." | |||
| 660 | localname))))) | 660 | localname))))) |
| 661 | (tramp-error | 661 | (tramp-error |
| 662 | v 'file-already-exists "File %s already exists" localname) | 662 | v 'file-already-exists "File %s already exists" localname) |
| 663 | (tramp-compat-delete-file linkname 'force))) | 663 | (tramp-compat-delete-file linkname))) |
| 664 | 664 | ||
| 665 | ;; If FILENAME is a Tramp name, use just the localname component. | 665 | ;; If FILENAME is a Tramp name, use just the localname component. |
| 666 | (when (tramp-tramp-file-p filename) | 666 | (when (tramp-tramp-file-p filename) |
| @@ -839,8 +839,8 @@ target of the symlink differ." | |||
| 839 | ;; Provide error file. | 839 | ;; Provide error file. |
| 840 | (when tmpstderr (rename-file tmpstderr (cadr destination) t)) | 840 | (when tmpstderr (rename-file tmpstderr (cadr destination) t)) |
| 841 | ;; Cleanup. | 841 | ;; Cleanup. |
| 842 | (when tmpinput (tramp-compat-delete-file tmpinput 'force)) | 842 | (when tmpinput (tramp-compat-delete-file tmpinput)) |
| 843 | (when tmpoutput (tramp-compat-delete-file tmpoutput 'force)) | 843 | (when tmpoutput (tramp-compat-delete-file tmpoutput)) |
| 844 | ;; Return exit status. | 844 | ;; Return exit status. |
| 845 | ret))) | 845 | ret))) |
| 846 | 846 | ||
diff --git a/lisp/net/tramp-ftp.el b/lisp/net/tramp-ftp.el index 17cd6216c78..ca421cbaaa6 100644 --- a/lisp/net/tramp-ftp.el +++ b/lisp/net/tramp-ftp.el | |||
| @@ -182,7 +182,7 @@ pass to the OPERATION." | |||
| 182 | (unwind-protect | 182 | (unwind-protect |
| 183 | (rename-file tmpfile newname (car args)) | 183 | (rename-file tmpfile newname (car args)) |
| 184 | ;; Cleanup. | 184 | ;; Cleanup. |
| 185 | (ignore-errors (tramp-compat-delete-file tmpfile 'force))))) | 185 | (ignore-errors (tramp-compat-delete-file tmpfile))))) |
| 186 | 186 | ||
| 187 | ;; Normally, the handlers must be discarded. | 187 | ;; Normally, the handlers must be discarded. |
| 188 | ;; `inhibit-file-name-handlers' isn't sufficient, because the | 188 | ;; `inhibit-file-name-handlers' isn't sufficient, because the |
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el index 2cad20e4cfb..25dae77544d 100644 --- a/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el | |||
| @@ -533,9 +533,9 @@ is no information where to trace the message.") | |||
| 533 | (tramp-compat-delete-directory | 533 | (tramp-compat-delete-directory |
| 534 | (tramp-gvfs-fuse-file-name directory) recursive)) | 534 | (tramp-gvfs-fuse-file-name directory) recursive)) |
| 535 | 535 | ||
| 536 | (defun tramp-gvfs-handle-delete-file (filename &optional force) | 536 | (defun tramp-gvfs-handle-delete-file (filename &optional tramp) |
| 537 | "Like `delete-file' for Tramp files." | 537 | "Like `delete-file' for Tramp files." |
| 538 | (tramp-compat-delete-file (tramp-gvfs-fuse-file-name filename) force)) | 538 | (tramp-compat-delete-file (tramp-gvfs-fuse-file-name filename) tramp)) |
| 539 | 539 | ||
| 540 | (defun tramp-gvfs-handle-directory-files | 540 | (defun tramp-gvfs-handle-directory-files |
| 541 | (directory &optional full match nosort) | 541 | (directory &optional full match nosort) |
| @@ -742,7 +742,7 @@ is no information where to trace the message.") | |||
| 742 | "gvfs-save" tmpfile (tramp-get-buffer v) nil | 742 | "gvfs-save" tmpfile (tramp-get-buffer v) nil |
| 743 | (tramp-gvfs-url-file-name filename))) | 743 | (tramp-gvfs-url-file-name filename))) |
| 744 | (signal (car err) (cdr err))) | 744 | (signal (car err) (cdr err))) |
| 745 | (tramp-compat-delete-file tmpfile 'force))))) | 745 | (tramp-compat-delete-file tmpfile))))) |
| 746 | 746 | ||
| 747 | ;; Set file modification time. | 747 | ;; Set file modification time. |
| 748 | (when (or (eq visit t) (stringp visit)) | 748 | (when (or (eq visit t) (stringp visit)) |
diff --git a/lisp/net/tramp-imap.el b/lisp/net/tramp-imap.el index e1e91365792..de8e58e7491 100644 --- a/lisp/net/tramp-imap.el +++ b/lisp/net/tramp-imap.el | |||
| @@ -268,7 +268,7 @@ of `copy' and `rename'." | |||
| 268 | (write-region (point-min) (point-max) newname))))) | 268 | (write-region (point-min) (point-max) newname))))) |
| 269 | 269 | ||
| 270 | (when (eq op 'rename) | 270 | (when (eq op 'rename) |
| 271 | (tramp-compat-delete-file filename 'force)))) | 271 | (tramp-compat-delete-file filename)))) |
| 272 | 272 | ||
| 273 | ;; TODO: revise this much | 273 | ;; TODO: revise this much |
| 274 | (defun tramp-imap-handle-expand-file-name (name &optional dir) | 274 | (defun tramp-imap-handle-expand-file-name (name &optional dir) |
| @@ -552,7 +552,7 @@ SIZE MODE WEIRD INODE DEVICE)." | |||
| 552 | ;; (file-exists-p (file-name-directory filename))) | 552 | ;; (file-exists-p (file-name-directory filename))) |
| 553 | (file-directory-p (file-name-directory filename))) | 553 | (file-directory-p (file-name-directory filename))) |
| 554 | 554 | ||
| 555 | (defun tramp-imap-handle-delete-file (filename &optional force) | 555 | (defun tramp-imap-handle-delete-file (filename &optional trash) |
| 556 | "Like `delete-file' for Tramp files." | 556 | "Like `delete-file' for Tramp files." |
| 557 | (cond | 557 | (cond |
| 558 | ((not (file-exists-p filename)) nil) | 558 | ((not (file-exists-p filename)) nil) |
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index 00b282b83e3..54cccb49053 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el | |||
| @@ -345,7 +345,7 @@ PRESERVE-UID-GID is completely ignored." | |||
| 345 | (condition-case err | 345 | (condition-case err |
| 346 | (rename-file tmpfile newname ok-if-already-exists) | 346 | (rename-file tmpfile newname ok-if-already-exists) |
| 347 | ((error quit) | 347 | ((error quit) |
| 348 | (tramp-compat-delete-file tmpfile 'force) | 348 | (tramp-compat-delete-file tmpfile) |
| 349 | (signal (car err) (cdr err)))) | 349 | (signal (car err) (cdr err)))) |
| 350 | 350 | ||
| 351 | ;; Remote newname. | 351 | ;; Remote newname. |
| @@ -382,7 +382,7 @@ PRESERVE-UID-GID is completely ignored." | |||
| 382 | (lambda (file) | 382 | (lambda (file) |
| 383 | (if (file-directory-p file) | 383 | (if (file-directory-p file) |
| 384 | (tramp-compat-delete-directory file recursive) | 384 | (tramp-compat-delete-directory file recursive) |
| 385 | (delete-file file))) | 385 | (tramp-compat-delete-file file t))) |
| 386 | ;; We do not want to delete "." and "..". | 386 | ;; We do not want to delete "." and "..". |
| 387 | (directory-files | 387 | (directory-files |
| 388 | directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))) | 388 | directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))) |
| @@ -404,7 +404,7 @@ PRESERVE-UID-GID is completely ignored." | |||
| 404 | (tramp-error | 404 | (tramp-error |
| 405 | v 'file-error "%s `%s'" (match-string 0) directory)))))) | 405 | v 'file-error "%s `%s'" (match-string 0) directory)))))) |
| 406 | 406 | ||
| 407 | (defun tramp-smb-handle-delete-file (filename &optional force) | 407 | (defun tramp-smb-handle-delete-file (filename &optional trash) |
| 408 | "Like `delete-file' for Tramp files." | 408 | "Like `delete-file' for Tramp files." |
| 409 | (setq filename (expand-file-name filename)) | 409 | (setq filename (expand-file-name filename)) |
| 410 | (when (file-exists-p filename) | 410 | (when (file-exists-p filename) |
| @@ -611,7 +611,7 @@ PRESERVE-UID-GID is completely ignored." | |||
| 611 | v (format "get \"%s\" \"%s\"" | 611 | v (format "get \"%s\" \"%s\"" |
| 612 | (tramp-smb-get-localname v) tmpfile)) | 612 | (tramp-smb-get-localname v) tmpfile)) |
| 613 | ;; Oops, an error. We shall cleanup. | 613 | ;; Oops, an error. We shall cleanup. |
| 614 | (tramp-compat-delete-file tmpfile 'force) | 614 | (tramp-compat-delete-file tmpfile) |
| 615 | (tramp-error | 615 | (tramp-error |
| 616 | v 'file-error "Cannot make local copy of file `%s'" filename))) | 616 | v 'file-error "Cannot make local copy of file `%s'" filename))) |
| 617 | tmpfile))) | 617 | tmpfile))) |
| @@ -861,7 +861,7 @@ target of the symlink differ." | |||
| 861 | (condition-case err | 861 | (condition-case err |
| 862 | (rename-file tmpfile newname ok-if-already-exists) | 862 | (rename-file tmpfile newname ok-if-already-exists) |
| 863 | ((error quit) | 863 | ((error quit) |
| 864 | (tramp-compat-delete-file tmpfile 'force) | 864 | (tramp-compat-delete-file tmpfile) |
| 865 | (signal (car err) (cdr err)))) | 865 | (signal (car err) (cdr err)))) |
| 866 | 866 | ||
| 867 | ;; Remote newname. | 867 | ;; Remote newname. |
| @@ -882,7 +882,7 @@ target of the symlink differ." | |||
| 882 | filename (tramp-smb-get-localname v))) | 882 | filename (tramp-smb-get-localname v))) |
| 883 | (tramp-error v 'file-error "Cannot rename `%s'" filename))))) | 883 | (tramp-error v 'file-error "Cannot rename `%s'" filename))))) |
| 884 | 884 | ||
| 885 | (tramp-compat-delete-file filename 'force))) | 885 | (tramp-compat-delete-file filename))) |
| 886 | 886 | ||
| 887 | (defun tramp-smb-handle-set-file-modes (filename mode) | 887 | (defun tramp-smb-handle-set-file-modes (filename mode) |
| 888 | "Like `set-file-modes' for Tramp files." | 888 | "Like `set-file-modes' for Tramp files." |
| @@ -946,7 +946,7 @@ errors for shares like \"C$/\", which are common in Microsoft Windows." | |||
| 946 | v (format "put %s \"%s\"" | 946 | v (format "put %s \"%s\"" |
| 947 | tmpfile (tramp-smb-get-localname v))) | 947 | tmpfile (tramp-smb-get-localname v))) |
| 948 | (tramp-error v 'file-error "Cannot write `%s'" filename)) | 948 | (tramp-error v 'file-error "Cannot write `%s'" filename)) |
| 949 | (tramp-compat-delete-file tmpfile 'force))) | 949 | (tramp-compat-delete-file tmpfile))) |
| 950 | 950 | ||
| 951 | (unless (equal curbuf (current-buffer)) | 951 | (unless (equal curbuf (current-buffer)) |
| 952 | (tramp-error | 952 | (tramp-error |
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 91b35481730..a1aed599ae9 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -2544,7 +2544,7 @@ target of the symlink differ." | |||
| 2544 | l-localname))))) | 2544 | l-localname))))) |
| 2545 | (tramp-error | 2545 | (tramp-error |
| 2546 | l 'file-already-exists "File %s already exists" l-localname) | 2546 | l 'file-already-exists "File %s already exists" l-localname) |
| 2547 | (tramp-compat-delete-file linkname 'force))) | 2547 | (tramp-compat-delete-file linkname))) |
| 2548 | 2548 | ||
| 2549 | ;; If FILENAME is a Tramp name, use just the localname component. | 2549 | ;; If FILENAME is a Tramp name, use just the localname component. |
| 2550 | (when (tramp-tramp-file-p filename) | 2550 | (when (tramp-tramp-file-p filename) |
| @@ -2593,7 +2593,7 @@ target of the symlink differ." | |||
| 2593 | ;; MUST-SUFFIX doesn't exist on XEmacs, so let it default to nil. | 2593 | ;; MUST-SUFFIX doesn't exist on XEmacs, so let it default to nil. |
| 2594 | (unwind-protect | 2594 | (unwind-protect |
| 2595 | (load local-copy noerror t t) | 2595 | (load local-copy noerror t t) |
| 2596 | (tramp-compat-delete-file local-copy 'force))))) | 2596 | (tramp-compat-delete-file local-copy))))) |
| 2597 | t))) | 2597 | t))) |
| 2598 | 2598 | ||
| 2599 | ;; Localname manipulation functions that grok Tramp localnames... | 2599 | ;; Localname manipulation functions that grok Tramp localnames... |
| @@ -3769,7 +3769,7 @@ KEEP-DATE is non-nil if NEWNAME should have the same timestamp as FILENAME." | |||
| 3769 | ;; Set the mode. | 3769 | ;; Set the mode. |
| 3770 | (set-file-modes newname (tramp-default-file-modes filename)) | 3770 | (set-file-modes newname (tramp-default-file-modes filename)) |
| 3771 | ;; If the operation was `rename', delete the original file. | 3771 | ;; If the operation was `rename', delete the original file. |
| 3772 | (unless (eq op 'copy) (tramp-compat-delete-file filename 'force))) | 3772 | (unless (eq op 'copy) (tramp-compat-delete-file filename))) |
| 3773 | 3773 | ||
| 3774 | (defun tramp-do-copy-or-rename-file-directly | 3774 | (defun tramp-do-copy-or-rename-file-directly |
| 3775 | (op filename newname ok-if-already-exists keep-date preserve-uid-gid) | 3775 | (op filename newname ok-if-already-exists keep-date preserve-uid-gid) |
| @@ -3924,7 +3924,7 @@ the uid and gid from FILENAME." | |||
| 3924 | 3924 | ||
| 3925 | ;; Save exit. | 3925 | ;; Save exit. |
| 3926 | (condition-case nil | 3926 | (condition-case nil |
| 3927 | (tramp-compat-delete-file tmpfile 'force) | 3927 | (tramp-compat-delete-file tmpfile) |
| 3928 | (error))))))))) | 3928 | (error))))))))) |
| 3929 | 3929 | ||
| 3930 | ;; Set the time and mode. Mask possible errors. | 3930 | ;; Set the time and mode. Mask possible errors. |
| @@ -3964,7 +3964,7 @@ The method used must be an out-of-band method." | |||
| 3964 | (if dir-flag | 3964 | (if dir-flag |
| 3965 | (tramp-compat-delete-directory | 3965 | (tramp-compat-delete-directory |
| 3966 | (expand-file-name ".." tmpfile) 'recursive) | 3966 | (expand-file-name ".." tmpfile) 'recursive) |
| 3967 | (tramp-compat-delete-file tmpfile 'force)) | 3967 | (tramp-compat-delete-file tmpfile)) |
| 3968 | (error)))) | 3968 | (error)))) |
| 3969 | 3969 | ||
| 3970 | ;; Expand hops. Might be necessary for gateway methods. | 3970 | ;; Expand hops. Might be necessary for gateway methods. |
| @@ -4082,7 +4082,7 @@ The method used must be an out-of-band method." | |||
| 4082 | ;; If the operation was `rename', delete the original file. | 4082 | ;; If the operation was `rename', delete the original file. |
| 4083 | (unless (eq op 'copy) | 4083 | (unless (eq op 'copy) |
| 4084 | (if (file-regular-p filename) | 4084 | (if (file-regular-p filename) |
| 4085 | (tramp-compat-delete-file filename 'force) | 4085 | (tramp-compat-delete-file filename) |
| 4086 | (tramp-compat-delete-directory filename 'recursive)))))) | 4086 | (tramp-compat-delete-directory filename 'recursive)))))) |
| 4087 | 4087 | ||
| 4088 | (defun tramp-handle-make-directory (dir &optional parents) | 4088 | (defun tramp-handle-make-directory (dir &optional parents) |
| @@ -4112,7 +4112,7 @@ The method used must be an out-of-band method." | |||
| 4112 | (tramp-shell-quote-argument localname)))) | 4112 | (tramp-shell-quote-argument localname)))) |
| 4113 | (tramp-error v 'file-error "Couldn't delete %s" directory)))) | 4113 | (tramp-error v 'file-error "Couldn't delete %s" directory)))) |
| 4114 | 4114 | ||
| 4115 | (defun tramp-handle-delete-file (filename &optional force) | 4115 | (defun tramp-handle-delete-file (filename &optional trash) |
| 4116 | "Like `delete-file' for Tramp files." | 4116 | "Like `delete-file' for Tramp files." |
| 4117 | (setq filename (expand-file-name filename)) | 4117 | (setq filename (expand-file-name filename)) |
| 4118 | (with-parsed-tramp-file-name filename nil | 4118 | (with-parsed-tramp-file-name filename nil |
| @@ -4629,7 +4629,7 @@ beginning of local filename are not substituted." | |||
| 4629 | 4629 | ||
| 4630 | ;; Cleanup. We remove all file cache values for the connection, | 4630 | ;; Cleanup. We remove all file cache values for the connection, |
| 4631 | ;; because the remote process could have changed them. | 4631 | ;; because the remote process could have changed them. |
| 4632 | (when tmpinput (tramp-compat-delete-file tmpinput 'force)) | 4632 | (when tmpinput (tramp-compat-delete-file tmpinput)) |
| 4633 | 4633 | ||
| 4634 | ;; `process-file-side-effects' has been introduced with GNU | 4634 | ;; `process-file-side-effects' has been introduced with GNU |
| 4635 | ;; Emacs 23.2. If set to `nil', no remote file will be changed | 4635 | ;; Emacs 23.2. If set to `nil', no remote file will be changed |
| @@ -4666,7 +4666,7 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1." | |||
| 4666 | (when delete (delete-region start end)) | 4666 | (when delete (delete-region start end)) |
| 4667 | (unwind-protect | 4667 | (unwind-protect |
| 4668 | (apply 'call-process program tmpfile buffer display args) | 4668 | (apply 'call-process program tmpfile buffer display args) |
| 4669 | (tramp-compat-delete-file tmpfile 'force)))) | 4669 | (tramp-compat-delete-file tmpfile)))) |
| 4670 | 4670 | ||
| 4671 | (defun tramp-handle-shell-command | 4671 | (defun tramp-handle-shell-command |
| 4672 | (command &optional output-buffer error-buffer) | 4672 | (command &optional output-buffer error-buffer) |
| @@ -4731,7 +4731,7 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1." | |||
| 4731 | (when (listp buffer) | 4731 | (when (listp buffer) |
| 4732 | (with-current-buffer error-buffer | 4732 | (with-current-buffer error-buffer |
| 4733 | (insert-file-contents (cadr buffer))) | 4733 | (insert-file-contents (cadr buffer))) |
| 4734 | (tramp-compat-delete-file (cadr buffer) 'force)) | 4734 | (tramp-compat-delete-file (cadr buffer))) |
| 4735 | (if current-buffer-p | 4735 | (if current-buffer-p |
| 4736 | ;; This is like exchange-point-and-mark, but doesn't | 4736 | ;; This is like exchange-point-and-mark, but doesn't |
| 4737 | ;; activate the mark. It is cleaner to avoid activation, | 4737 | ;; activate the mark. It is cleaner to avoid activation, |
| @@ -4813,7 +4813,7 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1." | |||
| 4813 | (unwind-protect | 4813 | (unwind-protect |
| 4814 | (tramp-call-local-coding-command | 4814 | (tramp-call-local-coding-command |
| 4815 | loc-dec tmpfile2 tmpfile) | 4815 | loc-dec tmpfile2 tmpfile) |
| 4816 | (tramp-compat-delete-file tmpfile2 'force))))) | 4816 | (tramp-compat-delete-file tmpfile2))))) |
| 4817 | 4817 | ||
| 4818 | ;; Set proper permissions. | 4818 | ;; Set proper permissions. |
| 4819 | (set-file-modes tmpfile (tramp-default-file-modes filename)) | 4819 | (set-file-modes tmpfile (tramp-default-file-modes filename)) |
| @@ -4826,7 +4826,7 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1." | |||
| 4826 | 4826 | ||
| 4827 | ;; Error handling. | 4827 | ;; Error handling. |
| 4828 | ((error quit) | 4828 | ((error quit) |
| 4829 | (tramp-compat-delete-file tmpfile 'force) | 4829 | (tramp-compat-delete-file tmpfile) |
| 4830 | (signal (car err) (cdr err)))) | 4830 | (signal (car err) (cdr err)))) |
| 4831 | 4831 | ||
| 4832 | (run-hooks 'tramp-handle-file-local-copy-hook) | 4832 | (run-hooks 'tramp-handle-file-local-copy-hook) |
| @@ -4961,11 +4961,10 @@ coding system might not be determined. This function repairs it." | |||
| 4961 | (set-buffer-modified-p nil)) | 4961 | (set-buffer-modified-p nil)) |
| 4962 | (when (and (stringp local-copy) | 4962 | (when (and (stringp local-copy) |
| 4963 | (or remote-copy (null tramp-temp-buffer-file-name))) | 4963 | (or remote-copy (null tramp-temp-buffer-file-name))) |
| 4964 | (tramp-compat-delete-file local-copy 'force)) | 4964 | (tramp-compat-delete-file local-copy)) |
| 4965 | (when (stringp remote-copy) | 4965 | (when (stringp remote-copy) |
| 4966 | (tramp-compat-delete-file | 4966 | (tramp-compat-delete-file |
| 4967 | (tramp-make-tramp-file-name method user host remote-copy) | 4967 | (tramp-make-tramp-file-name method user host remote-copy)))))) |
| 4968 | 'force))))) | ||
| 4969 | 4968 | ||
| 4970 | ;; Result. | 4969 | ;; Result. |
| 4971 | (list (expand-file-name filename) | 4970 | (list (expand-file-name filename) |
| @@ -5155,7 +5154,7 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file." | |||
| 5155 | (list start end tmpfile append 'no-message lockname confirm)) | 5154 | (list start end tmpfile append 'no-message lockname confirm)) |
| 5156 | ((error quit) | 5155 | ((error quit) |
| 5157 | (setq tramp-temp-buffer-file-name nil) | 5156 | (setq tramp-temp-buffer-file-name nil) |
| 5158 | (tramp-compat-delete-file tmpfile 'force) | 5157 | (tramp-compat-delete-file tmpfile) |
| 5159 | (signal (car err) (cdr err)))) | 5158 | (signal (car err) (cdr err)))) |
| 5160 | 5159 | ||
| 5161 | ;; Now, `last-coding-system-used' has the right value. Remember it. | 5160 | ;; Now, `last-coding-system-used' has the right value. Remember it. |
| @@ -5199,13 +5198,13 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file." | |||
| 5199 | (copy-file tmpfile filename t) | 5198 | (copy-file tmpfile filename t) |
| 5200 | ((error quit) | 5199 | ((error quit) |
| 5201 | (setq tramp-temp-buffer-file-name nil) | 5200 | (setq tramp-temp-buffer-file-name nil) |
| 5202 | (tramp-compat-delete-file tmpfile 'force) | 5201 | (tramp-compat-delete-file tmpfile) |
| 5203 | (signal (car err) (cdr err))))) | 5202 | (signal (car err) (cdr err))))) |
| 5204 | (setq tramp-temp-buffer-file-name nil) | 5203 | (setq tramp-temp-buffer-file-name nil) |
| 5205 | ;; Don't rename, in order to keep context in SELinux. | 5204 | ;; Don't rename, in order to keep context in SELinux. |
| 5206 | (unwind-protect | 5205 | (unwind-protect |
| 5207 | (copy-file tmpfile filename t) | 5206 | (copy-file tmpfile filename t) |
| 5208 | (tramp-compat-delete-file tmpfile 'force)))) | 5207 | (tramp-compat-delete-file tmpfile)))) |
| 5209 | 5208 | ||
| 5210 | ;; Use inline file transfer. | 5209 | ;; Use inline file transfer. |
| 5211 | (rem-dec | 5210 | (rem-dec |
| @@ -5290,7 +5289,7 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file." | |||
| 5290 | filename rem-dec))))) | 5289 | filename rem-dec))))) |
| 5291 | 5290 | ||
| 5292 | ;; Save exit. | 5291 | ;; Save exit. |
| 5293 | (tramp-compat-delete-file tmpfile 'force))) | 5292 | (tramp-compat-delete-file tmpfile))) |
| 5294 | 5293 | ||
| 5295 | ;; That's not expected. | 5294 | ;; That's not expected. |
| 5296 | (t | 5295 | (t |
| @@ -6373,7 +6372,7 @@ hosts, or files, disagree." | |||
| 6373 | "Remove temporary files related to current buffer." | 6372 | "Remove temporary files related to current buffer." |
| 6374 | (when (stringp tramp-temp-buffer-file-name) | 6373 | (when (stringp tramp-temp-buffer-file-name) |
| 6375 | (condition-case nil | 6374 | (condition-case nil |
| 6376 | (tramp-compat-delete-file tramp-temp-buffer-file-name 'force) | 6375 | (tramp-compat-delete-file tramp-temp-buffer-file-name) |
| 6377 | (error nil)))) | 6376 | (error nil)))) |
| 6378 | 6377 | ||
| 6379 | (add-hook 'kill-buffer-hook 'tramp-delete-temp-file-function) | 6378 | (add-hook 'kill-buffer-hook 'tramp-delete-temp-file-function) |
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el index bf9d4b8da47..5e7699b3543 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el | |||
| @@ -2446,12 +2446,12 @@ See also `verilog-font-lock-extra-types'.") | |||
| 2446 | (list | 2446 | (list |
| 2447 | (concat "\\<function\\>\\s-+\\(integer\\|real\\(time\\)?\\|time\\)\\s-+\\(\\sw+\\)" ) | 2447 | (concat "\\<function\\>\\s-+\\(integer\\|real\\(time\\)?\\|time\\)\\s-+\\(\\sw+\\)" ) |
| 2448 | '(1 font-lock-keyword-face) | 2448 | '(1 font-lock-keyword-face) |
| 2449 | '(3 font-lock-reference-face prepend)) | 2449 | '(3 font-lock-constant-face prepend)) |
| 2450 | '("\\<function\\>\\s-+\\(\\[[^]]+\\]\\)\\s-+\\(\\sw+\\)" | 2450 | '("\\<function\\>\\s-+\\(\\[[^]]+\\]\\)\\s-+\\(\\sw+\\)" |
| 2451 | (1 font-lock-keyword-face) | 2451 | (1 font-lock-keyword-face) |
| 2452 | (2 font-lock-reference-face append)) | 2452 | (2 font-lock-constant-face append)) |
| 2453 | '("\\<function\\>\\s-+\\(\\sw+\\)" | 2453 | '("\\<function\\>\\s-+\\(\\sw+\\)" |
| 2454 | 1 'font-lock-reference-face append)))) | 2454 | 1 'font-lock-constant-face append)))) |
| 2455 | 2455 | ||
| 2456 | (setq verilog-font-lock-keywords-2 | 2456 | (setq verilog-font-lock-keywords-2 |
| 2457 | (append verilog-font-lock-keywords-1 | 2457 | (append verilog-font-lock-keywords-1 |
diff --git a/lisp/server.el b/lisp/server.el index 6b5f2486332..fd2026c4ab8 100644 --- a/lisp/server.el +++ b/lisp/server.el | |||
| @@ -345,7 +345,7 @@ If CLIENT is non-nil, add a description of it to the logged message." | |||
| 345 | (and (process-contact proc :server) | 345 | (and (process-contact proc :server) |
| 346 | (eq (process-status proc) 'closed) | 346 | (eq (process-status proc) 'closed) |
| 347 | (ignore-errors | 347 | (ignore-errors |
| 348 | (delete-file (process-get proc :server-file) t))) | 348 | (delete-file (process-get proc :server-file)))) |
| 349 | (server-log (format "Status changed to %s: %s" (process-status proc) msg) proc) | 349 | (server-log (format "Status changed to %s: %s" (process-status proc) msg) proc) |
| 350 | (server-delete-client proc)) | 350 | (server-delete-client proc)) |
| 351 | 351 | ||
diff --git a/lisp/speedbar.el b/lisp/speedbar.el index 60c1ff6b170..5e732b398f3 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el | |||
| @@ -1644,8 +1644,8 @@ Files can be renamed to new names or moved to new directories." | |||
| 1644 | (if (speedbar-y-or-n-p (format "Delete %s? " f) t) | 1644 | (if (speedbar-y-or-n-p (format "Delete %s? " f) t) |
| 1645 | (progn | 1645 | (progn |
| 1646 | (if (file-directory-p f) | 1646 | (if (file-directory-p f) |
| 1647 | (delete-directory f) | 1647 | (delete-directory f t t) |
| 1648 | (delete-file f)) | 1648 | (delete-file f t)) |
| 1649 | (speedbar-message "Okie dokie.") | 1649 | (speedbar-message "Okie dokie.") |
| 1650 | (let ((p (point))) | 1650 | (let ((p (point))) |
| 1651 | (speedbar-refresh) | 1651 | (speedbar-refresh) |
diff --git a/src/ChangeLog b/src/ChangeLog index 2d8948f6a31..eeee6540e68 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -5,6 +5,28 @@ | |||
| 5 | (font_list_entities): Call font_delete_unmatched if | 5 | (font_list_entities): Call font_delete_unmatched if |
| 6 | Vface_ignored_fonts is non-nil. | 6 | Vface_ignored_fonts is non-nil. |
| 7 | 7 | ||
| 8 | 2010-05-28 Glenn Morris <rgm@gnu.org> | ||
| 9 | |||
| 10 | * Makefile.in (LIBES): Remove $LOADLIBES, it is never set. | ||
| 11 | |||
| 12 | 2010-05-27 Chong Yidong <cyd@stupidchicken.com> | ||
| 13 | |||
| 14 | * fileio.c (Fdelete_file): Change meaning of optional arg to mean | ||
| 15 | whether to trash. | ||
| 16 | (internal_delete_file, Frename_file): Callers changed. | ||
| 17 | (delete_by_moving_to_trash): Doc fix. | ||
| 18 | (Fdelete_directory_internal): Don't move to trash. | ||
| 19 | |||
| 20 | * callproc.c (delete_temp_file): | ||
| 21 | * buffer.c (Fkill_buffer): Callers changed. | ||
| 22 | |||
| 23 | * lisp.h: Update prototype. | ||
| 24 | |||
| 25 | 2010-05-27 Chong Yidong <cyd@stupidchicken.com> | ||
| 26 | |||
| 27 | * xdisp.c (redisplay_window): After redisplay, check if point is | ||
| 28 | still valid before setting it (Bug#6177). | ||
| 29 | |||
| 8 | 2010-05-27 Glenn Morris <rgm@gnu.org> | 30 | 2010-05-27 Glenn Morris <rgm@gnu.org> |
| 9 | 31 | ||
| 10 | * Makefile.in, autodeps.mk, deps.mk, ns.mk: | 32 | * Makefile.in, autodeps.mk, deps.mk, ns.mk: |
diff --git a/src/ChangeLog.10 b/src/ChangeLog.10 index 39b70d9b199..24818e6770f 100644 --- a/src/ChangeLog.10 +++ b/src/ChangeLog.10 | |||
| @@ -4645,10 +4645,6 @@ | |||
| 4645 | * image.c: Include "charset.h" and "coding.h". | 4645 | * image.c: Include "charset.h" and "coding.h". |
| 4646 | (x_find_image_file): Return an encoded file name. | 4646 | (x_find_image_file): Return an encoded file name. |
| 4647 | 4647 | ||
| 4648 | 2006-04-01 Eli Zaretskii <eliz@gnu.org> | ||
| 4649 | |||
| 4650 | * configure: Regenerated. | ||
| 4651 | |||
| 4652 | 2006-03-31 Kenichi Handa <handa@m17n.org> | 4648 | 2006-03-31 Kenichi Handa <handa@m17n.org> |
| 4653 | 4649 | ||
| 4654 | * xfns.c (xg_set_icon): Delete superfluous UNGCPRO. | 4650 | * xfns.c (xg_set_icon): Delete superfluous UNGCPRO. |
diff --git a/src/ChangeLog.8 b/src/ChangeLog.8 index 6da7b6862a5..4dd3d0dd071 100644 --- a/src/ChangeLog.8 +++ b/src/ChangeLog.8 | |||
| @@ -4629,9 +4629,6 @@ | |||
| 4629 | 4629 | ||
| 4630 | * Makefile.in (LIBGIF): Use libungif. | 4630 | * Makefile.in (LIBGIF): Use libungif. |
| 4631 | 4631 | ||
| 4632 | * configure.in (HAVE_GIF): Use libungif instead of libgif | ||
| 4633 | because the former doesn't contain patented compression code. | ||
| 4634 | |||
| 4635 | * xdisp.c (compute_window_start_on_continuation_line): Don't | 4632 | * xdisp.c (compute_window_start_on_continuation_line): Don't |
| 4636 | do it if line start is too far away from window start. | 4633 | do it if line start is too far away from window start. |
| 4637 | 4634 | ||
diff --git a/src/Makefile.in b/src/Makefile.in index 0b23606a921..336980f4285 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -581,7 +581,7 @@ SOME_MACHINE_LISP = ../lisp/mouse.elc \ | |||
| 581 | ## Note that SunOS needs -lm to come before -lc; otherwise, you get | 581 | ## Note that SunOS needs -lm to come before -lc; otherwise, you get |
| 582 | ## duplicated symbols. If the standard libraries were compiled | 582 | ## duplicated symbols. If the standard libraries were compiled |
| 583 | ## with GCC, we might need LIB_GCC again after them. | 583 | ## with GCC, we might need LIB_GCC again after them. |
| 584 | LIBES = $(LOADLIBES) $(LIBS) $(LIBX_BASE) $(LIBX_OTHER) $(LIBSOUND) \ | 584 | LIBES = $(LIBS) $(LIBX_BASE) $(LIBX_OTHER) $(LIBSOUND) \ |
| 585 | $(RSVG_LIBS) $(DBUS_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \ | 585 | $(RSVG_LIBS) $(DBUS_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \ |
| 586 | $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) ${GCONF_LIBS} ${LIBSELINUX_LIBS} \ | 586 | $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) ${GCONF_LIBS} ${LIBSELINUX_LIBS} \ |
| 587 | $(FREETYPE_LIBS) $(FONTCONFIG_LIBS) $(LIBOTF_LIBS) $(M17N_FLT_LIBS) \ | 587 | $(FREETYPE_LIBS) $(FONTCONFIG_LIBS) $(LIBOTF_LIBS) $(M17N_FLT_LIBS) \ |
diff --git a/src/buffer.c b/src/buffer.c index 339bc99dcb1..b19286c6ea9 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -1547,7 +1547,7 @@ with SIGHUP. */) | |||
| 1547 | Lisp_Object tem; | 1547 | Lisp_Object tem; |
| 1548 | tem = Fsymbol_value (intern ("delete-auto-save-files")); | 1548 | tem = Fsymbol_value (intern ("delete-auto-save-files")); |
| 1549 | if (! NILP (tem)) | 1549 | if (! NILP (tem)) |
| 1550 | internal_delete_file (b->auto_save_file_name, Qt); | 1550 | internal_delete_file (b->auto_save_file_name); |
| 1551 | } | 1551 | } |
| 1552 | 1552 | ||
| 1553 | if (b->base_buffer) | 1553 | if (b->base_buffer) |
diff --git a/src/callproc.c b/src/callproc.c index 44dd6ed7764..f922433eb42 100644 --- a/src/callproc.c +++ b/src/callproc.c | |||
| @@ -856,7 +856,7 @@ delete_temp_file (name) | |||
| 856 | /* Suppress jka-compr handling, etc. */ | 856 | /* Suppress jka-compr handling, etc. */ |
| 857 | int count = SPECPDL_INDEX (); | 857 | int count = SPECPDL_INDEX (); |
| 858 | specbind (intern ("file-name-handler-alist"), Qnil); | 858 | specbind (intern ("file-name-handler-alist"), Qnil); |
| 859 | internal_delete_file (name, Qt); | 859 | internal_delete_file (name); |
| 860 | unbind_to (count, Qnil); | 860 | unbind_to (count, Qnil); |
| 861 | return Qnil; | 861 | return Qnil; |
| 862 | } | 862 | } |
diff --git a/src/fileio.c b/src/fileio.c index de32bfecd34..d3aea0f1e91 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -2180,12 +2180,7 @@ DEFUN ("delete-directory-internal", Fdelete_directory_internal, | |||
| 2180 | 2180 | ||
| 2181 | CHECK_STRING (directory); | 2181 | CHECK_STRING (directory); |
| 2182 | directory = Fdirectory_file_name (Fexpand_file_name (directory, Qnil)); | 2182 | directory = Fdirectory_file_name (Fexpand_file_name (directory, Qnil)); |
| 2183 | |||
| 2184 | if (delete_by_moving_to_trash) | ||
| 2185 | return call1 (Qmove_file_to_trash, directory); | ||
| 2186 | |||
| 2187 | encoded_dir = ENCODE_FILE (directory); | 2183 | encoded_dir = ENCODE_FILE (directory); |
| 2188 | |||
| 2189 | dir = SDATA (encoded_dir); | 2184 | dir = SDATA (encoded_dir); |
| 2190 | 2185 | ||
| 2191 | if (rmdir (dir) != 0) | 2186 | if (rmdir (dir) != 0) |
| @@ -2195,19 +2190,21 @@ DEFUN ("delete-directory-internal", Fdelete_directory_internal, | |||
| 2195 | } | 2190 | } |
| 2196 | 2191 | ||
| 2197 | DEFUN ("delete-file", Fdelete_file, Sdelete_file, 1, 2, | 2192 | DEFUN ("delete-file", Fdelete_file, Sdelete_file, 1, 2, |
| 2198 | "(list (read-file-name \"Delete file: \" nil default-directory \ | 2193 | "(list (read-file-name \ |
| 2199 | (confirm-nonexistent-file-or-buffer)) \ | 2194 | (if (and delete-by-moving-to-trash (null current-prefix-arg)) \ |
| 2200 | current-prefix-arg)", | 2195 | \"Move file to trash: \" \"Delete file: \") \ |
| 2196 | nil default-directory (confirm-nonexistent-file-or-buffer)) \ | ||
| 2197 | (null current-prefix-arg))", | ||
| 2201 | doc: /* Delete file named FILENAME. If it is a symlink, remove the symlink. | 2198 | doc: /* Delete file named FILENAME. If it is a symlink, remove the symlink. |
| 2202 | If file has multiple names, it continues to exist with the other names. | 2199 | If file has multiple names, it continues to exist with the other names. |
| 2200 | TRASH non-nil means to trash the file instead of deleting, provided | ||
| 2201 | `delete-by-moving-to-trash' is non-nil. | ||
| 2203 | 2202 | ||
| 2204 | If optional arg FORCE is non-nil, really delete the file regardless of | 2203 | When called interactively, TRASH is t if no prefix argument is given. |
| 2205 | `delete-by-moving-to-trash'. Otherwise, \"deleting\" actually moves | 2204 | With a prefix argument, TRASH is nil. */) |
| 2206 | it to the system's trash can if `delete-by-moving-to-trash' is non-nil. | 2205 | (filename, trash) |
| 2207 | Interactively, FORCE is non-nil if called with a prefix arg. */) | ||
| 2208 | (filename, force) | ||
| 2209 | Lisp_Object filename; | 2206 | Lisp_Object filename; |
| 2210 | Lisp_Object force; | 2207 | Lisp_Object trash; |
| 2211 | { | 2208 | { |
| 2212 | Lisp_Object handler; | 2209 | Lisp_Object handler; |
| 2213 | Lisp_Object encoded_file; | 2210 | Lisp_Object encoded_file; |
| @@ -2226,7 +2223,7 @@ Interactively, FORCE is non-nil if called with a prefix arg. */) | |||
| 2226 | if (!NILP (handler)) | 2223 | if (!NILP (handler)) |
| 2227 | return call2 (handler, Qdelete_file, filename); | 2224 | return call2 (handler, Qdelete_file, filename); |
| 2228 | 2225 | ||
| 2229 | if (delete_by_moving_to_trash && NILP (force)) | 2226 | if (delete_by_moving_to_trash && !NILP (trash)) |
| 2230 | return call1 (Qmove_file_to_trash, filename); | 2227 | return call1 (Qmove_file_to_trash, filename); |
| 2231 | 2228 | ||
| 2232 | encoded_file = ENCODE_FILE (filename); | 2229 | encoded_file = ENCODE_FILE (filename); |
| @@ -2244,14 +2241,14 @@ internal_delete_file_1 (ignore) | |||
| 2244 | } | 2241 | } |
| 2245 | 2242 | ||
| 2246 | /* Delete file FILENAME, returning 1 if successful and 0 if failed. | 2243 | /* Delete file FILENAME, returning 1 if successful and 0 if failed. |
| 2247 | FORCE means to ignore `delete-by-moving-to-trash'. */ | 2244 | This ignores `delete-by-moving-to-trash'. */ |
| 2248 | 2245 | ||
| 2249 | int | 2246 | int |
| 2250 | internal_delete_file (Lisp_Object filename, Lisp_Object force) | 2247 | internal_delete_file (Lisp_Object filename) |
| 2251 | { | 2248 | { |
| 2252 | Lisp_Object tem; | 2249 | Lisp_Object tem; |
| 2253 | 2250 | ||
| 2254 | tem = internal_condition_case_2 (Fdelete_file, filename, force, | 2251 | tem = internal_condition_case_2 (Fdelete_file, filename, Qnil, |
| 2255 | Qt, internal_delete_file_1); | 2252 | Qt, internal_delete_file_1); |
| 2256 | return NILP (tem); | 2253 | return NILP (tem); |
| 2257 | } | 2254 | } |
| @@ -2345,7 +2342,7 @@ This is what happens in interactive use with M-x. */) | |||
| 2345 | ) | 2342 | ) |
| 2346 | call2 (Qdelete_directory, file, Qt); | 2343 | call2 (Qdelete_directory, file, Qt); |
| 2347 | else | 2344 | else |
| 2348 | Fdelete_file (file, Qt); | 2345 | Fdelete_file (file, Qnil); |
| 2349 | unbind_to (count, Qnil); | 2346 | unbind_to (count, Qnil); |
| 2350 | } | 2347 | } |
| 2351 | else | 2348 | else |
| @@ -5917,8 +5914,10 @@ A non-nil value may result in data loss! */); | |||
| 5917 | 5914 | ||
| 5918 | DEFVAR_BOOL ("delete-by-moving-to-trash", &delete_by_moving_to_trash, | 5915 | DEFVAR_BOOL ("delete-by-moving-to-trash", &delete_by_moving_to_trash, |
| 5919 | doc: /* Specifies whether to use the system's trash can. | 5916 | doc: /* Specifies whether to use the system's trash can. |
| 5920 | When non-nil, the function `move-file-to-trash' will be used by | 5917 | When non-nil, certain file deletion commands use the function |
| 5921 | `delete-file' and `delete-directory'. */); | 5918 | `move-file-to-trash' instead of deleting files outright. |
| 5919 | This includes interactive calls to `delete-file' and | ||
| 5920 | `delete-directory' and the Dired deletion commands. */); | ||
| 5922 | delete_by_moving_to_trash = 0; | 5921 | delete_by_moving_to_trash = 0; |
| 5923 | Qdelete_by_moving_to_trash = intern_c_string ("delete-by-moving-to-trash"); | 5922 | Qdelete_by_moving_to_trash = intern_c_string ("delete-by-moving-to-trash"); |
| 5924 | Qmove_file_to_trash = intern_c_string ("move-file-to-trash"); | 5923 | Qmove_file_to_trash = intern_c_string ("move-file-to-trash"); |
diff --git a/src/lisp.h b/src/lisp.h index b4ff446b064..e17931ca366 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -3060,7 +3060,7 @@ EXFUN (Fread_file_name, 6); | |||
| 3060 | extern Lisp_Object close_file_unwind P_ ((Lisp_Object)); | 3060 | extern Lisp_Object close_file_unwind P_ ((Lisp_Object)); |
| 3061 | extern Lisp_Object restore_point_unwind P_ ((Lisp_Object)); | 3061 | extern Lisp_Object restore_point_unwind P_ ((Lisp_Object)); |
| 3062 | extern void report_file_error P_ ((const char *, Lisp_Object)) NO_RETURN; | 3062 | extern void report_file_error P_ ((const char *, Lisp_Object)) NO_RETURN; |
| 3063 | extern int internal_delete_file P_ ((Lisp_Object, Lisp_Object)); | 3063 | extern int internal_delete_file P_ ((Lisp_Object)); |
| 3064 | extern void syms_of_fileio P_ ((void)); | 3064 | extern void syms_of_fileio P_ ((void)); |
| 3065 | extern Lisp_Object make_temp_name P_ ((Lisp_Object, int)); | 3065 | extern Lisp_Object make_temp_name P_ ((Lisp_Object, int)); |
| 3066 | EXFUN (Fmake_symbolic_link, 3); | 3066 | EXFUN (Fmake_symbolic_link, 3); |
diff --git a/src/xdisp.c b/src/xdisp.c index 699f375e2f4..31fa5f39d5f 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -14788,8 +14788,16 @@ redisplay_window (window, just_this_one_p) | |||
| 14788 | (*FRAME_TERMINAL (f)->redeem_scroll_bar_hook) (w); | 14788 | (*FRAME_TERMINAL (f)->redeem_scroll_bar_hook) (w); |
| 14789 | } | 14789 | } |
| 14790 | 14790 | ||
| 14791 | /* Restore current_buffer and value of point in it. */ | 14791 | /* Restore current_buffer and value of point in it. The window |
| 14792 | TEMP_SET_PT_BOTH (CHARPOS (opoint), BYTEPOS (opoint)); | 14792 | update may have changed the buffer, so first make sure `opoint' |
| 14793 | is still valid (Bug#6177). */ | ||
| 14794 | if (CHARPOS (opoint) < BEGV) | ||
| 14795 | TEMP_SET_PT_BOTH (BEGV, BEGV_BYTE); | ||
| 14796 | else if (CHARPOS (opoint) > ZV) | ||
| 14797 | TEMP_SET_PT_BOTH (Z, Z_BYTE); | ||
| 14798 | else | ||
| 14799 | TEMP_SET_PT_BOTH (CHARPOS (opoint), BYTEPOS (opoint)); | ||
| 14800 | |||
| 14793 | set_buffer_internal_1 (old); | 14801 | set_buffer_internal_1 (old); |
| 14794 | /* Avoid an abort in TEMP_SET_PT_BOTH if the buffer has become | 14802 | /* Avoid an abort in TEMP_SET_PT_BOTH if the buffer has become |
| 14795 | shorter. This can be caused by log truncation in *Messages*. */ | 14803 | shorter. This can be caused by log truncation in *Messages*. */ |