Mercurial > emacs
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