changeset 83376:de684325b343

Merged in changes from CVS trunk. Patches applied: * lorentey@elte.hu--2004/emacs--cvs-trunk--0--patch-6 Update from CVS * lorentey@elte.hu--2004/emacs--cvs-trunk--0--patch-7 Sync with miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-539. * lorentey@elte.hu--2004/emacs--cvs-trunk--0--version-0 Branch closed. Use miles@gnu.org--gnu-2005/emacs--cvs-trunk--0 instead. * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-475 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-476 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-477 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-478 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-479 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-480 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-481 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-482 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-483 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-484 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-485 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-486 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-487 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-488 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-489 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-490 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-491 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-492 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-493 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-494 Update from CVS: lisp/startup.el (command-line): Fix typo. * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-495 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-496 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-497 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-498 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-499 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-500 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-501 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-502 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-503 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-504 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-505 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-506 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-507 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-508 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-509 Update from CVS: .cvsignore: Add `lock'. * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-510 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-511 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-512 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-513 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-514 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-515 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-516 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-517 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-518 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-519 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-520 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-521 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-522 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-523 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-524 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-525 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-526 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-527 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-528 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-529 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-530 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-531 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-532 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-533 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-534 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-535 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-537 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-538 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-539 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-88 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-89 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-90 Update FSF's address in GPL notices * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-91 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-92 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-93 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-94 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-95 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-96 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-97 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-98 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-99 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-100 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-101 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-102 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-103 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-104 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-105 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-106 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-107 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-108 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-109 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-110 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-111 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-112 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-113 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-114 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-416
author Karoly Lorentey <lorentey@elte.hu>
date Sun, 11 Sep 2005 08:23:50 +0000
parents 6e8cc0cd2f5a (current diff) 1ffe6d4d0fc4 (diff)
children f56539fbe27c
files ChangeLog admin/FOR-RELEASE configure configure.in lisp/ChangeLog lisp/vc.el lispref/ChangeLog src/buffer.c src/config.in src/lisp.h src/sysdep.c src/xsmfns.c
diffstat 24 files changed, 309 insertions(+), 151 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Sep 11 07:23:22 2005 +0000
+++ b/ChangeLog	Sun Sep 11 08:23:50 2005 +0000
@@ -1,3 +1,10 @@
+2005-09-10  Giuseppe Scrivano  <gscrivano@gmail.com>
+
+	Remove the MAXPATHLEN limitations:
+
+	* configure.in (AC_CHECK_FUNCS): Check for get_current_dir_name.
+	* configure: Regenerated.
+
 2005-09-09  Eli Zaretskii  <eliz@fencepost.gnu.org>
 
 	* configure.in <lynxsos*>: Support for LynxOS on PPC.
--- a/admin/FOR-RELEASE	Sun Sep 11 07:23:22 2005 +0000
+++ b/admin/FOR-RELEASE	Sun Sep 11 08:23:50 2005 +0000
@@ -27,10 +27,6 @@
 
 * NEW FEATURES
 
-** Make VC-over-Tramp work where possible, or at least fail
-gracefully if something isn't supported over Tramp.
-To be done by Andre Spiegel <spiegel@gnu.org>.
-
 ** Update Speedbar.
 
 * FATAL ERRORS
--- a/configure	Sun Sep 11 07:23:22 2005 +0000
+++ b/configure	Sun Sep 11 08:23:50 2005 +0000
@@ -14084,8 +14084,9 @@
 
 
 
+
 for ac_func in gethostname getdomainname dup2 \
-rename closedir mkdir rmdir sysinfo getrusage \
+rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \
 random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime res_init setsid \
 strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \
 utimes setrlimit setpgid getcwd getwd shutdown getaddrinfo \
--- a/configure.in	Sun Sep 11 07:23:22 2005 +0000
+++ b/configure.in	Sun Sep 11 08:23:50 2005 +0000
@@ -2422,7 +2422,7 @@
 AC_CHECK_HEADERS(maillock.h)
 
 AC_CHECK_FUNCS(gethostname getdomainname dup2 \
-rename closedir mkdir rmdir sysinfo getrusage \
+rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \
 random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime res_init setsid \
 strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \
 utimes setrlimit setpgid getcwd getwd shutdown getaddrinfo \
--- a/etc/NEWS	Sun Sep 11 07:23:22 2005 +0000
+++ b/etc/NEWS	Sun Sep 11 08:23:50 2005 +0000
@@ -1766,6 +1766,12 @@
 
 * Changes in Specialized Modes and Packages in Emacs 22.1:
 
+** The variable `woman-topic-at-point' was renamed
+to `woman-use-topic-at-point' and behaves differently: if this
+variable is non-nil, the `woman' command uses the word at point
+automatically, without asking for a confirmation.  Otherwise, the word
+at point is suggested as default, but not inserted at the prompt.
+
 ---
 ** Changes to cmuscheme
 
