1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-03 08:30:09 +00:00

Fix Emacs bug #10463 - put `widen's around the critical spots.

This commit is contained in:
Alan Mackenzie 2012-01-11 22:21:44 +00:00
parent e71f5d99fe
commit 2cc769a8c3
2 changed files with 19 additions and 8 deletions

View File

@ -1,3 +1,11 @@
2012-01-11 Alan Mackenzie <acm@muc.de>
Fix Emacs bug #10463 - put `widen's around the critical spots.
* progmodes/cc-engine.el (c-in-literal, c-literal-limits): put a
widen around each invocation of c-state-pp-to-literal. Remove an
unused let variable.
2012-01-11 Glenn Morris <rgm@gnu.org>
* dired-aux.el (dired-do-shell-command): Fix */? logic. (Bug#6561)

View File

@ -4211,12 +4211,14 @@ The last point calculated is cached if the cache is enabled, i.e. if
Note that this function might do hidden buffer changes. See the
comment at the start of cc-engine.el for more info."
(let* ((safe-place (c-state-safe-place (point)))
(lit (c-state-pp-to-literal safe-place (point))))
(or (cadr lit)
(and detect-cpp
(save-excursion (c-beginning-of-macro))
'pound))))
(save-restriction
(widen)
(let* ((safe-place (c-state-safe-place (point)))
(lit (c-state-pp-to-literal safe-place (point))))
(or (cadr lit)
(and detect-cpp
(save-excursion (c-beginning-of-macro))
'pound)))))
(defun c-literal-limits (&optional lim near not-in-delimiter)
"Return a cons of the beginning and end positions of the comment or
@ -4236,9 +4238,10 @@ comment at the start of cc-engine.el for more info."
(save-excursion
(let* ((pos (point))
(lim (or lim (c-state-safe-place pos)))
(pp-to-lit (c-state-pp-to-literal lim pos))
(pp-to-lit (save-restriction
(widen)
(c-state-pp-to-literal lim pos)))
(state (car pp-to-lit))
(lit-type (cadr pp-to-lit))
(lit-limits (car (cddr pp-to-lit))))
(cond