From 2d8b2fd034ccc61f949b408373342b5f9f8ba592 Mon Sep 17 00:00:00 2001 From: David Engster Date: Sun, 21 Feb 2016 17:11:01 +0100 Subject: [PATCH] Restore point when writing semantic table to disk * lisp/cedet/semantic/db-file.el (object-write): Wrap call to `semantic-fetch-tags' in `save-excursion', since it might move point in current buffer. (Bug #22287) --- lisp/cedet/semantic/db-file.el | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lisp/cedet/semantic/db-file.el b/lisp/cedet/semantic/db-file.el index d9dd1f94d33..0ae433fecb5 100644 --- a/lisp/cedet/semantic/db-file.el +++ b/lisp/cedet/semantic/db-file.el @@ -287,22 +287,22 @@ Argument OBJ is the object to write." (when (semanticdb-live-p obj) (when (semanticdb-in-buffer-p obj) (with-current-buffer (semanticdb-in-buffer-p obj) - - ;; Make sure all our tag lists are up to date. - (semantic-fetch-tags) - - ;; Try to get an accurate unmatched syntax table. - (when (and (boundp semantic-show-unmatched-syntax-mode) - semantic-show-unmatched-syntax-mode) - ;; Only do this if the user runs unmatched syntax - ;; mode display entries. - (oset obj unmatched-syntax - (semantic-show-unmatched-lex-tokens-fetch)) - ) - - ;; Make sure pointmax is up to date - (oset obj pointmax (point-max)) - )) + (save-excursion + ;; Make sure all our tag lists are up to date. + (semantic-fetch-tags) + + ;; Try to get an accurate unmatched syntax table. + (when (and (boundp semantic-show-unmatched-syntax-mode) + semantic-show-unmatched-syntax-mode) + ;; Only do this if the user runs unmatched syntax + ;; mode display entries. + (oset obj unmatched-syntax + (semantic-show-unmatched-lex-tokens-fetch)) + ) + + ;; Make sure pointmax is up to date + (oset obj pointmax (point-max)) + ))) ;; Make sure that the file size and other attributes are ;; up to date. -- 2.39.2