--- a/lisp/ChangeLog	Sun Sep 11 07:23:22 2005 +0000
+++ b/lisp/ChangeLog	Sun Sep 11 08:23:50 2005 +0000
@@ -1,3 +1,48 @@
+2005-09-10  Alan Mackenzie  <acm@muc.de>
+
+	* page.el (narrow-to-page): Exclude _entire_ multi-line delimiter
+	from the region narrowed to.
+
+2005-09-10  Magnus Henoch  <mange@freemail.hu>
+
+	* textmodes/ispell.el (ispell-check-version): Signal an error if
+	aspell version is less than 0.60.
+
+2005-09-10  Pascal Dupuis  <Pascal.Dupuis@esat.kuleuven.be>  (tiny change)
+
+	* progmodes/octave-inf.el (inferior-octave-startup): Resync
+	current dir at the end.
+
+2005-09-10  Emilio C. Lopes  <eclig@gmx.net>
+  
+	* woman.el (woman-topic-at-point-default): Renamed to
+	woman-use-topic-at-point-default.
+	(woman-topic-at-point): Renamed to woman-use-topic-at-point.
+	(woman-file-name): Reflect renames above.  Automatically use the
+	word at point as topic if woman-use-topic-at-point is non-nil.
+	Otherwise offer it as default but don't insert it in the
+	minibuffer.  Also use `test-completion' instead of `assoc' as
+	suggested by Stefan Monnier.
+
+2005-09-10  Andre Spiegel  <spiegel@gnu.org>
+
+	* vc.el (vc-directory, vc-update-change-log): Throw an error on
+	the attempt to do it over Tramp.  This is not yet supported.
+
+2005-09-10  Eli Zaretskii  <eliz@gnu.org>
+
+	* menu-bar.el (menu-bar-menu-frame-live-and-visible-p)
+	(menu-bar-non-minibuffer-window-p): New functions.
+	("Split Window", "Save As..."): Use them.
+	("Postscript Print Buffer (B+W)", "Postscript Print Buffer")
+	("Print Buffer", "Truncate Long Lines in this Buffer"):  Use
+	menu-bar-menu-frame-live-and-visible-p.
+	("Save Buffer", "Insert File", "Open Directory...")
+	("Open File...", "Visit New File..."): Use
+	menu-bar-non-minibuffer-window-p.
+	(kill-this-buffer-enabled-p, dired <menu-enable>): Use
+	menu-bar-non-minibuffer-window-p.
+
 2005-09-09  Eli Zaretskii  <eliz@gnu.org>
 
 	* cus-start.el (all): Don't complain about fringe-related
