]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix compilation on prerelease versions of Haiku
authorPo Lu <luangruo@yahoo.com>
Sun, 23 Jun 2024 04:49:45 +0000 (12:49 +0800)
committerEshel Yaron <me@eshelyaron.com>
Mon, 24 Jun 2024 07:04:55 +0000 (09:04 +0200)
* src/kqueue.c (Fkqueue_add_watch): Don't specify EV_ENABLE
unless it is defined.

(cherry picked from commit cb7be6035eeb7165d6789bb62708a14607e84e5d)

src/kqueue.c

index 4693e1302086d87597d373cf05118910fabe4257..aabaab6c8c30773676c1b4f6507975135aa5ed16 100644 (file)
@@ -444,23 +444,29 @@ only when the upper directory of the renamed file is watched.  */)
   if (! NILP (Fmember (Qrevoke, flags))) fflags |= NOTE_REVOKE;
 
   /* Register event.  */
-  EV_SET (&kev, fd, EVFILT_VNODE, EV_ADD | EV_ENABLE | EV_CLEAR,
+  EV_SET (&kev, fd, EVFILT_VNODE, (EV_ADD
+#ifdef EV_ENABLE
+                                  | EV_ENABLE
+#endif /* EV_ENABLE */
+                                  | EV_CLEAR),
          fflags, 0, NULL);
 
-  if (kevent (kqueuefd, &kev, 1, NULL, 0, NULL) < 0) {
-    emacs_close (fd);
-    report_file_error ("Cannot watch file", file);
-  }
+  if (kevent (kqueuefd, &kev, 1, NULL, 0, NULL) < 0)
+    {
+      emacs_close (fd);
+      report_file_error ("Cannot watch file", file);
+    }
 
   /* Store watch object in watch list.  */
   Lisp_Object watch_descriptor = make_fixnum (fd);
   if (NILP (Ffile_directory_p (file)))
     watch_object = list4 (watch_descriptor, file, flags, callback);
-  else {
-    dir_list = directory_files_internal (file, Qnil, Qnil, Qnil, true, Qnil,
-                                         Qnil);
-    watch_object = list5 (watch_descriptor, file, flags, callback, dir_list);
-  }
+  else
+    {
+      dir_list = directory_files_internal (file, Qnil, Qnil, Qnil, true, Qnil,
+                                          Qnil);
+      watch_object = list5 (watch_descriptor, file, flags, callback, dir_list);
+    }
   watch_list = Fcons (watch_object, watch_list);
 
   return watch_descriptor;
@@ -486,11 +492,12 @@ WATCH-DESCRIPTOR should be an object returned by `kqueue-add-watch'.  */)
   /* Remove watch descriptor from watch list.  */
   watch_list = Fdelq (watch_object, watch_list);
 
-  if (NILP (watch_list) && (kqueuefd >= 0)) {
-    delete_read_fd (kqueuefd);
-    emacs_close (kqueuefd);
-    kqueuefd = -1;
-  }
+  if (NILP (watch_list) && (kqueuefd >= 0))
+    {
+      delete_read_fd (kqueuefd);
+      emacs_close (kqueuefd);
+      kqueuefd = -1;
+    }
 
   return Qt;
 }