diff options
| author | Karoly Lorentey | 2004-07-30 16:33:42 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2004-07-30 16:33:42 +0000 |
| commit | aa1e2e2282f2c0222676f3d984812e1b6ccee299 (patch) | |
| tree | 661d451b483236cc29eb5eee5cb64b66c884c0a8 | |
| parent | e1775c3e8209d76d22151282bc5343ed948b948c (diff) | |
| parent | ee945d083910ee9d0af23008806ba3cf2edcd5b4 (diff) | |
| download | emacs-aa1e2e2282f2c0222676f3d984812e1b6ccee299.tar.gz emacs-aa1e2e2282f2c0222676f3d984812e1b6ccee299.zip | |
Merged in changes from CVS trunk.
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-470
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-471
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-472
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-223
| -rw-r--r-- | etc/ChangeLog | 4 | ||||
| -rw-r--r-- | etc/NEWS | 7 | ||||
| -rw-r--r-- | lisp/ChangeLog | 19 | ||||
| -rw-r--r-- | lisp/custom.el | 7 | ||||
| -rw-r--r-- | lisp/font-lock.el | 5 | ||||
| -rw-r--r-- | lisp/progmodes/etags.el | 97 | ||||
| -rw-r--r-- | lisp/ps-print.el | 44 | ||||
| -rw-r--r-- | src/ChangeLog | 10 | ||||
| -rw-r--r-- | src/eval.c | 11 | ||||
| -rw-r--r-- | src/xdisp.c | 21 |
10 files changed, 146 insertions, 79 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog index aa1550122d5..5c86c060880 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2004-07-27 Werner Lemberg <wl@gnu.org> | ||
| 2 | |||
| 3 | * NEWS: Document all new tutorials. | ||
| 4 | |||
| 1 | 2004-07-14 Luc Teirlinck <teirllm@auburn.edu> | 5 | 2004-07-14 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 6 | ||
| 3 | * MORE.STUFF: Tramp is now distributed with Emacs. | 7 | * MORE.STUFF: Tramp is now distributed with Emacs. |
| @@ -22,7 +22,11 @@ the supported image types and their associated dynamic libraries by | |||
| 22 | setting the variable `image-library-alist'. | 22 | setting the variable `image-library-alist'. |
| 23 | 23 | ||
| 24 | --- | 24 | --- |
| 25 | ** A Bulgarian translation of the Emacs Tutorial is available. | 25 | ** New translations of the Emacs Tutorial are available in the following |
| 26 | languages: Brasilian, Bulgarian, Chinese (both with simplified and | ||
| 27 | traditional characters), French, and Italian. Type `C-u C-h t' to | ||
| 28 | choose one of them in case your language setup doesn't automatically | ||
| 29 | select the right one. | ||
| 26 | 30 | ||
| 27 | ** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk' | 31 | ** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk' |
| 28 | when you run configure. This requires Gtk+ 2.0 or newer. This port | 32 | when you run configure. This requires Gtk+ 2.0 or newer. This port |
| @@ -88,7 +92,6 @@ See the files mac/README and mac/INSTALL for build instructions. | |||
| 88 | ** A French translation of the `Emacs Survival Guide' is available. | 92 | ** A French translation of the `Emacs Survival Guide' is available. |
| 89 | 93 | ||
| 90 | --- | 94 | --- |
| 91 | ** A French translation of the Emacs Tutorial is available. | ||
| 92 | ** Building with -DENABLE_CHECKING does not automatically build with union | 95 | ** Building with -DENABLE_CHECKING does not automatically build with union |
| 93 | types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. | 96 | types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. |
| 94 | 97 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 57ee67c60b5..ea1392783f6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2004-07-28 Luc Teirlinck <teirllm@auburn.edu> | ||
| 2 | |||
| 3 | * custom.el (defcustom): Doc fix. | ||
| 4 | |||
| 5 | 2004-07-28 Masatake YAMATO <jet@gyve.org> | ||
| 6 | |||
| 7 | * progmodes/etags.el (etags-tags-apropos): Show building progress. | ||
| 8 | |||
| 1 | 2004-07-26 Stefan Monnier <monnier@iro.umontreal.ca> | 9 | 2004-07-26 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 10 | ||
| 3 | * imenu.el (imenu-prev-index-position-function) | 11 | * imenu.el (imenu-prev-index-position-function) |
| @@ -42,12 +50,17 @@ | |||
| 42 | 50 | ||
| 43 | 2004-07-22 Vinicius Jose Latorre <viniciusjl@ig.com.br> | 51 | 2004-07-22 Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 44 | 52 | ||
| 45 | * ps-print.el: Doc fix. Improve the DSC compliance of the generated | 53 | * ps-print.el: Doc fix. |
| 46 | PostScript. Suggested by Michael Piotrowski <mxp@dynalabs.de>. | ||
| 47 | (ps-print-version): New version 6.6.5. | 54 | (ps-print-version): New version 6.6.5. |
| 48 | (ps-printing-region): Doc fix. | 55 | (ps-printing-region): Doc fix. |
| 49 | (ps-generate-string-list): Comment fix. | 56 | (ps-generate-string-list): Comment fix. |
| 50 | (ps-message-log-max, ps-begin-file): Code fix. | 57 | (ps-message-log-max): Code fix. |
| 58 | |||
| 59 | |||
| 60 | 2004-07-22 Michael Piotrowski <mxp@dynalabs.de> (tiny change) | ||
| 61 | |||
| 62 | * ps-print.el (ps-begin-file): Improve the DSC compliance of the | ||
| 63 | generated PostScript. | ||
| 51 | 64 | ||
| 52 | 2004-07-22 Kim F. Storm <storm@cua.dk> | 65 | 2004-07-22 Kim F. Storm <storm@cua.dk> |
| 53 | 66 | ||
diff --git a/lisp/custom.el b/lisp/custom.el index e86308c95e7..2ddd7ceb943 100644 --- a/lisp/custom.el +++ b/lisp/custom.el | |||
| @@ -246,6 +246,13 @@ The following keywords are meaningful: | |||
| 246 | Specifies that SYMBOL should be set after the list of variables | 246 | Specifies that SYMBOL should be set after the list of variables |
| 247 | VARIABLES when both have been customized. | 247 | VARIABLES when both have been customized. |
| 248 | 248 | ||
| 249 | If SYMBOL has a local binding, then this form affects the local | ||
| 250 | binding. This is normally not what you want. Thus, if you need | ||
| 251 | to load a file defining variables with this form, or with | ||
| 252 | `defvar' or `defconst', you should always load that file | ||
| 253 | _outside_ any bindings for these variables. \(`defvar' and | ||
| 254 | `defconst' behave similarly in this respect.) | ||
| 255 | |||
| 249 | Read the section about customization in the Emacs Lisp manual for more | 256 | Read the section about customization in the Emacs Lisp manual for more |
| 250 | information." | 257 | information." |
| 251 | ;; It is better not to use backquote in this file, | 258 | ;; It is better not to use backquote in this file, |
diff --git a/lisp/font-lock.el b/lisp/font-lock.el index 3592a6ac779..d275e48e482 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el | |||
| @@ -358,8 +358,9 @@ Each element in a user-level keywords list should have one of these forms: | |||
| 358 | (eval . FORM) | 358 | (eval . FORM) |
| 359 | 359 | ||
| 360 | where MATCHER can be either the regexp to search for, or the function name to | 360 | where MATCHER can be either the regexp to search for, or the function name to |
| 361 | call to make the search (called with one argument, the limit of the search) and | 361 | call to make the search (called with one argument, the limit of the search; |
| 362 | return non-nil if it succeeds (and set `match-data' appropriately). | 362 | it should return non-nil, move point, and set `match-data' appropriately iff |
| 363 | it succeeds; like `re-search-forward' would). | ||
| 363 | MATCHER regexps can be generated via the function `regexp-opt'. | 364 | MATCHER regexps can be generated via the function `regexp-opt'. |
| 364 | 365 | ||
| 365 | FORM is an expression, whose value should be a keyword element, evaluated when | 366 | FORM is an expression, whose value should be a keyword element, evaluated when |
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index 184077f6a3a..4464df3a916 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el | |||
| @@ -1453,53 +1453,58 @@ where they were found." | |||
| 1453 | (tags-with-face 'highlight (princ buffer-file-name)) | 1453 | (tags-with-face 'highlight (princ buffer-file-name)) |
| 1454 | (princ "':\n\n")) | 1454 | (princ "':\n\n")) |
| 1455 | (goto-char (point-min)) | 1455 | (goto-char (point-min)) |
| 1456 | (while (re-search-forward string nil t) | 1456 | (let ((point-max (/ (float (point-max)) 100.0))) |
| 1457 | (beginning-of-line) | 1457 | (while (re-search-forward string nil t) |
| 1458 | (message "Making tags apropos buffer for `%s'...%d%%" | ||
| 1459 | string | ||
| 1460 | (/ (point) point-max)) | ||
| 1461 | (beginning-of-line) | ||
| 1458 | 1462 | ||
| 1459 | (let* (;; Get the local value in the tags table | 1463 | (let* ( ;; Get the local value in the tags table |
| 1460 | ;; buffer before switching buffers. | 1464 | ;; buffer before switching buffers. |
| 1461 | (goto-func goto-tag-location-function) | 1465 | (goto-func goto-tag-location-function) |
| 1462 | (tag-info (save-excursion (funcall snarf-tag-function))) | 1466 | (tag-info (save-excursion (funcall snarf-tag-function))) |
| 1463 | (tag (if (eq t (car tag-info)) nil (car tag-info))) | 1467 | (tag (if (eq t (car tag-info)) nil (car tag-info))) |
| 1464 | (file-path (save-excursion (if tag (file-of-tag) | 1468 | (file-path (save-excursion (if tag (file-of-tag) |
| 1465 | (save-excursion (next-line 1) | 1469 | (save-excursion (next-line 1) |
| 1466 | (file-of-tag))))) | 1470 | (file-of-tag))))) |
| 1467 | (file-label (if tag (file-of-tag t) | 1471 | (file-label (if tag (file-of-tag t) |
| 1468 | (save-excursion (next-line 1) | 1472 | (save-excursion (next-line 1) |
| 1469 | (file-of-tag t)))) | 1473 | (file-of-tag t)))) |
| 1470 | (pt (with-current-buffer standard-output (point)))) | 1474 | (pt (with-current-buffer standard-output (point)))) |
| 1471 | (if tag | 1475 | (if tag |
| 1472 | (progn | 1476 | (progn |
| 1473 | (princ (format "[%s]: " file-label)) | 1477 | (princ (format "[%s]: " file-label)) |
| 1474 | (princ tag) | 1478 | (princ tag) |
| 1475 | (when (= (aref tag 0) ?\() (princ " ...)")) | 1479 | (when (= (aref tag 0) ?\() (princ " ...)")) |
| 1476 | (with-current-buffer standard-output | 1480 | (with-current-buffer standard-output |
| 1477 | (make-text-button pt (point) | 1481 | (make-text-button pt (point) |
| 1478 | 'tag-info tag-info | 1482 | 'tag-info tag-info |
| 1479 | 'file-path file-path | 1483 | 'file-path file-path |
| 1480 | 'goto-func goto-func | 1484 | 'goto-func goto-func |
| 1481 | 'action (lambda (button) | 1485 | 'action (lambda (button) |
| 1482 | (let ((tag-info (button-get button 'tag-info)) | 1486 | (let ((tag-info (button-get button 'tag-info)) |
| 1483 | (goto-func (button-get button 'goto-func))) | 1487 | (goto-func (button-get button 'goto-func))) |
| 1484 | (tag-find-file-of-tag (button-get button 'file-path)) | 1488 | (tag-find-file-of-tag (button-get button 'file-path)) |
| 1485 | (widen) | 1489 | (widen) |
| 1486 | (funcall goto-func tag-info))) | 1490 | (funcall goto-func tag-info))) |
| 1487 | 'face 'tags-tag-face | 1491 | 'face 'tags-tag-face |
| 1488 | 'type 'button))) | 1492 | 'type 'button))) |
| 1489 | (princ (format "- %s" file-label)) | 1493 | (princ (format "- %s" file-label)) |
| 1490 | (with-current-buffer standard-output | 1494 | (with-current-buffer standard-output |
| 1491 | (make-text-button pt (point) | 1495 | (make-text-button pt (point) |
| 1492 | 'file-path file-path | 1496 | 'file-path file-path |
| 1493 | 'action (lambda (button) | 1497 | 'action (lambda (button) |
| 1494 | (tag-find-file-of-tag (button-get button 'file-path)) | 1498 | (tag-find-file-of-tag (button-get button 'file-path)) |
| 1495 | ;; Get the local value in the tags table | 1499 | ;; Get the local value in the tags table |
| 1496 | ;; buffer before switching buffers. | 1500 | ;; buffer before switching buffers. |
| 1497 | (goto-char (point-min))) | 1501 | (goto-char (point-min))) |
| 1498 | 'face 'tags-tag-face | 1502 | 'face 'tags-tag-face |
| 1499 | 'type 'button)) | 1503 | 'type 'button)) |
| 1500 | )) | 1504 | )) |
| 1501 | (terpri) | 1505 | (terpri) |
| 1502 | (forward-line 1)) | 1506 | (forward-line 1)) |
| 1507 | (message nil)) | ||
| 1503 | (when tags-apropos-verbose (princ "\n"))) | 1508 | (when tags-apropos-verbose (princ "\n"))) |
| 1504 | 1509 | ||
| 1505 | (defun etags-tags-table-files () | 1510 | (defun etags-tags-table-files () |
diff --git a/lisp/ps-print.el b/lisp/ps-print.el index 9dca7986e7c..78a558baebe 100644 --- a/lisp/ps-print.el +++ b/lisp/ps-print.el | |||
| @@ -5576,17 +5576,15 @@ XSTART YSTART are the relative position for the first page in a sheet.") | |||
| 5576 | (setq ps-background-all-pages (nreverse ps-background-all-pages) | 5576 | (setq ps-background-all-pages (nreverse ps-background-all-pages) |
| 5577 | ps-background-pages (nreverse ps-background-pages)) | 5577 | ps-background-pages (nreverse ps-background-pages)) |
| 5578 | 5578 | ||
| 5579 | (ps-output "\n" ps-print-prologue-1) | 5579 | (ps-output "\n" ps-print-prologue-1 |
| 5580 | 5580 | "\n/printGlobalBackground{\n") | |
| 5581 | (ps-output "\n/printGlobalBackground{\n") | ||
| 5582 | (mapcar 'ps-output ps-background-all-pages) | 5581 | (mapcar 'ps-output ps-background-all-pages) |
| 5583 | (ps-output "}def\n/printLocalBackground{\n}def\n") | ||
| 5584 | |||
| 5585 | (ps-output "\n%%EndProlog\n\n%%BeginSetup\n") | ||
| 5586 | |||
| 5587 | (ps-output | 5582 | (ps-output |
| 5583 | "}def\n/printLocalBackground{\n}def\n" | ||
| 5584 | "\n%%EndProlog\n\n%%BeginSetup\n" | ||
| 5588 | "\n%%IncludeResource: font Times-Roman" | 5585 | "\n%%IncludeResource: font Times-Roman" |
| 5589 | "\n%%IncludeResource: font Times-Italic\n%%IncludeResource: font " | 5586 | "\n%%IncludeResource: font Times-Italic" |
| 5587 | "\n%%IncludeResource: font " | ||
| 5590 | (mapconcat 'identity | 5588 | (mapconcat 'identity |
| 5591 | (ps-remove-duplicates | 5589 | (ps-remove-duplicates |
| 5592 | (append (ps-fonts 'ps-font-for-text) | 5590 | (append (ps-fonts 'ps-font-for-text) |
| @@ -5595,22 +5593,20 @@ XSTART YSTART are the relative position for the first page in a sheet.") | |||
| 5595 | (ps-font 'ps-font-for-footer 'normal) | 5593 | (ps-font 'ps-font-for-footer 'normal) |
| 5596 | (ps-font 'ps-font-for-footer 'bold)))) | 5594 | (ps-font 'ps-font-for-footer 'bold)))) |
| 5597 | "\n%%IncludeResource: font ") | 5595 | "\n%%IncludeResource: font ") |
| 5598 | "\n") | 5596 | ;; Header/line number fonts |
| 5599 | 5597 | (format "\n/h0 %s(%s)cvn DefFont\n" ; /h0 14/Helvetica-Bold DefFont | |
| 5600 | ;; Header/line number fonts | 5598 | ps-header-title-font-size-internal |
| 5601 | (ps-output (format "/h0 %s(%s)cvn DefFont\n" ; /h0 14/Helvetica-Bold DefFont | 5599 | (ps-font 'ps-font-for-header 'bold)) |
| 5602 | ps-header-title-font-size-internal | 5600 | (format "/h1 %s(%s)cvn DefFont\n" ; /h1 12/Helvetica DefFont |
| 5603 | (ps-font 'ps-font-for-header 'bold)) | 5601 | ps-header-font-size-internal |
| 5604 | (format "/h1 %s(%s)cvn DefFont\n" ; /h1 12/Helvetica DefFont | 5602 | (ps-font 'ps-font-for-header 'normal)) |
| 5605 | ps-header-font-size-internal | 5603 | (format "/L0 %s(%s)cvn DefFont\n" ; /L0 6/Times-Italic DefFont |
| 5606 | (ps-font 'ps-font-for-header 'normal)) | 5604 | (ps-get-font-size 'ps-line-number-font-size) |
| 5607 | (format "/L0 %s(%s)cvn DefFont\n" ; /L0 6/Times-Italic DefFont | 5605 | ps-line-number-font) |
| 5608 | (ps-get-font-size 'ps-line-number-font-size) | 5606 | (format "/H0 %s(%s)cvn DefFont\n" ; /H0 12/Helvetica DefFont |
| 5609 | ps-line-number-font) | 5607 | ps-footer-font-size-internal |
| 5610 | (format "/H0 %s(%s)cvn DefFont\n" ; /H0 12/Helvetica DefFont | 5608 | (ps-font 'ps-font-for-footer 'normal)) |
| 5611 | ps-footer-font-size-internal | 5609 | "\n\n% ---- These lines must be kept together because... |
| 5612 | (ps-font 'ps-font-for-footer 'normal)) | ||
| 5613 | "\n\n% ---- These lines must be kept together because... | ||
| 5614 | 5610 | ||
| 5615 | /h0 F | 5611 | /h0 F |
| 5616 | /HeaderTitleLineHeight FontHeight def | 5612 | /HeaderTitleLineHeight FontHeight def |
diff --git a/src/ChangeLog b/src/ChangeLog index 3e6094bbca0..282d422beb1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2004-07-28 Luc Teirlinck <teirllm@auburn.edu> | ||
| 2 | |||
| 3 | * eval.c (Fdefvar, Fdefconst): Doc fixes. | ||
| 4 | |||
| 5 | 2004-07-27 Kim F. Storm <storm@cua.dk> | ||
| 6 | |||
| 7 | * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after | ||
| 8 | we have ensured that the glyph fits on the current line (or returned | ||
| 9 | MOVE_LINE_CONTINUED otherwise). | ||
| 10 | |||
| 1 | 2004-07-26 Kim F. Storm <storm@cua.dk> | 11 | 2004-07-26 Kim F. Storm <storm@cua.dk> |
| 2 | 12 | ||
| 3 | * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe | 13 | * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe |
diff --git a/src/eval.c b/src/eval.c index f28105ac987..ee74215b2ee 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -742,6 +742,13 @@ If DOCSTRING starts with *, this variable is identified as a user option. | |||
| 742 | This means that M-x set-variable recognizes it. | 742 | This means that M-x set-variable recognizes it. |
| 743 | See also `user-variable-p'. | 743 | See also `user-variable-p'. |
| 744 | If INITVALUE is missing, SYMBOL's value is not set. | 744 | If INITVALUE is missing, SYMBOL's value is not set. |
| 745 | |||
| 746 | If SYMBOL has a local binding, then this form affects the local | ||
| 747 | binding. This is usually not what you want. Thus, if you need to | ||
| 748 | load a file defining variables, with this form or with `defconst' or | ||
| 749 | `defcustom', you should always load that file _outside_ any bindings | ||
| 750 | for these variables. \(`defconst' and `defcustom' behave similarly in | ||
| 751 | this respect.) | ||
| 745 | usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */) | 752 | usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */) |
| 746 | (args) | 753 | (args) |
| 747 | Lisp_Object args; | 754 | Lisp_Object args; |
| @@ -784,6 +791,10 @@ Always sets the value of SYMBOL to the result of evalling INITVALUE. | |||
| 784 | If SYMBOL is buffer-local, its default value is what is set; | 791 | If SYMBOL is buffer-local, its default value is what is set; |
| 785 | buffer-local values are not affected. | 792 | buffer-local values are not affected. |
| 786 | DOCSTRING is optional. | 793 | DOCSTRING is optional. |
| 794 | |||
| 795 | If SYMBOL has a local binding, then this form sets the local binding's | ||
| 796 | value. However, you should normally not make local bindings for | ||
| 797 | variables defined with this form. | ||
| 787 | usage: (defconst SYMBOL INITVALUE [DOCSTRING]) */) | 798 | usage: (defconst SYMBOL INITVALUE [DOCSTRING]) */) |
| 788 | (args) | 799 | (args) |
| 789 | Lisp_Object args; | 800 | Lisp_Object args; |
diff --git a/src/xdisp.c b/src/xdisp.c index 818e2c1a48a..70854b7d269 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -5645,9 +5645,13 @@ move_it_in_display_line_to (it, to_charpos, to_x, op) | |||
| 5645 | { | 5645 | { |
| 5646 | int x, i, ascent = 0, descent = 0; | 5646 | int x, i, ascent = 0, descent = 0; |
| 5647 | 5647 | ||
| 5648 | /* Stop when ZV or TO_CHARPOS reached. */ | 5648 | /* Stop when ZV reached. |
| 5649 | We used to stop here when TO_CHARPOS reached as well, but that is | ||
| 5650 | too soon if this glyph does not fit on this line. So we handle it | ||
| 5651 | explicitly below. */ | ||
| 5649 | if (!get_next_display_element (it) | 5652 | if (!get_next_display_element (it) |
| 5650 | || BUFFER_POS_REACHED_P ()) | 5653 | || (it->truncate_lines_p |
| 5654 | && BUFFER_POS_REACHED_P ())) | ||
| 5651 | { | 5655 | { |
| 5652 | result = MOVE_POS_MATCH_OR_ZV; | 5656 | result = MOVE_POS_MATCH_OR_ZV; |
| 5653 | break; | 5657 | break; |
| @@ -5707,6 +5711,8 @@ move_it_in_display_line_to (it, to_charpos, to_x, op) | |||
| 5707 | /* We want to leave anything reaching TO_X to the caller. */ | 5711 | /* We want to leave anything reaching TO_X to the caller. */ |
| 5708 | if ((op & MOVE_TO_X) && new_x > to_x) | 5712 | if ((op & MOVE_TO_X) && new_x > to_x) |
| 5709 | { | 5713 | { |
| 5714 | if (BUFFER_POS_REACHED_P ()) | ||
| 5715 | goto buffer_pos_reached; | ||
| 5710 | it->current_x = x; | 5716 | it->current_x = x; |
| 5711 | result = MOVE_X_REACHED; | 5717 | result = MOVE_X_REACHED; |
| 5712 | break; | 5718 | break; |
| @@ -5768,6 +5774,8 @@ move_it_in_display_line_to (it, to_charpos, to_x, op) | |||
| 5768 | result = MOVE_LINE_CONTINUED; | 5774 | result = MOVE_LINE_CONTINUED; |
| 5769 | break; | 5775 | break; |
| 5770 | } | 5776 | } |
| 5777 | else if (BUFFER_POS_REACHED_P ()) | ||
| 5778 | goto buffer_pos_reached; | ||
| 5771 | else if (new_x > it->first_visible_x) | 5779 | else if (new_x > it->first_visible_x) |
| 5772 | { | 5780 | { |
| 5773 | /* Glyph is visible. Increment number of glyphs that | 5781 | /* Glyph is visible. Increment number of glyphs that |
| @@ -5784,6 +5792,15 @@ move_it_in_display_line_to (it, to_charpos, to_x, op) | |||
| 5784 | if (result != MOVE_UNDEFINED) | 5792 | if (result != MOVE_UNDEFINED) |
| 5785 | break; | 5793 | break; |
| 5786 | } | 5794 | } |
| 5795 | else if (BUFFER_POS_REACHED_P ()) | ||
| 5796 | { | ||
| 5797 | buffer_pos_reached: | ||
| 5798 | it->current_x = x; | ||
| 5799 | it->max_ascent = ascent; | ||
| 5800 | it->max_descent = descent; | ||
| 5801 | result = MOVE_POS_MATCH_OR_ZV; | ||
| 5802 | break; | ||
| 5803 | } | ||
| 5787 | else if ((op & MOVE_TO_X) && it->current_x >= to_x) | 5804 | else if ((op & MOVE_TO_X) && it->current_x >= to_x) |
| 5788 | { | 5805 | { |
| 5789 | /* Stop when TO_X specified and reached. This check is | 5806 | /* Stop when TO_X specified and reached. This check is |