aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2019-03-27 21:01:04 -0700
committerPaul Eggert2019-03-27 21:24:26 -0700
commiteac5f967ca700c5f47cf673cb4c06b07c4f42ac2 (patch)
tree6f1a438a8f3d6f5be6a94e8ae0b6c8a0ab114efb
parent361e88986f3580a7433a23eec1cf01408e5e3627 (diff)
downloademacs-eac5f967ca700c5f47cf673cb4c06b07c4f42ac2.tar.gz
emacs-eac5f967ca700c5f47cf673cb4c06b07c4f42ac2.zip
No need for m_search_regs_saved in thread.h
* src/search.c (save_search_regs, restore_search_regs): Don’t use m_search_regs_saved; it’s equivalent to saved_search_regs.num_regs != 0. * src/thread.h (struct thread_state): Remove m_search_regs_saved.
-rw-r--r--src/search.c16
-rw-r--r--src/thread.h5
2 files changed, 5 insertions, 16 deletions
diff --git a/src/search.c b/src/search.c
index e55aa767f11..e15e2b94e5f 100644
--- a/src/search.c
+++ b/src/search.c
@@ -3059,18 +3059,14 @@ If optional arg RESEAT is non-nil, make markers on LIST point nowhere. */)
3059static void 3059static void
3060save_search_regs (void) 3060save_search_regs (void)
3061{ 3061{
3062 if (!search_regs_saved) 3062 if (saved_search_regs.num_regs == 0)
3063 { 3063 {
3064 saved_search_regs.num_regs = search_regs.num_regs; 3064 saved_search_regs = search_regs;
3065 saved_search_regs.start = search_regs.start;
3066 saved_search_regs.end = search_regs.end;
3067 saved_last_thing_searched = last_thing_searched; 3065 saved_last_thing_searched = last_thing_searched;
3068 last_thing_searched = Qnil; 3066 last_thing_searched = Qnil;
3069 search_regs.num_regs = 0; 3067 search_regs.num_regs = 0;
3070 search_regs.start = 0; 3068 search_regs.start = 0;
3071 search_regs.end = 0; 3069 search_regs.end = 0;
3072
3073 search_regs_saved = 1;
3074 } 3070 }
3075} 3071}
3076 3072
@@ -3078,19 +3074,17 @@ save_search_regs (void)
3078void 3074void
3079restore_search_regs (void) 3075restore_search_regs (void)
3080{ 3076{
3081 if (search_regs_saved) 3077 if (saved_search_regs.num_regs != 0)
3082 { 3078 {
3083 if (search_regs.num_regs > 0) 3079 if (search_regs.num_regs > 0)
3084 { 3080 {
3085 xfree (search_regs.start); 3081 xfree (search_regs.start);
3086 xfree (search_regs.end); 3082 xfree (search_regs.end);
3087 } 3083 }
3088 search_regs.num_regs = saved_search_regs.num_regs; 3084 search_regs = saved_search_regs;
3089 search_regs.start = saved_search_regs.start;
3090 search_regs.end = saved_search_regs.end;
3091 last_thing_searched = saved_last_thing_searched; 3085 last_thing_searched = saved_last_thing_searched;
3092 saved_last_thing_searched = Qnil; 3086 saved_last_thing_searched = Qnil;
3093 search_regs_saved = 0; 3087 saved_search_regs.num_regs = 0;
3094 } 3088 }
3095} 3089}
3096 3090
diff --git a/src/thread.h b/src/thread.h
index 1856fddf4cd..50f8f5cbe0a 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -131,11 +131,6 @@ struct thread_state
131 struct re_registers m_search_regs; 131 struct re_registers m_search_regs;
132#define search_regs (current_thread->m_search_regs) 132#define search_regs (current_thread->m_search_regs)
133 133
134 /* If non-zero the match data have been saved in saved_search_regs
135 during the execution of a sentinel or filter. */
136 bool m_search_regs_saved;
137#define search_regs_saved (current_thread->m_search_regs_saved)
138
139 struct re_registers m_saved_search_regs; 134 struct re_registers m_saved_search_regs;
140#define saved_search_regs (current_thread->m_saved_search_regs) 135#define saved_search_regs (current_thread->m_saved_search_regs)
141 136