--- a/lisp/menu-bar.el	Sun Sep 11 07:23:22 2005 +0000
+++ b/lisp/menu-bar.el	Sun Sep 11 08:23:50 2005 +0000
@@ -105,12 +105,8 @@
 
 (define-key menu-bar-file-menu [split-window]
   '(menu-item "Split Window" split-window-vertically
-	      :enable (or (not (display-multi-frame-p))
-			  (and (frame-live-p menu-updating-frame)
-			       (frame-visible-p menu-updating-frame )
-			       (not (window-minibuffer-p
-				     (frame-selected-window
-				      menu-updating-frame)))))
+	      :enable (and (menu-bar-menu-frame-live-and-visible-p)
+			   (menu-bar-non-minibuffer-window-p))
 	      :help "Split selected window in two windows"))
 
 (define-key menu-bar-file-menu [separator-window]
@@ -122,9 +118,7 @@
 	      :help "Pretty-print marked region in black and white to PostScript printer"))
 (define-key menu-bar-file-menu [ps-print-buffer]
   '(menu-item "Postscript Print Buffer (B+W)" ps-print-buffer
-	      :enable (or (not (display-multi-frame-p))
-			  (and (frame-live-p menu-updating-frame)
-			       (frame-visible-p menu-updating-frame)))
+	      :enable (menu-bar-menu-frame-live-and-visible-p)
 	      :help "Pretty-print current buffer in black and white to PostScript printer"))
 (define-key menu-bar-file-menu [ps-print-region-faces]
   '(menu-item "Postscript Print Region" ps-print-region-with-faces
@@ -132,9 +126,7 @@
 	      :help "Pretty-print marked region to PostScript printer"))
 (define-key menu-bar-file-menu [ps-print-buffer-faces]
   '(menu-item "Postscript Print Buffer" ps-print-buffer-with-faces
-	      :enable (or (not (display-multi-frame-p))
-			  (and (frame-live-p menu-updating-frame)
-			       (frame-visible-p menu-updating-frame)))
+	      :enable (menu-bar-menu-frame-live-and-visible-p)
 	      :help "Pretty-print current buffer to PostScript printer"))
 (define-key menu-bar-file-menu [print-region]
   '(menu-item "Print Region" print-region
@@ -142,9 +134,7 @@
 	      :help "Print region between mark and current position"))
 (define-key menu-bar-file-menu [print-buffer]
   '(menu-item "Print Buffer" print-buffer
-	      :enable (or (not (display-multi-frame-p))
-			  (and (frame-live-p menu-updating-frame)
-			       (frame-visible-p menu-updating-frame)))
+	      :enable (menu-bar-menu-frame-live-and-visible-p)
 	      :help "Print current buffer with page headings"))
 
 (define-key menu-bar-file-menu [separator-print]
@@ -175,21 +165,14 @@
 	      :help "Re-read current buffer from its file"))
 (define-key menu-bar-file-menu [write-file]
   '(menu-item "Save As..." write-file
-	      :enable (or (not (display-multi-frame-p))
-			  (and (frame-live-p menu-updating-frame)
-			       (frame-visible-p menu-updating-frame )
-			       (not (window-minibuffer-p
-				     (frame-selected-window
-				      menu-updating-frame)))))
+	      :enable (and (menu-bar-menu-frame-live-and-visible-p)
+			   (menu-bar-non-minibuffer-window-p))
 	      :help "Write current buffer to another file"))
 (define-key menu-bar-file-menu [save-buffer]
   '(menu-item "Save" save-buffer
 	      :enable (and (buffer-modified-p)
 			   (buffer-file-name)
-			   (or (not (display-multi-frame-p))
-			       (not (window-minibuffer-p
-				     (frame-selected-window
-				      menu-updating-frame)))))
+			   (menu-bar-non-minibuffer-window-p))
 	      :help "Save current buffer to its file"))
 
 (define-key menu-bar-file-menu [separator-save]
@@ -201,28 +184,19 @@
 	      :help "Discard (kill) current buffer"))
 (define-key menu-bar-file-menu [insert-file]
   '(menu-item "Insert File..." insert-file
-	      :enable (or (not (display-multi-frame-p))
-			  (and (not (window-minibuffer-p
-				     (frame-selected-window
-				      menu-updating-frame)))))
+	      :enable (menu-bar-non-minibuffer-window-p)
 	      :help "Insert another file into current buffer"))
 (define-key menu-bar-file-menu [dired]
   '(menu-item "Open Directory..." dired
-	      :enable (or (not (display-multi-frame-p))
-			  (not (window-minibuffer-p
-				(frame-selected-window menu-updating-frame))))
+	      :enable (menu-bar-non-minibuffer-window-p)
 	      :help "Read a directory, operate on its files"))
 (define-key menu-bar-file-menu [open-file]
   '(menu-item "Open File..." find-file-existing
-	      :enable (or (not (display-multi-frame-p))
-			  (not (window-minibuffer-p
-				(frame-selected-window menu-updating-frame))))
+	      :enable (menu-bar-non-minibuffer-window-p)
 	      :help "Read an existing file into an Emacs buffer"))
 (define-key menu-bar-file-menu [new-file]
   '(menu-item "Visit New File..." find-file
-	      :enable (or (not (display-multi-frame-p))
-			  (not (window-minibuffer-p
-				(frame-selected-window menu-updating-frame))))
+	      :enable (menu-bar-non-minibuffer-window-p)
 	      :help "Read or create a file and edit it"))
 
 
@@ -1057,9 +1031,7 @@
 	      toggle-truncate-lines
 	      :help "Truncate long lines on the screen"
 	      :button (:toggle . truncate-lines)
-	      :enable (or (not (display-multi-frame-p))
-			  (and (frame-live-p menu-updating-frame)
-			       (frame-visible-p menu-updating-frame)))))
+	      :enable (menu-bar-menu-frame-live-and-visible-p)))
 
 (define-key menu-bar-options-menu [highlight-separator]
   '("--"))
@@ -1440,6 +1412,23 @@
   '(menu-item "Emacs Tutorial" help-with-tutorial
 	      :help "Learn how to use Emacs"))
 
