diff options
| author | Kenichi Handa | 2013-03-20 17:08:34 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2013-03-20 17:08:34 +0900 |
| commit | 47077837aff40030430e3d1d0522fee5db62ee1e (patch) | |
| tree | 330da0edce9c8fc596e0d9f2ee8284ba9560422f | |
| parent | c0a17406acd4b9db561ba99f8a02bf5461130e82 (diff) | |
| parent | faaecb52470ebc949e2e01e221270656c6f39b70 (diff) | |
| download | emacs-47077837aff40030430e3d1d0522fee5db62ee1e.tar.gz emacs-47077837aff40030430e3d1d0522fee5db62ee1e.zip | |
merge trunk
| -rw-r--r-- | leim/ChangeLog | 4 | ||||
| -rw-r--r-- | leim/Makefile.in | 5 | ||||
| -rw-r--r-- | lisp/ChangeLog | 35 | ||||
| -rw-r--r-- | lisp/ido.el | 6 | ||||
| -rw-r--r-- | lisp/international/ja-dic-cnv.el | 21 | ||||
| -rw-r--r-- | lisp/mouse.el | 9 | ||||
| -rw-r--r-- | lisp/whitespace.el | 39 | ||||
| -rw-r--r-- | src/ChangeLog | 11 | ||||
| -rw-r--r-- | src/alloc.c | 2 | ||||
| -rw-r--r-- | src/coding.c | 2 | ||||
| -rw-r--r-- | src/dispextern.h | 4 | ||||
| -rw-r--r-- | src/emacs.c | 7 | ||||
| -rw-r--r-- | src/image.c | 6 | ||||
| -rw-r--r-- | src/lisp.h | 1 | ||||
| -rw-r--r-- | src/print.c | 13 | ||||
| -rw-r--r-- | src/window.c | 39 | ||||
| -rw-r--r-- | src/xfaces.c | 2 |
17 files changed, 128 insertions, 78 deletions
diff --git a/leim/ChangeLog b/leim/ChangeLog index e22eb84cef4..89d686a63de 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2013-03-20 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * Makefile.in ($(srcdir)/ja-dic/ja-dic.el): Use batch-skkdic-convert. | ||
| 4 | |||
| 1 | 2013-03-18 Eli Zaretskii <eliz@gnu.org> | 5 | 2013-03-18 Eli Zaretskii <eliz@gnu.org> |
| 2 | 6 | ||
| 3 | * makefile.w32-in ($(srcdir)/ja-dic/ja-dic.el): New target. | 7 | * makefile.w32-in ($(srcdir)/ja-dic/ja-dic.el): New target. |
diff --git a/leim/Makefile.in b/leim/Makefile.in index 23b3bc7cbf6..0242244295e 100644 --- a/leim/Makefile.in +++ b/leim/Makefile.in | |||
| @@ -146,8 +146,9 @@ leim-list.el: ${TIT_MISC} ${srcdir}/leim-ext.el | |||
| 146 | 146 | ||
| 147 | $(srcdir)/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L | 147 | $(srcdir)/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L |
| 148 | @$(MKDIR_P) $(srcdir)/ja-dic | 148 | @$(MKDIR_P) $(srcdir)/ja-dic |
| 149 | $(RUN_EMACS) -l $(buildlisppath)/international/ja-dic-cnv \ | 149 | $(RUN_EMACS) -batch -l $(buildlisppath)/international/ja-dic-cnv \ |
| 150 | --eval '(skkdic-convert "$(srcdir)/SKK-DIC/SKK-JISYO.L" "$(srcdir)/ja-dic")' | 150 | -f batch-skkdic-convert -dir "$(srcdir)/ja-dic" \ |
| 151 | "$(srcdir)/SKK-DIC/SKK-JISYO.L" | ||
| 151 | 152 | ||
| 152 | ## Following adapted from lisp/Makefile.in. | 153 | ## Following adapted from lisp/Makefile.in. |
| 153 | setwins=wins="${srcdir}/ja-dic quail"; \ | 154 | setwins=wins="${srcdir}/ja-dic quail"; \ |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4c2b17ff0fa..392cc9ac2fa 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,38 @@ | |||
| 1 | 2013-03-20 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Suppress unnecessary non-ASCII chatter during build process. | ||
| 4 | * international/ja-dic-cnv.el (skkdic-collect-okuri-nasi) | ||
| 5 | (batch-skkdic-convert): Suppress most of the chatter. | ||
| 6 | It's not needed so much now that machines are faster, | ||
| 7 | and its non-ASCII component was confusing; see Dmitry Gutov in | ||
| 8 | <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00508.html>. | ||
| 9 | |||
| 10 | 2013-03-20 Leo Liu <sdl.web@gmail.com> | ||
| 11 | |||
| 12 | * ido.el (ido-chop): Fix bug#10994. | ||
| 13 | |||
| 14 | 2013-03-19 Dmitry Gutov <dgutov@yandex.ru> | ||
| 15 | |||
| 16 | * whitespace.el (whitespace-font-lock, whitespace-font-lock-mode): | ||
| 17 | Remove vars. | ||
| 18 | (whitespace-color-on, whitespace-color-off): Use | ||
| 19 | `font-lock-fontify-buffer' (Bug#13817). | ||
| 20 | |||
| 21 | 2013-03-19 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22 | |||
| 23 | * mouse.el (mouse--down-1-maybe-follows-link): Fix follow-link | ||
| 24 | remapping in mode-line. | ||
| 25 | (mouse-on-link-p): Also check [mode-line follow-link] bindings. | ||
| 26 | |||
| 27 | 2013-03-19 Dmitry Gutov <dgutov@yandex.ru> | ||
| 28 | |||
| 29 | * whitespace.el (whitespace-color-on): Use `prepend' OVERRIDE | ||
| 30 | value for `whitespace-line' face (Bug#13875). | ||
| 31 | (whitespace-font-lock-keywords): Change description. | ||
| 32 | (whitespace-color-on): Don't save `font-lock-keywords' value, save | ||
| 33 | the constructed keywords instead. | ||
| 34 | (whitespace-color-off): Use `font-lock-remove-keywords' (Bug#13817). | ||
| 35 | |||
| 1 | 2013-03-19 Leo Liu <sdl.web@gmail.com> | 36 | 2013-03-19 Leo Liu <sdl.web@gmail.com> |
| 2 | 37 | ||
| 3 | * progmodes/compile.el (compilation-display-error): New command. | 38 | * progmodes/compile.el (compilation-display-error): New command. |
diff --git a/lisp/ido.el b/lisp/ido.el index 589f44175eb..7ace1811daa 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -3150,13 +3150,15 @@ for first matching file." | |||
| 3150 | (exit-minibuffer))) | 3150 | (exit-minibuffer))) |
| 3151 | 3151 | ||
| 3152 | (defun ido-chop (items elem) | 3152 | (defun ido-chop (items elem) |
| 3153 | "Remove all elements before ELEM and put them at the end of ITEMS." | 3153 | "Remove all elements before ELEM and put them at the end of ITEMS. |
| 3154 | Use `eq' for comparison." | ||
| 3154 | (let ((ret nil) | 3155 | (let ((ret nil) |
| 3155 | (next nil) | 3156 | (next nil) |
| 3156 | (sofar nil)) | 3157 | (sofar nil)) |
| 3157 | (while (not ret) | 3158 | (while (not ret) |
| 3158 | (setq next (car items)) | 3159 | (setq next (car items)) |
| 3159 | (if (equal next elem) | 3160 | ;; Use `eq' to avoid bug http://debbugs.gnu.org/10994 |
| 3161 | (if (eq next elem) | ||
| 3160 | (setq ret (append items (nreverse sofar))) | 3162 | (setq ret (append items (nreverse sofar))) |
| 3161 | ;; else | 3163 | ;; else |
| 3162 | (progn | 3164 | (progn |
diff --git a/lisp/international/ja-dic-cnv.el b/lisp/international/ja-dic-cnv.el index 5382dbe3ad7..41a31004194 100644 --- a/lisp/international/ja-dic-cnv.el +++ b/lisp/international/ja-dic-cnv.el | |||
| @@ -279,9 +279,9 @@ | |||
| 279 | skkdic-okuri-nasi-entries-count | 279 | skkdic-okuri-nasi-entries-count |
| 280 | (1+ skkdic-okuri-nasi-entries-count)) | 280 | (1+ skkdic-okuri-nasi-entries-count)) |
| 281 | (setq ratio (floor (/ (* (point) 100.0) (point-max)))) | 281 | (setq ratio (floor (/ (* (point) 100.0) (point-max)))) |
| 282 | (if (/= ratio prev-ratio) | 282 | (if (/= (/ prev-ratio 10) (/ ratio 10)) |
| 283 | (progn | 283 | (progn |
| 284 | (message "collected %2d%% %s ..." ratio kana) | 284 | (message "collected %2d%% ..." ratio) |
| 285 | (setq prev-ratio ratio))) | 285 | (setq prev-ratio ratio))) |
| 286 | (while candidates | 286 | (while candidates |
| 287 | (let ((entry (lookup-nested-alist (car candidates) | 287 | (let ((entry (lookup-nested-alist (car candidates) |
| @@ -304,12 +304,12 @@ | |||
| 304 | (while l | 304 | (while l |
| 305 | (let ((kana (car (car l))) | 305 | (let ((kana (car (car l))) |
| 306 | (candidates (cdr (car l)))) | 306 | (candidates (cdr (car l)))) |
| 307 | (setq ratio (/ (* count 1000) skkdic-okuri-nasi-entries-count) | 307 | (setq ratio (/ (* count 100) skkdic-okuri-nasi-entries-count) |
| 308 | count (1+ count)) | 308 | count (1+ count)) |
| 309 | (if (/= prev-ratio (/ ratio 10)) | 309 | (if (/= (/ prev-ratio 10) (/ ratio 10)) |
| 310 | (progn | 310 | (progn |
| 311 | (message "processed %2d%% %s ..." (/ ratio 10) kana) | 311 | (message "processed %2d%% ..." ratio) |
| 312 | (setq prev-ratio (/ ratio 10)))) | 312 | (setq prev-ratio ratio))) |
| 313 | (if (setq candidates | 313 | (if (setq candidates |
| 314 | (skkdic-reduced-candidates skkbuf kana candidates)) | 314 | (skkdic-reduced-candidates skkbuf kana candidates)) |
| 315 | (progn | 315 | (progn |
| @@ -330,7 +330,7 @@ The name of generated file is specified by the variable `ja-dic-filename'." | |||
| 330 | (interactive "FSKK dictionary file: ") | 330 | (interactive "FSKK dictionary file: ") |
| 331 | (message "Reading file \"%s\" ..." filename) | 331 | (message "Reading file \"%s\" ..." filename) |
| 332 | (let* ((coding-system-for-read 'euc-japan) | 332 | (let* ((coding-system-for-read 'euc-japan) |
| 333 | (skkbuf (get-buffer-create " *skkdic-unnannotated*")) | 333 | (skkbuf (get-buffer-create " *skkdic-unannotated*")) |
| 334 | (buf (get-buffer-create "*skkdic-work*"))) | 334 | (buf (get-buffer-create "*skkdic-work*"))) |
| 335 | ;; Set skkbuf to an unannotated copy of the dictionary. | 335 | ;; Set skkbuf to an unannotated copy of the dictionary. |
| 336 | (with-current-buffer skkbuf | 336 | (with-current-buffer skkbuf |
| @@ -433,12 +433,7 @@ To get complete usage, invoke: | |||
| 433 | (setq targetdir (expand-file-name (car command-line-args-left))) | 433 | (setq targetdir (expand-file-name (car command-line-args-left))) |
| 434 | (setq command-line-args-left (cdr command-line-args-left)))) | 434 | (setq command-line-args-left (cdr command-line-args-left)))) |
| 435 | (setq filename (expand-file-name (car command-line-args-left))) | 435 | (setq filename (expand-file-name (car command-line-args-left))) |
| 436 | (message "Converting %s to %s ..." filename ja-dic-filename) | 436 | (skkdic-convert filename targetdir))) |
| 437 | (message "It takes around 10 minutes even on Sun SS20.") | ||
| 438 | (skkdic-convert filename targetdir) | ||
| 439 | (message "Do byte-compile the created file by:") | ||
| 440 | (message " %% emacs -batch -f batch-byte-compile %s" ja-dic-filename) | ||
| 441 | )) | ||
| 442 | (kill-emacs 0)) | 437 | (kill-emacs 0)) |
| 443 | 438 | ||
| 444 | 439 | ||
diff --git a/lisp/mouse.el b/lisp/mouse.el index ea6b1b04de0..333a1cef703 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el | |||
| @@ -128,7 +128,11 @@ Expects to be bound to `down-mouse-1' in `key-translation-map'." | |||
| 128 | (put newup 'event-kind (get (car event) 'event-kind)) | 128 | (put newup 'event-kind (get (car event) 'event-kind)) |
| 129 | (put newdown 'event-kind (get (car this-event) 'event-kind)) | 129 | (put newdown 'event-kind (get (car this-event) 'event-kind)) |
| 130 | (push (cons newup (cdr event)) unread-command-events) | 130 | (push (cons newup (cdr event)) unread-command-events) |
| 131 | (vector (cons newdown (cdr this-event)))) | 131 | ;; Modify the event in place, so read-key-sequence doesn't |
| 132 | ;; generate a second fake prefix key (see fake_prefixed_keys in | ||
| 133 | ;; src/keyboard.c). | ||
| 134 | (setcar this-event newdown) | ||
| 135 | (vector this-event)) | ||
| 132 | (push event unread-command-events) | 136 | (push event unread-command-events) |
| 133 | nil)))))) | 137 | nil)))))) |
| 134 | 138 | ||
| @@ -760,6 +764,9 @@ at the same position." | |||
| 760 | mouse-1-click-in-non-selected-windows | 764 | mouse-1-click-in-non-selected-windows |
| 761 | (eq (selected-window) (posn-window pos))) | 765 | (eq (selected-window) (posn-window pos))) |
| 762 | (or (mouse-posn-property pos 'follow-link) | 766 | (or (mouse-posn-property pos 'follow-link) |
| 767 | (let ((area (posn-area pos))) | ||
| 768 | (when area | ||
| 769 | (key-binding (vector area 'follow-link) nil t pos))) | ||
| 763 | (key-binding [follow-link] nil t pos))))) | 770 | (key-binding [follow-link] nil t pos))))) |
| 764 | (cond | 771 | (cond |
| 765 | ((eq action 'mouse-face) | 772 | ((eq action 'mouse-face) |
diff --git a/lisp/whitespace.el b/lisp/whitespace.el index b0bb610aa3a..c32155f5430 100644 --- a/lisp/whitespace.el +++ b/lisp/whitespace.el | |||
| @@ -1861,14 +1861,8 @@ cleaning up these problems." | |||
| 1861 | ;;;; Internal functions | 1861 | ;;;; Internal functions |
| 1862 | 1862 | ||
| 1863 | 1863 | ||
| 1864 | (defvar whitespace-font-lock-mode nil | ||
| 1865 | "Used to remember whether a buffer had font lock mode on or not.") | ||
| 1866 | |||
| 1867 | (defvar whitespace-font-lock nil | ||
| 1868 | "Used to remember whether a buffer initially had font lock on or not.") | ||
| 1869 | |||
| 1870 | (defvar whitespace-font-lock-keywords nil | 1864 | (defvar whitespace-font-lock-keywords nil |
| 1871 | "Used to save locally `font-lock-keywords' value.") | 1865 | "Used to save the value `whitespace-color-on' adds to `font-lock-keywords'.") |
| 1872 | 1866 | ||
| 1873 | 1867 | ||
| 1874 | (defconst whitespace-help-text | 1868 | (defconst whitespace-help-text |
| @@ -2106,8 +2100,6 @@ resultant list will be returned." | |||
| 2106 | ;; prepare local hooks | 2100 | ;; prepare local hooks |
| 2107 | (add-hook 'write-file-functions 'whitespace-write-file-hook nil t) | 2101 | (add-hook 'write-file-functions 'whitespace-write-file-hook nil t) |
| 2108 | ;; create whitespace local buffer environment | 2102 | ;; create whitespace local buffer environment |
| 2109 | (set (make-local-variable 'whitespace-font-lock-mode) nil) | ||
| 2110 | (set (make-local-variable 'whitespace-font-lock) nil) | ||
| 2111 | (set (make-local-variable 'whitespace-font-lock-keywords) nil) | 2103 | (set (make-local-variable 'whitespace-font-lock-keywords) nil) |
| 2112 | (set (make-local-variable 'whitespace-display-table) nil) | 2104 | (set (make-local-variable 'whitespace-display-table) nil) |
| 2113 | (set (make-local-variable 'whitespace-display-table-was-local) nil) | 2105 | (set (make-local-variable 'whitespace-display-table-was-local) nil) |
| @@ -2157,10 +2149,6 @@ resultant list will be returned." | |||
| 2157 | (defun whitespace-color-on () | 2149 | (defun whitespace-color-on () |
| 2158 | "Turn on color visualization." | 2150 | "Turn on color visualization." |
| 2159 | (when (whitespace-style-face-p) | 2151 | (when (whitespace-style-face-p) |
| 2160 | (unless whitespace-font-lock | ||
| 2161 | (setq whitespace-font-lock t | ||
| 2162 | whitespace-font-lock-keywords | ||
| 2163 | (copy-sequence font-lock-keywords))) | ||
| 2164 | ;; save current point and refontify when necessary | 2152 | ;; save current point and refontify when necessary |
| 2165 | (set (make-local-variable 'whitespace-point) | 2153 | (set (make-local-variable 'whitespace-point) |
| 2166 | (point)) | 2154 | (point)) |
| @@ -2174,13 +2162,9 @@ resultant list will be returned." | |||
| 2174 | nil) | 2162 | nil) |
| 2175 | (add-hook 'post-command-hook #'whitespace-post-command-hook nil t) | 2163 | (add-hook 'post-command-hook #'whitespace-post-command-hook nil t) |
| 2176 | (add-hook 'before-change-functions #'whitespace-buffer-changed nil t) | 2164 | (add-hook 'before-change-functions #'whitespace-buffer-changed nil t) |
| 2177 | ;; turn off font lock | ||
| 2178 | (set (make-local-variable 'whitespace-font-lock-mode) | ||
| 2179 | font-lock-mode) | ||
| 2180 | (font-lock-mode 0) | ||
| 2181 | ;; Add whitespace-mode color into font lock. | 2165 | ;; Add whitespace-mode color into font lock. |
| 2182 | (font-lock-add-keywords | 2166 | (setq |
| 2183 | nil | 2167 | whitespace-font-lock-keywords |
| 2184 | `( | 2168 | `( |
| 2185 | ,@(when (memq 'spaces whitespace-active-style) | 2169 | ,@(when (memq 'spaces whitespace-active-style) |
| 2186 | ;; Show SPACEs. | 2170 | ;; Show SPACEs. |
| @@ -2209,7 +2193,7 @@ resultant list will be returned." | |||
| 2209 | ,(if (memq 'lines whitespace-active-style) | 2193 | ,(if (memq 'lines whitespace-active-style) |
| 2210 | 0 ; whole line | 2194 | 0 ; whole line |
| 2211 | 2) ; line tail | 2195 | 2) ; line tail |
| 2212 | whitespace-line t))) | 2196 | whitespace-line prepend))) |
| 2213 | ,@(when (or (memq 'space-before-tab whitespace-active-style) | 2197 | ,@(when (or (memq 'space-before-tab whitespace-active-style) |
| 2214 | (memq 'space-before-tab::tab whitespace-active-style) | 2198 | (memq 'space-before-tab::tab whitespace-active-style) |
| 2215 | (memq 'space-before-tab::space whitespace-active-style)) | 2199 | (memq 'space-before-tab::space whitespace-active-style)) |
| @@ -2257,24 +2241,19 @@ resultant list will be returned." | |||
| 2257 | ((memq 'space-after-tab::space whitespace-active-style) | 2241 | ((memq 'space-after-tab::space whitespace-active-style) |
| 2258 | ;; Show SPACEs after TAB (TABs). | 2242 | ;; Show SPACEs after TAB (TABs). |
| 2259 | (whitespace-space-after-tab-regexp 'space))) | 2243 | (whitespace-space-after-tab-regexp 'space))) |
| 2260 | 1 whitespace-space-after-tab t)))) | 2244 | 1 whitespace-space-after-tab t))))) |
| 2261 | t) | 2245 | (font-lock-add-keywords nil whitespace-font-lock-keywords t) |
| 2262 | ;; Now turn on font lock and highlight blanks. | 2246 | (font-lock-fontify-buffer))) |
| 2263 | (font-lock-mode 1))) | ||
| 2264 | 2247 | ||
| 2265 | 2248 | ||
| 2266 | (defun whitespace-color-off () | 2249 | (defun whitespace-color-off () |
| 2267 | "Turn off color visualization." | 2250 | "Turn off color visualization." |
| 2268 | ;; turn off font lock | 2251 | ;; turn off font lock |
| 2269 | (when (whitespace-style-face-p) | 2252 | (when (whitespace-style-face-p) |
| 2270 | (font-lock-mode 0) | ||
| 2271 | (remove-hook 'post-command-hook #'whitespace-post-command-hook t) | 2253 | (remove-hook 'post-command-hook #'whitespace-post-command-hook t) |
| 2272 | (remove-hook 'before-change-functions #'whitespace-buffer-changed t) | 2254 | (remove-hook 'before-change-functions #'whitespace-buffer-changed t) |
| 2273 | (when whitespace-font-lock | 2255 | (font-lock-remove-keywords nil whitespace-font-lock-keywords) |
| 2274 | (setq whitespace-font-lock nil | 2256 | (font-lock-fontify-buffer))) |
| 2275 | font-lock-keywords whitespace-font-lock-keywords)) | ||
| 2276 | ;; restore original font lock state | ||
| 2277 | (font-lock-mode whitespace-font-lock-mode))) | ||
| 2278 | 2257 | ||
| 2279 | 2258 | ||
| 2280 | (defun whitespace-trailing-regexp (limit) | 2259 | (defun whitespace-trailing-regexp (limit) |
diff --git a/src/ChangeLog b/src/ChangeLog index 6de0212109a..2779e5a6ea8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -4,6 +4,17 @@ | |||
| 4 | to 1 (temporary workaround until a bug related to ASCII | 4 | to 1 (temporary workaround until a bug related to ASCII |
| 5 | optimization is fixed). | 5 | optimization is fixed). |
| 6 | 6 | ||
| 7 | 2013-03-19 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 8 | |||
| 9 | * window.c (Fwindow_combination_limit, Fset_window_combination_limit): | ||
| 10 | Signal error if window is not internal. Adjust docstring. | ||
| 11 | (delete_all_child_windows): Use combination_limit to save the buffer. | ||
| 12 | (Fset_window_configuration): Adjust accordingly. | ||
| 13 | * print.c (syms_of_print): Initialize debugging output not here... | ||
| 14 | (init_print_once): ...but in a new function here. | ||
| 15 | * lisp.h (init_print_once): Add prototype. | ||
| 16 | * emacs.c (main): Add call to init_print_once. Adjust comments. | ||
| 17 | |||
| 7 | 2013-03-18 Dmitry Antipov <dmantipov@yandex.ru> | 18 | 2013-03-18 Dmitry Antipov <dmantipov@yandex.ru> |
| 8 | 19 | ||
| 9 | * window.c (window_resize_check, window_resize_apply) | 20 | * window.c (window_resize_check, window_resize_apply) |
diff --git a/src/alloc.c b/src/alloc.c index b2703c5f961..5e30c1b20ad 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -1162,7 +1162,7 @@ lisp_align_free (void *block) | |||
| 1162 | #define INTERVAL_BLOCK_SIZE \ | 1162 | #define INTERVAL_BLOCK_SIZE \ |
| 1163 | ((1020 - sizeof (struct interval_block *)) / sizeof (struct interval)) | 1163 | ((1020 - sizeof (struct interval_block *)) / sizeof (struct interval)) |
| 1164 | 1164 | ||
| 1165 | /* Intervals are allocated in chunks in form of an interval_block | 1165 | /* Intervals are allocated in chunks in the form of an interval_block |
| 1166 | structure. */ | 1166 | structure. */ |
| 1167 | 1167 | ||
| 1168 | struct interval_block | 1168 | struct interval_block |
diff --git a/src/coding.c b/src/coding.c index a5b07019388..cb81375a043 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -6075,7 +6075,7 @@ complement_process_encoding_system (Lisp_Object coding_system) | |||
| 6075 | static Lisp_Object adjust_coding_eol_type (struct coding_system *coding, int eol_seen); | 6075 | static Lisp_Object adjust_coding_eol_type (struct coding_system *coding, int eol_seen); |
| 6076 | 6076 | ||
| 6077 | 6077 | ||
| 6078 | /* Return 1 if all the source bytes are ASCII, and return 0 otherwize. | 6078 | /* Return true iff all the source bytes are ASCII. |
| 6079 | By side effects, set coding->head_ascii and coding->eol_seen. The | 6079 | By side effects, set coding->head_ascii and coding->eol_seen. The |
| 6080 | value of coding->eol_seen is "logical or" of EOL_SEEN_LF, | 6080 | value of coding->eol_seen is "logical or" of EOL_SEEN_LF, |
| 6081 | EOL_SEEN_CR, and EOL_SEEN_CRLF, but the value is reliable only when | 6081 | EOL_SEEN_CR, and EOL_SEEN_CRLF, but the value is reliable only when |
diff --git a/src/dispextern.h b/src/dispextern.h index a696abfddbb..1f269902435 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -602,8 +602,8 @@ struct glyph_pool | |||
| 602 | 602 | ||
| 603 | 2. Window glyph matrices on frames having frame glyph matrices. | 603 | 2. Window glyph matrices on frames having frame glyph matrices. |
| 604 | Such matrices are sub-matrices of their corresponding frame matrix, | 604 | Such matrices are sub-matrices of their corresponding frame matrix, |
| 605 | i.e. frame glyph matrices and window glyph matrices share the same | 605 | i.e., frame glyph matrices and window glyph matrices share the same |
| 606 | glyph memory which is allocated in form of a glyph_pool structure. | 606 | glyph memory, which is allocated in the form of a glyph_pool structure. |
| 607 | Glyph rows in such a window matrix are slices of frame matrix rows. | 607 | Glyph rows in such a window matrix are slices of frame matrix rows. |
| 608 | 608 | ||
| 609 | 2. Free-standing window glyph matrices managing their own glyph | 609 | 2. Free-standing window glyph matrices managing their own glyph |
diff --git a/src/emacs.c b/src/emacs.c index bd33583af0c..5115126577b 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -1080,7 +1080,7 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem | |||
| 1080 | 1080 | ||
| 1081 | noninteractive1 = noninteractive; | 1081 | noninteractive1 = noninteractive; |
| 1082 | 1082 | ||
| 1083 | /* Perform basic initializations (not merely interning symbols). */ | 1083 | /* Perform basic initializations (not merely interning symbols). */ |
| 1084 | 1084 | ||
| 1085 | if (!initialized) | 1085 | if (!initialized) |
| 1086 | { | 1086 | { |
| @@ -1091,8 +1091,7 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem | |||
| 1091 | init_coding_once (); | 1091 | init_coding_once (); |
| 1092 | init_syntax_once (); /* Create standard syntax table. */ | 1092 | init_syntax_once (); /* Create standard syntax table. */ |
| 1093 | init_category_once (); /* Create standard category table. */ | 1093 | init_category_once (); /* Create standard category table. */ |
| 1094 | /* Must be done before init_buffer. */ | 1094 | init_casetab_once (); /* Must be done before init_buffer_once. */ |
| 1095 | init_casetab_once (); | ||
| 1096 | init_buffer_once (); /* Create buffer table and some buffers. */ | 1095 | init_buffer_once (); /* Create buffer table and some buffers. */ |
| 1097 | init_minibuf_once (); /* Create list of minibuffers. */ | 1096 | init_minibuf_once (); /* Create list of minibuffers. */ |
| 1098 | /* Must precede init_window_once. */ | 1097 | /* Must precede init_window_once. */ |
| @@ -1117,6 +1116,8 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem | |||
| 1117 | syms_of_fileio (); | 1116 | syms_of_fileio (); |
| 1118 | /* Before syms_of_coding to initialize Vgc_cons_threshold. */ | 1117 | /* Before syms_of_coding to initialize Vgc_cons_threshold. */ |
| 1119 | syms_of_alloc (); | 1118 | syms_of_alloc (); |
| 1119 | /* May call Ffuncall and so GC, thus the latter should be initialized. */ | ||
| 1120 | init_print_once (); | ||
| 1120 | /* Before syms_of_coding because it initializes Qcharsetp. */ | 1121 | /* Before syms_of_coding because it initializes Qcharsetp. */ |
| 1121 | syms_of_charset (); | 1122 | syms_of_charset (); |
| 1122 | /* Before init_window_once, because it sets up the | 1123 | /* Before init_window_once, because it sets up the |
diff --git a/src/image.c b/src/image.c index 0d4bc82f3b4..2c0f6e3b8c1 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -154,15 +154,15 @@ XGetImage (Display *display, Pixmap pixmap, int x, int y, | |||
| 154 | return pixmap; | 154 | return pixmap; |
| 155 | } | 155 | } |
| 156 | 156 | ||
| 157 | /* use with imgs created by ns_image_for_XPM */ | 157 | /* Use with images created by ns_image_for_XPM. */ |
| 158 | unsigned long | 158 | unsigned long |
| 159 | XGetPixel (XImagePtr ximage, int x, int y) | 159 | XGetPixel (XImagePtr ximage, int x, int y) |
| 160 | { | 160 | { |
| 161 | return ns_get_pixel (ximage, x, y); | 161 | return ns_get_pixel (ximage, x, y); |
| 162 | } | 162 | } |
| 163 | 163 | ||
| 164 | /* use with imgs created by ns_image_for_XPM; alpha set to 1; | 164 | /* Use with images created by ns_image_for_XPM; alpha set to 1; |
| 165 | pixel is assumed to be in form RGB */ | 165 | pixel is assumed to be in RGB form. */ |
| 166 | void | 166 | void |
| 167 | XPutPixel (XImagePtr ximage, int x, int y, unsigned long pixel) | 167 | XPutPixel (XImagePtr ximage, int x, int y, unsigned long pixel) |
| 168 | { | 168 | { |
diff --git a/src/lisp.h b/src/lisp.h index b2ab5684d4d..f526cd36a6f 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -3163,6 +3163,7 @@ extern Lisp_Object internal_with_output_to_temp_buffer | |||
| 3163 | (const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object); | 3163 | (const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object); |
| 3164 | enum FLOAT_TO_STRING_BUFSIZE { FLOAT_TO_STRING_BUFSIZE = 350 }; | 3164 | enum FLOAT_TO_STRING_BUFSIZE { FLOAT_TO_STRING_BUFSIZE = 350 }; |
| 3165 | extern int float_to_string (char *, double); | 3165 | extern int float_to_string (char *, double); |
| 3166 | extern void init_print_once (void); | ||
| 3166 | extern void syms_of_print (void); | 3167 | extern void syms_of_print (void); |
| 3167 | 3168 | ||
| 3168 | /* Defined in doprnt.c. */ | 3169 | /* Defined in doprnt.c. */ |
diff --git a/src/print.c b/src/print.c index 03b46748454..53c0d99f836 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -2165,7 +2165,16 @@ print_interval (INTERVAL interval, Lisp_Object printcharfun) | |||
| 2165 | print_object (interval->plist, printcharfun, 1); | 2165 | print_object (interval->plist, printcharfun, 1); |
| 2166 | } | 2166 | } |
| 2167 | 2167 | ||
| 2168 | 2168 | /* Initialize debug_print stuff early to have it working from the very | |
| 2169 | beginning. */ | ||
| 2170 | |||
| 2171 | void | ||
| 2172 | init_print_once (void) | ||
| 2173 | { | ||
| 2174 | DEFSYM (Qexternal_debugging_output, "external-debugging-output"); | ||
| 2175 | defsubr (&Sexternal_debugging_output); | ||
| 2176 | } | ||
| 2177 | |||
| 2169 | void | 2178 | void |
| 2170 | syms_of_print (void) | 2179 | syms_of_print (void) |
| 2171 | { | 2180 | { |
| @@ -2297,12 +2306,10 @@ priorities. */); | |||
| 2297 | defsubr (&Sprint); | 2306 | defsubr (&Sprint); |
| 2298 | defsubr (&Sterpri); | 2307 | defsubr (&Sterpri); |
| 2299 | defsubr (&Swrite_char); | 2308 | defsubr (&Swrite_char); |
| 2300 | defsubr (&Sexternal_debugging_output); | ||
| 2301 | #ifdef WITH_REDIRECT_DEBUGGING_OUTPUT | 2309 | #ifdef WITH_REDIRECT_DEBUGGING_OUTPUT |
| 2302 | defsubr (&Sredirect_debugging_output); | 2310 | defsubr (&Sredirect_debugging_output); |
| 2303 | #endif | 2311 | #endif |
| 2304 | 2312 | ||
| 2305 | DEFSYM (Qexternal_debugging_output, "external-debugging-output"); | ||
| 2306 | DEFSYM (Qprint_escape_newlines, "print-escape-newlines"); | 2313 | DEFSYM (Qprint_escape_newlines, "print-escape-newlines"); |
| 2307 | DEFSYM (Qprint_escape_multibyte, "print-escape-multibyte"); | 2314 | DEFSYM (Qprint_escape_multibyte, "print-escape-multibyte"); |
| 2308 | DEFSYM (Qprint_escape_nonascii, "print-escape-nonascii"); | 2315 | DEFSYM (Qprint_escape_nonascii, "print-escape-nonascii"); |
diff --git a/src/window.c b/src/window.c index df7878f42e5..5dc908f0a4d 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -635,30 +635,37 @@ Return nil if WINDOW has no previous sibling. */) | |||
| 635 | 635 | ||
| 636 | DEFUN ("window-combination-limit", Fwindow_combination_limit, Swindow_combination_limit, 1, 1, 0, | 636 | DEFUN ("window-combination-limit", Fwindow_combination_limit, Swindow_combination_limit, 1, 1, 0, |
| 637 | doc: /* Return combination limit of window WINDOW. | 637 | doc: /* Return combination limit of window WINDOW. |
| 638 | WINDOW must be a valid window used in horizontal or vertical combination. | ||
| 638 | If the return value is nil, child windows of WINDOW can be recombined with | 639 | If the return value is nil, child windows of WINDOW can be recombined with |
| 639 | WINDOW's siblings. A return value of t means that child windows of | 640 | WINDOW's siblings. A return value of t means that child windows of |
| 640 | WINDOW are never \(re-)combined with WINDOW's siblings. | 641 | WINDOW are never \(re-)combined with WINDOW's siblings. */) |
| 641 | |||
| 642 | WINDOW must be a valid window. The return value is meaningful for | ||
| 643 | internal windows only. */) | ||
| 644 | (Lisp_Object window) | 642 | (Lisp_Object window) |
| 645 | { | 643 | { |
| 644 | struct window *w; | ||
| 645 | |||
| 646 | CHECK_VALID_WINDOW (window); | 646 | CHECK_VALID_WINDOW (window); |
| 647 | w = XWINDOW (window); | ||
| 648 | if (!NILP (w->buffer)) | ||
| 649 | error ("Combination limit is meaningful for internal windows only"); | ||
| 647 | return XWINDOW (window)->combination_limit; | 650 | return XWINDOW (window)->combination_limit; |
| 648 | } | 651 | } |
| 649 | 652 | ||
| 650 | DEFUN ("set-window-combination-limit", Fset_window_combination_limit, Sset_window_combination_limit, 2, 2, 0, | 653 | DEFUN ("set-window-combination-limit", Fset_window_combination_limit, Sset_window_combination_limit, 2, 2, 0, |
| 651 | doc: /* Set combination limit of window WINDOW to LIMIT; return LIMIT. | 654 | doc: /* Set combination limit of window WINDOW to LIMIT; return LIMIT. |
| 655 | WINDOW must be a valid window used in horizontal or vertical combination. | ||
| 652 | If LIMIT is nil, child windows of WINDOW can be recombined with WINDOW's | 656 | If LIMIT is nil, child windows of WINDOW can be recombined with WINDOW's |
| 653 | siblings. LIMIT t means that child windows of WINDOW are never | 657 | siblings. LIMIT t means that child windows of WINDOW are never |
| 654 | \(re-)combined with WINDOW's siblings. Other values are reserved for | 658 | \(re-)combined with WINDOW's siblings. Other values are reserved for |
| 655 | future use. | 659 | future use. */) |
| 656 | |||
| 657 | WINDOW must be a valid window. Setting the combination limit is | ||
| 658 | meaningful for internal windows only. */) | ||
| 659 | (Lisp_Object window, Lisp_Object limit) | 660 | (Lisp_Object window, Lisp_Object limit) |
| 660 | { | 661 | { |
| 661 | wset_combination_limit (decode_valid_window (window), limit); | 662 | struct window *w; |
| 663 | |||
| 664 | CHECK_VALID_WINDOW (window); | ||
| 665 | w = XWINDOW (window); | ||
| 666 | if (!NILP (w->buffer)) | ||
| 667 | error ("Combination limit is meaningful for internal windows only"); | ||
| 668 | wset_combination_limit (w, limit); | ||
| 662 | return limit; | 669 | return limit; |
| 663 | } | 670 | } |
| 664 | 671 | ||
| @@ -5711,10 +5718,9 @@ the return value is nil. Otherwise the value is t. */) | |||
| 5711 | } | 5718 | } |
| 5712 | } | 5719 | } |
| 5713 | 5720 | ||
| 5714 | /* If we squirreled away the buffer in the window's height, | 5721 | /* If we squirreled away the buffer, restore it now. */ |
| 5715 | restore it now. */ | 5722 | if (BUFFERP (w->combination_limit)) |
| 5716 | if (BUFFERP (w->total_lines)) | 5723 | wset_buffer (w, w->combination_limit); |
| 5717 | wset_buffer (w, w->total_lines); | ||
| 5718 | wset_left_col (w, p->left_col); | 5724 | wset_left_col (w, p->left_col); |
| 5719 | wset_top_line (w, p->top_line); | 5725 | wset_top_line (w, p->top_line); |
| 5720 | wset_total_cols (w, p->total_cols); | 5726 | wset_total_cols (w, p->total_cols); |
| @@ -5918,9 +5924,6 @@ delete_all_child_windows (Lisp_Object window) | |||
| 5918 | /* Delete WINDOW's siblings (we traverse postorderly). */ | 5924 | /* Delete WINDOW's siblings (we traverse postorderly). */ |
| 5919 | delete_all_child_windows (w->next); | 5925 | delete_all_child_windows (w->next); |
| 5920 | 5926 | ||
| 5921 | /* See Fset_window_configuration for excuse. */ | ||
| 5922 | wset_total_lines (w, w->buffer); | ||
| 5923 | |||
| 5924 | if (!NILP (w->vchild)) | 5927 | if (!NILP (w->vchild)) |
| 5925 | { | 5928 | { |
| 5926 | delete_all_child_windows (w->vchild); | 5929 | delete_all_child_windows (w->vchild); |
| @@ -5936,6 +5939,10 @@ delete_all_child_windows (Lisp_Object window) | |||
| 5936 | unshow_buffer (w); | 5939 | unshow_buffer (w); |
| 5937 | unchain_marker (XMARKER (w->pointm)); | 5940 | unchain_marker (XMARKER (w->pointm)); |
| 5938 | unchain_marker (XMARKER (w->start)); | 5941 | unchain_marker (XMARKER (w->start)); |
| 5942 | /* Since combination limit makes sense for an internal windows | ||
| 5943 | only, we use this slot to save the buffer for the sake of | ||
| 5944 | possible resurrection in Fset_window_configuration. */ | ||
| 5945 | wset_combination_limit (w, w->buffer); | ||
| 5939 | wset_buffer (w, Qnil); | 5946 | wset_buffer (w, Qnil); |
| 5940 | } | 5947 | } |
| 5941 | 5948 | ||
diff --git a/src/xfaces.c b/src/xfaces.c index 71709446c1d..28bccd392dc 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -112,7 +112,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 112 | merging faces of that character, that face is `realized'. The | 112 | merging faces of that character, that face is `realized'. The |
| 113 | realization process maps face attributes to what is physically | 113 | realization process maps face attributes to what is physically |
| 114 | available on the system where Emacs runs. The result is a | 114 | available on the system where Emacs runs. The result is a |
| 115 | `realized face' in form of a struct face which is stored in the | 115 | `realized face' in the form of a struct face which is stored in the |
| 116 | face cache of the frame on which it was realized. | 116 | face cache of the frame on which it was realized. |
| 117 | 117 | ||
| 118 | Face realization is done in the context of the character to display | 118 | Face realization is done in the context of the character to display |