Commit 7c3a2615 authored by Karoly Lorentey's avatar Karoly Lorentey
Browse files

Merged in changes from CVS head

Patches applied:

   Add =cvs-sync-make-log script

   Update from CVS

   Use absolute tla-tools filenames in =cvs-sync-make-log

   Use proper arch-tag: syntax for lispintro/texinfo.tex

   Update from CVS

parents c1c63edb 8a37230a
2003-12-30 Eli Zaretskii <>
* INSTALL.CVS: Renamed from INSTALL-CVS to avoid file-name
clashes with install-sh on 8+3 filesystems.
2003-12-08 Miles Bader <>
* .cvsignore: Add .arch-inventory.
2003-12-29 Ognyan Kulev <>
* Use windows-1251 encoding. Fix punctuation errors.
2003-11-21 Lars Hansen <>
* TODO: Add plans for change of file attributes UID and GID from
......@@ -1734,6 +1734,11 @@ configuration files.
* Lisp Changes in Emacs 21.4
** The function `insert-for-yank' now supports strings where the
`yank-handler' property does not span the first character of the
string. The old behavior is available if you call
`insert-for-yank-1' instead.
** New function `get-char-property-and-overlay' accepts the same
arguments as `get-char-property' and returns a cons whose car is the
return value of `get-char-property' called with those arguments and
......@@ -7260,7 +7265,8 @@ Additional image properties supported are:
`:index INDEX'
INDEX must be an integer >= 0. Load image number INDEX from a
multi-image GIF file. An error is signaled if INDEX is too large.
multi-image GIF file. If INDEX is too large, the image displays
as a hollow box.
This could be used to implement limited support for animated GIFs.
For example, the following function displays a multi-image GIF file
This diff is collapsed.
2003-12-30 Eli Zaretskii <>
* mail/rmail.el (rmail-convert-to-babyl-format): Fix off-by-one
error in arguments to base64-decode-region. Remove ^M characters
after decoding base64.
2003-12-30 Simon Josefsson <>
* textmodes/texinfo.el: Change maintainer to FSF. Suggested by (Karl Berry), since the Texinfo Elisp files
have only been distributed with Emacs for some years.
(texinfo-mode-hook): Customize.
2003-12-30 Eli Zaretskii <>
* mail/rmail.el (rmail-convert-to-babyl-format): Make the code
cleaner (suggested by Richard Stallman).
* progmodes/gud.el (gud-tool-bar-map): Modify names of icon files
for gud-next, gud-nexti, gud-step and gud-stepi to prevent
file-name clashes on 8+3 DOS filesystems.
* toolbar/gud-next.pbm, toolbar/gud-next.xpm
* toolbar/gud-nexti.pbm, toolbar/gud-nexti.xpm
* toolbar/gud-step.pbm, toolbar/gud-step.xpm
* toolbar/gud-stepi.pbm, toolbar/gud-stepi.xpm: Renamed to
gud-n.*, gud-ni.*, gud-s.*, and gud-si.*, respectively, to avoid
file-name clashes on 8+3 filesystems.
* emacs-lisp/tcover-unsafep.el, emacs-lisp/tcover-ses.el: Renamed
from testcover-unsafep.el and testcover-ses.el to avoid file-name
clashes on 8+3 DOS filesystems.
2003-12-29 Richard M. Stallman <>
* textmodes/flyspell.el (mail-mode-flyspell-verify):
Search for header separator alone on a line, literally,
and search for it backward, not forward.
(flyspell-abbrev-table): Always use global-abbrev-table
if there is no local one.
* progmodes/sh-script.el (sh-get-indent-info):
Don't move point back if at bob.
* progmodes/antlr-mode.el (save-buffer-state-x): Use with-no-warnings.
* play/handwrite.el (handwrite): Make the handwrite credit message
a comment rather than an output command.
* obsolete/sc.el: Display message that this file is obsolete.
* net/ange-ftp.el (ange-ftp-start-process): Copy the environment.
* mail/rfc822.el (rfc822-address-start): Declare variable.
Renamed from address-start. All uses changed.
* term.el (term-exec): Set up sentinel.
(term-sentinel): New function.
(term-handle-exit): New function.
* subr.el (assoc-ignore-case, assoc-ignore-representation):
Use assoc-string, and mark them obsolete.
(delay-mode-hooks): Mark as permanent local.
* simple.el (sendmail-user-agent-compose): Use assoc-string.
* register.el (copy-rectangle-to-register): Doc fix.
* info.el (Info-insert-dir): Use assoc-string.
* info-look.el (info-lookup): Use assoc-string.
* frame.el (pop-up-frame-function): Use quote, not `function'.
(frame-notice-user-settings): Calculate ADJUSTED-TOP
copying with lists as coordinate values.
* font-lock.el (font-lock-after-change-function): Bind inhibit-quit.
* find-dired.el (kill-find): New command.
(find-dired): Make buffer read-only.
Set up a keymap with C-c C-k running kill-find.
(find-dired-filter, find-dired-sentinel): Bind inhibit-read-only.
* files.el (backup-buffer-copy): If MODES is nil, don't set modes.
* filecache.el (file-cache-ignore-case): New variable.
(file-cache-assoc-function): Var deleted. Use assoc-string instead.
* comint.el (comint-arguments): Set COUNT after ARGS is complete.
(comint-dynamic-complete-as-filename): Rename local vars.
(comint-dynamic-list-filename-completions): Likewise.
* comint.el (comint-dynamic-list-completions-config): New var.
(comint-dynamic-list-completions): Handle both SPC and TAB right.
* comint.el (comint-file-name-chars): Add [].
(comint-word): Use skip-chars-backward, not search.
* shell.el (shell-file-name-chars): Add [].
* shell.el (shell-dynamic-complete-as-command): Rename local vars.
* bookmark.el (bookmark-get-bookmark): Use assoc-string.
* generic.el (define-generic-mode): Doc fix.
2003-12-29 Eli Zaretskii <>
* files.el (kill-some-buffers): Doc fix.
2003-12-29 David Herring <> (tiny change)
* comint.el (comint-watch-for-password-prompt): Pass `string' as
arg to send-invisible
(send-invisible): Doc fix. The argument is now a prompt, not the
string to send.
(comint-read-noecho): Doc fix.
2003-12-29 Michael R. Wolf <> (tiny change)
* net/ange-ftp.el (ange-ftp-name-format): Allow USER to contain
"@", as required by some ISP hosting service. Fix defcustom
argument syntax errors that prevented use of customization.
2003-12-29 Eli Zaretskii <>
* xml.el (xml-get-attribute-or-nil): Doc fix.
2003-12-29 Peter 'Luna' Runestig <>
* net/zone-mode.el (zone-mode): Use write-file-functions, not
2003-12-29 Eric Hanchrow <> (tiny change)
* autorevert.el (auto-revert-interval): Doc fix.
2003-12-29 Mark A. Hershberger <>
* xml.el (xml-get-attribute-or-nil): New function, like
xml-get-attribute, but returns nil if the attribute was not found.
(xml-get-attribute): Converted to defsubst, uses
2003-12-29 Eli Zaretskii <>
* emacs-lisp/easymenu.el (easy-menu-define): Doc fix.
2003-12-29 Alex Schroeder <> (tiny change)
* custom.el (custom-declare-theme): Use `value' when putting
properties on `theme'.
2003-12-29 Takaaki Ota <>
* subr.el (insert-for-yank): Call insert-for-yank-1 repetitively
for each yank-handler segment.
(insert-for-yank-1): New function, with the body of the previous
* textmodes/table.el (table-yank-handler): New defcustom.
(table--put-cell-indicator-property): Put yank-handler property
that indicates the yank handler for the table cell.
2003-12-29 Jesper Harder <> (tiny change)
* generic-x.el (etc-modules-conf-generic-mode): A more complete
set of keywords.
2003-12-29 Eli Zaretskii <>
* international/mule-cmds.el (reset-language-environment)
(set-language-environment): Don't invoke fontset-related functions
if fontset-list is not fboundp.
2003-12-29 Kenichi Handa <>
* international/mule-cmds.el (reset-language-environment): Call
set-overriding-fontspec-internal with nil.
(set-language-environment): Call set-overriding-fontspec-internal
if the language environment specify `overriding-fontspec'.
(language-info-alist): Doc added.
* language/cyrillic.el (ccl-encode-koi8-font): Make it work for
characters of mule-unicode-0100-24ff.
(ccl-encode-windows-1251-font): New CCL program.
("Bulgarian"): Specify overriding-fontspec.
("Belarusian"): Likewise.
2003-12-28 Sam Steingold <>
* net/ange-ftp.el (ange-ftp-file-attributes): Add new optional
......@@ -46,6 +235,14 @@
* ffap.el (ffap-read-file-or-url): Revert previous change.
2003-12-25 Robert J. Chassell <>
* textmodes/texnfo-upd.el (texinfo-multi-file-update): Create a
new list of included files called `files-with-node-lines', that
only have node lines. This way @include commands can include any
file, such as version and update files without node lines, not
just files that are chapters.
2003-12-25 Andreas Schwab <>
* jka-compr.el (jka-compr-insert-file-contents): Avoid error when
......@@ -542,10 +739,18 @@
2003-11-01 Mark A. Hershberger <>
* xml.el: Allow comments following the top-level element.
Separate out namespace parsing into special functions.
Change namespace parsing to return ('ns-uri . "local-name")
instead of '{ns-uri}local-name.
* xml.el (xml-parse-region): Allow comments to appear after the
topmost element has closed.
(xml-ns-parse-ns-attrs, xml-ns-expand-el)
(xml-ns-expand-attr): New functions to do namespace handling.
(xml-intern-attrlist): Back-compatible handling of attribute
(xml-parse-tag): Move namespace handling to seperate functions.
Now produces elements in the form ((:ns . "element") (attr-list)
children) instead of ('ns:element (attr-list) children).
(xml-parse-attlist): Fix attribute parsing.
(xml-parse-dtd): Change parsing so that it produces strings
instead of interned symbols.
2003-11-01 <> (tiny change)
......@@ -2,7 +2,7 @@
;; Copyright (C) 1995, 1997, 1998, 2003 Free Software Foundation, Inc.
;; Author: Morten Welinder <>
;; Author: Morten Welinder <>
;; Keywords: archives msdog editing major-mode
;; Favourite-brand-of-beer: None, I hate beer.
......@@ -97,7 +97,10 @@ Never set this variable directly, use the command `auto-revert-mode' instead.")
(put 'auto-revert-mode 'permanent-local t)
(defcustom auto-revert-interval 5
"Time, in seconds, between Auto-Revert Mode file checks."
"Time, in seconds, between Auto-Revert Mode file checks.
Setting this variable has no effect on buffers that are already in
auto-revert-mode; it only affects buffers that are put into
auto-revert-mode afterwards."
:group 'auto-revert
:type 'integer)
......@@ -335,10 +335,7 @@ through a file easier.")
"Return the full entry for BOOKMARK in bookmark-alist.
If BOOKMARK is not a string, return nil."
(when (stringp bookmark)
(apply (if bookmark-completion-ignore-case
(list bookmark bookmark-alist))))
(assoc-string bookmark bookmark-alist bookmark-completion-ignore-case)))
(defun bookmark-get-bookmark-record (bookmark)
......@@ -1344,16 +1344,16 @@ Argument 0 is the command name."
;; Put the previous arg, if there was one, onto ARGS.
(setq str (substring string beg pos)
args (if quotes (cons str args)
(nconc (comint-delim-arg str) args))
count (1+ count)))
(nconc (comint-delim-arg str) args))))
(setq count (length args))
(setq quotes (match-beginning 1))
(setq beg (match-beginning 0))
(setq pos (match-end 0))))
(if beg
(setq str (substring string beg pos)
args (if quotes (cons str args)
(nconc (comint-delim-arg str) args))
count (1+ count)))
(nconc (comint-delim-arg str) args))))
(setq count (length args))
(let ((n (or nth (1- count)))
(m (if mth (1- (- count mth)) 0)))
......@@ -1901,7 +1901,8 @@ RET, LFD, or ESC. DEL or C-h rubs out. C-u kills line. C-g aborts (if
filter and C-g is pressed, this function returns nil rather than a string).
Note that the keystrokes comprising the text can still be recovered
\(temporarily) with \\[view-lossage]. Some people find this worrysome.
\(temporarily) with \\[view-lossage]. Some people find this worrysome (see,
however, `clear-this-command-keys').
Once the caller uses the password, it can erase the password
by doing (clear-string STRING)."
(let ((ans "")
......@@ -1948,24 +1949,22 @@ by doing (clear-string STRING)."
(message "")
(defun send-invisible (str)
(defun send-invisible (&optional prompt)
"Read a string without echoing.
Then send it to the process running in the current buffer.
The string is sent using `comint-input-sender'.
Security bug: your string can still be temporarily recovered with
\\[view-lossage]; `clear-this-command-keys' can fix that."
(interactive "P") ; Defeat snooping via C-x ESC ESC
(let ((proc (get-buffer-process (current-buffer))))
(cond ((not proc)
(error "Current buffer has no process"))
((stringp str)
(funcall comint-input-sender proc str))
(let ((str (comint-read-noecho "Non-echoed text: " t)))
(if (stringp str)
(send-invisible str)
(message "Warning: text will be echoed")))))))
(if proc
(let ((str (comint-read-noecho (or prompt "Non-echoed text: ") t)))
(if (stringp str)
(funcall comint-input-sender proc str))
(message "Warning: text will be echoed")))
(error "Current buffer has no process"))))
(defun comint-watch-for-password-prompt (string)
"Prompt in the minibuffer for password and send without echoing.
......@@ -1977,8 +1976,7 @@ This function could be in the list `comint-output-filter-functions'."
(when (string-match comint-password-prompt-regexp string)
(when (string-match "^[ \n\r\t\v\f\b\a]+" string)
(setq string (replace-match "" t t string)))
(let ((pw (comint-read-noecho string t)))
(send-invisible pw))))
(send-invisible string)))
;; Low-level process communication
......@@ -2084,7 +2082,7 @@ between the process-mark and point."
(interrupt-process nil comint-ptyp)
;; (process-send-string nil "\n")
(defun comint-kill-subjob ()
"Send kill signal to the current subjob.
......@@ -2553,7 +2551,7 @@ directory tracking functions.")
(defvar comint-file-name-chars
(if (memq system-type '(ms-dos windows-nt cygwin))
"String of characters valid in a file name.
Note that all non-ASCII characters are considered valid in a file name
regardless of what this variable says.
......@@ -2579,15 +2577,19 @@ Word constituents are considered to be those in WORD-CHARS, which is like the
inside of a \"[...]\" (see `skip-chars-forward'),
plus all non-ASCII characters."
(let ((non-word-chars (concat "[^\\\\" word-chars "]")) (here (point)))
(while (and (re-search-backward non-word-chars nil 'move)
;;(memq (char-after (point)) shell-file-name-quote-list)
(or (>= (following-char) 128)
(eq (preceding-char) ?\\)))
(backward-char 1))
;; Don't go forward over a word-char (this can happen if we're at bob).
(when (or (not (bobp)) (looking-at non-word-chars))
(forward-char 1))
(let ((here (point))
(while (not giveup)
(let ((startpoint (point)))
(skip-chars-backward (concat "\\\\" word-chars))
(if (and (> (- (point) 2) (point-min))
(= (char-after (- (point) 2)) ?\\))
(forward-char -2))
(if (and (> (- (point) 1) (point-min))
(>= (char-after (- (point) 1)) 128))
(forward-char -1))
(if (= (point) startpoint)
(setq giveup t))))
;; Set match-data to match the entire string.
(when (< (point) here)
(set-match-data (list (point) here))
......@@ -2699,10 +2701,10 @@ See `comint-dynamic-complete-filename'. Returns t if successful."
(cdr comint-completion-addsuffix))))
(filename (or (comint-match-partial-filename) ""))
(pathdir (file-name-directory filename))
(pathnondir (file-name-nondirectory filename))
(directory (if pathdir (comint-directory pathdir) default-directory))
(completion (file-name-completion pathnondir directory)))
(filedir (file-name-directory filename))
(filenondir (file-name-nondirectory filename))
(directory (if filedir (comint-directory filedir) default-directory))
(completion (file-name-completion filenondir directory)))
(cond ((null completion)
(message "No completions of %s" filename)
(setq success nil))
......@@ -2716,21 +2718,21 @@ See `comint-dynamic-complete-filename'. Returns t if successful."
(let ((file (concat (file-name-as-directory directory) completion)))
(insert (comint-quote-filename
(substring (directory-file-name completion)
(length pathnondir))))
(length filenondir))))
(cond ((symbolp (file-name-completion completion directory))
;; We inserted a unique completion.
(insert (if (file-directory-p file) dirsuffix filesuffix))
(unless minibuffer-p
(message "Completed")))
((and comint-completion-recexact comint-completion-addsuffix
(string-equal pathnondir completion)
(string-equal filenondir completion)
(file-exists-p file))
;; It's not unique, but user wants shortest match.
(insert (if (file-directory-p file) dirsuffix filesuffix))
(unless minibuffer-p
(message "Completed shortest")))
((or comint-completion-autolist
(string-equal pathnondir completion))
(string-equal filenondir completion))
;; It's not unique, list possible completions.
......@@ -2814,10 +2816,10 @@ See also `comint-dynamic-complete-filename'."
;; but subsequent changes may have made this unnecessary. sm.
;;(file-name-handler-alist nil)
(filename (or (comint-match-partial-filename) ""))
(pathdir (file-name-directory filename))
(pathnondir (file-name-nondirectory filename))
(directory (if pathdir (comint-directory pathdir) default-directory))
(completions (file-name-all-completions pathnondir directory)))
(filedir (file-name-directory filename))
(filenondir (file-name-nondirectory filename))
(directory (if filedir (comint-directory filedir) default-directory))
(completions (file-name-all-completions filenondir directory)))
(if (not completions)
(message "No completions of %s" filename)
......@@ -2829,6 +2831,8 @@ See also `comint-dynamic-complete-filename'."
;; command is repeatedly used without the set of completions changing.
(defvar comint-displayed-dynamic-completions nil)
(defvar comint-dynamic-list-completions-config nil)
(defun comint-dynamic-list-completions (completions)
"List in help buffer sorted COMPLETIONS.
Typing SPC flushes the help buffer."
......@@ -2858,30 +2862,35 @@ Typing SPC flushes the help buffer."
(select-window window)
(let ((conf (current-window-configuration)))
(with-output-to-temp-buffer "*Completions*"
(display-completion-list completions))
(message "Type space to flush; repeat completion command to scroll")
(let (key first)
(if (save-excursion
(set-buffer (get-buffer "*Completions*"))
(set (make-local-variable
(setq key (read-key-sequence nil)
first (aref key 0))
(and (consp first) (consp (event-start first))
(eq (window-buffer (posn-window (event-start first)))
(get-buffer "*Completions*"))
(eq (key-binding key) 'mouse-choose-completion)))
;; If the user does mouse-choose-completion with the mouse,
;; execute the command, then delete the completion window.
(mouse-choose-completion first)
(set-window-configuration conf))
(if (eq first ?\ )
(set-window-configuration conf)
(setq unread-command-events (listify-key-sequence key)))))))))
;; Display a completion list for the first time.
(setq comint-dynamic-list-completions-config
(with-output-to-temp-buffer "*Completions*"
(display-completion-list completions))
(message "Type space to flush; repeat completion command to scroll"))
;; Read the next key, to process SPC.
(let (key first)
(if (save-excursion
(set-buffer (get-buffer "*Completions*"))
(set (make-local-variable
(setq key (read-key-sequence nil)
first (aref key 0))
(and (consp first) (consp (event-start first))
(eq (window-buffer (posn-window (event-start first)))
(get-buffer "*Completions*"))
(eq (key-binding key) 'mouse-choose-completion)))
;; If the user does mouse-choose-completion with the mouse,
;; execute the command, then delete the completion window.
(mouse-choose-completion first)
(set-window-configuration comint-dynamic-list-completions-config))
(unless (eq first ?\ )
(setq unread-command-events (listify-key-sequence key)))
(unless (eq first ?\t)
(set-window-configuration comint-dynamic-list-completions-config))))))
(defun comint-get-next-from-history ()
......@@ -558,17 +558,17 @@ from THEME by `custom-make-theme-feature'."
(error "Keyword %s is missing an argument" keyword))
(setq args (cdr args))
(cond ((eq keyword :short-description)
(put theme 'theme-short-description short-description))
(put theme 'theme-short-description value))
((eq keyword :immediate)
(put theme 'theme-immediate immediate))
(put theme 'theme-immediate value))
((eq keyword :variable-set-string)
(put theme 'theme-variable-set-string variable-set-string))
(put theme 'theme-variable-set-string value))
((eq keyword :variable-reset-string)
(put theme 'theme-variable-reset-string variable-reset-string))
(put theme 'theme-variable-reset-string value))
((eq keyword :face-set-string)
(put theme 'theme-face-set-string face-set-string))
(put theme 'theme-face-set-string value))
((eq keyword :face-reset-string)
(put theme 'theme-face-reset-string face-reset-string)))))))
(put theme 'theme-face-reset-string value)))))))
(defmacro deftheme (theme &optional doc &rest args)
"Declare custom theme THEME.
......@@ -59,8 +59,8 @@ It may be followed by the following keyword argument pairs
:filter FUNCTION
FUNCTION is a function with one argument, the menu. It returns the actual
menu displayed.
FUNCTION is a function with one argument, the rest of menu items.
It returns the remaining items of the displayed menu.
:visible INCLUDE
......@@ -212,13 +212,10 @@ Defaults to the value of `case-fold-search'."
:group 'file-cache
(defcustom file-cache-assoc-function
(if (memq system-type (list 'ms-dos 'windows-nt 'cygwin))
"Function to use to check completions in the file cache.
Defaults to `assoc-ignore-case' on DOS and Windows, and `assoc' on
other systems."
(defcustom file-cache-ignore-case
(memq system-type (list 'ms-dos 'windows-nt 'cygwin))
"Non-nil means ignore case when checking completions in the file cache.
Defaults to nil on DOS and Windows, and t on other systems."
:type 'sexp
:group 'file-cache
......@@ -301,8 +298,9 @@ in each directory, not to the directory list itself."
(message "File %s does not exist" file)
(let* ((file-name (file-name-nondirectory file))
(dir-name (file-name-directory file))
(the-entry (funcall file-cache-assoc-function
file-name file-cache-alist))
(the-entry (assoc-string
file-name file-cache-alist
;; Does the entry exist already?
(if the-entry
......@@ -402,7 +400,7 @@ or the optional REGEXP argument."
(list (completing-read "Delete file from cache: " file-cache-alist)))
(setq file-cache-alist
(delq (funcall file-cache-assoc-function file file-cache-alist)
(delq (assoc-string file file-cache-alist file-cache-ignore-case)
(defun file-cache-delete-file-list (file-list)
......@@ -458,8 +456,9 @@ or the optional REGEXP argument."
;; Returns the name of a directory for a file in the cache
(defun file-cache-directory-name (file)
(let* ((directory-list (cdr (funcall file-cache-assoc-function