+(defun menu-bar-menu-frame-live-and-visible-p ()
+  "Return non-nil if the menu frame is alive and visible.
+The menu frame is the frame for which we are updating the menu."
+  (let ((menu-frame (if (display-multi-frame-p) menu-updating-frame
+		      (selected-frame))))
+    (and (frame-live-p menu-frame)
+	 (frame-visible-p menu-frame))))
+
+(defun menu-bar-non-minibuffer-window-p ()
+  "Return non-nil if selected window of the menu frame is not a minibuf window.
+
+See the documentation of `menu-bar-menu-frame-live-and-visible-p'
+for the definition of the menu frame."
+  (let ((menu-frame (if (display-multi-frame-p) menu-updating-frame
+		      (selected-frame))))
+    (not (window-minibuffer-p (frame-selected-window menu-frame)))))
+
 (defun kill-this-buffer ()	; for the menubar
   "Kill the current buffer."
   (interactive)
@@ -1452,11 +1441,10 @@
       (or (string-match "^ " (buffer-name (car buffers)))
 	  (setq count (1+ count)))
       (setq buffers (cdr buffers)))
-    (and (not (window-minibuffer-p (frame-selected-window menu-updating-frame)))
+    (and (menu-bar-non-minibuffer-window-p)
 	 (> count 1))))
 
-(put 'dired 'menu-enable
-     '(not (window-minibuffer-p (frame-selected-window menu-updating-frame))))
+(put 'dired 'menu-enable '(menu-bar-non-minibuffer-window-p))
 
 ;; Permit deleting frame if it would leave a visible or iconified frame.
 (defun delete-frame-enabled-p ()
--- a/lisp/progmodes/octave-inf.el	Sun Sep 11 07:23:22 2005 +0000
+++ b/lisp/progmodes/octave-inf.el	Sun Sep 11 08:23:50 2005 +0000
@@ -248,7 +248,11 @@
 
     ;; And finally, everything is back to normal.
     (set-process-filter proc 'inferior-octave-output-filter)
-    (run-hooks 'inferior-octave-startup-hook)))
+    (run-hooks 'inferior-octave-startup-hook)
+    (run-hooks 'inferior-octave-startup-hook)
+    ;; Just in case, to be sure a cd in the startup file
+    ;; won't have detrimental effects.
+    (inferior-octave-resync-dirs)))
 
 
 (defun inferior-octave-complete ()
--- a/lisp/textmodes/ispell.el	Sun Sep 11 07:23:22 2005 +0000
+++ b/lisp/textmodes/ispell.el	Sun Sep 11 08:23:50 2005 +0000
@@ -814,7 +814,10 @@
         (goto-char (point-min))
         (let (case-fold-search)
           (setq ispell-really-aspell
-                (and (search-forward "(but really Aspell " nil t) t))))
+		(and (search-forward-regexp "(but really Aspell \\(.*\\))" nil t)
+		     (if (version< (match-string 1) "0.60")
+			 (error "aspell version 0.60 or greater is required")
+		       t)))))
       (kill-buffer (current-buffer)))
     result))
 
--- a/lisp/textmodes/page.el	Sun Sep 11 07:23:22 2005 +0000
+++ b/lisp/textmodes/page.el	Sun Sep 11 08:23:50 2005 +0000
@@ -112,7 +112,7 @@
 	     (save-excursion
 	       (goto-char (match-beginning 0)) ; was (beginning-of-line)
 	       (looking-at page-delimiter)))
-	(beginning-of-line))
+	(goto-char (match-beginning 0))) ; was (beginning-of-line)
     (narrow-to-region (point)
 		      (progn
 			;; Find the top of the page.
--- a/lisp/vc.el	Sun Sep 11 07:23:22 2005 +0000
+++ b/lisp/vc.el	Sun Sep 11 08:23:50 2005 +0000
@@ -2259,6 +2259,8 @@
   (interactive "DDired under VC (directory): \nP")
   (let ((vc-dired-switches (concat vc-dired-listing-switches
                                    (if vc-dired-recurse "R" ""))))
+    (if (eq (string-match tramp-file-name-regexp dir) 0)
+        (error "Sorry, vc-directory does not work over Tramp"))
     (if read-switches
         (setq vc-dired-switches
               (read-string "Dired listing switches: "
@@ -2809,6 +2811,9 @@
           ;; it should find all relevant files relative to
           ;; the default-directory.
 	  nil)))
+  (dolist (file (or args (list default-directory)))
+    (if (eq (string-match tramp-file-name-regexp file) 0)
+        (error "Sorry, vc-update-change-log does not work over Tramp")))
   (vc-call-backend (vc-responsible-backend default-directory)
                    'update-changelog args))
 
--- a/lisp/woman.el	Sun Sep 11 07:23:22 2005 +0000
+++ b/lisp/woman.el	Sun Sep 11 08:23:50 2005 +0000
@@ -136,27 +136,23 @@
 ;;   man man_page_name
 
 
-;; Using the `word at point' as a topic suggestion
-;; ===============================================
-
-;; By default, the `woman' command uses the word nearest to point in
-;; the current buffer as a suggestion for the topic to look up.  The
-;; topic must be confirmed or edited in the minibuffer.  This
-;; suggestion can be turned off, or `woman' can use the suggested
-;; topic without confirmation* if possible, by setting the user-option
-;; `woman-topic-at-point' to nil or t respectively.  (Its default
-;; value is neither nil nor t, meaning ask for confirmation.)
-
-;; [* Thanks to Benjamin Riefenstahl for suggesting this
-;; functionality.]
-
-;; The variable `woman-topic-at-point' can be rebound locally, which
-;; may be useful to provide special private key bindings, e.g.
+;; Using the word at point as the default topic
+;; ============================================
+
+;; The `woman' command uses the word nearest to point in the current
+;; buffer as the default topic to look up if it matches the name of a
+;; manual page installed on the system.  The default topic can also be
+;; used without confirmation by setting the user-option
+;; `woman-use-topic-at-point' to t; thanks to Benjamin Riefenstahl for
+;; suggesting this functionality.
+
+;; The variable `woman-use-topic-at-point' can be rebound locally,
+;; which may be useful to provide special private key bindings, e.g.
 
 ;;  (global-set-key "\C-cw"
 ;;  		  (lambda ()
 ;;  		    (interactive)
-;;  		    (let ((woman-topic-at-point t))
+;;  		    (let ((woman-use-topic-at-point t))
 ;;  		      (woman)))))
 
 
@@ -711,26 +707,21 @@
   :type 'string
   :group 'woman-interface)
 
-(defcustom woman-topic-at-point-default 'confirm
-  ;; `woman-topic-at-point' may be let-bound when woman is loaded, in
-  ;; which case its global value does not get defined.
+(defcustom woman-use-topic-at-point-default nil
+  ;; `woman-use-topic-at-point' may be let-bound when woman is loaded,
+  ;; in which case its global value does not get defined.
   ;; `woman-file-name' sets it to this value if it is unbound.
-  "*Default value for `woman-topic-at-point'."
+  "*Default value for `woman-use-topic-at-point'."
   :type '(choice (const :tag "Yes" t)
-		 (const :tag "No" nil)
-		 (other :tag "Confirm" confirm))
+		 (const :tag "No" nil))
   :group 'woman-interface)
 
