aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2010-08-08 17:15:44 -0400
committerChong Yidong2010-08-08 17:15:44 -0400
commitcc36ae609d01e7922c662c78866300d57b34b07e (patch)
tree2fc2af92520d09b2fb9cf4014187496cf35793df
parent675e2c697bc8a0ff827fcb33297f63f4cc7ecad3 (diff)
parent7815fe1985833c57457882b415a29358991dabdc (diff)
downloademacs-cc36ae609d01e7922c662c78866300d57b34b07e.tar.gz
emacs-cc36ae609d01e7922c662c78866300d57b34b07e.zip
Merge changes from emacs-23 branch.
-rw-r--r--doc/lispref/ChangeLog14
-rw-r--r--doc/lispref/control.texi2
-rw-r--r--doc/lispref/minibuf.texi9
-rw-r--r--doc/lispref/modes.texi6
-rw-r--r--doc/misc/ChangeLog4
-rw-r--r--etc/ChangeLog4
-rw-r--r--etc/PROBLEMS8
-rw-r--r--lisp/ChangeLog90
-rw-r--r--lisp/align.el10
-rw-r--r--lisp/bindings.el3
-rw-r--r--lisp/dabbrev.el2
-rw-r--r--lisp/emacs-lisp/syntax.el2
-rw-r--r--lisp/emulation/pc-select.el12
-rw-r--r--lisp/eshell/esh-io.el3
-rw-r--r--lisp/international/mule-conf.el14
-rw-r--r--lisp/international/mule.el194
-rw-r--r--lisp/isearch.el19
-rw-r--r--lisp/language/cyrillic.el7
-rw-r--r--lisp/progmodes/which-func.el4
-rw-r--r--lisp/replace.el4
-rw-r--r--lisp/server.el4
-rw-r--r--lisp/simple.el3
-rw-r--r--lisp/term.el20
-rw-r--r--nt/ChangeLog5
-rw-r--r--nt/cmdproxy.c40
-rw-r--r--src/ChangeLog32
-rw-r--r--src/charset.c86
-rw-r--r--src/coding.c2
-rw-r--r--src/dired.c3
-rw-r--r--src/fns.c23
-rw-r--r--src/minibuf.c3
-rw-r--r--src/w32fns.c2
-rw-r--r--src/xfns.c10
33 files changed, 444 insertions, 200 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index f5c66806764..fe64ca9d835 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,17 @@
12010-08-08 Christoph <cschol2112@googlemail.com>
2
3 * control.texi (Handling Errors) <error-message-string>: Fix arg name.
4
52010-08-08 Juanma Barranquero <lekktu@gmail.com>
6
7 * modes.texi (Defining Minor Modes): Use C-backspace, not C-delete.
8 Suggested by Štěpán Němec <stepnem@gmail.com>.
9
102010-08-08 Juanma Barranquero <lekktu@gmail.com>
11
12 * minibuf.texi (High-Level Completion): Document args of
13 `read-buffer-function' (bug#5625).
14
12010-07-29 Jan Djärv <jan.h.d@swipnet.se> 152010-07-29 Jan Djärv <jan.h.d@swipnet.se>
2 16
3 * frames.texi (Layout Parameters): Add doc for tool-bar-position. 17 * frames.texi (Layout Parameters): Add doc for tool-bar-position.
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi
index 1c4447e9eb5..16564677f32 100644
--- a/doc/lispref/control.texi
+++ b/doc/lispref/control.texi
@@ -1039,7 +1039,7 @@ to @code{condition-case} whose error condition you want to re-throw.
1039@xref{Definition of signal}. 1039@xref{Definition of signal}.
1040@end defspec 1040@end defspec
1041 1041
1042@defun error-message-string error-description 1042@defun error-message-string error-descriptor
1043This function returns the error message string for a given error 1043This function returns the error message string for a given error
1044descriptor. It is useful if you want to handle an error by printing the 1044descriptor. It is useful if you want to handle an error by printing the
1045usual error message for that error. @xref{Definition of signal}. 1045usual error message for that error. @xref{Definition of signal}.
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index 3588704b054..9bc6be432ae 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -1222,10 +1222,11 @@ Buffer name (default foo): @point{}
1222@end defun 1222@end defun
1223 1223
1224@defopt read-buffer-function 1224@defopt read-buffer-function
1225This variable specifies how to read buffer names. For example, if you 1225This variable specifies how to read buffer names. The function is
1226set this variable to @code{iswitchb-read-buffer}, all Emacs commands 1226called with the arguments passed to @code{read-buffer}. For example,
1227that call @code{read-buffer} to read a buffer name will actually use the 1227if you set this variable to @code{iswitchb-read-buffer}, all Emacs
1228@code{iswitchb} package to read it. 1228commands that call @code{read-buffer} to read a buffer name will
1229actually use the @code{iswitchb} package to read it.
1229@end defopt 1230@end defopt
1230 1231
1231@defopt read-buffer-completion-ignore-case 1232@defopt read-buffer-completion-ignore-case
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index c095a9e195d..3953da59b93 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -1494,7 +1494,7 @@ See the command \\[hungry-electric-delete]."
1494 ;; The indicator for the mode line. 1494 ;; The indicator for the mode line.
1495 " Hungry" 1495 " Hungry"
1496 ;; The minor mode bindings. 1496 ;; The minor mode bindings.
1497 '(([C-delete] . hungry-electric-delete)) 1497 '(([C-backspace] . hungry-electric-delete))
1498 :group 'hunger) 1498 :group 'hunger)
1499@end smallexample 1499@end smallexample
1500 1500
@@ -1526,8 +1526,8 @@ See the command \\[hungry-electric-delete]."
1526 :lighter " Hungry" 1526 :lighter " Hungry"
1527 ;; The minor mode bindings. 1527 ;; The minor mode bindings.
1528 :keymap 1528 :keymap
1529 '(([C-delete] . hungry-electric-delete) 1529 '(([C-backspace] . hungry-electric-delete)
1530 ([C-M-delete] 1530 ([C-M-backspace]
1531 . (lambda () 1531 . (lambda ()
1532 (interactive) 1532 (interactive)
1533 (hungry-electric-delete t)))) 1533 (hungry-electric-delete t))))
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 566fab45fbf..56dd6336108 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,7 @@
12010-08-08 Juanma Barranquero <lekktu@gmail.com>
2
3 * org.texi (Footnotes, Tables in HTML export): Fix typos.
4
12010-08-08 Jay Belanger <jay.p.belanger@gmail.com> 52010-08-08 Jay Belanger <jay.p.belanger@gmail.com>
2 6
3 * calc.texi (Making Selections, Selecting Subformulas) 7 * calc.texi (Making Selections, Selecting Subformulas)
diff --git a/etc/ChangeLog b/etc/ChangeLog
index aef2eff221f..b40fc71708f 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,7 @@
12010-08-08 Ken Brown <kbrown@cornell.edu>
2
3 * PROBLEMS: Mention problem with Cygwin 1.5.19.
4
12010-08-07 Eli Zaretskii <eliz@gnu.org> 52010-08-07 Eli Zaretskii <eliz@gnu.org>
2 6
3 * NEWS: Mention the Hebrew translation. 7 * NEWS: Mention the Hebrew translation.
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 6609f185825..093d815bd81 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -2344,6 +2344,14 @@ files are installed. Then use:
2344As of Emacs 22.1, there have been stability problems with Cygwin 2344As of Emacs 22.1, there have been stability problems with Cygwin
2345builds of Emacs using GCC 3. Cygwin users are advised to use GCC 4. 2345builds of Emacs using GCC 3. Cygwin users are advised to use GCC 4.
2346 2346
2347*** Building Emacs 23.3 and later will fail under Cygwin 1.5.19
2348
2349This is a consequence of a change to src/dired.c on 2010-07-27. The
2350issue is that Cygwin 1.5.19 did not have d_ino in 'struct dirent'.
2351See
2352
2353 http://lists.gnu.org/archive/html/emacs-devel/2010-07/msg01266.html
2354
2347*** Building the native MS-Windows port fails due to unresolved externals 2355*** Building the native MS-Windows port fails due to unresolved externals
2348 2356
2349The linker error messages look like this: 2357The linker error messages look like this:
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 50aa73ad37b..aebe6b5951e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,93 @@
12010-08-08 Johan Bockgård <bojohan@gnu.org>
2
3 * replace.el (replace-highlight): Bind isearch-forward and
4 isearch-error, ensuring that highlighting is updated if the user
5 switches the search direction (Bug#6808).
6
7 * isearch.el (isearch-lazy-highlight-forward): New var.
8 (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
9 (isearch-lazy-highlight-update): Use it.
10
112010-08-08 Kenichi Handa <handa@m17n.org>
12
13 * international/mule.el (define-charset): Store NAME as :base
14 property.
15 (ctext-non-standard-encodings-table): Pay attention to charset
16 aliases.
17 (ctext-pre-write-conversion): Sort ctext-standard-encodings by the
18 current priority. Force using the designation of the specific
19 charset by adding `charset' text property. Improve the whole
20 algorithm.
21
222010-08-08 Juanma Barranquero <lekktu@gmail.com>
23
24 * emulation/pc-select.el (pc-selection-mode-hook)
25 (copy-region-as-kill-nomark, beginning-of-buffer-mark)
26 (pc-selection-mode): Fix typos in docstrings.
27
282010-08-08 Kenichi Handa <handa@m17n.org>
29
30 * language/cyrillic.el: Don't add "microsoft-cp1251" to
31 ctext-non-standard-encodings-alist here.
32
33 * international/mule.el (ctext-non-standard-encodings-alist): Add
34 "koi8-r" and "microsoft-cp1251".
35 (ctext-standard-encodings): New variable.
36 (ctext-non-standard-encodings-table): List only elements for
37 non-standard encodings.
38 (ctext-pre-write-conversion): Adjusted for the above change.
39 Check ctext-standard-encodings.
40
41 * international/mule-conf.el (compound-text): Doc fix.
42 (ctext-no-compositions): Doc fix.
43 (compound-text-with-extensions): Doc fix.
44
452010-08-08 Stefan Monnier <monnier@iro.umontreal.ca>
46
47 * simple.el (exchange-dot-and-mark): Mark obsolete, finally.
48
492010-08-03 Juanma Barranquero <lekktu@gmail.com>
50
51 * progmodes/which-func.el (which-func-format): Split help-echo text
52 into lines, like other mode-line tooltips.
53
54 * server.el (server-start): When using TCP sockets, force IPv4
55 and use a literal 127.0.0.1 for localhost. (Related to bug#6781.)
56
572010-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
58
59 * bindings.el (complete-symbol): Run completion-at-point as a fallback.
60
612010-08-02 Juanma Barranquero <lekktu@gmail.com>
62
63 * term.el (term-delimiter-argument-list): Reflow docstring.
64 (term-read-input-ring, term-write-input-ring, term-send-input)
65 (term-bol, term-erase-in-display, serial-supported-or-barf):
66 Fix typos in docstrings.
67
682010-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
69
70 * bindings.el (function-key-map): Add a S-tab => backtab fallback.
71
722010-08-01 Juanma Barranquero <lekktu@gmail.com>
73
74 * dabbrev.el (dabbrev-completion): Fix typo in docstring.
75
762010-08-01 MON KEY <monkey@sandpframing.com> (tiny change)
77
78 * emacs-lisp/syntax.el (syntax-ppss-toplevel-pos):
79 Fix typo in docstring (bug#6747).
80
812010-08-08 Leo <sdl.web@gmail.com>
82
83 * eshell/esh-io.el (eshell-get-target): Better detection of
84 read-only file (Bug#6762).
85
862010-08-08 Juanma Barranquero <lekktu@gmail.com>
87
88 * align.el (align-default-spacing): Doc fix.
89 (align-region-heuristic, align-regexp): Fix typos in docstrings.
90
12010-08-08 Ulf Jasper <ulf.jasper@web.de> 912010-08-08 Ulf Jasper <ulf.jasper@web.de>
2 92
3 * calendar/icalendar.el (icalendar-uid-format): Doc fix. 93 * calendar/icalendar.el (icalendar-uid-format): Doc fix.
diff --git a/lisp/align.el b/lisp/align.el
index 83ed0f4693a..9d811327021 100644
--- a/lisp/align.el
+++ b/lisp/align.el
@@ -140,8 +140,8 @@
140 "An integer that represents the default amount of padding to use. 140 "An integer that represents the default amount of padding to use.
141If `align-to-tab-stop' is non-nil, this will represent the number of 141If `align-to-tab-stop' is non-nil, this will represent the number of
142tab stops to use for alignment, rather than the number of spaces. 142tab stops to use for alignment, rather than the number of spaces.
143Each alignment rule can optionally override both this variable. See 143Each alignment rule can optionally override both this variable and
144`align-mode-alist'." 144`align-to-tab-stop'. See `align-rules-list'."
145 :type 'integer 145 :type 'integer
146 :group 'align) 146 :group 'align)
147 147
@@ -157,8 +157,8 @@ Since each alignment rule can possibly have its own set of alignment
157sections (whenever `align-region-separate' is non-nil, and not a 157sections (whenever `align-region-separate' is non-nil, and not a
158string), this heuristic is used to determine how far before and after 158string), this heuristic is used to determine how far before and after
159point we should search in looking for a region separator. Larger 159point we should search in looking for a region separator. Larger
160values can mean slower perform in large files, although smaller values 160values can mean slower performance in large files, although smaller
161may cause unexpected behavior at times." 161values may cause unexpected behavior at times."
162 :type 'integer 162 :type 'integer
163 :group 'align) 163 :group 'align)
164 164
@@ -926,7 +926,7 @@ align them so that the opening parentheses would line up:
926 Joe (123) 456-7890 926 Joe (123) 456-7890
927 927
928There is no predefined rule to handle this, but you could easily do it 928There is no predefined rule to handle this, but you could easily do it
929using a REGEXP like \"(\". All you would have to do is to mark the 929using a REGEXP like \"(\". All you would have to do is to mark the
930region, call `align-regexp' and type in that regular expression." 930region, call `align-regexp' and type in that regular expression."
931 (interactive 931 (interactive
932 (append 932 (append
diff --git a/lisp/bindings.el b/lisp/bindings.el
index 4eab37edf46..eba6bf7a78a 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -1054,6 +1054,9 @@ if `inhibit-field-text-motion' is non-nil."
1054;; so we can't distinguish those two keys, but usually we consider C-SPC 1054;; so we can't distinguish those two keys, but usually we consider C-SPC
1055;; (rather than C-@) as the "canonical" binding. 1055;; (rather than C-@) as the "canonical" binding.
1056(define-key function-key-map [?\C-@] [?\C-\s]) 1056(define-key function-key-map [?\C-@] [?\C-\s])
1057;; Many keyboards don't have a `backtab' key, so by convention the user
1058;; can use S-tab instead to access that binding.
1059(define-key function-key-map [S-tab] [backtab])
1057 1060
1058(define-key global-map [mouse-movement] 'ignore) 1061(define-key global-map [mouse-movement] 'ignore)
1059 1062
diff --git a/lisp/dabbrev.el b/lisp/dabbrev.el
index 3ba9d56af16..1127181dca2 100644
--- a/lisp/dabbrev.el
+++ b/lisp/dabbrev.el
@@ -377,7 +377,7 @@ With a prefix argument ARG, it searches all buffers accepted by the
377function pointed out by `dabbrev-friend-buffer-function' to find the 377function pointed out by `dabbrev-friend-buffer-function' to find the
378completions. 378completions.
379 379
380If the prefix argument is 16 (which comes from \\[prefix-argument] \\[prefix-argument]), 380If the prefix argument is 16 (which comes from \\[universal-argument] \\[universal-argument]),
381then it searches *all* buffers." 381then it searches *all* buffers."
382 (interactive "*P") 382 (interactive "*P")
383 (dabbrev--reset-global-variables) 383 (dabbrev--reset-global-variables)
diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el
index a3110f8d8c5..5cc89596ef5 100644
--- a/lisp/emacs-lisp/syntax.el
+++ b/lisp/emacs-lisp/syntax.el
@@ -52,7 +52,7 @@
52 52
53(defun syntax-ppss-toplevel-pos (ppss) 53(defun syntax-ppss-toplevel-pos (ppss)
54 "Get the latest syntactically outermost position found in a syntactic scan. 54 "Get the latest syntactically outermost position found in a syntactic scan.
55PPSS is a scan state, as returned by `partial-parse-sexp' or `syntax-ppss'. 55PPSS is a scan state, as returned by `parse-partial-sexp' or `syntax-ppss'.
56An \"outermost position\" means one that it is outside of any syntactic entity: 56An \"outermost position\" means one that it is outside of any syntactic entity:
57outside of any parentheses, comments, or strings encountered in the scan. 57outside of any parentheses, comments, or strings encountered in the scan.
58If no such position is recorded in PPSS (because the end of the scan was 58If no such position is recorded in PPSS (because the end of the scan was
diff --git a/lisp/emulation/pc-select.el b/lisp/emulation/pc-select.el
index 857f94cb5f5..fcff6a7eb60 100644
--- a/lisp/emulation/pc-select.el
+++ b/lisp/emulation/pc-select.el
@@ -110,7 +110,7 @@ This gives mostly Emacs-like behavior with only the selection keys enabled."
110 :group 'pc-select) 110 :group 'pc-select)
111 111
112(defcustom pc-selection-mode-hook nil 112(defcustom pc-selection-mode-hook nil
113 "The hook to run when pc-selection-mode is toggled." 113 "The hook to run when PC Selection mode is toggled."
114 :type 'hook 114 :type 'hook
115 :group 'pc-select) 115 :group 'pc-select)
116 116
@@ -261,7 +261,7 @@ association.")
261(provide 'pc-select) 261(provide 'pc-select)
262 262
263(defun copy-region-as-kill-nomark (beg end) 263(defun copy-region-as-kill-nomark (beg end)
264 "Save the region as if killed; but don't kill it; deactivate mark. 264 "Save the region as if killed, but don't kill it; deactivate mark.
265If `interprogram-cut-function' is non-nil, also save the text for a window 265If `interprogram-cut-function' is non-nil, also save the text for a window
266system cut and paste. 266system cut and paste.
267 267
@@ -569,7 +569,7 @@ Don't use this command in Lisp programs!
569;;;;;;;;;;;;;;;;;;;; 569;;;;;;;;;;;;;;;;;;;;
570 570
571(defun backward-char-mark (&optional arg) 571(defun backward-char-mark (&optional arg)
572"Ensure mark is active; move point left ARG characters (right if ARG negative). 572 "Ensure mark is active; move point left ARG characters (right if ARG negative).
573On attempt to pass beginning or end of buffer, stop and signal error." 573On attempt to pass beginning or end of buffer, stop and signal error."
574 (interactive "p") 574 (interactive "p")
575 (pc-select-ensure-mark) 575 (pc-select-ensure-mark)
@@ -633,7 +633,7 @@ If scan reaches end of buffer, stop there without error."
633 633
634 634
635(defun scroll-up-mark (&optional arg) 635(defun scroll-up-mark (&optional arg)
636"Ensure mark is active; scroll upward ARG lines; or near full screen if no ARG. 636 "Ensure mark is active; scroll upward ARG lines; or near full screen if no ARG.
637A near full screen is `next-screen-context-lines' less than a full screen. 637A near full screen is `next-screen-context-lines' less than a full screen.
638Negative ARG means scroll downward. 638Negative ARG means scroll downward.
639When calling from a program, supply a number as argument or nil. 639When calling from a program, supply a number as argument or nil.
@@ -654,7 +654,7 @@ If the buffer is narrowed, this command uses the beginning and size
654of the accessible part of the buffer. 654of the accessible part of the buffer.
655 655
656Don't use this command in Lisp programs! 656Don't use this command in Lisp programs!
657\(goto-char (p\oint-min)) is faster and avoids clobbering the mark." 657\(goto-char (point-min)) is faster and avoids clobbering the mark."
658 (interactive "P") 658 (interactive "P")
659 (pc-select-ensure-mark) 659 (pc-select-ensure-mark)
660 (let ((size (- (point-max) (point-min)))) 660 (let ((size (- (point-max) (point-min))))
@@ -841,7 +841,7 @@ If the value is non-nil, call the function MODE with an argument of
841 841
842;;;###autoload 842;;;###autoload
843(define-minor-mode pc-selection-mode 843(define-minor-mode pc-selection-mode
844 "Change mark behavior to emulate Motif, MAC or MS-Windows cut and paste style. 844 "Change mark behavior to emulate Motif, Mac or MS-Windows cut and paste style.
845 845
846This mode enables Delete Selection mode and Transient Mark mode. 846This mode enables Delete Selection mode and Transient Mark mode.
847 847
diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el
index 1bcfe2b46e7..3aa785c7c1b 100644
--- a/lisp/eshell/esh-io.el
+++ b/lisp/eshell/esh-io.el
@@ -343,8 +343,9 @@ it defaults to `insert'."
343 (let* ((exists (get-file-buffer target)) 343 (let* ((exists (get-file-buffer target))
344 (buf (find-file-noselect target t))) 344 (buf (find-file-noselect target t)))
345 (with-current-buffer buf 345 (with-current-buffer buf
346 (if buffer-read-only 346 (if buffer-file-read-only
347 (error "Cannot write to read-only file `%s'" target)) 347 (error "Cannot write to read-only file `%s'" target))
348 (setq buffer-read-only nil)
348 (set (make-local-variable 'eshell-output-file-buffer) 349 (set (make-local-variable 'eshell-output-file-buffer)
349 (if (eq exists buf) 0 t)) 350 (if (eq exists buf) 0 t))
350 (cond ((eq mode 'overwrite) 351 (cond ((eq mode 'overwrite)
diff --git a/lisp/international/mule-conf.el b/lisp/international/mule-conf.el
index f53b69eed8b..9ee8d22463a 100644
--- a/lisp/international/mule-conf.el
+++ b/lisp/international/mule-conf.el
@@ -1410,9 +1410,10 @@ is treated as a character."
1410 :flags '(ascii-at-eol ascii-at-cntl designation single-shift composition)) 1410 :flags '(ascii-at-eol ascii-at-cntl designation single-shift composition))
1411 1411
1412(define-coding-system 'compound-text 1412(define-coding-system 'compound-text
1413 "Compound text based generic encoding for decoding unknown messages. 1413 "Compound text based generic encoding.
1414 1414This coding system is an extension of X's \"Compound Text Encoding\".
1415This coding system does not support extended segments of CTEXT." 1415It encodes many characters using the normal ISO-2022 designation sequences,
1416but it doesn't support extended segments of CTEXT."
1416 :coding-type 'iso-2022 1417 :coding-type 'iso-2022
1417 :mnemonic ?x 1418 :mnemonic ?x
1418 :charset-list 'iso-2022 1419 :charset-list 'iso-2022
@@ -1432,7 +1433,7 @@ This coding system does not support extended segments of CTEXT."
1432;; not have a mime-charset property, to prevent it from showing up 1433;; not have a mime-charset property, to prevent it from showing up
1433;; close to the beginning of coding systems ordered by priority. 1434;; close to the beginning of coding systems ordered by priority.
1434(define-coding-system 'ctext-no-compositions 1435(define-coding-system 'ctext-no-compositions
1435 "Compound text based generic encoding for decoding unknown messages. 1436 "Compound text based generic encoding.
1436 1437
1437Like `compound-text', but does not produce escape sequences for compositions." 1438Like `compound-text', but does not produce escape sequences for compositions."
1438 :coding-type 'iso-2022 1439 :coding-type 'iso-2022
@@ -1445,8 +1446,9 @@ Like `compound-text', but does not produce escape sequences for compositions."
1445(define-coding-system 'compound-text-with-extensions 1446(define-coding-system 'compound-text-with-extensions
1446 "Compound text encoding with ICCCM Extended Segment extensions. 1447 "Compound text encoding with ICCCM Extended Segment extensions.
1447 1448
1448See the variable `ctext-non-standard-encodings-alist' for the 1449See the variables `ctext-standard-encodings' and
1449detail about how extended segments are handled. 1450`ctext-non-standard-encodings-alist' for the detail about how
1451extended segments are handled.
1450 1452
1451This coding system should be used only for X selections. It is inappropriate 1453This coding system should be used only for X selections. It is inappropriate
1452for decoding and encoding files, process I/O, etc." 1454for decoding and encoding files, process I/O, etc."
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 0569ca4c268..59d6ff42c97 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -282,6 +282,7 @@ attribute."
282 (plist-put props :short-name (symbol-name name))) 282 (plist-put props :short-name (symbol-name name)))
283 (or (plist-get props :long-name) 283 (or (plist-get props :long-name)
284 (plist-put props :long-name (plist-get props :short-name))) 284 (plist-put props :long-name (plist-get props :short-name)))
285 (plist-put props :base name)
285 ;; We can probably get a worthwhile amount in purespace. 286 ;; We can probably get a worthwhile amount in purespace.
286 (setq props 287 (setq props
287 (mapcar (lambda (elt) 288 (mapcar (lambda (elt)
@@ -1465,7 +1466,9 @@ This function is provided for backward compatibility."
1465 '(("big5-0" big5 2 big5) 1466 '(("big5-0" big5 2 big5)
1466 ("ISO8859-14" iso-8859-14 1 latin-iso8859-14) 1467 ("ISO8859-14" iso-8859-14 1 latin-iso8859-14)
1467 ("ISO8859-15" iso-8859-15 1 latin-iso8859-15) 1468 ("ISO8859-15" iso-8859-15 1 latin-iso8859-15)
1468 ("gbk-0" gbk 2 chinese-gbk))) 1469 ("gbk-0" gbk 2 chinese-gbk)
1470 ("koi8-r" koi8-r 1 koi8-r)
1471 ("microsoft-cp1251" windows-1251 1 windows-1251)))
1469 "Alist of non-standard encoding names vs the corresponding usages in CTEXT. 1472 "Alist of non-standard encoding names vs the corresponding usages in CTEXT.
1470 1473
1471It controls how extended segments of a compound text are handled 1474It controls how extended segments of a compound text are handled
@@ -1554,6 +1557,20 @@ Each element must be one of the names listed in the variable
1554 (goto-char (point-min)) 1557 (goto-char (point-min))
1555 (- (point-max) (point))))) 1558 (- (point-max) (point)))))
1556 1559
1560(defvar ctext-standard-encodings
1561 '(ascii latin-jisx0201 katakana-jisx0201
1562 latin-iso8859-1 latin-iso8859-2 latin-iso8859-3 latin-iso8859-4
1563 greek-iso8859-7 arabic-iso8859-6 hebrew-iso8859-8 cyrillic-iso8859-5
1564 latin-iso8859-9
1565 chinese-gb2312 japanese-jisx0208 korean-ksc5601)
1566 "List of approved standard encodings (i.e. charsets) of X's Compound Text.
1567Coding-system `compound-text-with-extensions' encodes a character
1568belonging to any of those charsets using the normal ISO2022
1569designation sequence unless the current language environment or
1570the variable `ctext-non-standard-encodings' decide to use an extended
1571segment of CTEXT for that character. See also the documentation
1572of `ctext-non-standard-encodings-alist'.")
1573
1557;; Return an alist of CHARSET vs CTEXT-USAGE-INFO generated from 1574;; Return an alist of CHARSET vs CTEXT-USAGE-INFO generated from
1558;; `ctext-non-standard-encodings' and a list specified by the key 1575;; `ctext-non-standard-encodings' and a list specified by the key
1559;; `ctext-non-standard-encodings' for the currrent language 1576;; `ctext-non-standard-encodings' for the currrent language
@@ -1565,115 +1582,94 @@ Each element must be one of the names listed in the variable
1565;; is encoded using UTF-8 encoding extention. 1582;; is encoded using UTF-8 encoding extention.
1566 1583
1567(defun ctext-non-standard-encodings-table () 1584(defun ctext-non-standard-encodings-table ()
1568 (let (table) 1585 (let* ((table (append ctext-non-standard-encodings
1569 ;; Setup charsets specified by the key 1586 (copy-sequence
1570 ;; `ctext-non-standard-encodings' for the current language 1587 (get-language-info current-language-environment
1571 ;; environment and in `ctext-non-standard-encodings'. 1588 'ctext-non-standard-encodings))))
1572 (dolist (encoding (append 1589 (tail table)
1573 (get-language-info current-language-environment 1590 elt)
1574 'ctext-non-standard-encodings) 1591 (while tail
1575 ctext-non-standard-encodings)) 1592 (setq elt (car tail))
1576 (let* ((slot (assoc encoding ctext-non-standard-encodings-alist)) 1593 (let* ((slot (assoc elt ctext-non-standard-encodings-alist))
1577 (charset (nth 3 slot))) 1594 (charset (nth 3 slot)))
1578 (if (charsetp charset) 1595 (if (charsetp charset)
1579 (push (cons charset slot) table) 1596 (setcar tail
1580 (dolist (cs charset) 1597 (cons (plist-get (charset-plist charset) :base) slot))
1581 (push (cons cs slot) table))))) 1598 (setcar tail (cons (car charset) slot))
1582 1599 (dolist (cs (cdr charset))
1583 ;; Next prepend charsets for ISO2022 designation sequence. 1600 (setcdr tail
1584 (dolist (charset charset-list) 1601 (cons (cons (plist-get (charset-plist (car cs)) :base) slot)
1585 (let ((final (plist-get (charset-plist charset) :iso-final-char))) 1602 (cdr tail)))
1586 (if (and (integerp final) 1603 (setq tail (cdr tail))))
1587 (>= final #x40) (<= final #x7e) 1604 (setq tail (cdr tail))))
1588 ;; Exclude ascii and chinese-cns11643-X. 1605 table))
1589 (not (eq charset 'ascii))
1590 (not (string-match "cns11643" (symbol-name charset))))
1591 (push (cons charset nil) table))))
1592
1593 ;; Returned reversed list so that the charsets specified by the
1594 ;; key `ctext-non-standard-encodings' for the current language
1595 ;; have the highest priority.
1596 (nreverse table)))
1597 1606
1598(defun ctext-pre-write-conversion (from to) 1607(defun ctext-pre-write-conversion (from to)
1599 "Encode characters between FROM and TO as Compound Text w/Extended Segments. 1608 "Encode characters between FROM and TO as Compound Text w/Extended Segments.
1600 1609
1601If FROM is a string, or if the current buffer is not the one set up for us 1610If FROM is a string, generate a new temp buffer, insert the text,
1602by `encode-coding-string', generate a new temp buffer, insert the text, 1611and convert it in the temporary buffer. Otherwise, convert
1603and convert it in the temporary buffer. Otherwise, convert in-place." 1612in-place."
1604 (save-match-data 1613 (save-match-data
1605 ;; Setup a working buffer if necessary. 1614 ;; Setup a working buffer if necessary.
1606 (when (stringp from) 1615 (when (stringp from)
1607 (set-buffer (generate-new-buffer " *temp")) 1616 (set-buffer (generate-new-buffer " *temp"))
1608 (set-buffer-multibyte (multibyte-string-p from)) 1617 (set-buffer-multibyte (multibyte-string-p from))
1609 (insert from)) 1618 (insert from)
1610 1619 (setq from 1 to (point-max)))
1611 ;; Now we can encode the whole buffer. 1620 (save-restriction
1612 (let ((encoding-table (ctext-non-standard-encodings-table)) 1621 (narrow-to-region from to)
1613 last-coding-system-used 1622 (goto-char from)
1614 last-pos last-encoding-info 1623 (let ((encoding-table (ctext-non-standard-encodings-table))
1615 encoding-info end-pos ch) 1624 (charset-list (sort-charsets
1616 (goto-char (setq last-pos (point-min))) 1625 (copy-sequence ctext-standard-encodings)))
1617 (setq end-pos (point-marker)) 1626 (end-pos (make-marker))
1618 (while (re-search-forward "[^\000-\177]+" nil t) 1627 last-coding-system-used
1619 ;; Found a sequence of non-ASCII characters. 1628 last-pos charset encoding-info)
1620 (setq last-pos (match-beginning 0) 1629 (dolist (elt encoding-table)
1621 ch (char-after last-pos) 1630 (push (car elt) charset-list))
1622 last-encoding-info (catch 'tag 1631 (setq end-pos (point-marker))
1623 (dolist (elt encoding-table) 1632 (while (re-search-forward "[^\0-\177]+" nil t)
1624 (if (encode-char ch (car elt)) 1633 ;; Found a sequence of non-ASCII characters.
1625 (throw 'tag (cdr elt)))) 1634 (set-marker end-pos (match-end 0))
1626 'utf-8)) 1635 (goto-char (match-beginning 0))
1627 (set-marker end-pos (match-end 0)) 1636 (setq last-pos (point)
1628 (goto-char (1+ last-pos)) 1637 charset (char-charset (following-char) charset-list))
1629 (catch 'tag 1638 (forward-char 1)
1630 (while t 1639 (while (and (< (point) end-pos)
1631 (setq encoding-info 1640 (eq charset (char-charset (following-char) charset-list)))
1632 (if (< (point) end-pos) 1641 (forward-char 1))
1633 (catch 'tag 1642 (if charset
1634 (setq ch (following-char)) 1643 (if (setq encoding-info (cdr (assq charset encoding-table)))
1635 (dolist (elt encoding-table) 1644 ;; Encode this range using an extended segment.
1636 (if (encode-char ch (car elt)) 1645 (let ((encoding-name (car encoding-info))
1637 (throw 'tag (cdr elt)))) 1646 (coding-system (nth 1 encoding-info))
1638 'utf-8))) 1647 (noctets (nth 2 encoding-info))
1639 (unless (eq last-encoding-info encoding-info) 1648 len)
1640 (cond ((consp last-encoding-info) 1649 (encode-coding-region last-pos (point) coding-system)
1641 ;; Encode the previous range using an extended 1650 (setq len (+ (length encoding-name) 1
1642 ;; segment. 1651 (- (point) last-pos)))
1643 (let ((encoding-name (car last-encoding-info)) 1652 ;; According to the spec of CTEXT, it is not
1644 (coding-system (nth 1 last-encoding-info)) 1653 ;; necessary to produce this extra designation
1645 (noctets (nth 2 last-encoding-info)) 1654 ;; sequence, but some buggy application
1646 len) 1655 ;; (e.g. crxvt-gb) requires it.
1647 (encode-coding-region last-pos (point) coding-system) 1656 (insert "\e(B")
1648 (setq len (+ (length encoding-name) 1 1657 (save-excursion
1649 (- (point) last-pos))) 1658 (goto-char last-pos)
1650 ;; According to the spec of CTEXT, it is not 1659 (insert (format "\e%%/%d" noctets))
1651 ;; necessary to produce this extra designation 1660 (insert-byte (+ (/ len 128) 128) 1)
1652 ;; sequence, but some buggy application 1661 (insert-byte (+ (% len 128) 128) 1)
1653 ;; (e.g. crxvt-gb) requires it. 1662 (insert encoding-name)
1654 (insert "\e(B") 1663 (insert 2)))
1655 (save-excursion 1664 ;; Encode this range as characters in CHARSET.
1656 (goto-char last-pos) 1665 (put-text-property last-pos (point) 'charset charset))
1657 (insert (format "\e%%/%d" noctets)) 1666 ;; Encode this range using UTF-8 encoding extention.
1658 (insert-byte (+ (/ len 128) 128) 1) 1667 (encode-coding-region last-pos (point) 'mule-utf-8)
1659 (insert-byte (+ (% len 128) 128) 1) 1668 (save-excursion
1660 (insert encoding-name) 1669 (goto-char last-pos)
1661 (insert 2)))) 1670 (insert "\e%G"))
1662 ((eq last-encoding-info 'utf-8) 1671 (insert "\e%@")))
1663 ;; Encode the previous range using UTF-8 encoding 1672 (goto-char (point-min)))))
1664 ;; extention.
1665 (encode-coding-region last-pos (point) 'mule-utf-8)
1666 (save-excursion
1667 (goto-char last-pos)
1668 (insert "\e%G"))
1669 (insert "\e%@")))
1670 (setq last-pos (point)
1671 last-encoding-info encoding-info))
1672 (if (< (point) end-pos)
1673 (forward-char 1)
1674 (throw 'tag nil)))))
1675 (set-marker end-pos nil)
1676 (goto-char (point-min))))
1677 ;; Must return nil, as build_annotations_2 expects that. 1673 ;; Must return nil, as build_annotations_2 expects that.
1678 nil) 1674 nil)
1679 1675
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 89d50d66c76..6f89e0ee817 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -2581,6 +2581,7 @@ since they have special meaning in a regexp."
2581(defvar isearch-lazy-highlight-case-fold-search nil) 2581(defvar isearch-lazy-highlight-case-fold-search nil)
2582(defvar isearch-lazy-highlight-regexp nil) 2582(defvar isearch-lazy-highlight-regexp nil)
2583(defvar isearch-lazy-highlight-space-regexp nil) 2583(defvar isearch-lazy-highlight-space-regexp nil)
2584(defvar isearch-lazy-highlight-forward nil)
2584 2585
2585(defun lazy-highlight-cleanup (&optional force) 2586(defun lazy-highlight-cleanup (&optional force)
2586 "Stop lazy highlighting and remove extra highlighting from current buffer. 2587 "Stop lazy highlighting and remove extra highlighting from current buffer.
@@ -2620,7 +2621,9 @@ by other Emacs features."
2620 (not (= (window-start) 2621 (not (= (window-start)
2621 isearch-lazy-highlight-window-start)) 2622 isearch-lazy-highlight-window-start))
2622 (not (= (window-end) ; Window may have been split/joined. 2623 (not (= (window-end) ; Window may have been split/joined.
2623 isearch-lazy-highlight-window-end)))) 2624 isearch-lazy-highlight-window-end))
2625 (not (eq isearch-forward
2626 isearch-lazy-highlight-forward))))
2624 ;; something important did indeed change 2627 ;; something important did indeed change
2625 (lazy-highlight-cleanup t) ;kill old loop & remove overlays 2628 (lazy-highlight-cleanup t) ;kill old loop & remove overlays
2626 (when (not isearch-error) 2629 (when (not isearch-error)
@@ -2635,7 +2638,8 @@ by other Emacs features."
2635 isearch-lazy-highlight-case-fold-search isearch-case-fold-search 2638 isearch-lazy-highlight-case-fold-search isearch-case-fold-search
2636 isearch-lazy-highlight-regexp isearch-regexp 2639 isearch-lazy-highlight-regexp isearch-regexp
2637 isearch-lazy-highlight-wrapped nil 2640 isearch-lazy-highlight-wrapped nil
2638 isearch-lazy-highlight-space-regexp search-whitespace-regexp) 2641 isearch-lazy-highlight-space-regexp search-whitespace-regexp
2642 isearch-lazy-highlight-forward isearch-forward)
2639 (unless (equal isearch-string "") 2643 (unless (equal isearch-string "")
2640 (setq isearch-lazy-highlight-timer 2644 (setq isearch-lazy-highlight-timer
2641 (run-with-idle-timer lazy-highlight-initial-delay nil 2645 (run-with-idle-timer lazy-highlight-initial-delay nil
@@ -2651,7 +2655,8 @@ Attempt to do the search exactly the way the pending Isearch would."
2651 (search-invisible nil) ; don't match invisible text 2655 (search-invisible nil) ; don't match invisible text
2652 (retry t) 2656 (retry t)
2653 (success nil) 2657 (success nil)
2654 (bound (if isearch-forward 2658 (isearch-forward isearch-lazy-highlight-forward)
2659 (bound (if isearch-lazy-highlight-forward
2655 (min (or isearch-lazy-highlight-end-limit (point-max)) 2660 (min (or isearch-lazy-highlight-end-limit (point-max))
2656 (if isearch-lazy-highlight-wrapped 2661 (if isearch-lazy-highlight-wrapped
2657 isearch-lazy-highlight-start 2662 isearch-lazy-highlight-start
@@ -2687,7 +2692,7 @@ Attempt to do the search exactly the way the pending Isearch would."
2687 (select-window isearch-lazy-highlight-window)) 2692 (select-window isearch-lazy-highlight-window))
2688 (save-excursion 2693 (save-excursion
2689 (save-match-data 2694 (save-match-data
2690 (goto-char (if isearch-forward 2695 (goto-char (if isearch-lazy-highlight-forward
2691 isearch-lazy-highlight-end 2696 isearch-lazy-highlight-end
2692 isearch-lazy-highlight-start)) 2697 isearch-lazy-highlight-start))
2693 (while looping 2698 (while looping
@@ -2700,7 +2705,7 @@ Attempt to do the search exactly the way the pending Isearch would."
2700 (let ((mb (match-beginning 0)) 2705 (let ((mb (match-beginning 0))
2701 (me (match-end 0))) 2706 (me (match-end 0)))
2702 (if (= mb me) ;zero-length match 2707 (if (= mb me) ;zero-length match
2703 (if isearch-forward 2708 (if isearch-lazy-highlight-forward
2704 (if (= mb (if isearch-lazy-highlight-wrapped 2709 (if (= mb (if isearch-lazy-highlight-wrapped
2705 isearch-lazy-highlight-start 2710 isearch-lazy-highlight-start
2706 (window-end))) 2711 (window-end)))
@@ -2720,7 +2725,7 @@ Attempt to do the search exactly the way the pending Isearch would."
2720 (overlay-put ov 'priority 1000) 2725 (overlay-put ov 'priority 1000)
2721 (overlay-put ov 'face lazy-highlight-face) 2726 (overlay-put ov 'face lazy-highlight-face)
2722 (overlay-put ov 'window (selected-window)))) 2727 (overlay-put ov 'window (selected-window))))
2723 (if isearch-forward 2728 (if isearch-lazy-highlight-forward
2724 (setq isearch-lazy-highlight-end (point)) 2729 (setq isearch-lazy-highlight-end (point))
2725 (setq isearch-lazy-highlight-start (point))))) 2730 (setq isearch-lazy-highlight-start (point)))))
2726 2731
@@ -2730,7 +2735,7 @@ Attempt to do the search exactly the way the pending Isearch would."
2730 (setq looping nil 2735 (setq looping nil
2731 nomore t) 2736 nomore t)
2732 (setq isearch-lazy-highlight-wrapped t) 2737 (setq isearch-lazy-highlight-wrapped t)
2733 (if isearch-forward 2738 (if isearch-lazy-highlight-forward
2734 (progn 2739 (progn
2735 (setq isearch-lazy-highlight-end (window-start)) 2740 (setq isearch-lazy-highlight-end (window-start))
2736 (goto-char (max (or isearch-lazy-highlight-start-limit (point-min)) 2741 (goto-char (max (or isearch-lazy-highlight-start-limit (point-min))
diff --git a/lisp/language/cyrillic.el b/lisp/language/cyrillic.el
index 7d2f082579f..b293ad1ff0b 100644
--- a/lisp/language/cyrillic.el
+++ b/lisp/language/cyrillic.el
@@ -239,13 +239,6 @@ Support for Russian using koi8-r and the russian-computer input method.")
239 (documentation . "Support for Tajik using KOI8-T.")) 239 (documentation . "Support for Tajik using KOI8-T."))
240 '("Cyrillic")) 240 '("Cyrillic"))
241 241
242(let ((elt `("microsoft-cp1251" windows-1251 1
243 ,(get 'encode-windows-1251 'translation-table)))
244 (slot (assoc "microsoft-cp1251" ctext-non-standard-encodings-alist)))
245 (if slot
246 (setcdr slot (cdr elt))
247 (push elt ctext-non-standard-encodings-alist)))
248
249(set-language-info-alist 242(set-language-info-alist
250 "Bulgarian" `((coding-system windows-1251) 243 "Bulgarian" `((coding-system windows-1251)
251 (coding-priority windows-1251) 244 (coding-priority windows-1251)
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 6a72c161429..469786e04dd 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -145,7 +145,9 @@ Zero means compute the Imenu menu regardless of size."
145 local-map ,which-func-keymap 145 local-map ,which-func-keymap
146 face which-func 146 face which-func
147 ;;mouse-face highlight ; currently not evaluated :-( 147 ;;mouse-face highlight ; currently not evaluated :-(
148 help-echo "mouse-1: go to beginning, mouse-2: toggle rest visibility, mouse-3: go to end") 148 help-echo "mouse-1: go to beginning\n\
149mouse-2: toggle rest visibility\n\
150mouse-3: go to end")
149 "]") 151 "]")
150 "Format for displaying the function in the mode line." 152 "Format for displaying the function in the mode line."
151 :group 'which-func 153 :group 'which-func
diff --git a/lisp/replace.el b/lisp/replace.el
index d73692ccc20..01d971f76eb 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -1979,7 +1979,9 @@ make, or the user didn't cancel the call."
1979 (let ((isearch-string string) 1979 (let ((isearch-string string)
1980 (isearch-regexp regexp) 1980 (isearch-regexp regexp)
1981 (search-whitespace-regexp nil) 1981 (search-whitespace-regexp nil)
1982 (isearch-case-fold-search case-fold)) 1982 (isearch-case-fold-search case-fold)
1983 (isearch-forward t)
1984 (isearch-error nil))
1983 ;; Set isearch-word to nil because word-replace is regexp-based, 1985 ;; Set isearch-word to nil because word-replace is regexp-based,
1984 ;; so `isearch-search-fun' should not use `word-search-forward'. 1986 ;; so `isearch-search-fun' should not use `word-search-forward'.
1985 (if (and isearch-word isearch-regexp) (setq isearch-word nil)) 1987 (if (and isearch-word isearch-regexp) (setq isearch-word nil))
diff --git a/lisp/server.el b/lisp/server.el
index b2198caec4c..b2cb829adf7 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -563,9 +563,9 @@ server or call `M-x server-force-delete' to forcibly disconnect it.")
563 :coding 'raw-text-unix 563 :coding 'raw-text-unix
564 ;; The other args depend on the kind of socket used. 564 ;; The other args depend on the kind of socket used.
565 (if server-use-tcp 565 (if server-use-tcp
566 (list :family nil 566 (list :family 'ipv4 ;; We're not ready for IPv6 yet
567 :service t 567 :service t
568 :host (or server-host 'local) 568 :host (or server-host "127.0.0.1") ;; See bug#6781
569 :plist '(:authenticated nil)) 569 :plist '(:authenticated nil))
570 (list :family 'local 570 (list :family 'local
571 :service server-file 571 :service server-file
diff --git a/lisp/simple.el b/lisp/simple.el
index a3458531bbf..0ac199ea2f6 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -3941,7 +3941,8 @@ Does not set point. Does nothing if mark ring is empty."
3941 (setq mark-ring (cdr mark-ring))) 3941 (setq mark-ring (cdr mark-ring)))
3942 (deactivate-mark)) 3942 (deactivate-mark))
3943 3943
3944(defalias 'exchange-dot-and-mark 'exchange-point-and-mark) 3944(define-obsolete-function-alias
3945 'exchange-dot-and-mark 'exchange-point-and-mark "23.3")
3945(defun exchange-point-and-mark (&optional arg) 3946(defun exchange-point-and-mark (&optional arg)
3946 "Put the mark where point is now, and point where the mark is now. 3947 "Put the mark where point is now, and point where the mark is now.
3947This command works even when the mark is not active, 3948This command works even when the mark is not active,
diff --git a/lisp/term.el b/lisp/term.el
index ea6c48a2b2a..d5e0d149ae5 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -502,8 +502,8 @@ This is a good thing to set in mode hooks.")
502(defvar term-delimiter-argument-list () 502(defvar term-delimiter-argument-list ()
503 "List of characters to recognize as separate arguments in input. 503 "List of characters to recognize as separate arguments in input.
504Strings comprising a character in this list will separate the arguments 504Strings comprising a character in this list will separate the arguments
505surrounding them, and also be regarded as arguments in their own right (unlike 505surrounding them, and also be regarded as arguments in their own right
506whitespace). See `term-arguments'. 506\(unlike whitespace). See `term-arguments'.
507Defaults to the empty list. 507Defaults to the empty list.
508 508
509For shells, a good value is (?\\| ?& ?< ?> ?\\( ?\\) ?\\;). 509For shells, a good value is (?\\| ?& ?< ?> ?\\( ?\\) ?\\;).
@@ -1516,7 +1516,7 @@ if [ $1 = .. ]; then shift; fi; exec \"$@\""
1516;; term-replace-by-expanded-history-before-point Workhorse function. 1516;; term-replace-by-expanded-history-before-point Workhorse function.
1517 1517
1518(defun term-read-input-ring (&optional silent) 1518(defun term-read-input-ring (&optional silent)
1519 "Sets the buffer's `term-input-ring' from a history file. 1519 "Set the buffer's `term-input-ring' from a history file.
1520The name of the file is given by the variable `term-input-ring-file-name'. 1520The name of the file is given by the variable `term-input-ring-file-name'.
1521The history ring is of size `term-input-ring-size', regardless of file size. 1521The history ring is of size `term-input-ring-size', regardless of file size.
1522If `term-input-ring-file-name' is nil this function does nothing. 1522If `term-input-ring-file-name' is nil this function does nothing.
@@ -1564,7 +1564,7 @@ See also `term-input-ignoredups' and `term-write-input-ring'."
1564 term-input-ring-index nil))))) 1564 term-input-ring-index nil)))))
1565 1565
1566(defun term-write-input-ring () 1566(defun term-write-input-ring ()
1567 "Writes the buffer's `term-input-ring' to a history file. 1567 "Write the buffer's `term-input-ring' to a history file.
1568The name of the file is given by the variable `term-input-ring-file-name'. 1568The name of the file is given by the variable `term-input-ring-file-name'.
1569The original contents of the file are lost if `term-input-ring' is not empty. 1569The original contents of the file are lost if `term-input-ring' is not empty.
1570If `term-input-ring-file-name' is nil this function does nothing. 1570If `term-input-ring-file-name' is nil this function does nothing.
@@ -1996,12 +1996,12 @@ Argument 0 is the command name."
1996 "Send input to process. 1996 "Send input to process.
1997After the process output mark, sends all text from the process mark to 1997After the process output mark, sends all text from the process mark to
1998point as input to the process. Before the process output mark, calls value 1998point as input to the process. Before the process output mark, calls value
1999of variable term-get-old-input to retrieve old input, copies it to the 1999of variable `term-get-old-input' to retrieve old input, copies it to the
2000process mark, and sends it. A terminal newline is also inserted into the 2000process mark, and sends it. A terminal newline is also inserted into the
2001buffer and sent to the process. The list of function names contained in the 2001buffer and sent to the process. The list of function names contained in the
2002value of `term-input-filter-functions' is called on the input before sending 2002value of `term-input-filter-functions' is called on the input before sending
2003it. The input is entered into the input history ring, if the value of variable 2003it. The input is entered into the input history ring, if the value of variable
2004term-input-filter returns non-nil when called on the input. 2004`term-input-filter' returns non-nil when called on the input.
2005 2005
2006Any history reference may be expanded depending on the value of the variable 2006Any history reference may be expanded depending on the value of the variable
2007`term-input-autoexpand'. The list of function names contained in the value 2007`term-input-autoexpand'. The list of function names contained in the value
@@ -2137,7 +2137,7 @@ set the hook `term-input-sender'."
2137 (term-send-string proc "\n")) 2137 (term-send-string proc "\n"))
2138 2138
2139(defun term-bol (arg) 2139(defun term-bol (arg)
2140 "Goes to the beginning of line, then skips past the prompt, if any. 2140 "Go to the beginning of line, then skip past the prompt, if any.
2141If a prefix argument is given (\\[universal-argument]), then no prompt skip 2141If a prefix argument is given (\\[universal-argument]), then no prompt skip
2142-- go straight to column 0. 2142-- go straight to column 0.
2143 2143
@@ -3760,7 +3760,7 @@ all pending output has been dealt with."))
3760 (goto-char saved-point)))) 3760 (goto-char saved-point))))
3761 3761
3762(defun term-erase-in-display (kind) 3762(defun term-erase-in-display (kind)
3763 "Erases (that is blanks out) part of the window. 3763 "Erase (that is blank out) part of the window.
3764If KIND is 0, erase from (point) to (point-max); 3764If KIND is 0, erase from (point) to (point-max);
3765if KIND is 1, erase from home to point; else erase from home to point-max." 3765if KIND is 1, erase from home to point; else erase from home to point-max."
3766 (term-handle-deferred-scroll) 3766 (term-handle-deferred-scroll)
@@ -4166,7 +4166,7 @@ Typing SPC flushes the help buffer."
4166 4166
4167;; I need a make-term that doesn't surround with *s -mm 4167;; I need a make-term that doesn't surround with *s -mm
4168(defun term-ansi-make-term (name program &optional startfile &rest switches) 4168(defun term-ansi-make-term (name program &optional startfile &rest switches)
4169"Make a term process NAME in a buffer, running PROGRAM. 4169 "Make a term process NAME in a buffer, running PROGRAM.
4170The name of the buffer is NAME. 4170The name of the buffer is NAME.
4171If there is already a running process in that buffer, it is not restarted. 4171If there is already a running process in that buffer, it is not restarted.
4172Optional third arg STARTFILE is the name of a file to send the contents of to 4172Optional third arg STARTFILE is the name of a file to send the contents of to
@@ -4267,7 +4267,7 @@ returns nil, which is recognized by `serial-process-configure'
4267for special serial ports that cannot be configured.") 4267for special serial ports that cannot be configured.")
4268 4268
4269(defun serial-supported-or-barf () 4269(defun serial-supported-or-barf ()
4270 "Signal an error if serial processes are not supported" 4270 "Signal an error if serial processes are not supported."
4271 (unless (fboundp 'make-serial-process) 4271 (unless (fboundp 'make-serial-process)
4272 (error "Serial processes are not supported on this system"))) 4272 (error "Serial processes are not supported on this system")))
4273 4273
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 8c699c7758c..72920c2b58f 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,8 @@
12010-08-08 Óscar Fuentes <ofv@wanadoo.es>
2
3 * cmdproxy.c (main): Use _snprintf instead of wsprintf,
4 which has a 1024 char limit on Windows (bug#6647).
5
12010-08-02 Juanma Barranquero <lekktu@gmail.com> 62010-08-02 Juanma Barranquero <lekktu@gmail.com>
2 7
3 * config.nt (TIME_WITH_SYS_TIME): Remove #undef, unused (bug#6754). 8 * config.nt (TIME_WITH_SYS_TIME): Remove #undef, unused (bug#6754).
diff --git a/nt/cmdproxy.c b/nt/cmdproxy.c
index 4f167339b7f..0f9bd65112d 100644
--- a/nt/cmdproxy.c
+++ b/nt/cmdproxy.c
@@ -35,6 +35,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
35#include <stdlib.h> /* getenv */ 35#include <stdlib.h> /* getenv */
36#include <string.h> /* strlen */ 36#include <string.h> /* strlen */
37 37
38/* We don't want to include stdio.h because we are already duplicating
39 lots of it here */
40extern int _snprintf (char *buffer, size_t count, const char *format, ...);
38 41
39/******* Mock C library routines *********************************/ 42/******* Mock C library routines *********************************/
40 43
@@ -604,6 +607,7 @@ main (int argc, char ** argv)
604 { 607 {
605 char * p; 608 char * p;
606 int extra_arg_space = 0; 609 int extra_arg_space = 0;
610 int maxlen, remlen;
607 int run_command_dot_com; 611 int run_command_dot_com;
608 612
609 progname = getenv ("COMSPEC"); 613 progname = getenv ("COMSPEC");
@@ -635,21 +639,27 @@ main (int argc, char ** argv)
635 case path contains spaces (fortunately it can't contain 639 case path contains spaces (fortunately it can't contain
636 quotes, since they are illegal in path names). */ 640 quotes, since they are illegal in path names). */
637 641
638 buf = p = alloca (strlen (progname) + extra_arg_space + 642 remlen = maxlen =
639 strlen (cmdline) + 16); 643 strlen (progname) + extra_arg_space + strlen (cmdline) + 16;
644 buf = p = alloca (maxlen + 1);
640 645
641 /* Quote progname in case it contains spaces. */ 646 /* Quote progname in case it contains spaces. */
642 p += wsprintf (p, "\"%s\"", progname); 647 p += _snprintf (p, remlen, "\"%s\"", progname);
648 remlen = maxlen - (p - buf);
643 649
644 /* Include pass_through_args verbatim; these are just switches 650 /* Include pass_through_args verbatim; these are just switches
645 so should not need quoting. */ 651 so should not need quoting. */
646 for (argv = pass_through_args; *argv != NULL; ++argv) 652 for (argv = pass_through_args; *argv != NULL; ++argv)
647 p += wsprintf (p, " %s", *argv); 653 {
654 p += _snprintf (p, remlen, " %s", *argv);
655 remlen = maxlen - (p - buf);
656 }
648 657
649 if (run_command_dot_com) 658 if (run_command_dot_com)
650 wsprintf(p, " /e:%d /c %s", envsize, cmdline); 659 _snprintf (p, remlen, " /e:%d /c %s", envsize, cmdline);
651 else 660 else
652 wsprintf(p, " /c %s", cmdline); 661 _snprintf (p, remlen, " /c %s", cmdline);
662 remlen = maxlen - (p - buf);
653 cmdline = buf; 663 cmdline = buf;
654 } 664 }
655 else 665 else
@@ -669,19 +679,27 @@ main (int argc, char ** argv)
669 else 679 else
670 path[0] = '\0'; 680 path[0] = '\0';
671 681
672 cmdline = p = alloca (strlen (progname) + extra_arg_space + 682 remlen = maxlen =
673 strlen (path) + 13); 683 strlen (progname) + extra_arg_space + strlen (path) + 13;
684 cmdline = p = alloca (maxlen + 1);
674 685
675 /* Quote progname in case it contains spaces. */ 686 /* Quote progname in case it contains spaces. */
676 p += wsprintf (p, "\"%s\" %s", progname, path); 687 p += _snprintf (p, remlen, "\"%s\" %s", progname, path);
688 remlen = maxlen - (p - cmdline);
677 689
678 /* Include pass_through_args verbatim; these are just switches 690 /* Include pass_through_args verbatim; these are just switches
679 so should not need quoting. */ 691 so should not need quoting. */
680 for (argv = pass_through_args; *argv != NULL; ++argv) 692 for (argv = pass_through_args; *argv != NULL; ++argv)
681 p += wsprintf (p, " %s", *argv); 693 {
694 p += _snprintf (p, remlen, " %s", *argv);
695 remlen = maxlen - (p - cmdline);
696 }
682 697
683 if (run_command_dot_com) 698 if (run_command_dot_com)
684 wsprintf (p, " /e:%d", envsize); 699 {
700 _snprintf (p, remlen, " /e:%d", envsize);
701 remlen = maxlen - (p - cmdline);
702 }
685 } 703 }
686 } 704 }
687 705
diff --git a/src/ChangeLog b/src/ChangeLog
index 7931a9bbfa6..8214030d4d6 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,35 @@
12010-08-08 Kenichi Handa <handa@m17n.org>
2
3 * charset.c: Include <stdlib.h>
4 (struct charset_sort_data): New struct.
5 (charset_compare): New function.
6 (Fsort_charsets): New funciton.
7 (syms_of_charset): Declare Fsort_charsets as a Lisp function.
8
9 * coding.c (decode_coding_iso_2022): Fix checking of dimension
10 number in CTEXT extended segment.
11
122010-08-08 Juanma Barranquero <lekktu@gmail.com>
13
14 * w32fns.c (syms_of_w32fns) <x-max-tooltip-size>: Fix typo in docstring.
15 * xfns.c (syms_of_xfns) <x-max-tooltip-size>: Reflow docstring.
16
172010-08-08 Juanma Barranquero <lekktu@gmail.com>
18
19 * fns.c (Fsubstring_no_properties, Fnthcdr, Ffeaturep)
20 (Fhash_table_size): Fix typos in docstrings.
21 (Fmake_hash_table): Doc fix.
22
232010-08-08 Juanma Barranquero <lekktu@gmail.com>
24
25 * minibuf.c (syms_of_minibuf) <read-buffer-function>:
26 Doc fix (bug#5625).
27
282010-08-08 Ken Brown <kbrown@cornell.edu>
29
30 * dired.c (DIRENTRY_NONEMPTY) [cygwin]: Use d_ino instead of
31 the MSDOS definition.
32
12010-08-08 Dan Nicolaescu <dann@ics.uci.edu> 332010-08-08 Dan Nicolaescu <dann@ics.uci.edu>
2 34
3 Use const char* instead of char*. 35 Use const char* instead of char*.
diff --git a/src/charset.c b/src/charset.c
index 9811e63118e..036d7146db6 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -28,6 +28,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
28#include <config.h> 28#include <config.h>
29 29
30#include <stdio.h> 30#include <stdio.h>
31#include <stdlib.h>
31#include <unistd.h> 32#include <unistd.h>
32#include <ctype.h> 33#include <ctype.h>
33#include <sys/types.h> 34#include <sys/types.h>
@@ -2071,23 +2072,22 @@ that case, find the charset from what supported by that coding system. */)
2071 charset = CHAR_CHARSET (XINT (ch)); 2072 charset = CHAR_CHARSET (XINT (ch));
2072 else 2073 else
2073 { 2074 {
2074 Lisp_Object charset_list;
2075
2076 if (CONSP (restriction)) 2075 if (CONSP (restriction))
2077 { 2076 {
2078 for (charset_list = Qnil; CONSP (restriction); 2077 int c = XFASTINT (ch);
2079 restriction = XCDR (restriction)) 2078
2079 for (; CONSP (restriction); restriction = XCDR (restriction))
2080 { 2080 {
2081 int id; 2081 struct charset *charset;
2082 2082
2083 CHECK_CHARSET_GET_ID (XCAR (restriction), id); 2083 CHECK_CHARSET_GET_CHARSET (XCAR (restriction), charset);
2084 charset_list = Fcons (make_number (id), charset_list); 2084 if (ENCODE_CHAR (charset, c) != CHARSET_INVALID_CODE (charset))
2085 return XCAR (restriction);
2085 } 2086 }
2086 charset_list = Fnreverse (charset_list); 2087 return Qnil;
2087 } 2088 }
2088 else 2089 restriction = coding_system_charset_list (restriction);
2089 charset_list = coding_system_charset_list (restriction); 2090 charset = char_charset (XINT (ch), restriction, NULL);
2090 charset = char_charset (XINT (ch), charset_list, NULL);
2091 if (! charset) 2091 if (! charset)
2092 return Qnil; 2092 return Qnil;
2093 } 2093 }
@@ -2238,6 +2238,69 @@ Return charset identification number of CHARSET. */)
2238 return make_number (id); 2238 return make_number (id);
2239} 2239}
2240 2240
2241struct charset_sort_data
2242{
2243 Lisp_Object charset;
2244 int id;
2245 int priority;
2246};
2247
2248static int
2249charset_compare (const void *d1, const void *d2)
2250{
2251 const struct charset_sort_data *data1 = d1, *data2 = d2;
2252 return (data1->priority - data2->priority);
2253}
2254
2255DEFUN ("sort-charsets", Fsort_charsets, Ssort_charsets, 1, 1, 0,
2256 doc: /* Sort charset list CHARSETS by a priority of each charset.
2257Return the sorted list. CHARSETS is modified by side effects.
2258See also `charset-priority-list' and `set-charset-priority'. */)
2259 (Lisp_Object charsets)
2260{
2261 Lisp_Object len = Flength (charsets);
2262 int n = XFASTINT (len), i, j, done;
2263 Lisp_Object tail, elt, attrs;
2264 struct charset_sort_data *sort_data;
2265 int id, min_id, max_id;
2266 USE_SAFE_ALLOCA;
2267
2268 if (n == 0)
2269 return Qnil;
2270 SAFE_ALLOCA (sort_data, struct charset_sort_data *, sizeof (*sort_data) * n);
2271 for (tail = charsets, i = 0; CONSP (tail); tail = XCDR (tail), i++)
2272 {
2273 elt = XCAR (tail);
2274 CHECK_CHARSET_GET_ATTR (elt, attrs);
2275 sort_data[i].charset = elt;
2276 sort_data[i].id = id = XINT (CHARSET_ATTR_ID (attrs));
2277 if (i == 0)
2278 min_id = max_id = id;
2279 else if (id < min_id)
2280 min_id = id;
2281 else if (id > max_id)
2282 max_id = id;
2283 }
2284 for (done = 0, tail = Vcharset_ordered_list, i = 0;
2285 done < n && CONSP (tail); tail = XCDR (tail), i++)
2286 {
2287 elt = XCAR (tail);
2288 id = XFASTINT (elt);
2289 if (id >= min_id && id <= max_id)
2290 for (j = 0; j < n; j++)
2291 if (sort_data[j].id == id)
2292 {
2293 sort_data[j].priority = i;
2294 done++;
2295 }
2296 }
2297 qsort (sort_data, n, sizeof *sort_data, charset_compare);
2298 for (i = 0, tail = charsets; CONSP (tail); tail = XCDR (tail), i++)
2299 XSETCAR (tail, sort_data[i].charset);
2300 SAFE_FREE ();
2301 return charsets;
2302}
2303
2241 2304
2242void 2305void
2243init_charset (void) 2306init_charset (void)
@@ -2340,6 +2403,7 @@ syms_of_charset (void)
2340 defsubr (&Scharset_priority_list); 2403 defsubr (&Scharset_priority_list);
2341 defsubr (&Sset_charset_priority); 2404 defsubr (&Sset_charset_priority);
2342 defsubr (&Scharset_id_internal); 2405 defsubr (&Scharset_id_internal);
2406 defsubr (&Ssort_charsets);
2343 2407
2344 DEFVAR_LISP ("charset-map-path", &Vcharset_map_path, 2408 DEFVAR_LISP ("charset-map-path", &Vcharset_map_path,
2345 doc: /* *List of directories to search for charset map files. */); 2409 doc: /* *List of directories to search for charset map files. */);
diff --git a/src/coding.c b/src/coding.c
index a5632bad963..6012978b60a 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -3902,7 +3902,7 @@ decode_coding_iso_2022 (struct coding_system *coding)
3902 int size; 3902 int size;
3903 3903
3904 ONE_MORE_BYTE (dim); 3904 ONE_MORE_BYTE (dim);
3905 if (dim < 0 || dim > 4) 3905 if (dim < '0' || dim > '4')
3906 goto invalid_code; 3906 goto invalid_code;
3907 ONE_MORE_BYTE (M); 3907 ONE_MORE_BYTE (M);
3908 if (M < 128) 3908 if (M < 128)
diff --git a/src/dired.c b/src/dired.c
index 5bb3f27013c..d72ea54a518 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -65,8 +65,7 @@ extern struct direct *readdir (DIR *);
65 65
66#endif /* HAVE_DIRENT_H */ 66#endif /* HAVE_DIRENT_H */
67 67
68/* Some versions of Cygwin don't have d_ino in `struct dirent'. */ 68#ifdef MSDOS
69#if defined(MSDOS) || defined(__CYGWIN__)
70#define DIRENTRY_NONEMPTY(p) ((p)->d_name[0] != 0) 69#define DIRENTRY_NONEMPTY(p) ((p)->d_name[0] != 0)
71#else 70#else
72#define DIRENTRY_NONEMPTY(p) ((p)->d_ino) 71#define DIRENTRY_NONEMPTY(p) ((p)->d_ino)
diff --git a/src/fns.c b/src/fns.c
index 8c49947a127..501867552f8 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -225,9 +225,8 @@ Symbols are also allowed; their print names are used instead. */)
225 return Qt; 225 return Qt;
226} 226}
227 227
228DEFUN ("compare-strings", Fcompare_strings, 228DEFUN ("compare-strings", Fcompare_strings, Scompare_strings, 6, 7, 0,
229 Scompare_strings, 6, 7, 0, 229 doc: /* Compare the contents of two strings, converting to multibyte if needed.
230doc: /* Compare the contents of two strings, converting to multibyte if needed.
231In string STR1, skip the first START1 characters and stop at END1. 230In string STR1, skip the first START1 characters and stop at END1.
232In string STR2, skip the first START2 characters and stop at END2. 231In string STR2, skip the first START2 characters and stop at END2.
233END1 and END2 default to the full lengths of the respective strings. 232END1 and END2 default to the full lengths of the respective strings.
@@ -1199,7 +1198,7 @@ value is a new vector that contains the elements between index FROM
1199 1198
1200DEFUN ("substring-no-properties", Fsubstring_no_properties, Ssubstring_no_properties, 1, 3, 0, 1199DEFUN ("substring-no-properties", Fsubstring_no_properties, Ssubstring_no_properties, 1, 3, 0,
1201 doc: /* Return a substring of STRING, without text properties. 1200 doc: /* Return a substring of STRING, without text properties.
1202It starts at index FROM and ending before TO. 1201It starts at index FROM and ends before TO.
1203TO may be nil or omitted; then the substring runs to the end of STRING. 1202TO may be nil or omitted; then the substring runs to the end of STRING.
1204If FROM is nil or omitted, the substring starts at the beginning of STRING. 1203If FROM is nil or omitted, the substring starts at the beginning of STRING.
1205If FROM or TO is negative, it counts from the end. 1204If FROM or TO is negative, it counts from the end.
@@ -1291,7 +1290,7 @@ substring_both (Lisp_Object string, int from, int from_byte, int to, int to_byte
1291} 1290}
1292 1291
1293DEFUN ("nthcdr", Fnthcdr, Snthcdr, 2, 2, 0, 1292DEFUN ("nthcdr", Fnthcdr, Snthcdr, 2, 2, 0,
1294 doc: /* Take cdr N times on LIST, returns the result. */) 1293 doc: /* Take cdr N times on LIST, return the result. */)
1295 (Lisp_Object n, Lisp_Object list) 1294 (Lisp_Object n, Lisp_Object list)
1296{ 1295{
1297 register int i, num; 1296 register int i, num;
@@ -1328,7 +1327,7 @@ DEFUN ("elt", Felt, Selt, 2, 2, 0,
1328} 1327}
1329 1328
1330DEFUN ("member", Fmember, Smember, 2, 2, 0, 1329DEFUN ("member", Fmember, Smember, 2, 2, 0,
1331doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `equal'. 1330 doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `equal'.
1332The value is actually the tail of LIST whose car is ELT. */) 1331The value is actually the tail of LIST whose car is ELT. */)
1333 (register Lisp_Object elt, Lisp_Object list) 1332 (register Lisp_Object elt, Lisp_Object list)
1334{ 1333{
@@ -1346,7 +1345,7 @@ The value is actually the tail of LIST whose car is ELT. */)
1346} 1345}
1347 1346
1348DEFUN ("memq", Fmemq, Smemq, 2, 2, 0, 1347DEFUN ("memq", Fmemq, Smemq, 2, 2, 0,
1349doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `eq'. 1348 doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `eq'.
1350The value is actually the tail of LIST whose car is ELT. */) 1349The value is actually the tail of LIST whose car is ELT. */)
1351 (register Lisp_Object elt, Lisp_Object list) 1350 (register Lisp_Object elt, Lisp_Object list)
1352{ 1351{
@@ -1372,7 +1371,7 @@ The value is actually the tail of LIST whose car is ELT. */)
1372} 1371}
1373 1372
1374DEFUN ("memql", Fmemql, Smemql, 2, 2, 0, 1373DEFUN ("memql", Fmemql, Smemql, 2, 2, 0,
1375doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `eql'. 1374 doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `eql'.
1376The value is actually the tail of LIST whose car is ELT. */) 1375The value is actually the tail of LIST whose car is ELT. */)
1377 (register Lisp_Object elt, Lisp_Object list) 1376 (register Lisp_Object elt, Lisp_Object list)
1378{ 1377{
@@ -2702,7 +2701,7 @@ advisable. */)
2702Lisp_Object Vfeatures, Qsubfeatures; 2701Lisp_Object Vfeatures, Qsubfeatures;
2703 2702
2704DEFUN ("featurep", Ffeaturep, Sfeaturep, 1, 2, 0, 2703DEFUN ("featurep", Ffeaturep, Sfeaturep, 1, 2, 0,
2705 doc: /* Returns t if FEATURE is present in this Emacs. 2704 doc: /* Return t if FEATURE is present in this Emacs.
2706 2705
2707Use this to conditionalize execution of lisp code based on the 2706Use this to conditionalize execution of lisp code based on the
2708presence or absence of Emacs or environment extensions. 2707presence or absence of Emacs or environment extensions.
@@ -4425,8 +4424,8 @@ is a float, it must be > 1.0, and the new size is computed by
4425multiplying the old size with that factor. Default is 1.5. 4424multiplying the old size with that factor. Default is 1.5.
4426 4425
4427:rehash-threshold THRESHOLD -- THRESHOLD must a float > 0, and <= 1.0. 4426:rehash-threshold THRESHOLD -- THRESHOLD must a float > 0, and <= 1.0.
4428Resize the hash table when ratio of the number of entries in the 4427Resize the hash table when the ratio (number of entries / table size)
4429table. Default is 0.8. 4428is greater or equal than THRESHOLD. Default is 0.8.
4430 4429
4431:weakness WEAK -- WEAK must be one of nil, t, `key', `value', 4430:weakness WEAK -- WEAK must be one of nil, t, `key', `value',
4432`key-or-value', or `key-and-value'. If WEAK is not nil, the table 4431`key-or-value', or `key-and-value'. If WEAK is not nil, the table
@@ -4549,7 +4548,7 @@ DEFUN ("hash-table-rehash-threshold", Fhash_table_rehash_threshold,
4549DEFUN ("hash-table-size", Fhash_table_size, Shash_table_size, 1, 1, 0, 4548DEFUN ("hash-table-size", Fhash_table_size, Shash_table_size, 1, 1, 0,
4550 doc: /* Return the size of TABLE. 4549 doc: /* Return the size of TABLE.
4551The size can be used as an argument to `make-hash-table' to create 4550The size can be used as an argument to `make-hash-table' to create
4552a hash table than can hold as many elements of TABLE holds 4551a hash table than can hold as many elements as TABLE holds
4553without need for resizing. */) 4552without need for resizing. */)
4554 (Lisp_Object table) 4553 (Lisp_Object table)
4555{ 4554{
diff --git a/src/minibuf.c b/src/minibuf.c
index 863b7aeee61..009d94c36a8 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -2080,7 +2080,8 @@ syms_of_minibuf (void)
2080 staticpro (&Qread_expression_history); 2080 staticpro (&Qread_expression_history);
2081 2081
2082 DEFVAR_LISP ("read-buffer-function", &Vread_buffer_function, 2082 DEFVAR_LISP ("read-buffer-function", &Vread_buffer_function,
2083 doc: /* If this is non-nil, `read-buffer' does its work by calling this function. */); 2083 doc: /* If this is non-nil, `read-buffer' does its work by calling this function.
2084The function is called with the arguments passed to `read-buffer'. */);
2084 Vread_buffer_function = Qnil; 2085 Vread_buffer_function = Qnil;
2085 2086
2086 DEFVAR_BOOL ("read-buffer-completion-ignore-case", 2087 DEFVAR_BOOL ("read-buffer-completion-ignore-case",
diff --git a/src/w32fns.c b/src/w32fns.c
index 72830c435e9..d1f21e8acdd 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -7053,7 +7053,7 @@ or when you set the mouse color. */);
7053 7053
7054 DEFVAR_LISP ("x-max-tooltip-size", &Vx_max_tooltip_size, 7054 DEFVAR_LISP ("x-max-tooltip-size", &Vx_max_tooltip_size,
7055 doc: /* Maximum size for tooltips. 7055 doc: /* Maximum size for tooltips.
7056Value is a pair (COLUMNS . ROWS). Text larger than this is clipped. */); 7056Value is a pair (COLUMNS . ROWS). Text larger than this is clipped. */);
7057 Vx_max_tooltip_size = Fcons (make_number (80), make_number (40)); 7057 Vx_max_tooltip_size = Fcons (make_number (80), make_number (40));
7058 7058
7059 DEFVAR_LISP ("x-no-window-manager", &Vx_no_window_manager, 7059 DEFVAR_LISP ("x-no-window-manager", &Vx_no_window_manager,
diff --git a/src/xfns.c b/src/xfns.c
index 249aa6998c3..bc28ccd3a63 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -1003,7 +1003,7 @@ x_set_mouse_color (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
1003 1003
1004 if (FRAME_X_DISPLAY_INFO (f)->invisible_cursor == 0) 1004 if (FRAME_X_DISPLAY_INFO (f)->invisible_cursor == 0)
1005 FRAME_X_DISPLAY_INFO (f)->invisible_cursor = make_invisible_cursor (f); 1005 FRAME_X_DISPLAY_INFO (f)->invisible_cursor = make_invisible_cursor (f);
1006 1006
1007 if (cursor != x->text_cursor 1007 if (cursor != x->text_cursor
1008 && x->text_cursor != 0) 1008 && x->text_cursor != 0)
1009 XFreeCursor (dpy, x->text_cursor); 1009 XFreeCursor (dpy, x->text_cursor);
@@ -5598,7 +5598,7 @@ If FRAME is omitted or nil, it defaults to the selected frame. */)
5598 font_param = Ffont_get (font, intern (":name")); 5598 font_param = Ffont_get (font, intern (":name"));
5599 if (STRINGP (font_param)) 5599 if (STRINGP (font_param))
5600 default_name = xstrdup (SDATA (font_param)); 5600 default_name = xstrdup (SDATA (font_param));
5601 else 5601 else
5602 { 5602 {
5603 font_param = Fframe_parameter (frame, Qfont_param); 5603 font_param = Fframe_parameter (frame, Qfont_param);
5604 if (STRINGP (font_param)) 5604 if (STRINGP (font_param))
@@ -5609,7 +5609,7 @@ If FRAME is omitted or nil, it defaults to the selected frame. */)
5609 default_name = xstrdup (x_last_font_name); 5609 default_name = xstrdup (x_last_font_name);
5610 5610
5611 /* Convert fontconfig names to Gtk names, i.e. remove - before number */ 5611 /* Convert fontconfig names to Gtk names, i.e. remove - before number */
5612 if (default_name) 5612 if (default_name)
5613 { 5613 {
5614 char *p = strrchr (default_name, '-'); 5614 char *p = strrchr (default_name, '-');
5615 if (p) 5615 if (p)
@@ -5870,8 +5870,8 @@ or when you set the mouse color. */);
5870 Vx_cursor_fore_pixel = Qnil; 5870 Vx_cursor_fore_pixel = Qnil;
5871 5871
5872 DEFVAR_LISP ("x-max-tooltip-size", &Vx_max_tooltip_size, 5872 DEFVAR_LISP ("x-max-tooltip-size", &Vx_max_tooltip_size,
5873 doc: /* Maximum size for tooltips. Value is a pair (COLUMNS . ROWS). 5873 doc: /* Maximum size for tooltips.
5874Text larger than this is clipped. */); 5874Value is a pair (COLUMNS . ROWS). Text larger than this is clipped. */);
5875 Vx_max_tooltip_size = Fcons (make_number (80), make_number (40)); 5875 Vx_max_tooltip_size = Fcons (make_number (80), make_number (40));
5876 5876
5877 DEFVAR_LISP ("x-no-window-manager", &Vx_no_window_manager, 5877 DEFVAR_LISP ("x-no-window-manager", &Vx_no_window_manager,