diff options
| author | Chong Yidong | 2012-09-21 11:03:48 +0800 |
|---|---|---|
| committer | Chong Yidong | 2012-09-21 11:03:48 +0800 |
| commit | acfa068f4a1a4652b784af1d7aaac92929399249 (patch) | |
| tree | 4d5aef916164ae9862e4c94f50a5e53bbe274e53 | |
| parent | eb2deaffd17e760b3ec945c58d43080e8a44767a (diff) | |
| parent | d3fa327c47570a1767324d23d710504e90b083f9 (diff) | |
| download | emacs-acfa068f4a1a4652b784af1d7aaac92929399249.tar.gz emacs-acfa068f4a1a4652b784af1d7aaac92929399249.zip | |
Merge from emacs-24; up to 2012-05-07T14:57:18Z!michael.albinus@gmx.de
| -rw-r--r-- | doc/lispref/ChangeLog | 4 | ||||
| -rw-r--r-- | doc/lispref/debugging.texi | 2 | ||||
| -rw-r--r-- | lisp/ChangeLog | 28 | ||||
| -rw-r--r-- | lisp/emacs-lisp/shadow.el | 8 | ||||
| -rw-r--r-- | lisp/ido.el | 23 | ||||
| -rw-r--r-- | lisp/mail/emacsbug.el | 11 | ||||
| -rw-r--r-- | lisp/pcmpl-gnu.el | 3 | ||||
| -rw-r--r-- | lisp/progmodes/idlw-shell.el | 2 | ||||
| -rw-r--r-- | lisp/subr.el | 4 | ||||
| -rw-r--r-- | src/ChangeLog | 27 | ||||
| -rw-r--r-- | src/eval.c | 7 | ||||
| -rw-r--r-- | src/fileio.c | 7 | ||||
| -rw-r--r-- | src/unexmacosx.c | 21 | ||||
| -rw-r--r-- | src/xdisp.c | 43 |
14 files changed, 151 insertions, 39 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 329c194f45a..6e4ffff3df6 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2012-09-12 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * debugging.texi (Using Debugger): Fix typo. | ||
| 4 | |||
| 1 | 2012-09-18 Chong Yidong <cyd@gnu.org> | 5 | 2012-09-18 Chong Yidong <cyd@gnu.org> |
| 2 | 6 | ||
| 3 | * display.texi (Faces): Discuss anonymous faces. | 7 | * display.texi (Faces): Discuss anonymous faces. |
diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi index 5aeff576d09..2226db942d1 100644 --- a/doc/lispref/debugging.texi +++ b/doc/lispref/debugging.texi | |||
| @@ -331,7 +331,7 @@ variable is temporarily set according to | |||
| 331 | non-@code{nil}, @code{debug-on-error} will temporarily be set to | 331 | non-@code{nil}, @code{debug-on-error} will temporarily be set to |
| 332 | @code{t}. This means that any further errors that occur while doing a | 332 | @code{t}. This means that any further errors that occur while doing a |
| 333 | debugging session will (by default) trigger another backtrace. If | 333 | debugging session will (by default) trigger another backtrace. If |
| 334 | this is not want you want, you can either set | 334 | this is not what you want, you can either set |
| 335 | @code{eval-expression-debug-on-error} to @code{nil}, or set | 335 | @code{eval-expression-debug-on-error} to @code{nil}, or set |
| 336 | @code{debug-on-error} to @code{nil} in @code{debugger-mode-hook}. | 336 | @code{debug-on-error} to @code{nil} in @code{debugger-mode-hook}. |
| 337 | 337 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f7f4193e777..e6fa549e867 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,31 @@ | |||
| 1 | 2012-09-21 Leo Liu <sdl.web@gmail.com> | ||
| 2 | |||
| 3 | IDO: Disable match re-ordering for buffer switching. | ||
| 4 | * ido.el (ido-buffer-disable-smart-matches): New variable. | ||
| 5 | (ido-set-matches-1): Use it. (Bug#2042) | ||
| 6 | |||
| 7 | 2012-09-21 Jose Marino <marinoj@nso.edu> (tiny change) | ||
| 8 | |||
| 9 | * progmodes/idlw-shell.el (idlwave-shell-complete-filename): | ||
| 10 | Fix 2011-05-17 change. (Bug#12418) | ||
| 11 | |||
| 12 | 2012-09-21 Leo Liu <sdl.web@gmail.com> | ||
| 13 | |||
| 14 | * subr.el (ignore-errors): Mention with-demoted-errors in doc-string. | ||
| 15 | |||
| 16 | 2012-09-21 Glenn Morris <rgm@gnu.org> | ||
| 17 | |||
| 18 | * emacs-lisp/shadow.el (load-path-shadows-font-lock-keywords): | ||
| 19 | Be more robust about locating simple.el. | ||
| 20 | |||
| 21 | 2012-09-21 Glenn Morris <rgm@gnu.org> | ||
| 22 | |||
| 23 | * mail/emacsbug.el (report-emacs-bug): Trap load-path-shadows errors. | ||
| 24 | |||
| 25 | 2012-09-21 Joel Bion <jpbion@westvi.com> (tiny change) | ||
| 26 | |||
| 27 | * pcmpl-gnu.el (pcmpl-gnu-tarfile-regexp): Add tar.xz. (Bug#12382) | ||
| 28 | |||
| 1 | 2012-09-20 Juri Linkov <juri@jurta.org> | 29 | 2012-09-20 Juri Linkov <juri@jurta.org> |
| 2 | 30 | ||
| 3 | * replace.el (query-replace-read-from): Use `read-regexp' instead | 31 | * replace.el (query-replace-read-from): Use `read-regexp' instead |
diff --git a/lisp/emacs-lisp/shadow.el b/lisp/emacs-lisp/shadow.el index 286c4937b5b..bceec296ad8 100644 --- a/lisp/emacs-lisp/shadow.el +++ b/lisp/emacs-lisp/shadow.el | |||
| @@ -158,8 +158,14 @@ See the documentation for `list-load-path-shadows' for further information." | |||
| 158 | (eq 0 (call-process "cmp" nil nil nil "-s" f1 f2)))))))) | 158 | (eq 0 (call-process "cmp" nil nil nil "-s" f1 f2)))))))) |
| 159 | 159 | ||
| 160 | (defvar load-path-shadows-font-lock-keywords | 160 | (defvar load-path-shadows-font-lock-keywords |
| 161 | ;; The idea is that shadows of files supplied with Emacs are more | ||
| 162 | ;; serious than various versions of external packages shadowing each | ||
| 163 | ;; other. | ||
| 161 | `((,(format "hides \\(%s.*\\)" | 164 | `((,(format "hides \\(%s.*\\)" |
| 162 | (file-name-directory (locate-library "simple.el"))) | 165 | (file-name-directory |
| 166 | (or (locate-library "simple") | ||
| 167 | (file-name-as-directory | ||
| 168 | (expand-file-name "../lisp" data-directory))))) | ||
| 163 | . (1 font-lock-warning-face))) | 169 | . (1 font-lock-warning-face))) |
| 164 | "Keywords to highlight in `load-path-shadows-mode'.") | 170 | "Keywords to highlight in `load-path-shadows-mode'.") |
| 165 | 171 | ||
diff --git a/lisp/ido.el b/lisp/ido.el index 2100def1992..d48e7ba858b 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -493,6 +493,18 @@ as first char even if `ido-enable-prefix' is nil." | |||
| 493 | :type 'boolean | 493 | :type 'boolean |
| 494 | :group 'ido) | 494 | :group 'ido) |
| 495 | 495 | ||
| 496 | ;; See http://debbugs.gnu.org/2042 for more info. | ||
| 497 | (defcustom ido-buffer-disable-smart-matches t | ||
| 498 | "Non-nil means not to re-order matches for buffer switching. | ||
| 499 | By default, ido aranges matches in the following order: | ||
| 500 | |||
| 501 | full-matches > suffix matches > prefix matches > remaining matches | ||
| 502 | |||
| 503 | which can get in the way for buffer switching." | ||
| 504 | :version "24.3" | ||
| 505 | :type 'boolean | ||
| 506 | :group 'ido) | ||
| 507 | |||
| 496 | (defcustom ido-confirm-unique-completion nil | 508 | (defcustom ido-confirm-unique-completion nil |
| 497 | "Non-nil means that even a unique completion must be confirmed. | 509 | "Non-nil means that even a unique completion must be confirmed. |
| 498 | This means that \\[ido-complete] must always be followed by \\[ido-exit-minibuffer] | 510 | This means that \\[ido-complete] must always be followed by \\[ido-exit-minibuffer] |
| @@ -3688,10 +3700,17 @@ This is to make them appear as if they were \"virtual buffers\"." | |||
| 3688 | (rex0 (if ido-enable-regexp text (regexp-quote text))) | 3700 | (rex0 (if ido-enable-regexp text (regexp-quote text))) |
| 3689 | (rexq (concat rex0 (if slash ".*/" ""))) | 3701 | (rexq (concat rex0 (if slash ".*/" ""))) |
| 3690 | (re (if ido-enable-prefix (concat "\\`" rexq) rexq)) | 3702 | (re (if ido-enable-prefix (concat "\\`" rexq) rexq)) |
| 3691 | (full-re (and do-full (not ido-enable-regexp) (not (string-match "\$\\'" rex0)) | 3703 | (full-re (and do-full |
| 3704 | (and (eq ido-cur-item 'buffer) | ||
| 3705 | (not ido-buffer-disable-smart-matches)) | ||
| 3706 | (not ido-enable-regexp) | ||
| 3707 | (not (string-match "\$\\'" rex0)) | ||
| 3692 | (concat "\\`" rex0 (if slash "/" "") "\\'"))) | 3708 | (concat "\\`" rex0 (if slash "/" "") "\\'"))) |
| 3693 | (suffix-re (and do-full slash | 3709 | (suffix-re (and do-full slash |
| 3694 | (not ido-enable-regexp) (not (string-match "\$\\'" rex0)) | 3710 | (and (eq ido-cur-item 'buffer) |
| 3711 | (not ido-buffer-disable-smart-matches)) | ||
| 3712 | (not ido-enable-regexp) | ||
| 3713 | (not (string-match "\$\\'" rex0)) | ||
| 3695 | (concat rex0 "/\\'"))) | 3714 | (concat rex0 "/\\'"))) |
| 3696 | (prefix-re (and full-re (not ido-enable-prefix) | 3715 | (prefix-re (and full-re (not ido-enable-prefix) |
| 3697 | (concat "\\`" rexq))) | 3716 | (concat "\\`" rexq))) |
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index 6ee3c7898c5..ca9bc6b8676 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el | |||
| @@ -308,9 +308,14 @@ usually do not have translators for other languages.\n\n"))) | |||
| 308 | (insert "\n")) | 308 | (insert "\n")) |
| 309 | (insert "\n") | 309 | (insert "\n") |
| 310 | (insert "Load-path shadows:\n") | 310 | (insert "Load-path shadows:\n") |
| 311 | (message "Checking for load-path shadows...") | 311 | (let* ((msg "Checking for load-path shadows...") |
| 312 | (let ((shadows (list-load-path-shadows t))) | 312 | (result "done") |
| 313 | (message "Checking for load-path shadows...done") | 313 | (shadows (progn (message "%s" msg) |
| 314 | (condition-case nil (list-load-path-shadows t) | ||
| 315 | (error | ||
| 316 | (setq result "error") | ||
| 317 | "Error during checking"))))) | ||
| 318 | (message "%s%s" msg result) | ||
| 314 | (insert (if (zerop (length shadows)) | 319 | (insert (if (zerop (length shadows)) |
| 315 | "None found.\n" | 320 | "None found.\n" |
| 316 | shadows))) | 321 | shadows))) |
diff --git a/lisp/pcmpl-gnu.el b/lisp/pcmpl-gnu.el index da72c81c44a..be389e9c25a 100644 --- a/lisp/pcmpl-gnu.el +++ b/lisp/pcmpl-gnu.el | |||
| @@ -128,8 +128,9 @@ | |||
| 128 | (pcomplete-uniqify-list rules)))) | 128 | (pcomplete-uniqify-list rules)))) |
| 129 | 129 | ||
| 130 | (defcustom pcmpl-gnu-tarfile-regexp | 130 | (defcustom pcmpl-gnu-tarfile-regexp |
| 131 | "\\.t\\(ar\\(\\.\\(gz\\|bz2\\|Z\\)\\)?\\|gz\\|a[zZ]\\|z2\\)\\'" | 131 | "\\.t\\(ar\\(\\.\\(gz\\|bz2\\|Z\\|xz\\)\\)?\\|gz\\|a[zZ]\\|z2\\)\\'" |
| 132 | "A regexp which matches any tar archive." | 132 | "A regexp which matches any tar archive." |
| 133 | :version "24.3" ; added xz | ||
| 133 | :type 'regexp | 134 | :type 'regexp |
| 134 | :group 'pcmpl-gnu) | 135 | :group 'pcmpl-gnu) |
| 135 | 136 | ||
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el index 08d1461c008..0abd4daf61b 100644 --- a/lisp/progmodes/idlw-shell.el +++ b/lisp/progmodes/idlw-shell.el | |||
| @@ -2170,7 +2170,7 @@ args of an executive .run, .rnew or .compile." | |||
| 2170 | ;; CWD might have changed, resync, to set default directory | 2170 | ;; CWD might have changed, resync, to set default directory |
| 2171 | (idlwave-shell-resync-dirs) | 2171 | (idlwave-shell-resync-dirs) |
| 2172 | (let ((comint-file-name-chars idlwave-shell-file-name-chars)) | 2172 | (let ((comint-file-name-chars idlwave-shell-file-name-chars)) |
| 2173 | (comint-filename-completion))) | 2173 | (comint-dynamic-complete-filename))) |
| 2174 | 2174 | ||
| 2175 | (defun idlwave-shell-executive-command () | 2175 | (defun idlwave-shell-executive-command () |
| 2176 | "Return the name of the current executive command, if any." | 2176 | "Return the name of the current executive command, if any." |
diff --git a/lisp/subr.el b/lisp/subr.el index e9b85ff1f38..13516419b6f 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -280,7 +280,9 @@ Treated as a declaration when used at the right place in a | |||
| 280 | 280 | ||
| 281 | (defmacro ignore-errors (&rest body) | 281 | (defmacro ignore-errors (&rest body) |
| 282 | "Execute BODY; if an error occurs, return nil. | 282 | "Execute BODY; if an error occurs, return nil. |
| 283 | Otherwise, return result of last form in BODY." | 283 | Otherwise, return result of last form in BODY. |
| 284 | See also `with-demoted-errors' that does something similar | ||
| 285 | without silencing all errors." | ||
| 284 | (declare (debug t) (indent 0)) | 286 | (declare (debug t) (indent 0)) |
| 285 | `(condition-case nil (progn ,@body) (error nil))) | 287 | `(condition-case nil (progn ,@body) (error nil))) |
| 286 | 288 | ||
diff --git a/src/ChangeLog b/src/ChangeLog index c3ce1ee1b0b..f3b8b2108e1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,30 @@ | |||
| 1 | 2012-09-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * unexmacosx.c: Define LC_DATA_IN_CODE if not defined. | ||
| 4 | (print_load_command_name): Add case LC_DATA_IN_CODE. | ||
| 5 | (dump_it) [LC_DATA_IN_CODE]: Call copy_linkedit_data. | ||
| 6 | |||
| 7 | 2012-09-21 Glenn Morris <rgm@gnu.org> | ||
| 8 | |||
| 9 | * eval.c (Frun_hook_with_args_until_success) | ||
| 10 | (Frun_hook_with_args_until_failure): Doc fixes. (Bug#12393) | ||
| 11 | |||
| 12 | 2012-09-21 Andreas Schwab <schwab@linux-m68k.org> | ||
| 13 | |||
| 14 | * fileio.c (Ffile_selinux_context): Only call freecon when | ||
| 15 | lgetfilecon succeeded. | ||
| 16 | (Fset_file_selinux_context): Likewise. (Bug#12444) | ||
| 17 | |||
| 18 | 2012-09-21 Eli Zaretskii <eliz@gnu.org> | ||
| 19 | |||
| 20 | * xdisp.c (try_window_reusing_current_matrix): Under bidi | ||
| 21 | reordering, locate the cursor by calling set_cursor_from_row; if | ||
| 22 | that fails, clear the desired glyph matrix before returning a | ||
| 23 | failure indication to the caller. Fixes leaving garbled display | ||
| 24 | when fast scrolling with a down-key. (Bug#12403) | ||
| 25 | (compute_stop_pos_backwards): Fix a typo that caused crashes while | ||
| 26 | scrolling through multibyte text. | ||
| 27 | |||
| 1 | 2012-09-20 Stefan Monnier <monnier@iro.umontreal.ca> | 28 | 2012-09-20 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 29 | ||
| 3 | * alloc.c (mark_object) <PVEC_WINDOW>: Mark prev/next_buffers *after* | 30 | * alloc.c (mark_object) <PVEC_WINDOW>: Mark prev/next_buffers *after* |
diff --git a/src/eval.c b/src/eval.c index 1c565e233c6..e47478bb1f1 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -2399,6 +2399,7 @@ If it is a list of functions, those functions are called, in order, | |||
| 2399 | with the given arguments ARGS, until one of them | 2399 | with the given arguments ARGS, until one of them |
| 2400 | returns a non-nil value. Then we return that value. | 2400 | returns a non-nil value. Then we return that value. |
| 2401 | However, if they all return nil, we return nil. | 2401 | However, if they all return nil, we return nil. |
| 2402 | If the value of HOOK is nil, this function returns nil. | ||
| 2402 | 2403 | ||
| 2403 | Do not use `make-local-variable' to make a hook variable buffer-local. | 2404 | Do not use `make-local-variable' to make a hook variable buffer-local. |
| 2404 | Instead, use `add-hook' and specify t for the LOCAL argument. | 2405 | Instead, use `add-hook' and specify t for the LOCAL argument. |
| @@ -2420,10 +2421,12 @@ DEFUN ("run-hook-with-args-until-failure", Frun_hook_with_args_until_failure, | |||
| 2420 | HOOK should be a symbol, a hook variable. If HOOK has a non-nil | 2421 | HOOK should be a symbol, a hook variable. If HOOK has a non-nil |
| 2421 | value, that value may be a function or a list of functions to be | 2422 | value, that value may be a function or a list of functions to be |
| 2422 | called to run the hook. If the value is a function, it is called with | 2423 | called to run the hook. If the value is a function, it is called with |
| 2423 | the given arguments and its return value is returned. | 2424 | the given arguments. Then we return nil if the function returns nil, |
| 2425 | and t if it returns non-nil. | ||
| 2424 | If it is a list of functions, those functions are called, in order, | 2426 | If it is a list of functions, those functions are called, in order, |
| 2425 | with the given arguments ARGS, until one of them returns nil. | 2427 | with the given arguments ARGS, until one of them returns nil. |
| 2426 | Then we return nil. However, if they all return non-nil, we return non-nil. | 2428 | Then we return nil. However, if they all return non-nil, we return t. |
| 2429 | If the value of HOOK is nil, this function returns t. | ||
| 2427 | 2430 | ||
| 2428 | Do not use `make-local-variable' to make a hook variable buffer-local. | 2431 | Do not use `make-local-variable' to make a hook variable buffer-local. |
| 2429 | Instead, use `add-hook' and specify t for the LOCAL argument. | 2432 | Instead, use `add-hook' and specify t for the LOCAL argument. |
diff --git a/src/fileio.c b/src/fileio.c index ca71af7ed95..6c4e34d7312 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -2833,9 +2833,8 @@ or if SELinux is disabled, or if Emacs lacks SELinux support. */) | |||
| 2833 | if (context_range_get (context)) | 2833 | if (context_range_get (context)) |
| 2834 | values[3] = build_string (context_range_get (context)); | 2834 | values[3] = build_string (context_range_get (context)); |
| 2835 | context_free (context); | 2835 | context_free (context); |
| 2836 | freecon (con); | ||
| 2836 | } | 2837 | } |
| 2837 | if (con) | ||
| 2838 | freecon (con); | ||
| 2839 | } | 2838 | } |
| 2840 | #endif | 2839 | #endif |
| 2841 | 2840 | ||
| @@ -2914,12 +2913,10 @@ compiled with SELinux support. */) | |||
| 2914 | report_file_error ("Doing lsetfilecon", Fcons (absname, Qnil)); | 2913 | report_file_error ("Doing lsetfilecon", Fcons (absname, Qnil)); |
| 2915 | 2914 | ||
| 2916 | context_free (parsed_con); | 2915 | context_free (parsed_con); |
| 2916 | freecon (con); | ||
| 2917 | } | 2917 | } |
| 2918 | else | 2918 | else |
| 2919 | report_file_error ("Doing lgetfilecon", Fcons (absname, Qnil)); | 2919 | report_file_error ("Doing lgetfilecon", Fcons (absname, Qnil)); |
| 2920 | |||
| 2921 | if (con) | ||
| 2922 | freecon (con); | ||
| 2923 | } | 2920 | } |
| 2924 | #endif | 2921 | #endif |
| 2925 | 2922 | ||
diff --git a/src/unexmacosx.c b/src/unexmacosx.c index 05a16466dfb..d38b91e955a 100644 --- a/src/unexmacosx.c +++ b/src/unexmacosx.c | |||
| @@ -117,6 +117,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 117 | 117 | ||
| 118 | #include <assert.h> | 118 | #include <assert.h> |
| 119 | 119 | ||
| 120 | /* LC_DATA_IN_CODE is not defined in mach-o/loader.h on OS X 10.7. | ||
| 121 | But it is used if we build with "Command Line Tools for Xcode 4.5 | ||
| 122 | (OS X Lion) - Septemper 2012". */ | ||
| 123 | #ifndef LC_DATA_IN_CODE | ||
| 124 | #define LC_DATA_IN_CODE 0x29 /* table of non-instructions in __text */ | ||
| 125 | #endif | ||
| 126 | |||
| 120 | #ifdef _LP64 | 127 | #ifdef _LP64 |
| 121 | #define mach_header mach_header_64 | 128 | #define mach_header mach_header_64 |
| 122 | #define segment_command segment_command_64 | 129 | #define segment_command segment_command_64 |
| @@ -612,6 +619,11 @@ print_load_command_name (int lc) | |||
| 612 | printf ("LC_MAIN "); | 619 | printf ("LC_MAIN "); |
| 613 | break; | 620 | break; |
| 614 | #endif | 621 | #endif |
| 622 | #ifdef LC_DATA_IN_CODE | ||
| 623 | case LC_DATA_IN_CODE: | ||
| 624 | printf ("LC_DATA_IN_CODE "); | ||
| 625 | break; | ||
| 626 | #endif | ||
| 615 | #ifdef LC_SOURCE_VERSION | 627 | #ifdef LC_SOURCE_VERSION |
| 616 | case LC_SOURCE_VERSION: | 628 | case LC_SOURCE_VERSION: |
| 617 | printf ("LC_SOURCE_VERSION"); | 629 | printf ("LC_SOURCE_VERSION"); |
| @@ -1178,9 +1190,9 @@ copy_dyld_info (struct load_command *lc, long delta) | |||
| 1178 | #endif | 1190 | #endif |
| 1179 | 1191 | ||
| 1180 | #ifdef LC_FUNCTION_STARTS | 1192 | #ifdef LC_FUNCTION_STARTS |
| 1181 | /* Copy a LC_FUNCTION_STARTS/LC_DYLIB_CODE_SIGN_DRS load command from | 1193 | /* Copy a LC_FUNCTION_STARTS/LC_DATA_IN_CODE/LC_DYLIB_CODE_SIGN_DRS |
| 1182 | the input file to the output file, adjusting the data offset | 1194 | load command from the input file to the output file, adjusting the |
| 1183 | field. */ | 1195 | data offset field. */ |
| 1184 | static void | 1196 | static void |
| 1185 | copy_linkedit_data (struct load_command *lc, long delta) | 1197 | copy_linkedit_data (struct load_command *lc, long delta) |
| 1186 | { | 1198 | { |
| @@ -1274,6 +1286,9 @@ dump_it (void) | |||
| 1274 | #endif | 1286 | #endif |
| 1275 | #ifdef LC_FUNCTION_STARTS | 1287 | #ifdef LC_FUNCTION_STARTS |
| 1276 | case LC_FUNCTION_STARTS: | 1288 | case LC_FUNCTION_STARTS: |
| 1289 | #ifdef LC_DATA_IN_CODE | ||
| 1290 | case LC_DATA_IN_CODE: | ||
| 1291 | #endif | ||
| 1277 | #ifdef LC_DYLIB_CODE_SIGN_DRS | 1292 | #ifdef LC_DYLIB_CODE_SIGN_DRS |
| 1278 | case LC_DYLIB_CODE_SIGN_DRS: | 1293 | case LC_DYLIB_CODE_SIGN_DRS: |
| 1279 | #endif | 1294 | #endif |
diff --git a/src/xdisp.c b/src/xdisp.c index 5ee5a46601c..f00719be37a 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -7755,7 +7755,7 @@ compute_stop_pos_backwards (struct it *it) | |||
| 7755 | { | 7755 | { |
| 7756 | it->end_charpos = min (charpos + 1, ZV); | 7756 | it->end_charpos = min (charpos + 1, ZV); |
| 7757 | charpos = max (charpos - SCAN_BACK_LIMIT, BEGV); | 7757 | charpos = max (charpos - SCAN_BACK_LIMIT, BEGV); |
| 7758 | SET_TEXT_POS (pos, charpos, BYTE_TO_CHAR (charpos)); | 7758 | SET_TEXT_POS (pos, charpos, CHAR_TO_BYTE (charpos)); |
| 7759 | reseat_1 (it, pos, 0); | 7759 | reseat_1 (it, pos, 0); |
| 7760 | compute_stop_pos (it); | 7760 | compute_stop_pos (it); |
| 7761 | /* We must advance forward, right? */ | 7761 | /* We must advance forward, right? */ |
| @@ -16744,28 +16744,33 @@ try_window_reusing_current_matrix (struct window *w) | |||
| 16744 | } | 16744 | } |
| 16745 | if (row < bottom_row) | 16745 | if (row < bottom_row) |
| 16746 | { | 16746 | { |
| 16747 | struct glyph *glyph = row->glyphs[TEXT_AREA] + w->cursor.hpos; | 16747 | /* Can't simply scan the row for point with |
| 16748 | struct glyph *end = row->glyphs[TEXT_AREA] + row->used[TEXT_AREA]; | 16748 | bidi-reordered glyph rows. Let set_cursor_from_row |
| 16749 | 16749 | figure out where to put the cursor, and if it fails, | |
| 16750 | /* Can't use this optimization with bidi-reordered glyph | 16750 | give up. */ |
| 16751 | rows, unless cursor is already at point. */ | ||
| 16752 | if (!NILP (BVAR (XBUFFER (w->buffer), bidi_display_reordering))) | 16751 | if (!NILP (BVAR (XBUFFER (w->buffer), bidi_display_reordering))) |
| 16753 | { | 16752 | { |
| 16754 | if (!(w->cursor.hpos >= 0 | 16753 | if (!set_cursor_from_row (w, row, w->current_matrix, |
| 16755 | && w->cursor.hpos < row->used[TEXT_AREA] | 16754 | 0, 0, 0, 0)) |
| 16756 | && BUFFERP (glyph->object) | 16755 | { |
| 16757 | && glyph->charpos == PT)) | 16756 | clear_glyph_matrix (w->desired_matrix); |
| 16758 | return 0; | 16757 | return 0; |
| 16758 | } | ||
| 16759 | } | 16759 | } |
| 16760 | else | 16760 | else |
| 16761 | for (; glyph < end | 16761 | { |
| 16762 | && (!BUFFERP (glyph->object) | 16762 | struct glyph *glyph = row->glyphs[TEXT_AREA] + w->cursor.hpos; |
| 16763 | || glyph->charpos < PT); | 16763 | struct glyph *end = row->glyphs[TEXT_AREA] + row->used[TEXT_AREA]; |
| 16764 | glyph++) | 16764 | |
| 16765 | { | 16765 | for (; glyph < end |
| 16766 | w->cursor.hpos++; | 16766 | && (!BUFFERP (glyph->object) |
| 16767 | w->cursor.x += glyph->pixel_width; | 16767 | || glyph->charpos < PT); |
| 16768 | } | 16768 | glyph++) |
| 16769 | { | ||
| 16770 | w->cursor.hpos++; | ||
| 16771 | w->cursor.x += glyph->pixel_width; | ||
| 16772 | } | ||
| 16773 | } | ||
| 16769 | } | 16774 | } |
| 16770 | } | 16775 | } |
| 16771 | 16776 | ||