-(defcustom woman-topic-at-point woman-topic-at-point-default
-  "*Controls use by `woman' of `word at point' as a topic suggestion.
-If non-nil then the `woman' command uses the word at point as an
-initial topic suggestion when it reads a topic from the minibuffer; if
-t then the `woman' command uses the word at point WITHOUT
-INTERACTIVE CONFIRMATION if it exists as a topic.  The default value
-is `confirm', meaning suggest a topic and ask for confirmation."
+(defcustom woman-use-topic-at-point woman-use-topic-at-point-default
+  "*Control use of the word at point as the default topic.
+If non-nil the `woman' command uses the word at point automatically,
+without interactive confirmation, if it exists as a topic."
   :type '(choice (const :tag "Yes" t)
-		 (const :tag "No" nil)
-		 (other :tag "Confirm" confirm))
+		 (const :tag "No" nil))
   :group 'woman-interface)
 
 (defvar woman-file-regexp nil
@@ -1198,10 +1189,11 @@
 
 (defun woman-file-name (topic &optional re-cache)
   "Get the name of the UN*X man-page file describing a chosen TOPIC.
-When `woman' is called interactively, the word at point may be used as
-the topic or initial topic suggestion, subject to the value of the
-user option `woman-topic-at-point'.  Return nil if no file can be found.
-Optional argument RE-CACHE, if non-nil, forces the cache to be re-read."
+When `woman' is called interactively, the word at point may be
+automatically used as the topic, if the value of the user option
+`woman-use-topic-at-point' is non-nil.  Return nil if no file can
+be found.  Optional argument RE-CACHE, if non-nil, forces the
+cache to be re-read."
   ;; Handle the caching of the directory and topic lists:
   (if (and (not re-cache)
 	   (or
@@ -1222,25 +1214,27 @@
   (let (files
 	(default (current-word)))
     (or (stringp topic)
-	(and (eq t
-		 (if (boundp 'woman-topic-at-point)
-		     woman-topic-at-point
-		   ;; Was let-bound when file loaded, so ...
-		   (setq woman-topic-at-point woman-topic-at-point-default)))
-	     (setq topic
-		   (or (current-word t) ""))	; only within or adjacent to word
-	     (assoc topic woman-topic-all-completions))
+	(and (if (boundp 'woman-use-topic-at-point)
+		 woman-use-topic-at-point
+	       ;; Was let-bound when file loaded, so ...
+	       (setq woman-use-topic-at-point woman-use-topic-at-point-default))
+	     (setq topic (or (current-word t) "")) ; only within or adjacent to word
+	     (test-completion topic woman-topic-all-completions))
 	(setq topic
-	      (completing-read
-	       (if default
-		   (format "Manual entry (default `%s'): " default)
-		 "Manual entry: ")
-	       woman-topic-all-completions nil 1
-	       nil
-	       'woman-topic-history
-	       ;; Default topic.
-	       (and woman-topic-at-point
-		    default))))
+	      (let* ((word-at-point (current-word))
+		     (default
+		       (when (and word-at-point
+				  (test-completion
+				   word-at-point woman-topic-all-completions))
+			 word-at-point)))
+		(completing-read
+		 (if default
+		     (format "Manual entry [default: %s]: " default)
+		   "Manual entry: ")
+		 woman-topic-all-completions nil 1
+		 nil
+		 'woman-topic-history
+		 default))))
     ;; Note that completing-read always returns a string.
     (if (= (length topic) 0)
 	nil				; no topic, so no file!
--- a/lispref/ChangeLog	Sun Sep 11 07:23:22 2005 +0000
+++ b/lispref/ChangeLog	Sun Sep 11 08:23:50 2005 +0000
@@ -1,3 +1,7 @@
+2005-09-10  Chong Yidong  <cyd@stupidchicken.com>
+
+	* files.texi (Saving Buffers): Fix typo.
+
 2005-09-08  Richard M. Stallman  <rms@gnu.org>
 
 	* tips.texi (Programming Tips): Correct the "default" prompt spec.
--- a/lispref/files.texi	Sun Sep 11 07:23:22 2005 +0000
+++ b/lispref/files.texi	Sun Sep 11 08:23:50 2005 +0000
@@ -343,7 +343,7 @@
 buffers---those that have a non-@code{nil} buffer-local value of
 @code{buffer-offer-save} (@pxref{Killing Buffers}).  A user who says
 @samp{yes} to saving a non-file buffer is asked to specify the file
-name to use.)  The @code{save-buffers-kill-emacs} function passes the
+name to use.  The @code{save-buffers-kill-emacs} function passes the
 value @code{t} for @var{pred}.
 
 If @var{pred} is neither @code{t} nor @code{nil}, then it should be
--- a/msdos/ChangeLog	Sun Sep 11 07:23:22 2005 +0000
+++ b/msdos/ChangeLog	Sun Sep 11 08:23:50 2005 +0000
@@ -1,3 +1,8 @@
+2005-09-10  Sven Joachim  <svenjoac@gmx.de>  (tiny change)
+
+	* sed3v2.inp (GETOPT_H, GETOPTOBJS): Define to use getopt.h,
+	getopt.o and getopt1.o.
+
 2005-07-04  Lute Kamstra  <lute@gnu.org>
 
 	Update FSF's address in GPL notices.
--- a/msdos/sed3v2.inp	Sun Sep 11 07:23:22 2005 +0000
+++ b/msdos/sed3v2.inp	Sun Sep 11 08:23:50 2005 +0000
@@ -31,6 +31,8 @@
 /^LOADLIBES *=/s!=.*$!=!
 /^ALLOCA *=/s!@ALLOCA@!!
 /^EXEEXT *=/s!@EXEEXT@!!
+/^GETOPT_H *=/s!@GETOPT_H@!getopt.h!
+/^GETOPTOBJS *=/s!@GETOPTOBJS@!getopt.o getopt1.o!
 /^INSTALLABLES/s/emacsclient *//
 s!^	\./!	!
 /^UTILITIES=/s/ wakeup//
--- a/nt/ChangeLog	Sun Sep 11 07:23:22 2005 +0000
+++ b/nt/ChangeLog	Sun Sep 11 08:23:50 2005 +0000
@@ -1,3 +1,7 @@
+2005-09-10  Eli Zaretskii  <eliz@gnu.org>
+
+	* config.nt (HAVE_GET_CURRENT_DIR_NAME): Undefine.
+
 2005-08-10  Juanma Barranquero  <lekktu@gmail.com>
 
 	* .cvsignore: Add `obj' and `oo' for in-place installations.
--- a/nt/config.nt	Sun Sep 11 07:23:22 2005 +0000
+++ b/nt/config.nt	Sun Sep 11 08:23:50 2005 +0000
@@ -233,6 +233,7 @@
 #undef HAVE_MKTIME
 #undef HAVE_EUIDACCESS
 #undef HAVE_GETPAGESIZE
+#undef HAVE_GET_CURRENT_DIR_NAME
 #undef HAVE_TZSET
 #undef HAVE_SETLOCALE
 #undef HAVE_UTIMES
--- a/src/ChangeLog	Sun Sep 11 07:23:22 2005 +0000
+++ b/src/ChangeLog	Sun Sep 11 08:23:50 2005 +0000
@@ -1,3 +1,35 @@
+2005-09-10  Romain Francoise  <romain@orebokech.com>
+
+	* buffer.c (init_buffer): Grow buffer to add directory separator
+	and terminal zero.  Fix typos.
+
+2005-09-10  Eli Zaretskii  <eliz@gnu.org>
+
+	* buffer.c (init_buffer): Fix error message for failed call to
+	get_current_dir_name.
+	(get_current_dir_name): Remove prototype.
+
+	* xsmfns.c: (get_current_dir_name): Remove prototype.
+
+	* lisp.h: (get_current_dir_name) [!HAVE_GET_CURRENT_DIR_NAME]: Add
+	prototype.
+
+	* sysdep.c [WINDOWSNT]: Add prototype for getwd.
+	Don't #undef NULL after including blockinput.h.
+
+	* config.in: Regenerated.
+
+2005-09-10  Giuseppe Scrivano  <gscrivano@gmail.com>
+
+	Remove the MAXPATHLEN limitations:
+
+	* sysdep.c (get_current_dir_name) [!HAVE_GET_CURRENT_DIR_NAME]:
+	New function.
+
+	* buffer.c (init_buffer): Use it.
+
+	* xsmfns.c (smc_save_yourself_CB): Ditto.
+
 2005-09-09  Kim F. Storm  <storm@cua.dk>
 
 	* doc.c (Fsubstitute_command_keys): Lookup key binding for
--- a/src/buffer.c	Sun Sep 11 07:23:22 2005 +0000
+++ b/src/buffer.c	Sun Sep 11 08:23:50 2005 +0000
@@ -32,10 +32,6 @@
 extern int errno;
 #endif
 
-#ifndef MAXPATHLEN
-/* in 4.1 [probably SunOS? -stef] , param.h fails to define this. */
-#define MAXPATHLEN 1024
-#endif /* not MAXPATHLEN */
 
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
@@ -5115,7 +5111,6 @@
 void
 init_buffer ()
 {
-  char buf[MAXPATHLEN + 1];
   char *pwd;
   struct stat dotstat, pwdstat;
   Lisp_Object temp;
@@ -5138,40 +5133,28 @@
   if (NILP (buffer_defaults.enable_multibyte_characters))
     Fset_buffer_multibyte (Qnil);
 
-  /* If PWD is accurate, use it instead of calling getwd.  PWD is
-     sometimes a nicer name, and using it may avoid a fatal error if a
-     parent directory is searchable but not readable.  */
-  if ((pwd = getenv ("PWD")) != 0
-      && (IS_DIRECTORY_SEP (*pwd) || (*pwd && IS_DEVICE_SEP (pwd[1])))
-      && stat (pwd, &pwdstat) == 0
-      && stat (".", &dotstat) == 0
-      && dotstat.st_ino == pwdstat.st_ino
-      && dotstat.st_dev == pwdstat.st_dev
-      && strlen (pwd) < MAXPATHLEN)
-    strcpy (buf, pwd);
-#ifdef HAVE_GETCWD
-  else if (getcwd (buf, MAXPATHLEN+1) == 0)
-    fatal ("`getcwd' failed: %s\n", strerror (errno));
-#else
-  else if (getwd (buf) == 0)
-    fatal ("`getwd' failed: %s\n", buf);
-#endif
+  pwd = get_current_dir_name ();
+
+  if (!pwd)
+    fatal ("`get_current_dir_name' failed: %s\n", strerror (errno));
 
 #ifndef VMS
   /* Maybe this should really use some standard subroutine
      whose definition is filename syntax dependent.  */
-  rc = strlen (buf);
-  if (!(IS_DIRECTORY_SEP (buf[rc - 1])))
+  rc = strlen (pwd);
+  if (!(IS_DIRECTORY_SEP (pwd[rc - 1])))
     {
-      buf[rc] = DIRECTORY_SEP;
-      buf[rc + 1] = '\0';
+      /* Grow buffer to add directory separator and '\0'.  */
+      pwd = (char *) xrealloc (pwd, rc + 2);
+      pwd[rc] = DIRECTORY_SEP;
+      pwd[rc + 1] = '\0';
     }
 #endif /* not VMS */
 
-  current_buffer->directory = make_unibyte_string (buf, strlen (buf));
+  current_buffer->directory = make_unibyte_string (pwd, strlen (pwd));
   if (! NILP (buffer_defaults.enable_multibyte_characters))
-    /* At this momemnt, we still don't know how to decode the
-       direcotry name.  So, we keep the bytes in multibyte form so
+    /* At this moment, we still don't know how to decode the
+       directory name.  So, we keep the bytes in multibyte form so
        that ENCODE_FILE correctly gets the original bytes.  */
     current_buffer->directory
       = string_to_multibyte (current_buffer->directory);
@@ -5190,6 +5173,8 @@
 
   temp = get_minibuffer (0);
   XBUFFER (temp)->directory = current_buffer->directory;
+
+  free (pwd);
 }
 
 /* initialize the buffer routines */
--- a/src/config.in	Sun Sep 11 07:23:22 2005 +0000
+++ b/src/config.in	Sun Sep 11 08:23:50 2005 +0000
@@ -221,6 +221,9 @@
 /* Define to 1 if you have the `getwd' function. */
 #undef HAVE_GETWD
 
+/* Define to 1 if you have the `get_current_dir_name' function. */
+#undef HAVE_GET_CURRENT_DIR_NAME
+
 /* Define to 1 if you have the ungif library (-lungif). */
 #undef HAVE_GIF
 
--- a/src/lisp.h	Sun Sep 11 07:23:22 2005 +0000
+++ b/src/lisp.h	Sun Sep 11 08:23:50 2005 +0000
@@ -3110,6 +3110,9 @@
 struct device;
 
 /* defined in sysdep.c */
+#ifndef HAVE_GET_CURRENT_DIR_NAME
+extern char *get_current_dir_name P_ ((void));
+#endif
 extern void stuff_char P_ ((char c));
 extern void init_sigio P_ ((int));
 extern void sys_subshell P_ ((void));
--- a/src/sysdep.c	Sun Sep 11 07:23:22 2005 +0000
+++ b/src/sysdep.c	Sun Sep 11 08:23:50 2005 +0000
@@ -49,7 +49,6 @@
 #include "sysselect.h"
 
 #include "blockinput.h"
-#undef NULL
 
 #ifdef MAC_OS8
 /* It is essential to include stdlib.h so that this file picks up
@@ -190,6 +189,7 @@
 #define _P_WAIT 0
 int _CRTAPI1 _spawnlp (int, const char *, const char *, ...);
 int _CRTAPI1 _getpid (void);
+extern char *getwd (char *);
 #endif
 
 #ifdef NONSYSTEM_DIR_LIBRARY
@@ -256,6 +256,81 @@
 
 SIGMASKTYPE sigprocmask_set;
 
+
+#ifndef HAVE_GET_CURRENT_DIR_NAME
+
+/* Return the current working directory.  Returns NULL on errors.
+   Any other returned value must be freed with free. This is used
+   only when get_current_dir_name is not defined on the system.  */
+char*
+get_current_dir_name ()
+{
+  char *buf;
+  char *pwd;
+  struct stat dotstat, pwdstat;
+  /* If PWD is accurate, use it instead of calling getwd.  PWD is
+     sometimes a nicer name, and using it may avoid a fatal error if a
+     parent directory is searchable but not readable.  */
+    if ((pwd = getenv ("PWD")) != 0
+      && (IS_DIRECTORY_SEP (*pwd) || (*pwd && IS_DEVICE_SEP (pwd[1])))
+      && stat (pwd, &pwdstat) == 0
+      && stat (".", &dotstat) == 0
+      && dotstat.st_ino == pwdstat.st_ino
+      && dotstat.st_dev == pwdstat.st_dev
+#ifdef MAXPATHLEN
+      && strlen (pwd) < MAXPATHLEN
+#endif
+      )
+    {
+      buf = (char *) malloc (strlen (pwd) + 1);
+      if (!buf)
+        return NULL;
+      strcpy (buf, pwd);
+    }
+#ifdef HAVE_GETCWD
+  else
+    {
+      size_t buf_size = 1024;
+      buf = (char *) malloc (buf_size);
+      if (!buf)
+        return NULL;
+      for (;;)
+        {
+          if (getcwd (buf, buf_size) == buf)
+            break;
+          if (errno != ERANGE)
+            {
+              int tmp_errno = errno;
+              free (buf);
+              errno = tmp_errno;
+              return NULL;
+            }
+          buf_size *= 2;
+          buf = (char *) realloc (buf, buf_size);
+          if (!buf)
+            return NULL;
+        }
+    }
+#else
+  else
+    {
+      /* We need MAXPATHLEN here.  */
+      buf = (char *) malloc (MAXPATHLEN + 1);
+      if (!buf)
+        return NULL;
+      if (getwd (buf) == NULL)
+        {
+          int tmp_errno = errno;
+          free (buf);
+          errno = tmp_errno;
+          return NULL;
+        }
+    }
+#endif
+  return buf;
+}
+#endif
+
 
 /* Discard pending input on all input descriptors.  */
 
--- a/src/xsmfns.c	Sun Sep 11 07:23:22 2005 +0000
+++ b/src/xsmfns.c	Sun Sep 11 08:23:50 2005 +0000
@@ -53,11 +53,6 @@
 #include "termopts.h"
 #include "xterm.h"
 
-#ifndef MAXPATHLEN
-#define MAXPATHLEN 1024
-#endif /* not MAXPATHLEN */
-
-
 /* The user login name.  */
 
 extern Lisp_Object Vuser_login_name;
@@ -206,7 +201,7 @@
   int val_idx = 0;
   int props_idx = 0;
 
-  char cwd[MAXPATHLEN+1];
+  char *cwd = NULL;
   char *smid_opt;
 
   /* How to start a new instance of Emacs.  */
@@ -260,12 +255,9 @@
   props[props_idx]->vals[0].value = SDATA (Vuser_login_name);
   ++props_idx;
 
-  /* The current directory property, not mandatory.  */
-#ifdef HAVE_GETCWD
-  if (getcwd (cwd, MAXPATHLEN+1) != 0)
-#else
-  if (getwd (cwd) != 0)
-#endif
+  cwd = get_current_dir_name ();
+
+  if (cwd)
     {
       props[props_idx] = &prop_ptr[props_idx];
       props[props_idx]->name = SmCurrentDirectory;
@@ -282,6 +274,9 @@
 
   xfree (smid_opt);
 
+  if (cwd)
+    free (cwd);
+
   /* See if we maybe shall interact with the user.  */
   if (interactStyle != SmInteractStyleAny
       || ! shutdown