aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib-src/ChangeLog9
-rw-r--r--lib-src/make-docfile.c33
-rw-r--r--lib-src/makefile.w32-in46
-rw-r--r--lisp/ChangeLog39
-rw-r--r--lisp/calc/calc-units.el14
-rw-r--r--lisp/emacs-lisp/debug.el8
-rw-r--r--lisp/frame.el2
-rw-r--r--lisp/loadup.el3
-rw-r--r--lisp/minibuffer.el19
-rw-r--r--lisp/progmodes/flymake.el9
-rw-r--r--lisp/progmodes/gdb-mi.el19
-rw-r--r--lisp/progmodes/gud.el65
-rw-r--r--src/ChangeLog22
-rw-r--r--src/alloc.c4
-rw-r--r--src/coding.c2
-rw-r--r--src/fns.c4
-rw-r--r--src/font.c2
-rw-r--r--src/nsterm.m6
-rw-r--r--src/puresize.h2
19 files changed, 216 insertions, 92 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index e2de4e75afa..2b88017fc5b 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,12 @@
12012-10-20 Eli Zaretskii <eliz@gnu.org>
2
3 Prevent silent omission of doc strings from uncompile Lisp files.
4 * make-docfile.c (scan_lisp_file): Barf if called with a .el file
5 other than one of a small list of supported un-compiled files.
6
7 * makefile.w32-in (lisp1, lisp2): Name .elc files wherever they
8 exist. (Bug#12395)
9
12012-10-17 Eli Zaretskii <eliz@gnu.org> 102012-10-17 Eli Zaretskii <eliz@gnu.org>
2 11
3 * ntlib.c: Include <mbstring.h>, to avoid compiler warning about 12 * ntlib.c: Include <mbstring.h>, to avoid compiler warning about
diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c
index 411b7057861..555a563d748 100644
--- a/lib-src/make-docfile.c
+++ b/lib-src/make-docfile.c
@@ -1025,9 +1025,9 @@ scan_c_file (char *filename, const char *mode)
1025 arglist, but the doc string must still have a backslash and newline 1025 arglist, but the doc string must still have a backslash and newline
1026 immediately after the double quote. 1026 immediately after the double quote.
1027 The only source files that must follow this convention are preloaded 1027 The only source files that must follow this convention are preloaded
1028 uncompiled ones like loaddefs.el and bindings.el; aside 1028 uncompiled ones like loaddefs.el; aside from that, it is always the .elc
1029 from that, it is always the .elc file that we look at, and they are no 1029 file that we should look at, and they are no problem because byte-compiler
1030 problem because byte-compiler output follows this convention. 1030 output follows this convention.
1031 The NAME and DOCSTRING are output. 1031 The NAME and DOCSTRING are output.
1032 NAME is preceded by `F' for a function or `V' for a variable. 1032 NAME is preceded by `F' for a function or `V' for a variable.
1033 An entry is output only if DOCSTRING has \ newline just after the opening ". 1033 An entry is output only if DOCSTRING has \ newline just after the opening ".
@@ -1104,9 +1104,36 @@ scan_lisp_file (const char *filename, const char *mode)
1104 FILE *infile; 1104 FILE *infile;
1105 register int c; 1105 register int c;
1106 char *saved_string = 0; 1106 char *saved_string = 0;
1107 /* These are the only files that are loaded uncompiled, and must
1108 follow the conventions of the doc strings expected by this
1109 function. These conventions are automatically followed by the
1110 byte compiler when it produces the .elc files. */
1111 static struct {
1112 const char *fn;
1113 size_t fl;
1114 } uncompiled[] = {
1115 { "loaddefs.el", sizeof("loaddefs.el") - 1 },
1116 { "loadup.el", sizeof("loadup.el") - 1 },
1117 { "charprop.el", sizeof("charprop.el") - 1 }
1118 };
1119 int i, match;
1120 size_t flen = strlen (filename);
1107 1121
1108 if (generate_globals) 1122 if (generate_globals)
1109 fatal ("scanning lisp file when -g specified", 0); 1123 fatal ("scanning lisp file when -g specified", 0);
1124 if (!strcmp (filename + flen - 3, ".el"))
1125 {
1126 for (i = 0, match = 0; i < sizeof(uncompiled)/sizeof(uncompiled[0]); i++)
1127 {
1128 if (!strcmp (filename + flen - uncompiled[i].fl, uncompiled[i].fn))
1129 {
1130 match = 1;
1131 break;
1132 }
1133 }
1134 if (!match)
1135 fatal ("uncompiled lisp file %s is not supported", filename);
1136 }
1110 1137
1111 infile = fopen (filename, mode); 1138 infile = fopen (filename, mode);
1112 if (infile == NULL) 1139 if (infile == NULL)
diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in
index 9da61cd5255..8e685adf9da 100644
--- a/lib-src/makefile.w32-in
+++ b/lib-src/makefile.w32-in
@@ -209,38 +209,38 @@ lisp1= \
209 $(lispsource)emacs-lisp/map-ynp.elc \ 209 $(lispsource)emacs-lisp/map-ynp.elc \
210 $(lispsource)menu-bar.elc \ 210 $(lispsource)menu-bar.elc \
211 $(lispsource)international/mule.elc \ 211 $(lispsource)international/mule.elc \
212 $(lispsource)international/mule-conf.el \ 212 $(lispsource)international/mule-conf.elc \
213 $(lispsource)international/mule-cmds.elc \ 213 $(lispsource)international/mule-cmds.elc \
214 $(lispsource)international/characters.elc \ 214 $(lispsource)international/characters.elc \
215 $(lispsource)international/charprop.el \ 215 $(lispsource)international/charprop.el \
216 $(lispsource)case-table.elc 216 $(lispsource)case-table.elc
217 217
218lisp2 = \ 218lisp2 = \
219 $(lispsource)language/chinese.el \ 219 $(lispsource)language/chinese.elc \
220 $(lispsource)language/cyrillic.el \ 220 $(lispsource)language/cyrillic.elc \
221 $(lispsource)language/indian.el \ 221 $(lispsource)language/indian.elc \
222 $(lispsource)language/sinhala.el \ 222 $(lispsource)language/sinhala.elc \
223 $(lispsource)language/english.el \ 223 $(lispsource)language/english.elc \
224 $(lispsource)language/ethiopic.elc \ 224 $(lispsource)language/ethiopic.elc \
225 $(lispsource)language/european.elc \ 225 $(lispsource)language/european.elc \
226 $(lispsource)language/czech.el \ 226 $(lispsource)language/czech.elc \
227 $(lispsource)language/slovak.el \ 227 $(lispsource)language/slovak.elc \
228 $(lispsource)language/romanian.el \ 228 $(lispsource)language/romanian.elc \
229 $(lispsource)language/greek.el \ 229 $(lispsource)language/greek.elc \
230 $(lispsource)language/hebrew.elc \ 230 $(lispsource)language/hebrew.elc \
231 $(lispsource)language/japanese.el \ 231 $(lispsource)language/japanese.elc \
232 $(lispsource)language/korean.el \ 232 $(lispsource)language/korean.elc \
233 $(lispsource)language/lao.el \ 233 $(lispsource)language/lao.elc \
234 $(lispsource)language/cham.el \ 234 $(lispsource)language/cham.elc \
235 $(lispsource)language/tai-viet.el \ 235 $(lispsource)language/tai-viet.elc \
236 $(lispsource)language/thai.el \ 236 $(lispsource)language/thai.elc \
237 $(lispsource)language/tibetan.elc \ 237 $(lispsource)language/tibetan.elc \
238 $(lispsource)language/vietnamese.el \ 238 $(lispsource)language/vietnamese.elc \
239 $(lispsource)language/misc-lang.el \ 239 $(lispsource)language/misc-lang.elc \
240 $(lispsource)language/utf-8-lang.el \ 240 $(lispsource)language/utf-8-lang.elc \
241 $(lispsource)language/georgian.el \ 241 $(lispsource)language/georgian.elc \
242 $(lispsource)language/khmer.el \ 242 $(lispsource)language/khmer.elc \
243 $(lispsource)language/burmese.el \ 243 $(lispsource)language/burmese.elc \
244 $(lispsource)register.elc \ 244 $(lispsource)register.elc \
245 $(lispsource)replace.elc \ 245 $(lispsource)replace.elc \
246 $(lispsource)simple.elc \ 246 $(lispsource)simple.elc \
@@ -266,7 +266,7 @@ lisp2 = \
266 $(WINDOW_SUPPORT) \ 266 $(WINDOW_SUPPORT) \
267 $(lispsource)widget.elc \ 267 $(lispsource)widget.elc \
268 $(lispsource)window.elc \ 268 $(lispsource)window.elc \
269 $(lispsource)version.el 269 $(lispsource)version.elc
270 270
271# This is needed the first time we build the tree, since temacs.exe 271# This is needed the first time we build the tree, since temacs.exe
272# does not exist yet, and the DOC rule needs it to rebuild DOC whenever 272# does not exist yet, and the DOC rule needs it to rebuild DOC whenever
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 86b425b41e4..41b0135a708 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,42 @@
12012-10-20 Arne Jørgensen <arne@arnested.dk>
2
3 * progmodes/flymake.el (flymake-create-temp-inplace): Use
4 file-truename.
5
62012-10-20 Eli Zaretskii <eliz@gnu.org>
7
8 * loadup.el: Update comment about uncompiled Lisp files. (Bug#12395)
9
102012-10-20 Jay Belanger <jay.p.belanger@gmail.com>
11
12 * calc/calc-units.el (math-extract-units): Properly extract powers
13 of units.
14
152012-10-20 Daniel Colascione <dancol@dancol.org>
16
17 * frame.el (make-frame): Set x-display-name as we used to in order
18 to unbreak creating an X11 frame from an Emacs daemon started
19 without a display.
20
212012-10-19 Stefan Monnier <monnier@iro.umontreal.ca>
22
23 * minibuffer.el (minibuffer-force-complete): Make the next completion use
24 the same completion-field (bug@12221).
25
262012-10-19 Martin Rudalics <rudalics@gmx.at>
27
28 * emacs-lisp/debug.el (debug): Record height of debugger window
29 also when debugger will be back (Bug#8789).
30
312012-10-18 Chong Yidong <cyd@gnu.org>
32
33 * progmodes/gdb-mi.el (gdb-display-buffer-other-frame-action):
34 Convert to defcustom.
35 (gdb-get-source-file): Don't bind pop-up-windows.
36
37 * progmodes/gud.el (gud-display-line): Don't specially re-use
38 other frames for the gdb-mi case (Bug#12648).
39
12012-10-18 Stefan Monnier <monnier@iro.umontreal.ca> 402012-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
2 41
3 * emacs-lisp/advice.el: Clean up commentary a bit. 42 * emacs-lisp/advice.el: Clean up commentary a bit.
diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el
index 39f710f8322..58646ea114c 100644
--- a/lisp/calc/calc-units.el
+++ b/lisp/calc/calc-units.el
@@ -1481,10 +1481,16 @@ If COMP or STD is non-nil, put that in the units table instead."
1481 (mapcar 'math-remove-units (cdr expr)))))) 1481 (mapcar 'math-remove-units (cdr expr))))))
1482 1482
1483(defun math-extract-units (expr) 1483(defun math-extract-units (expr)
1484 (if (memq (car-safe expr) '(* /)) 1484 (cond
1485 (cons (car expr) 1485 ((memq (car-safe expr) '(* /))
1486 (mapcar 'math-extract-units (cdr expr))) 1486 (cons (car expr)
1487 (if (math-check-unit-name expr) expr 1))) 1487 (mapcar 'math-extract-units (cdr expr))))
1488 ((and
1489 (eq (car-safe expr) '^)
1490 (math-check-unit-name (nth 1 expr)))
1491 expr)
1492 ((math-check-unit-name expr) expr)
1493 (t 1)))
1488 1494
1489(defun math-build-units-table-buffer (enter-buffer) 1495(defun math-build-units-table-buffer (enter-buffer)
1490 (if (not (and math-units-table math-units-table-buffer-valid 1496 (if (not (and math-units-table math-units-table-buffer-valid
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index c30ccf3315e..c04e68c0cfa 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -267,15 +267,17 @@ first will be printed into the backtrace buffer."
267 ;; Make sure we unbind buffer-read-only in the right buffer. 267 ;; Make sure we unbind buffer-read-only in the right buffer.
268 (save-excursion 268 (save-excursion
269 (recursive-edit)))) 269 (recursive-edit))))
270 (when (and (window-live-p debugger-window)
271 (eq (window-buffer debugger-window) debugger-buffer))
272 ;; Record height of debugger window.
273 (setq debugger-previous-window-height
274 (window-total-size debugger-window)))
270 (if debugger-will-be-back 275 (if debugger-will-be-back
271 ;; Restore previous window configuration (Bug#12623). 276 ;; Restore previous window configuration (Bug#12623).
272 (set-window-configuration window-configuration) 277 (set-window-configuration window-configuration)
273 (when (and (window-live-p debugger-window) 278 (when (and (window-live-p debugger-window)
274 (eq (window-buffer debugger-window) debugger-buffer)) 279 (eq (window-buffer debugger-window) debugger-buffer))
275 (progn 280 (progn
276 ;; Record height of debugger window.
277 (setq debugger-previous-window-height
278 (window-total-size debugger-window))
279 ;; Unshow debugger-buffer. 281 ;; Unshow debugger-buffer.
280 (quit-restore-window debugger-window debugger-bury-or-kill) 282 (quit-restore-window debugger-window debugger-bury-or-kill)
281 ;; Restore current buffer (Bug#12502). 283 ;; Restore current buffer (Bug#12502).
diff --git a/lisp/frame.el b/lisp/frame.el
index b7b61bcc576..7a54efc23e7 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -655,6 +655,8 @@ the new frame according to its own rules."
655 (error "Don't know how to create a frame on window system %s" w)) 655 (error "Don't know how to create a frame on window system %s" w))
656 656
657 (unless (get w 'window-system-initialized) 657 (unless (get w 'window-system-initialized)
658 (unless x-display-name
659 (setq x-display-name display))
658 (funcall (cdr (assq w window-system-initialization-alist))) 660 (funcall (cdr (assq w window-system-initialization-alist)))
659 (put w 'window-system-initialized t)) 661 (put w 'window-system-initialized t))
660 662
diff --git a/lisp/loadup.el b/lisp/loadup.el
index e0f5c6265b9..e5f2cb014d3 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -38,7 +38,8 @@
38;; doc strings in the dumped Emacs.) Because of this: 38;; doc strings in the dumped Emacs.) Because of this:
39 39
40;; ii) If the file is loaded uncompiled, it should (where possible) 40;; ii) If the file is loaded uncompiled, it should (where possible)
41;; obey the doc-string conventions expected by make-docfile. 41;; obey the doc-string conventions expected by make-docfile. It
42;; should also be added to the uncompiled[] list in make-docfile.c.
42 43
43;;; Code: 44;;; Code:
44 45
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index f464b42182d..f865a0269d4 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -1134,7 +1134,23 @@ Repeated uses step through the possible completions."
1134 ;; through the previous possible completions. 1134 ;; through the previous possible completions.
1135 (let ((last (last all))) 1135 (let ((last (last all)))
1136 (setcdr last (cons (car all) (cdr last))) 1136 (setcdr last (cons (car all) (cdr last)))
1137 (completion--cache-all-sorted-completions (cdr all))))))) 1137 (completion--cache-all-sorted-completions (cdr all)))
1138 ;; Make sure repeated uses cycle, even though completion--done might
1139 ;; have added a space or something that moved us outside of the field.
1140 ;; (bug#12221).
1141 (let* ((table minibuffer-completion-table)
1142 (pred minibuffer-completion-predicate)
1143 (extra-prop completion-extra-properties)
1144 (cmd
1145 (lambda () "Cycle through the possible completions."
1146 (interactive)
1147 (let ((completion-extra-properties extra-prop))
1148 (completion-in-region start (point) table pred)))))
1149 (set-temporary-overlay-map
1150 (let ((map (make-sparse-keymap)))
1151 (define-key map [remap completion-at-point] cmd)
1152 (define-key map (vector last-command-event) cmd)
1153 map)))))))
1138 1154
1139(defvar minibuffer-confirm-exit-commands 1155(defvar minibuffer-confirm-exit-commands
1140 '(completion-at-point minibuffer-complete 1156 '(completion-at-point minibuffer-complete
@@ -1557,7 +1573,6 @@ variables.")
1557 (let* ((exit-fun (plist-get completion-extra-properties :exit-function)) 1573 (let* ((exit-fun (plist-get completion-extra-properties :exit-function))
1558 (pre-msg (and exit-fun (current-message)))) 1574 (pre-msg (and exit-fun (current-message))))
1559 (cl-assert (memq finished '(exact sole finished unknown))) 1575 (cl-assert (memq finished '(exact sole finished unknown)))
1560 ;; FIXME: exit-fun should receive `finished' as a parameter.
1561 (when exit-fun 1576 (when exit-fun
1562 (when (eq finished 'unknown) 1577 (when (eq finished 'unknown)
1563 (setq finished 1578 (setq finished
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 26d4a399c2d..2614af9ffa4 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -1535,10 +1535,11 @@ if ARG is omitted or nil."
1535 (error "Invalid file-name")) 1535 (error "Invalid file-name"))
1536 (or prefix 1536 (or prefix
1537 (setq prefix "flymake")) 1537 (setq prefix "flymake"))
1538 (let* ((temp-name (concat (file-name-sans-extension file-name) 1538 (let* ((ext (file-name-extension file-name))
1539 "_" prefix 1539 (temp-name (file-truename
1540 (and (file-name-extension file-name) 1540 (concat (file-name-sans-extension file-name)
1541 (concat "." (file-name-extension file-name)))))) 1541 "_" prefix
1542 (and ext (concat "." ext))))))
1542 (flymake-log 3 "create-temp-inplace: file=%s temp=%s" file-name temp-name) 1543 (flymake-log 3 "create-temp-inplace: file=%s temp=%s" file-name temp-name)
1543 temp-name)) 1544 temp-name))
1544 1545
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 59c419abfc3..805ffa36e4e 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -1516,9 +1516,9 @@ this trigger is subscribed to `gdb-buf-publisher' and called with
1516 (comint-exec io-buffer "gdb-inferior" nil nil nil) 1516 (comint-exec io-buffer "gdb-inferior" nil nil nil)
1517 (gdb-inferior-io--init-proc (get-buffer-process io-buffer)))))) 1517 (gdb-inferior-io--init-proc (get-buffer-process io-buffer))))))
1518 1518
1519(defvar gdb-display-buffer-other-frame-action 1519(defcustom gdb-display-buffer-other-frame-action
1520 `((display-buffer-reuse-window display-buffer-pop-up-frame) 1520 '((display-buffer-reuse-window display-buffer-pop-up-frame)
1521 (reusable-frames . 0) 1521 (reusable-frames . visible)
1522 (inhibit-same-window . t) 1522 (inhibit-same-window . t)
1523 (pop-up-frame-parameters (height . 14) 1523 (pop-up-frame-parameters (height . 14)
1524 (width . 80) 1524 (width . 80)
@@ -1526,8 +1526,11 @@ this trigger is subscribed to `gdb-buf-publisher' and called with
1526 (tool-bar-lines . nil) 1526 (tool-bar-lines . nil)
1527 (menu-bar-lines . nil) 1527 (menu-bar-lines . nil)
1528 (minibuffer . nil))) 1528 (minibuffer . nil)))
1529 "A `display-buffer' action for displaying GDB utility frames.") 1529 "`display-buffer' action for displaying GDB utility frames."
1530(put 'gdb-display-buffer-other-frame-action 'risky-local-variable t) 1530 :group 'gdb
1531 :type display-buffer--action-custom-type
1532 :risky t
1533 :version "24.3")
1531 1534
1532(defun gdb-frame-io-buffer () 1535(defun gdb-frame-io-buffer ()
1533 "Display IO of debugged program in another frame." 1536 "Display IO of debugged program in another frame."
@@ -4175,9 +4178,9 @@ buffers, if required."
4175 (if gdb-many-windows 4178 (if gdb-many-windows
4176 (gdb-setup-windows) 4179 (gdb-setup-windows)
4177 (gdb-get-buffer-create 'gdb-breakpoints-buffer) 4180 (gdb-get-buffer-create 'gdb-breakpoints-buffer)
4178 (if (and gdb-show-main gdb-main-file) 4181 (and gdb-show-main
4179 (let ((pop-up-windows t)) 4182 gdb-main-file
4180 (display-buffer (gud-find-file gdb-main-file))))) 4183 (display-buffer (gud-find-file gdb-main-file))))
4181 (gdb-force-mode-line-update 4184 (gdb-force-mode-line-update
4182 (propertize "ready" 'face font-lock-variable-name-face))) 4185 (propertize "ready" 'face font-lock-variable-name-face)))
4183 4186
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 2e3858b2cc5..719471278a8 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -2700,42 +2700,39 @@ Obeying it means displaying in another window the specified file and line."
2700 (gud-find-file true-file))) 2700 (gud-find-file true-file)))
2701 (window (and buffer 2701 (window (and buffer
2702 (or (get-buffer-window buffer) 2702 (or (get-buffer-window buffer)
2703 (if (eq gud-minor-mode 'gdbmi)
2704 (display-buffer buffer nil 'visible))
2705 (display-buffer buffer)))) 2703 (display-buffer buffer))))
2706 (pos)) 2704 (pos))
2707 (if buffer 2705 (when buffer
2708 (progn 2706 (with-current-buffer buffer
2709 (with-current-buffer buffer 2707 (unless (or (verify-visited-file-modtime buffer) gud-keep-buffer)
2710 (unless (or (verify-visited-file-modtime buffer) gud-keep-buffer) 2708 (if (yes-or-no-p
2711 (if (yes-or-no-p 2709 (format "File %s changed on disk. Reread from disk? "
2712 (format "File %s changed on disk. Reread from disk? " 2710 (buffer-name)))
2713 (buffer-name))) 2711 (revert-buffer t t)
2714 (revert-buffer t t) 2712 (setq gud-keep-buffer t)))
2715 (setq gud-keep-buffer t))) 2713 (save-restriction
2716 (save-restriction 2714 (widen)
2717 (widen) 2715 (goto-char (point-min))
2718 (goto-char (point-min)) 2716 (forward-line (1- line))
2719 (forward-line (1- line)) 2717 (setq pos (point))
2720 (setq pos (point)) 2718 (or gud-overlay-arrow-position
2721 (or gud-overlay-arrow-position 2719 (setq gud-overlay-arrow-position (make-marker)))
2722 (setq gud-overlay-arrow-position (make-marker))) 2720 (set-marker gud-overlay-arrow-position (point) (current-buffer))
2723 (set-marker gud-overlay-arrow-position (point) (current-buffer)) 2721 ;; If they turned on hl-line, move the hl-line highlight to
2724 ;; If they turned on hl-line, move the hl-line highlight to 2722 ;; the arrow's line.
2725 ;; the arrow's line. 2723 (when (featurep 'hl-line)
2726 (when (featurep 'hl-line) 2724 (cond
2727 (cond 2725 (global-hl-line-mode
2728 (global-hl-line-mode 2726 (global-hl-line-highlight))
2729 (global-hl-line-highlight)) 2727 ((and hl-line-mode hl-line-sticky-flag)
2730 ((and hl-line-mode hl-line-sticky-flag) 2728 (hl-line-highlight)))))
2731 (hl-line-highlight))))) 2729 (cond ((or (< pos (point-min)) (> pos (point-max)))
2732 (cond ((or (< pos (point-min)) (> pos (point-max))) 2730 (widen)
2733 (widen) 2731 (goto-char pos))))
2734 (goto-char pos)))) 2732 (when window
2735 (when window 2733 (set-window-point window gud-overlay-arrow-position)
2736 (set-window-point window gud-overlay-arrow-position) 2734 (if (eq gud-minor-mode 'gdbmi)
2737 (if (eq gud-minor-mode 'gdbmi) 2735 (setq gdb-source-window window))))))
2738 (setq gdb-source-window window)))))))
2739 2736
2740;; The gud-call function must do the right thing whether its invoking 2737;; The gud-call function must do the right thing whether its invoking
2741;; keystroke is from the GUD buffer itself (via major-mode binding) 2738;; keystroke is from the GUD buffer itself (via major-mode binding)
diff --git a/src/ChangeLog b/src/ChangeLog
index 65f1c086260..f61c2ccdb00 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,25 @@
12012-10-19 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
2
3 * font.c (Ffont_at): Fix previous change.
4
52012-10-19 Eli Zaretskii <eliz@gnu.org>
6
7 * puresize.h (BASE_PURESIZE): Bump the base value to 1700000. See
8 http://lists.gnu.org/archive/html/emacs-devel/2012-10/msg00593.html
9 for the reasons.
10
11 * alloc.c (NSTATICS): Decrease to 0x800.
12
132012-10-19 Stefan Monnier <monnier@iro.umontreal.ca>
14
15 * fns.c (Fnreverse): Include the problem element when signalling an
16 error (bug#12677).
17
182012-10-18 Jan Djärv <jan.h.d@swipnet.se>
19
20 * nsterm.m (ns_select): Check writefds before call to
21 FD_ISSET (Bug#12668).
22
12012-10-18 Daniel Colascione <dancol@dancol.org> 232012-10-18 Daniel Colascione <dancol@dancol.org>
2 24
3 * alloc.c (NSTATICS): Increase from 0x650 to 0x1000 25 * alloc.c (NSTATICS): Increase from 0x650 to 0x1000
diff --git a/src/alloc.c b/src/alloc.c
index 08dc26784cc..5bb528c64ab 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -376,7 +376,7 @@ struct gcpro *gcprolist;
376/* Addresses of staticpro'd variables. Initialize it to a nonzero 376/* Addresses of staticpro'd variables. Initialize it to a nonzero
377 value; otherwise some compilers put it into BSS. */ 377 value; otherwise some compilers put it into BSS. */
378 378
379#define NSTATICS 0x1000 379#define NSTATICS 0x800
380static Lisp_Object *staticvec[NSTATICS] = {&Vpurify_flag}; 380static Lisp_Object *staticvec[NSTATICS] = {&Vpurify_flag};
381 381
382/* Index of next unused slot in staticvec. */ 382/* Index of next unused slot in staticvec. */
@@ -5030,7 +5030,7 @@ staticpro (Lisp_Object *varaddress)
5030{ 5030{
5031 staticvec[staticidx++] = varaddress; 5031 staticvec[staticidx++] = varaddress;
5032 if (staticidx >= NSTATICS) 5032 if (staticidx >= NSTATICS)
5033 fatal ("NSTATICS too small. Try increasing and recompiling Emacs."); 5033 fatal ("NSTATICS too small; try increasing and recompiling Emacs.");
5034} 5034}
5035 5035
5036 5036
diff --git a/src/coding.c b/src/coding.c
index 412d7245223..7628a9fbf2e 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -415,7 +415,7 @@ enum iso_code_class_type
415 ISO_shift_out, /* ISO_CODE_SO (0x0E) */ 415 ISO_shift_out, /* ISO_CODE_SO (0x0E) */
416 ISO_shift_in, /* ISO_CODE_SI (0x0F) */ 416 ISO_shift_in, /* ISO_CODE_SI (0x0F) */
417 ISO_single_shift_2_7, /* ISO_CODE_SS2_7 (0x19) */ 417 ISO_single_shift_2_7, /* ISO_CODE_SS2_7 (0x19) */
418 ISO_escape, /* ISO_CODE_SO (0x1B) */ 418 ISO_escape, /* ISO_CODE_ESC (0x1B) */
419 ISO_control_1, /* Control codes in the range 419 ISO_control_1, /* Control codes in the range
420 0x80..0x9F, except for the 420 0x80..0x9F, except for the
421 following 3 codes. */ 421 following 3 codes. */
diff --git a/src/fns.c b/src/fns.c
index c999b5b08b9..b1ba5ce9509 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -1689,7 +1689,7 @@ changing the value of a sequence `foo'. */)
1689 1689
1690DEFUN ("nreverse", Fnreverse, Snreverse, 1, 1, 0, 1690DEFUN ("nreverse", Fnreverse, Snreverse, 1, 1, 0,
1691 doc: /* Reverse LIST by modifying cdr pointers. 1691 doc: /* Reverse LIST by modifying cdr pointers.
1692Return the reversed list. */) 1692Return the reversed list. Expects a properly nil-terminated list. */)
1693 (Lisp_Object list) 1693 (Lisp_Object list)
1694{ 1694{
1695 register Lisp_Object prev, tail, next; 1695 register Lisp_Object prev, tail, next;
@@ -1700,7 +1700,7 @@ Return the reversed list. */)
1700 while (!NILP (tail)) 1700 while (!NILP (tail))
1701 { 1701 {
1702 QUIT; 1702 QUIT;
1703 CHECK_LIST_CONS (tail, list); 1703 CHECK_LIST_CONS (tail, tail);
1704 next = XCDR (tail); 1704 next = XCDR (tail);
1705 Fsetcdr (tail, prev); 1705 Fsetcdr (tail, prev);
1706 prev = tail; 1706 prev = tail;
diff --git a/src/font.c b/src/font.c
index 629e8bb977a..7cb4149ac4e 100644
--- a/src/font.c
+++ b/src/font.c
@@ -4775,7 +4775,7 @@ the current buffer. It defaults to the currently selected window. */)
4775 { 4775 {
4776 CHECK_NUMBER (position); 4776 CHECK_NUMBER (position);
4777 CHECK_STRING (string); 4777 CHECK_STRING (string);
4778 if (! (0 < XINT (position) && XINT (position) < SCHARS (string))) 4778 if (! (0 <= XINT (position) && XINT (position) < SCHARS (string)))
4779 args_out_of_range (string, position); 4779 args_out_of_range (string, position);
4780 pos = XINT (position); 4780 pos = XINT (position);
4781 } 4781 }
diff --git a/src/nsterm.m b/src/nsterm.m
index dfc84db50f7..a4eaad47ac1 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -3443,10 +3443,10 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds,
3443 3443
3444/* NSTRACE (ns_select); */ 3444/* NSTRACE (ns_select); */
3445 3445
3446 for (k = 0; readfds && k < nfds+1; k++) 3446 for (k = 0; k < nfds+1; k++)
3447 { 3447 {
3448 if (FD_ISSET(k, readfds)) ++nr; 3448 if (readfds && FD_ISSET(k, readfds)) ++nr;
3449 if (FD_ISSET(k, writefds)) ++nr; 3449 if (writefds && FD_ISSET(k, writefds)) ++nr;
3450 } 3450 }
3451 3451
3452 if (NSApp == nil 3452 if (NSApp == nil
diff --git a/src/puresize.h b/src/puresize.h
index 2f024345d61..26395a5729d 100644
--- a/src/puresize.h
+++ b/src/puresize.h
@@ -40,7 +40,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
40#endif 40#endif
41 41
42#ifndef BASE_PURESIZE 42#ifndef BASE_PURESIZE
43#define BASE_PURESIZE (1620000 + SYSTEM_PURESIZE_EXTRA + SITELOAD_PURESIZE_EXTRA) 43#define BASE_PURESIZE (1700000 + SYSTEM_PURESIZE_EXTRA + SITELOAD_PURESIZE_EXTRA)
44#endif 44#endif
45 45
46/* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */ 46/* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */