From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 12 00:17:10 2021 Received: (at submit) by debbugs.gnu.org; 12 Oct 2021 04:17:10 +0000 Received: from localhost ([127.0.0.1]:33136 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ma9Dx-0004tW-L7 for submit@debbugs.gnu.org; Tue, 12 Oct 2021 00:17:10 -0400 Received: from lists.gnu.org ([209.51.188.17]:46246) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ma9Dv-0004tO-9i for submit@debbugs.gnu.org; Tue, 12 Oct 2021 00:17:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45148) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ma9Du-00046G-Lt for bug-gnu-emacs@gnu.org; Tue, 12 Oct 2021 00:17:07 -0400 Received: from mail-qk1-x733.google.com ([2607:f8b0:4864:20::733]:35761) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ma9Dr-00006T-8t for bug-gnu-emacs@gnu.org; Tue, 12 Oct 2021 00:17:06 -0400 Received: by mail-qk1-x733.google.com with SMTP id c7so18361382qka.2 for ; Mon, 11 Oct 2021 21:17:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=PU5Z7ae1DHtU8kyzb/5j6M5BPbuoJ7mYPHJPg5VEgTs=; b=RqC40yavYYJ9RYhMgorS1dN0iZDa+nFZyktFdgrloetPjfmIPsj+WjF9wtWookPTYn am4fBcNKH6Y5ybntGpem2rV8cYUiuBgJQi2WJgtyvPKgpDTAeawsajupZGmzUoS4Sw+4 tvc02QQ2yCRY/bIQTyCIDPcJMOHWd+MMWcA+d6nfrFwiTyBhRa1JLhJlYCSjOqsH3QIl HOigzSXNlHzuZQCRrGWKg71le7KF1rtItIfgYyMXCR3WGAaJ1Qj+QcptHQU3EQzbR9RL o+IiWZ24E+kJcKL0jKALLxaMt2JSuTWhaF6MLe6ZgJbcbYikNEPzoE9JRDWZhznk+sDk He5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=PU5Z7ae1DHtU8kyzb/5j6M5BPbuoJ7mYPHJPg5VEgTs=; b=PjkYAt0mwB8PNCFQivO6hOB3iIoOO5bgVowJFJpQvwFzi1q9x8w+H4xGJHRz5fCxc8 pXP7t8H64xBTG1Mk5LnD9yFl58/w3VRKWuhFLjZijOACDycXpeTHxqUHk8352jTjRLIW v5mYZJZV+lVkuk4NkQo4foib3JCka3oDDK1UyaC7BFdgOzvk9C4tnaZ2Ecux+B9HqmHw qumDpBWvCe2ZJs9pQ40OsWHY/ro8wyJtLoVc+D6yEdvpORjpLLMbKRjcxwQbbtw6qF8Z T165k+hDqPcGSB1pXm4Tyti1IQJlikjjRpC0s8r1phk5P7GKzHZkVg1AM7H1gNrM8RQp plbg== X-Gm-Message-State: AOAM533g+2jnQKM566Wq8laEVEE/kZjqt1Df/gt5p3oLKfQAOxKvO7C1 0/SmSoczRZdcJ4MmiAM+G1iwguIwEy2aAA== X-Google-Smtp-Source: ABdhPJyH6XrG/y529LD8wdmnJgINtOW1fvPgWcne5PzzRyuA7061S+NQKdaG3RXpuP9Mf3kwfF7jjw== X-Received: by 2002:a37:b141:: with SMTP id a62mr4880603qkf.518.1634012221062; Mon, 11 Oct 2021 21:17:01 -0700 (PDT) Received: from Carloss-MacBook-Pro.local ([186.136.138.53]) by smtp.gmail.com with ESMTPSA id e13sm36624qkm.81.2021.10.11.21.16.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Oct 2021 21:17:00 -0700 (PDT) From: Carlos Pita To: bug-gnu-emacs@gnu.org Subject: 29.0.50; file-notify-add-watch not reporting changes of files Date: Tue, 12 Oct 2021 01:16:50 -0300 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::733; envelope-from=carlosjosepita2@gmail.com; helo=mail-qk1-x733.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) Hi all, the docstring for file-notify-add-watch states: =20=20=20 If FILE is a directory, =E2=80=98change=E2=80=99 watches for file creat= ion or deletion in that directory. This does not work recursively. OTOH the elisp documentation in [1] states: If file is a directory, changes for all files in that directory will be notified. This does not work recursively. So the statements seem contradictory regarding the notification of changes in the contents of the files (not their creation or deletion). In the most lenient interpretation, the docstring may be considered silent in this regard. This little experiment shows that, at least in my setup, a change in the content of a file is not notified: (defun my-watcher (event) (message "Not in my watch: %s" event)) (file-notify-add-watch "/tmp/some-dir" '(change) #'my-watcher) Then: touch /tmp/some-dir/x =3D> Not in my watch: (18 created /tmp/some-dir/x) echo dsds > /tmp/some-dir/x =3D> Nothing rm /tmp/some-dir/x =3D> Not in my watch: (18 deleted /tmp/some-dir/x) If instead I track "/tmp/some-dir/x": echo dsds > /tmp/some-dir/x =3D> Not in my watch: (20 changed /tmp/some-dir/x) So according to the elisp manual this is a bug, but according to the docstring it seemingly isn't. I'm with the manual in this one. Best regards, Carlos [1] https://www.gnu.org/software/emacs/manual/html_node/elisp/File-Notifica= tions.html --- =20=20=20=20=20=20=20=20 In GNU Emacs 29.0.50 (build 1, x86_64-apple-darwin20.6.0, NS appkit-2022.60= Version 11.6 (Build 20G165)) of 2021-10-07 built on Carloss-MacBook-Pro.local Repository revision: d2611920685ca415a1d85ffb9567b968518028d6 Repository branch: master Windowing system distributor 'Apple', version 10.3.2022 System Description: macOS 11.6 Configured using: 'configure --without-native-compilation' Configured features: ACL DBUS GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS XIM ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Help Minor modes in effect: shell-dirtrack-mode: t recentf-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t company-box-mode: t global-flycheck-mode: t ivy-mode: t global-company-mode: t company-mode: t which-key-mode: t winner-mode: t override-global-mode: t global-undo-tree-mode: t undo-tree-mode: t electric-pair-mode: t minions-mode: t doom-modeline-mode: t ns-auto-titlebar-mode: t straight-use-package-mode: t straight-package-neutering-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tab-bar-history-mode: t tab-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /Users/carlos/.emacs.d/straight/build/transient/transient hides /Applicatio= ns/Emacs.app/Contents/Resources/lisp/transient /Users/carlos/.emacs.d/straight/build/org/ob-exp hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ob-exp /Users/carlos/.emacs.d/straight/build/org/ob-emacs-lisp hides /Applications= /Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp /Users/carlos/.emacs.d/straight/build/org/oc hides /Applications/Emacs.app/= Contents/Resources/lisp/org/oc /Users/carlos/.emacs.d/straight/build/org/ob-css hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ob-css /Users/carlos/.emacs.d/straight/build/org/ob-lob hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ob-lob /Users/carlos/.emacs.d/straight/build/org/ol-irc hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ol-irc /Users/carlos/.emacs.d/straight/build/org/ob-forth hides /Applications/Emac= s.app/Contents/Resources/lisp/org/ob-forth /Users/carlos/.emacs.d/straight/build/org/org-macs hides /Applications/Emac= s.app/Contents/Resources/lisp/org/org-macs /Users/carlos/.emacs.d/straight/build/org/ob hides /Applications/Emacs.app/= Contents/Resources/lisp/org/ob /Users/carlos/.emacs.d/straight/build/org/org-version hides /Applications/E= macs.app/Contents/Resources/lisp/org/org-version /Users/carlos/.emacs.d/straight/build/org/ob-scheme hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ob-scheme /Users/carlos/.emacs.d/straight/build/org/ox hides /Applications/Emacs.app/= Contents/Resources/lisp/org/ox /Users/carlos/.emacs.d/straight/build/org/ob-C hides /Applications/Emacs.ap= p/Contents/Resources/lisp/org/ob-C /Users/carlos/.emacs.d/straight/build/org/org-capture hides /Applications/E= macs.app/Contents/Resources/lisp/org/org-capture /Users/carlos/.emacs.d/straight/build/org/ob-ref hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ob-ref /Users/carlos/.emacs.d/straight/build/org/ob-clojure hides /Applications/Em= acs.app/Contents/Resources/lisp/org/ob-clojure /Users/carlos/.emacs.d/straight/build/org/org-mouse hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/org-mouse /Users/carlos/.emacs.d/straight/build/org/org-ctags hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/org-ctags /Users/carlos/.emacs.d/straight/build/org/org-entities hides /Applications/= Emacs.app/Contents/Resources/lisp/org/org-entities /Users/carlos/.emacs.d/straight/build/org/org-archive hides /Applications/E= macs.app/Contents/Resources/lisp/org/org-archive /Users/carlos/.emacs.d/straight/build/org/ob-screen hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ob-screen /Users/carlos/.emacs.d/straight/build/org/ol-bibtex hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ol-bibtex /Users/carlos/.emacs.d/straight/build/org/ob-haskell hides /Applications/Em= acs.app/Contents/Resources/lisp/org/ob-haskell /Users/carlos/.emacs.d/straight/build/org/org-table hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/org-table /Users/carlos/.emacs.d/straight/build/org/ol-eww hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ol-eww /Users/carlos/.emacs.d/straight/build/org/ox-org hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ox-org /Users/carlos/.emacs.d/straight/build/org/org-num hides /Applications/Emacs= .app/Contents/Resources/lisp/org/org-num /Users/carlos/.emacs.d/straight/build/org/org-plot hides /Applications/Emac= s.app/Contents/Resources/lisp/org/org-plot /Users/carlos/.emacs.d/straight/build/org/ol-rmail hides /Applications/Emac= s.app/Contents/Resources/lisp/org/ol-rmail /Users/carlos/.emacs.d/straight/build/org/ob-awk hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ob-awk /Users/carlos/.emacs.d/straight/build/org/ob-groovy hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ob-groovy /Users/carlos/.emacs.d/straight/build/org/ob-octave hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ob-octave /Users/carlos/.emacs.d/straight/build/org/org-faces hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/org-faces /Users/carlos/.emacs.d/straight/build/org/oc-biblatex hides /Applications/E= macs.app/Contents/Resources/lisp/org/oc-biblatex /Users/carlos/.emacs.d/straight/build/org/org-colview hides /Applications/E= macs.app/Contents/Resources/lisp/org/org-colview /Users/carlos/.emacs.d/straight/build/org/ob-R hides /Applications/Emacs.ap= p/Contents/Resources/lisp/org/ob-R /Users/carlos/.emacs.d/straight/build/org/org-refile hides /Applications/Em= acs.app/Contents/Resources/lisp/org/org-refile /Users/carlos/.emacs.d/straight/build/org/org-timer hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/org-timer /Users/carlos/.emacs.d/straight/build/org/org-mobile hides /Applications/Em= acs.app/Contents/Resources/lisp/org/org-mobile /Users/carlos/.emacs.d/straight/build/org/ob-fortran hides /Applications/Em= acs.app/Contents/Resources/lisp/org/ob-fortran /Users/carlos/.emacs.d/straight/build/org/ob-shell hides /Applications/Emac= s.app/Contents/Resources/lisp/org/ob-shell /Users/carlos/.emacs.d/straight/build/org/ob-perl hides /Applications/Emacs= .app/Contents/Resources/lisp/org/ob-perl /Users/carlos/.emacs.d/straight/build/org/ob-sqlite hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ob-sqlite /Users/carlos/.emacs.d/straight/build/org/oc-basic hides /Applications/Emac= s.app/Contents/Resources/lisp/org/oc-basic /Users/carlos/.emacs.d/straight/build/org/ob-sed hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ob-sed /Users/carlos/.emacs.d/straight/build/org/org-list hides /Applications/Emac= s.app/Contents/Resources/lisp/org/org-list /Users/carlos/.emacs.d/straight/build/org/ob-ruby hides /Applications/Emacs= .app/Contents/Resources/lisp/org/ob-ruby /Users/carlos/.emacs.d/straight/build/org/ob-eval hides /Applications/Emacs= .app/Contents/Resources/lisp/org/ob-eval /Users/carlos/.emacs.d/straight/build/org/org-habit hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/org-habit /Users/carlos/.emacs.d/straight/build/org/org-clock hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/org-clock /Users/carlos/.emacs.d/straight/build/org/org-goto hides /Applications/Emac= s.app/Contents/Resources/lisp/org/org-goto /Users/carlos/.emacs.d/straight/build/org/ox-html hides /Applications/Emacs= .app/Contents/Resources/lisp/org/ox-html /Users/carlos/.emacs.d/straight/build/org/org-src hides /Applications/Emacs= .app/Contents/Resources/lisp/org/org-src /Users/carlos/.emacs.d/straight/build/org/ob-lisp hides /Applications/Emacs= .app/Contents/Resources/lisp/org/ob-lisp /Users/carlos/.emacs.d/straight/build/org/ol-eshell hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ol-eshell /Users/carlos/.emacs.d/straight/build/org/ob-ditaa hides /Applications/Emac= s.app/Contents/Resources/lisp/org/ob-ditaa /Users/carlos/.emacs.d/straight/build/org/org-pcomplete hides /Applications= /Emacs.app/Contents/Resources/lisp/org/org-pcomplete /Users/carlos/.emacs.d/straight/build/org/org-lint hides /Applications/Emac= s.app/Contents/Resources/lisp/org/org-lint /Users/carlos/.emacs.d/straight/build/org/ox-latex hides /Applications/Emac= s.app/Contents/Resources/lisp/org/ox-latex /Users/carlos/.emacs.d/straight/build/org/ob-sass hides /Applications/Emacs= .app/Contents/Resources/lisp/org/ob-sass /Users/carlos/.emacs.d/straight/build/org/ob-tangle hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ob-tangle /Users/carlos/.emacs.d/straight/build/org/ob-calc hides /Applications/Emacs= .app/Contents/Resources/lisp/org/ob-calc /Users/carlos/.emacs.d/straight/build/org/ob-java hides /Applications/Emacs= .app/Contents/Resources/lisp/org/ob-java /Users/carlos/.emacs.d/straight/build/org/ox-icalendar hides /Applications/= Emacs.app/Contents/Resources/lisp/org/ox-icalendar /Users/carlos/.emacs.d/straight/build/org/ol-mhe hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ol-mhe /Users/carlos/.emacs.d/straight/build/org/org-attach-git hides /Application= s/Emacs.app/Contents/Resources/lisp/org/org-attach-git /Users/carlos/.emacs.d/straight/build/org/ox-md hides /Applications/Emacs.a= pp/Contents/Resources/lisp/org/ox-md /Users/carlos/.emacs.d/straight/build/org/ox-beamer hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ox-beamer /Users/carlos/.emacs.d/straight/build/org/org-element hides /Applications/E= macs.app/Contents/Resources/lisp/org/org-element /Users/carlos/.emacs.d/straight/build/org/oc-natbib hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/oc-natbib /Users/carlos/.emacs.d/straight/build/org/org-protocol hides /Applications/= Emacs.app/Contents/Resources/lisp/org/org-protocol /Users/carlos/.emacs.d/straight/build/org/ob-gnuplot hides /Applications/Em= acs.app/Contents/Resources/lisp/org/ob-gnuplot /Users/carlos/.emacs.d/straight/build/org/org-tempo hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/org-tempo /Users/carlos/.emacs.d/straight/build/org/ob-latex hides /Applications/Emac= s.app/Contents/Resources/lisp/org/ob-latex /Users/carlos/.emacs.d/straight/build/org/ol-w3m hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ol-w3m /Users/carlos/.emacs.d/straight/build/org/org-id hides /Applications/Emacs.= app/Contents/Resources/lisp/org/org-id /Users/carlos/.emacs.d/straight/build/org/ox-man hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ox-man /Users/carlos/.emacs.d/straight/build/org/ol-doi hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ol-doi /Users/carlos/.emacs.d/straight/build/org/org-feed hides /Applications/Emac= s.app/Contents/Resources/lisp/org/org-feed /Users/carlos/.emacs.d/straight/build/org/ob-julia hides /Applications/Emac= s.app/Contents/Resources/lisp/org/ob-julia /Users/carlos/.emacs.d/straight/build/org/ob-lua hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ob-lua /Users/carlos/.emacs.d/straight/build/org/ob-table hides /Applications/Emac= s.app/Contents/Resources/lisp/org/ob-table /Users/carlos/.emacs.d/straight/build/org/ob-ocaml hides /Applications/Emac= s.app/Contents/Resources/lisp/org/ob-ocaml /Users/carlos/.emacs.d/straight/build/org/oc-csl hides /Applications/Emacs.= app/Contents/Resources/lisp/org/oc-csl /Users/carlos/.emacs.d/straight/build/org/ol-gnus hides /Applications/Emacs= .app/Contents/Resources/lisp/org/ol-gnus /Users/carlos/.emacs.d/straight/build/org/org-indent hides /Applications/Em= acs.app/Contents/Resources/lisp/org/org-indent /Users/carlos/.emacs.d/straight/build/org/ob-lilypond hides /Applications/E= macs.app/Contents/Resources/lisp/org/ob-lilypond /Users/carlos/.emacs.d/straight/build/org/ob-matlab hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ob-matlab /Users/carlos/.emacs.d/straight/build/org/org-datetree hides /Applications/= Emacs.app/Contents/Resources/lisp/org/org-datetree /Users/carlos/.emacs.d/straight/build/org/ol-docview hides /Applications/Em= acs.app/Contents/Resources/lisp/org/ol-docview /Users/carlos/.emacs.d/straight/build/org/ob-python hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ob-python /Users/carlos/.emacs.d/straight/build/org/ob-makefile hides /Applications/E= macs.app/Contents/Resources/lisp/org/ob-makefile /Users/carlos/.emacs.d/straight/build/org/org-duration hides /Applications/= Emacs.app/Contents/Resources/lisp/org/org-duration /Users/carlos/.emacs.d/straight/build/org/org-agenda hides /Applications/Em= acs.app/Contents/Resources/lisp/org/org-agenda /Users/carlos/.emacs.d/straight/build/org/ob-dot hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ob-dot /Users/carlos/.emacs.d/straight/build/org/ob-js hides /Applications/Emacs.a= pp/Contents/Resources/lisp/org/ob-js /Users/carlos/.emacs.d/straight/build/org/ox-publish hides /Applications/Em= acs.app/Contents/Resources/lisp/org/ox-publish /Users/carlos/.emacs.d/straight/build/org/org-inlinetask hides /Application= s/Emacs.app/Contents/Resources/lisp/org/org-inlinetask /Users/carlos/.emacs.d/straight/build/org/ob-org hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ob-org /Users/carlos/.emacs.d/straight/build/org/org-keys hides /Applications/Emac= s.app/Contents/Resources/lisp/org/org-keys /Users/carlos/.emacs.d/straight/build/org/ob-core hides /Applications/Emacs= .app/Contents/Resources/lisp/org/ob-core /Users/carlos/.emacs.d/straight/build/org/org-compat hides /Applications/Em= acs.app/Contents/Resources/lisp/org/org-compat /Users/carlos/.emacs.d/straight/build/org/ol hides /Applications/Emacs.app/= Contents/Resources/lisp/org/ol /Users/carlos/.emacs.d/straight/build/org/ox-odt hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ox-odt /Users/carlos/.emacs.d/straight/build/org/ol-info hides /Applications/Emacs= .app/Contents/Resources/lisp/org/ol-info /Users/carlos/.emacs.d/straight/build/org/ob-plantuml hides /Applications/E= macs.app/Contents/Resources/lisp/org/ob-plantuml /Users/carlos/.emacs.d/straight/build/org/ob-eshell hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ob-eshell /Users/carlos/.emacs.d/straight/build/org/ox-ascii hides /Applications/Emac= s.app/Contents/Resources/lisp/org/ox-ascii /Users/carlos/.emacs.d/straight/build/org/org-loaddefs hides /Applications/= Emacs.app/Contents/Resources/lisp/org/org-loaddefs /Users/carlos/.emacs.d/straight/build/org/ox-koma-letter hides /Application= s/Emacs.app/Contents/Resources/lisp/org/ox-koma-letter /Users/carlos/.emacs.d/straight/build/org/ob-maxima hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ob-maxima /Users/carlos/.emacs.d/straight/build/org/org hides /Applications/Emacs.app= /Contents/Resources/lisp/org/org /Users/carlos/.emacs.d/straight/build/org/ol-bbdb hides /Applications/Emacs= .app/Contents/Resources/lisp/org/ol-bbdb /Users/carlos/.emacs.d/straight/build/org/org-macro hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/org-macro /Users/carlos/.emacs.d/straight/build/org/ob-sql hides /Applications/Emacs.= app/Contents/Resources/lisp/org/ob-sql /Users/carlos/.emacs.d/straight/build/org/org-attach hides /Applications/Em= acs.app/Contents/Resources/lisp/org/org-attach /Users/carlos/.emacs.d/straight/build/org/ob-processing hides /Applications= /Emacs.app/Contents/Resources/lisp/org/ob-processing /Users/carlos/.emacs.d/straight/build/org/ox-texinfo hides /Applications/Em= acs.app/Contents/Resources/lisp/org/ox-texinfo /Users/carlos/.emacs.d/straight/build/org/org-crypt hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/org-crypt /Users/carlos/.emacs.d/straight/build/org/org-footnote hides /Applications/= Emacs.app/Contents/Resources/lisp/org/org-footnote /Users/carlos/.emacs.d/straight/build/org/org-install hides /Applications/E= macs.app/Contents/Resources/lisp/org/org-install /Users/carlos/.emacs.d/straight/build/org/ob-comint hides /Applications/Ema= cs.app/Contents/Resources/lisp/org/ob-comint /Users/carlos/.emacs.d/straight/build/let-alist/let-alist hides /Applicatio= ns/Emacs.app/Contents/Resources/lisp/emacs-lisp/let-alist Features: (shadow sort mail-extr emacsbug message rfc822 mml mml-sec epa derived gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader sendmail mail-utils ffap debug backtrace eieio-opt speedbar ezimage dframe shortdoc cl-print help-fns trace view lsp-zig lsp-steep lsp-svelte lsp-sqls lsp-yaml lsp-xml lsp-vimscript lsp-vhdl lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-terraform lsp-tex lsp-sorbet lsp-solargraph lsp-rust lsp-rf lsp-r lsp-purescript lsp-pylsp lsp-pyls lsp-pwsh lsp-php lsp-perl lsp-ocaml lsp-nix lsp-nim lsp-markdown lsp-lua lsp-kotlin lsp-json url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf mailcap lsp-javascript lsp-haxe lsp-groovy lsp-hack lsp-graphql lsp-go lsp-completion lsp-gdscript lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-elixir lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp gnutls lsp-crystal lsp-cmake lsp-clojure lsp-semantic-tokens lsp-clangd dom lsp-beancount lsp-bash lsp-angular lsp-ada lsp-actionscript lsp-pyright lsp-treemacs lsp-treemacs-themes lsp-ui lsp-ui-flycheck lsp-ui-doc goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util lsp-mode lsp-protocol url-util spinner network-stream puny nsm rmc markdown-mode url-parse url-vars ewoc epg rfc6068 epg-config python tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell pcomplete parse-time iso8601 ls-lisp format-spec auth-source password-cache thingatpt recentf tree-widget wid-edit treemacs-bookmarks bookmark pp vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc time-date vc-git diff-mode vc-dispatcher treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-interface treemacs-extensions treemacs-mouse-interface treemacs-tags imenu treemacs-persistence treemacs-filewatch-mode filenotify treemacs-follow-mode treemacs-rendering treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator treemacs-scope eieio eieio-core eieio-loaddefs pulse treemacs-faces treemacs-icons treemacs-themes treemacs-core-utils pfuture inline hl-line ht treemacs-logging treemacs-customization treemacs-macros company-box company-box-doc frame-local company-box-icons display-line-numbers noutline outline server pdf-tools-autoloads tablist-autoloads org-roam-autoloads emacsql-sqlite-autoloads emacsql-autoloads lsp-pyright-autoloads pyvenv-autoloads dired-x exec-path-from-shell exec-path-from-shell-autoloads hl-todo-autoloads flycheck json map find-func flycheck-autoloads let-alist-autoloads pkg-info-autoloads epl-autoloads dap-mode-autoloads bui-autoloads lsp-treemacs-autoloads lsp-ivy-autoloads lsp-ui-autoloads lsp-mode-autoloads markdown-mode-autoloads spinner-autoloads git-timemachine-autoloads treemacs-magit-autoloads magit-autoloads magit-section-autoloads git-commit-autoloads with-editor-autoloads transient-autoloads treemacs-autoloads autoload radix-tree lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr cfrs-autoloads posframe-autoloads ht-autoloads pfuture-autoloads ace-window-autoloads projectile-autoloads ivy-hydra hydra lv ivy-hydra-autoloads hydra-autoloads lv-autoloads counsel xdg dired dired-loaddefs compile text-property-search comint ansi-color swiper ivy delsel ivy-faces ivy-overlay colir color counsel-autoloads swiper-autoloads ivy-autoloads company-box-autoloads frame-local-autoloads company-oddmuse company-keywords company-etags etags fileloop generator xref project company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb company pcase company-autoloads which-key advice which-key-autoloads winner ring visual-fill-column visual-fill-column-autoloads wgrep-autoloads edmacro kmacro avy-autoloads use-package-bind-key bind-key easy-mmode undo-tree diff undo-tree-autoloads elec-pair minions minions-autoloads doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path rx f s all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons dash doom-modeline-autoloads shrink-path-autoloads f-autoloads dash-autoloads s-autoloads all-the-icons-autoloads doom-themes-ext-org doom-themes-ext-treemacs doom-themes-ext-visual-bell face-remap doom-solarized-light-theme doom-themes doom-themes-base doom-themes-autoloads finder-inf ns-auto-titlebar ns-auto-titlebar-autoloads use-package-core use-package-autoloads bind-key-autoloads straight-autoloads info cl-seq cl-extra help-mode seq byte-opt straight subr-x cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cconv iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind kqueue cocoa ns lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 420887 23959) (symbols 48 34109 3) (strings 32 119478 4553) (string-bytes 1 3924129) (vectors 16 64593) (vector-slots 8 958649 36362) (floats 8 1593 1052) (intervals 56 3043 2099) (buffers 992 26)) From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 12 00:30:56 2021 Received: (at submit) by debbugs.gnu.org; 12 Oct 2021 04:30:56 +0000 Received: from localhost ([127.0.0.1]:33142 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ma9RH-0005EM-UV for submit@debbugs.gnu.org; Tue, 12 Oct 2021 00:30:56 -0400 Received: from lists.gnu.org ([209.51.188.17]:49700) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ma9RG-0005EE-F4 for submit@debbugs.gnu.org; Tue, 12 Oct 2021 00:30:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46854) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ma9RG-000754-26 for bug-gnu-emacs@gnu.org; Tue, 12 Oct 2021 00:30:54 -0400 Received: from mail-qk1-x734.google.com ([2607:f8b0:4864:20::734]:41500) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ma9RD-0002OY-O2 for bug-gnu-emacs@gnu.org; Tue, 12 Oct 2021 00:30:53 -0400 Received: by mail-qk1-x734.google.com with SMTP id r15so10185937qkp.8 for ; Mon, 11 Oct 2021 21:30:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version; bh=Q8Ugtnbik1+9i30ZLhMOWTr105Hvyfo7wqig2gTYdVw=; b=Tm4yhtjh/+72hh7ansBSKAbUiFicMGSXvN3FxHxn0xf6xu00DCcrfrD7CJe6ffp8OK NmuIHdQoEUkK+tELNNcGCFBPI7oMLrVWkbhHw9NYYceRn0cLqyLmTvI+IbP9J0seS3sR h4XwTu0tOCaZxTixzEprb1+fIReym2Xd4ip2GGnZ9de+4o1Vr8WCQ6L9ZF40KULhr3Lz P1XMZXMZzFE28wBFEwB+Rdeqfzp9stQpr647h9xxLICisUp5zcTqf9Wc0xucOSxWbqH5 n1OighPtZN4OMJffPd0MxH4QjmfAri0rlGpn+lCU7aluI+wsmcqMQC+k2VxiMa55+9aV S+1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=Q8Ugtnbik1+9i30ZLhMOWTr105Hvyfo7wqig2gTYdVw=; b=j8r7qtSmE8Bs5vVYDCA2Jz+bKxg8x+WGiYiwa3vPLgXDf/pyqJGNq7yOAQHXGkxJ/V qH7pbpe30JUt/2KFbQtQHfoeSkjWneIswst/7/7FRAb1ezBaTSjFTre2tRdfLEQ7Tkde euFFl5XS6d7Gcwi/MSB/qjLMno2w7GAIo7sMAFXtz7YKGIRXs+FNHYyM7zGajmN4Hd6i /dwSNhnbhgQu/iY/+31CDnB8WOUqYcv98jW0NgX8Tqnw1P+Xb6GiJH3F2YExu1bo68m+ UY7PkWUtezW2LU1rNeH5ipN+QcU02/Q5OgiJTioPjkjbNwcQ/5uJjgg674hfbNMG5gYa d1Vw== X-Gm-Message-State: AOAM53130ydTV4d6++xHLuk5KBtPxgOIqjsKbEjfKAsD/Guadoti/llO Ky/Rl59DfqGts+mcbCvOzkKK5/TWBt06jg== X-Google-Smtp-Source: ABdhPJzXrGim328qcWJJJfOtnE4SDvMgv9iGGsy8oJBfv1WRtlsB/1KgedZxH1EKX34vWXMqqZDaMw== X-Received: by 2002:a37:aec4:: with SMTP id x187mr18419991qke.217.1634013048620; Mon, 11 Oct 2021 21:30:48 -0700 (PDT) Received: from Carloss-MacBook-Pro.local ([186.136.138.53]) by smtp.gmail.com with ESMTPSA id c6sm6156608qtx.72.2021.10.11.21.30.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Oct 2021 21:30:48 -0700 (PDT) From: Carlos Pita To: bug-gnu-emacs@gnu.org Subject: Re: 29.0.50; file-notify-add-watch not reporting changes of files References: Date: Tue, 12 Oct 2021 01:30:46 -0300 In-Reply-To: (Carlos Pita's message of "Tue, 12 Oct 2021 01:16:50 -0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::734; envelope-from=carlosjosepita2@gmail.com; helo=mail-qk1-x734.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) May be relevant, this is macOS so no inotify: Does Emacs use a file notification library? yes (kqueue) and: conftest.c:143:10: fatal error: 'sys/inotify.h' file not found #include ^~~~~~~~~~~~~~~ From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 12 00:52:44 2021 Received: (at submit) by debbugs.gnu.org; 12 Oct 2021 04:52:44 +0000 Received: from localhost ([127.0.0.1]:33180 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ma9mO-0005mu-2L for submit@debbugs.gnu.org; Tue, 12 Oct 2021 00:52:44 -0400 Received: from lists.gnu.org ([209.51.188.17]:55706) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ma9mN-0005mo-97 for submit@debbugs.gnu.org; Tue, 12 Oct 2021 00:52:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49594) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ma9mN-0003qZ-0w for bug-gnu-emacs@gnu.org; Tue, 12 Oct 2021 00:52:43 -0400 Received: from mail-qk1-x732.google.com ([2607:f8b0:4864:20::732]:36755) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ma9mL-0008J5-A5 for bug-gnu-emacs@gnu.org; Tue, 12 Oct 2021 00:52:42 -0400 Received: by mail-qk1-x732.google.com with SMTP id p4so18419292qki.3 for ; Mon, 11 Oct 2021 21:52:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version; bh=0huIIIN8KPJlvy1Nuf4hNs9hi7IbsQUJaIXB8g9OHcw=; b=InxPFbxiaEEbd8zopjSqu6wXJGG3/o8Og9ptxF9o/H6ptdqY4bXd0Ix1vWGMpPbd0Y LUSzfaLEnb2Ye0E8hUMJ0PBvn9VkSdAdiSimdL4gRF8VrOJkX1ZsNAHmLiEkRGt9k8FK olR7AknOzsscC0UjNvB1jk0fb2uBqaZlDiLeRnGlwI7zpPnFO0FV2hlJtOUPt+oPV/F6 3PP7sn+N2H7zvKAm59rz9wvc/gBBZib+5axRUb8wvcRaN6mHXHyYdXZAjZjjpCI4fP3a WDNPhFCW6vyYJZJVB/nF8YVB4d6yJxIB2ArPflQ9TgrDj9lcJ/ODZRgRvtvRL4x+pfyJ qZ3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=0huIIIN8KPJlvy1Nuf4hNs9hi7IbsQUJaIXB8g9OHcw=; b=fM+2Q0ulHqGzvZOnuL8TQSxARgalDwEZ0hEbYAn8/2uQ6x6chDw9J7agNXTDJ9jvkv BR1Sj7gnSH8qKGDdZEXGA+LFLqtUc7pTyA4Ft3BCr37hc2/32VkQaITHOqYFW6NgarKm 6DOnFIBW0orhytY+bHYO17aHb6Vr2B3mdTkz+9m/uLoLwVc/pbCdFDjN0mm/SQbia8iy afAVdSUf57z4bOAkL+tbCaePFCx8j8stQPT2lm7ZRBFXUYRc3blfPBWyh2HuOvMmrZWB knEOd2wHPMxRtP8TuIOqLRWOxbenL1IWNhi9PLq1GFWgSKQwmjasPBBxvEEHQFR30F7B jhLA== X-Gm-Message-State: AOAM532t1YzchZK5s8Y0QvE3zBR4RtnR9pBZPcVKKhcr9grhAJuBnUbB ojS8oGVOVbR5zG0MnZrrb3nWG1TjRs+QPg== X-Google-Smtp-Source: ABdhPJw6RAfNkxOfvdxUriL76vaLeYB4dswyzw9IeewttSbUZYTJCCAg6x+Yc0QbEfnpk5ay3ZCMUQ== X-Received: by 2002:ae9:eb8a:: with SMTP id b132mr3931917qkg.497.1634014360202; Mon, 11 Oct 2021 21:52:40 -0700 (PDT) Received: from Carloss-MacBook-Pro.local ([186.136.138.53]) by smtp.gmail.com with ESMTPSA id o130sm2510568qke.123.2021.10.11.21.52.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Oct 2021 21:52:39 -0700 (PDT) From: Carlos Pita To: bug-gnu-emacs@gnu.org Subject: Re: 29.0.50; file-notify-add-watch not reporting changes of files References: Date: Tue, 12 Oct 2021 01:52:37 -0300 In-Reply-To: (Carlos Pita's message of "Tue, 12 Oct 2021 01:30:46 -0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::732; envelope-from=carlosjosepita2@gmail.com; helo=mail-qk1-x732.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) According to https://news.ycombinator.com/item?id=9063910 the difference I noticed is in fact a difference between kqueue and inotify. This is the only disclaimer the elisp manual does wrt kqueue: Likewise, the kqueue library does not report reliably file attribute changes when watching a directory. So nothing about changes in file contents. Given that the documentation also states: Since all these libraries emit different events on notified file changes, there is the Emacs library filenotify which provides a unified interface. Lisp programs that want to receive file notifications should always use this library in preference to the native ones. I think that either this is a bug or the documentation is very misleading in that the library provides a unified interface. If it is a bug, it doesn't seem to be an easy cure, at least if we are to believe what was said in the referenced ycombinator thread. Best regards, Carlos From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 12 09:54:31 2021 Received: (at 51146) by debbugs.gnu.org; 12 Oct 2021 13:54:31 +0000 Received: from localhost ([127.0.0.1]:40224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1maIEh-0007pa-GI for submit@debbugs.gnu.org; Tue, 12 Oct 2021 09:54:31 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47734) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1maIEg-0007pF-4f for 51146@debbugs.gnu.org; Tue, 12 Oct 2021 09:54:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40166) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1maIEa-000887-S3; Tue, 12 Oct 2021 09:54:24 -0400 Received: from [87.69.77.57] (port=3125 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1maIEa-0004ya-Fn; Tue, 12 Oct 2021 09:54:24 -0400 Date: Tue, 12 Oct 2021 16:54:17 +0300 Message-Id: <83bl3uqrg6.fsf@gnu.org> From: Eli Zaretskii To: Carlos Pita In-Reply-To: (message from Carlos Pita on Tue, 12 Oct 2021 01:52:37 -0300) Subject: Re: bug#51146: 29.0.50; file-notify-add-watch not reporting changes of files References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 51146 Cc: 51146@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Carlos Pita > Date: Tue, 12 Oct 2021 01:52:37 -0300 > > I think that either this is a bug or the documentation is very > misleading in that the library provides a unified interface. If it is a > bug, it doesn't seem to be an easy cure, at least if we are to believe > what was said in the referenced ycombinator thread. IMO, this is a bug in macOS: the kqueue feature is incomplete and unreliable. I suggest to file a bug report with kqueue developers about that. I don't see how Emacs can do anything to improve the situation on macOS regarding file notifications, as long as macOS doesn't get their act together and fix this. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 12 10:42:02 2021 Received: (at 51146) by debbugs.gnu.org; 12 Oct 2021 14:42:02 +0000 Received: from localhost ([127.0.0.1]:46184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1maIyf-0003ot-JQ for submit@debbugs.gnu.org; Tue, 12 Oct 2021 10:42:02 -0400 Received: from mail-yb1-f182.google.com ([209.85.219.182]:45047) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1maIyZ-0003mp-SH for 51146@debbugs.gnu.org; Tue, 12 Oct 2021 10:41:58 -0400 Received: by mail-yb1-f182.google.com with SMTP id s64so47141646yba.11 for <51146@debbugs.gnu.org>; Tue, 12 Oct 2021 07:41:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=w2XsJwrUh8e14YbSlqnR2AGOcuphTvfKiY3ivQxu1m8=; b=KW12H59rnsRCTb0Xp5KKxFgcdAp6+tC1vKRdipAyP8YL7Vo3tgAc5/cIAZdr9eA1rZ Ca9IXz0/a7Rm7AT3ltZDKl72ANbYNHm/r8vzYYsgyKq27tm134BUdottmhTdhq0LMzXE w1GE3HCGVOmV/gTFBpP5heOk7j4oT07i4o86Z32YyMZWiAfCvaiAsYMxSUVEJ3WpR9/H q0LbArkyLXuoQbSvKkjfLVWtNWEkUKTwiWcAAYlJJ6UI8yV/Rz8+onrYlxbyqy/i6t/N O/ed5BUiS+WSPMqcA73znVg9UpLVmalo26pEVbazKwmc6WhQPrabH2m1NBOBOZAWt1An s8fQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=w2XsJwrUh8e14YbSlqnR2AGOcuphTvfKiY3ivQxu1m8=; b=wy42+TZDtNyRGlMBwUlV/UJwKarJ5WC2qHWJF41bfv4DTD7NwlmuAPrj20wpj66BCk nqoKEEQI4WO18Yz0HLwy48tVE/UqDm2rHBLE+mZ9OykQnVh4Tsgb0h33CSMZ8D8LwSME /YrZpig/AqxkZmhkNINvPQ9c3xVxYU6+OOpbNzPPysrPcHs/be/Syo3q7aC2jACNvEQe XU5BgAwKsWDxxLuojDFfWQg+uIlIQ30nhMo1kxzsLcrlm4K+z6DJjninBBr/6qXz9aTQ RlPpDtKEmmo0SU3f+1flT3KZnT2QQMT6m/nKbvf8BD3I0/AzCoVoe/aml+8eGNNLWzra flbw== X-Gm-Message-State: AOAM531GZEJUip4ipjhsClLrc+IDyaCc6ryhzKd/2arwAF49+g2F8p25 c0WRwoWlBhgjSODkGE9WTM7UINCmnUsxpUGVOQwLZjeUuCo2fA== X-Google-Smtp-Source: ABdhPJydAstozInxsuEPoEO+vQ5wa5PBas+vVZ+RbsYqWiATeRNSnhtLuXwJxzZ/DRP31m3/gUbSug7dB6trPwQg1XY= X-Received: by 2002:a25:e7d7:: with SMTP id e206mr27509673ybh.267.1634049707861; Tue, 12 Oct 2021 07:41:47 -0700 (PDT) MIME-Version: 1.0 References: <83bl3uqrg6.fsf@gnu.org> In-Reply-To: <83bl3uqrg6.fsf@gnu.org> From: Carlos Pita Date: Tue, 12 Oct 2021 11:41:36 -0300 Message-ID: Subject: Re: bug#51146: 29.0.50; file-notify-add-watch not reporting changes of files To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 51146 Cc: 51146@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Hi Eli, > IMO, this is a bug in macOS: the kqueue feature is incomplete and > unreliable. I suggest to file a bug report with kqueue developers > about that. I don't see how Emacs can do anything to improve the > situation on macOS regarding file notifications, as long as macOS > doesn't get their act together and fix this. I agree there's not a lot that Emacs can do here. I disagree in than it's a bug in macOS. Although I'm not an expert in the matter from what I have been reading this is a fact about watchers implemented on top of kqueue. See for example this remark in the documentation of fswatch [1]: The kqueue monitor requires a file descriptor to be opened for every file being watched. As a result, this monitor scales badly with the number of files being observed and may begin to misbehave as soon as the fswatch process runs out of file descriptors. In this case, fswatch dumps one error on standard error for every file that cannot be opened so that users are notified and can take action, including terminating the fswatch session. Beware that on some systems the maximum number of file descriptors that can be opened by a process is set to a very low value (values as low as 256 are not uncommon), even if the operating system may allow a much larger value. They also present a number of alternatives: - Consider raising the number of maximum open file descriptors. - Consider using the (--directories, -d) option. - Consider using another monitor. The --directories option: Request the monitor to watch directories only during a recursive scan. This feature helps reducing the number of open file descriptors if a generic change event for a directory is acceptable instead of events on directory children. So it's not a strategy that fully addresses the problem and, moreover, it will miss directory changes that are part of the contract of file-notify-add-watch anyway. Besides the aforementioned problems of scalability, watching each file would lead to a more complex implementation that updates the list of watched files each time an add/remove event is detected. Is there is no other option I sympathize with the idea of leaving emacs alone, but the documentation is still lacking and should be very clear about what to expect in the case of kqueue (as the documentation quoted above is). Also the documentation in the manual and in the docstring should converge. Best regards, Carlos --- [1] http://emcrisostomo.github.io/fswatch/doc/1.16.0/fswatch.html/Monitors.html#Peculiarities-1 From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 12 10:52:41 2021 Received: (at 51146) by debbugs.gnu.org; 12 Oct 2021 14:52:41 +0000 Received: from localhost ([127.0.0.1]:47055 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1maJ8y-0004ll-Pa for submit@debbugs.gnu.org; Tue, 12 Oct 2021 10:52:40 -0400 Received: from mail-yb1-f170.google.com ([209.85.219.170]:40764) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1maJ8v-0004l5-S9 for 51146@debbugs.gnu.org; Tue, 12 Oct 2021 10:52:38 -0400 Received: by mail-yb1-f170.google.com with SMTP id n65so47182711ybb.7 for <51146@debbugs.gnu.org>; Tue, 12 Oct 2021 07:52:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=igtLzoG63Eo8sDVKBWB50Zx9Vf8DWbvecGVTpZedFMM=; b=PAjfBPAcMT9mjsjfwfi+ymxWXyK5e2rvkuArvTH7Je0wmVYpge3oDnm0q3KzQlhCIC gvo6xLXWeB4K0kc6GtSbzLDr37yY334Ano9fwwUG4kU477FKmWOPkcfENyDAzAURUS0t m4UeO4XSuFYNul+cBfXnymFwq4S5jYp90Yt96FVo3yT5ApA4gMHvAokJyFfw8RW8/iGP qV2eVMrjcsjPXBJFNECeKLfyW6d0MO/zxQCsohh1r+7CzvdVot5SKcAfAfQfHaj19pz7 2GkJjtR9njC1jrAGQDWnYbCAs+ycmk0MEAwsYYf0Tl0KWER3UHSUunRfcb3BJeS9buoB A4VA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=igtLzoG63Eo8sDVKBWB50Zx9Vf8DWbvecGVTpZedFMM=; b=ZuSXxmAsDPrn4aDSwLDEpZ/5l3PpgduJR0CBdWPxk6Z3FV18qB385DNsT4bXsb3U+6 3DTkiyxjDREt0aacZhuD70yTbe0GI32fJhZ3UHPJjR9TUSzGDeNGAQNhYgiMd/ttyFVn NSZ3aTt9f+0MyFueBuDL11A/euUcPU8i0KdNgOkhah1H7PE1J4g2Mb7ozT95AgTfFekE cxMe+IRpgeNtOAjRe0TGjcL6vqnfb4SKd7UNVmj8Sn2g7pwJDQYcRMNYUEzzmNmtRCbw 8nXiOn3JspAqR/JpFqK6aNCMdd8/Bjc2HUWxHd3Ok1Gu3foz9ioEwT+HdmRjBWueWo/m 4Whw== X-Gm-Message-State: AOAM533rsqjfYv4AzIMiWBzmyPjdXmZv3iaZ38JZE/oipxJnMHbE0mJn qk6pQjaPPjsTmWJtblO+w9sIW9S49q+ZyUTwbD/WfpGli91WRg== X-Google-Smtp-Source: ABdhPJz9z9gpT/fPjFZHITtZs2TU7z+/0Aehtot6bn+EcvFKilsDAqORWP/5w4G2suIzraymkIQQtE2GLl3wjxmaRfY= X-Received: by 2002:a25:49c3:: with SMTP id w186mr19903256yba.429.1634050352341; Tue, 12 Oct 2021 07:52:32 -0700 (PDT) MIME-Version: 1.0 References: <83bl3uqrg6.fsf@gnu.org> In-Reply-To: From: Carlos Pita Date: Tue, 12 Oct 2021 11:52:20 -0300 Message-ID: Subject: Re: bug#51146: 29.0.50; file-notify-add-watch not reporting changes of files To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 51146 Cc: 51146@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) That was about kqueue, but in macOS there is the FSEvents monitor: The FSEvents monitor, available only on Apple macOS, has no known limitations and scales very well with the number of files being observed. In fact, I observed no performance degradation when testing fswatch observing changes on a filesystem of 500 GB over long periods of time. This is the default monitor on Apple macOS. So this seems to be an option, either directly or through fswatch. From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 13 03:45:35 2021 Received: (at 51146) by debbugs.gnu.org; 13 Oct 2021 07:45:35 +0000 Received: from localhost ([127.0.0.1]:57876 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1maYxD-0008GM-9o for submit@debbugs.gnu.org; Wed, 13 Oct 2021 03:45:35 -0400 Received: from mout.gmx.net ([212.227.15.18]:57655) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1maYxA-0008G8-0V for 51146@debbugs.gnu.org; Wed, 13 Oct 2021 03:45:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1634111125; bh=tK76Lyl9q07eiZxWCOq/WDDB0xZ7d++vMzphz13G3Ps=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=gtlGV9VjaydFbbNesTS4rwwO0MGEmyCh3ceOEjVq+q32j2HSW9B70ASaltuCIQXA6 bKrq/flRQS/S54HUe80L1ogR9QmmbjsuKC2yGe+EjhZTVnR7P8KJg06ToAahF6xbJ8 UdOHKUV0tkELERzLjR8m2koHGZIiR8NM2xDPkOH0= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([212.91.242.175]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mplc7-1n6daK0PDp-00q9qS; Wed, 13 Oct 2021 09:45:25 +0200 From: Michael Albinus To: Carlos Pita Subject: Re: bug#51146: 29.0.50; file-notify-add-watch not reporting changes of files References: <83bl3uqrg6.fsf@gnu.org> Date: Wed, 13 Oct 2021 09:45:23 +0200 In-Reply-To: (Carlos Pita's message of "Tue, 12 Oct 2021 11:52:20 -0300") Message-ID: <87k0ihxt9o.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:H3Y4V/NFUG9gSNziusoQmnP/IP27JmkdAmaaMAaLnKymf/rquyy nPIOrRFB672IFgOTyymSEaQ8SrWQc8wzWXc+TgkCAQKvKDfjnLhxtfv9C2CG9AADhlZDFJK LFJVlEi4RHH1tY10gHYzK+FKhR0pRzIkbVeQ2pmHhk3jzFAGey5z+KL39SD5thA/WY0ifLn 0f4RRneErZDZTo+aRqadg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:zrjCAIkpCYQ=:wLAuVvchn3qD1tAtA+ctTH +tmQmayWz8l6Qqy1Oeu00DNeavARMptBUKf5xcwgniXLw7ycY4ndU9s6WiroMz7NaAjnM1wIV 082cmVGUQZVFPV6vACrU204DEvO389C6DGAVxvjw4+Pki/AbPqIo7zKwiRAS6rHumsbKZz1yg 9mIf9i38E36mmEVhaXeXCyDZhs5cKZSEE8hLnWGttPogQQx7goL3W5iGn8vLk7Wl9PilMH9No VS3COiItW6XLxmDVIC0XTHZuCkYPaC7iIMOTNQ8r09Lgc4I6hKI8IAnZJNFyI6+7Dbjh4QS+Q 0M4ENnmjiu9MIqCy6iScufimAZ45eInjiXbIDgOZmXeHqC6RMXn+PNP1SpQl6iVeCBqxTJPir Gq25n24kb9XSj2GUe0kSryr8NaQ41mVuUCGJ4lWCvyKOV1ShgQVtylA585zr0WQOJJ8PsMD4R N/w/BoA24NeZvhbYozP/fP1U1NLSBBjKmav/U3BgkHKiB/RzPB2UjZlcWHstaCoinki5J9mFZ XxoE/cBvGFhcF5px2/p7kkjN3QmpyGa0pAEL6G6Q5hOkmTLoVH/FP3NuSGkvF8fra2MWXsz/0 nYFfggB4aOfE5X54TI1bIW/82njJysvynJqGwxbqU7QI/qDamcFUbGh+dpsp2DnNXXtT+2toE H7s31+5E7SWP1+mHBqjOniVhCT7oSrG+Y3jte7ptbdtXZuCEPNdEHhiXGeIdGw8CUDw8QKAYC YH3jdGcQpgZVjW+99xGVb/+1rd/1j5yMIO9AJmlsqTRjOsI8V6IitAPTjW1d/RAIoD1I+Lbxt FOytlKkAtZyVALp/FkfyWzENhBvcZ/+t8GIEtiP66pZ/wlF7EXq132UkQy38m5UcMA6lkwSuE linWOKXAtWV6vRypHoSUsU2pSh3U8ylvVpI33D2L56wVuuSCPMRElarSkfOrUiv+Tgf3cweN0 XuO3Zyuy7P186DCGdmKMs1UULblFZtemKK6mE69EKNQZ9TGAPnO/5D2za+/6OnmBEMxB2eG1c 1tCvcY5gcXwGArfROh7kepLkcj+ESuw3km8tmBbEyW78pf2KRCJtBhpxFydXxs2l4EHT4m2wd qVE6ThHgoNMnME= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51146 Cc: Eli Zaretskii , 51146@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Carlos Pita writes: > That was about kqueue, but in macOS there is the FSEvents monitor: > > The FSEvents monitor, available only on Apple macOS, has no known > limitations and scales very well with the number of files being > observed. In fact, I observed no performance degradation when testing > fswatch observing changes on a filesystem of 500 GB over long periods > of time. This is the default monitor on Apple macOS. > > So this seems to be an option, either directly or through fswatch. Of course. I wrote the Emacs kqueue support on top of FreeBSD. Likely, I won't write something macOS specific, since I have no respective machine, and I'm not interested in. Somebody else must do the job, if required. (And I will analyze your bug report in detail next days, as time permits). Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 15 08:07:04 2021 Received: (at 51146) by debbugs.gnu.org; 15 Oct 2021 12:07:04 +0000 Received: from localhost ([127.0.0.1]:38370 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbLzM-0003t5-Bn for submit@debbugs.gnu.org; Fri, 15 Oct 2021 08:07:04 -0400 Received: from mout.gmx.net ([212.227.15.15]:46063) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbLzJ-0003sU-7d for 51146@debbugs.gnu.org; Fri, 15 Oct 2021 08:07:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1634299612; bh=A3vDHU0tWxsTFT/Pz4NBi2RT+2Hmi/js+MHbKtML4ZY=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=P0/rRjwqNoiBEjGdu4ArJn5w5ATjp2w5WcW+nLOlgjRdbdRXChkKjtlOPc/o/iMCS qeXzaEo9XoLyAkleGWVszrT/wr19KMeAwG79iFKqrQybObXrDNQzjjwp2wDuhfx+C3 j5uyi5YDIpPFTvNBRvIibJqhf8YZY4B8h1AQE/qo= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([212.91.242.175]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N6siz-1mnlT9200F-018IWa; Fri, 15 Oct 2021 14:06:52 +0200 From: Michael Albinus To: Carlos Pita Subject: Re: bug#51146: 29.0.50; file-notify-add-watch not reporting changes of files References: Date: Fri, 15 Oct 2021 14:06:51 +0200 In-Reply-To: (Carlos Pita's message of "Tue, 12 Oct 2021 01:16:50 -0300") Message-ID: <878ryujxus.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:zf9E9QdM6DOfUXi9Uk8p7/YL2hbSUCviun5JngOsqKlxeJQLKEd hJSvd7GrNFwQeg0s/wx8G6SqFWA5PtoT+l1cxWwJMvg4V4lxqmcT8L1FXtfTJBLygGBGLjS oX/cKrL2TXbrF2q8A74fW36iHzu2SFnYFykbx7s/5bRwK0HkKszwdvq95htwzQC7wbfNvMF VVJWhmUbWCm91TrXd5X9g== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:BD8OOZR33jI=:IqTgec3noCeX9GwiX84ht5 XvWuE8HhLmzTguO0lHlA5mhTW18x0Qn7sNGhgnLOpsIJKJ7CUMP8+DPQRb5rC6PSFMPns63Al vvvwFENvQpu5gmsxTFgNFDq05wddCoPWmqJBAF3yNTIL3zvBjxPMJjiOTRwkIT8dlFcoj+Twy XPmyHpl8QxPXG1rNBCA2982qqED23si4kR5elyBrl9wM1Ykkk6Nq3xSkFai60St0Pndp2G2oz 05/PEIYvEPAAf4fjmniTFBt/K8M6ugJIPwu7fbjBgDhbYym3+I5o9sTiO5KD+ikVN9a4vo0Sg Ife6wgBYH6fR30HXEvPNcTULsZ8U9NK6bOhmnmBMBXVwVSktk2Z3eb2pz6RwgkmZEliHVba7/ SvSlwnSk25vwK1imTScL84CGUn1SfGnddDU2Tfu/3R3VltzIUst4cP57C3gLo2L+qzIYncLJJ GRcepSocVRz3XpwlkN7SU8od1sR97jfFsCjeH6B435MfqGHRqZczVHWDmYkPHZ5CAfCWO6kGu 2/2wb82WGgjf9rIjbvgvanNgcX9t22TFPBmktQoXMV/8YLb+Yvx8BGje6clRDRAipgqD8mZLl MF4Zb40ijwlnrLr3ym/mtrMhOlyCNWmeibEHbOAS0mCDd4RsKXUNNMI0xJeea4cE1v0AU3LAQ bje2QvbFn9cLq+MMQNnWxgL12b1Tt6KHZdjdpBxeoWq44hNMbWrNTzlRmUIebmPIppeVAMMaO RQVjyi82nsCVxl/cEe2Yon2r0rJVfdlD+xAyVyVDapM5ghSFGigT+FyzymXn8zJ5ZDpytqK8M l4WFFEKDE7vArS32D4A6s2QjIuEImkOZSAqLcwPO58ZBzWTN89/QUZEXU00ZBy4Oza5yV+1Xo UXWdeilliGv3/Huu/mlv7KUAFE+pae9KcgUy5eurAaJwmEVtIIDFNQhSRkFazvan+hcmIPaZf aAvBNWS+Cirv+ZPtL7/m5mOH03l9wJ7nQ6a2g3VsPTXsNYSUoIuYjcamlcQjOqaUBsFJ1mVWP RbgnR71uFekrM5zqBnLgtaCseXf0CQStiM6kxsmjbYrYTg05i+go14q+UoLzsEVozhRvgjJjM HqoJJTvQUW2uy0= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51146 Cc: 51146@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Carlos Pita writes: > Hi all, Hi Carlos, > the docstring for file-notify-add-watch states: >=20=20=20=20 > If FILE is a directory, =E2=80=98change=E2=80=99 watches for file cre= ation or > deletion in that directory. This does not work recursively. > > OTOH the elisp documentation in [1] states: > > If file is a directory, changes for all files in that directory > will be notified. This does not work recursively. > > So the statements seem contradictory regarding the notification of > changes in the contents of the files (not their creation or > deletion). In the most lenient interpretation, the docstring may be > considered silent in this regard. Well, the situation is complex. We have 6 (in words: "six") different file notification libraries: inotify, kqueue, gfilenotify, w32notify, inotifywatch, and gio. The two latter libraries are for remote file systems. gfilenotify / gio know different implementations, called monitors. Until now I could test 5 (in words: "five") of them: GFamFileMonitor, GFamDirectoryMonitor, GInotifyFileMonitor, GKqueueFileMonitor, and GPollFileMonitor. Likely there are more. All of them behave slightly different. filenotify.el is the attempt to harmonize them, especially to let them fire the same events. This has restrictions. If you want to get an impressions, I recommend you to read test/lisp/filenotify-tests.el. > This little experiment shows that, at least in my setup, a change in the > content of a file is not notified: > > (defun my-watcher (event) (message "Not in my watch: %s" event)) > > (file-notify-add-watch "/tmp/some-dir" '(change) #'my-watcher) > > Then: > > touch /tmp/some-dir/x =3D> Not in my watch: (18 created /tmp/some-dir= /x) > echo dsds > /tmp/some-dir/x =3D> Nothing > rm /tmp/some-dir/x =3D> Not in my watch: (18 deleted /tmp/some-dir/x) Running your test with some of them shows: inotify =3D=3D=3D=3D=3D=3D=3D touch /tmp/x =3D> Not in my watch: ((1 . 0) created /tmp/x) echo dsds > /tmp/x =3D> Not in my watch: ((1 . 0) changed /tmp/x) rm /tmp/x =3D> Not in my watch: ((1 . 0) deleted /tmp/x) kqueue =3D=3D=3D=3D=3D=3D touch /tmp/x =3D> Not in my watch: (9 created /tmp/x) echo dsds > /tmp/x =3D> Nothing rm /tmp/x =3D> Not in my watch: (9 deleted /tmp/x) gfilenotify (GFamFileMonitor) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D touch /tmp/x =3D> Not in my watch: (8590168344 created /tmp/x) echo dsds > /tmp/x =3D> Not in my watch: (8590168344 changed /tmp/x) rm /tmp/x =3D> Not in my watch: (8590168344 deleted /tmp/x) w32notify =3D=3D=3D=3D=3D=3D=3D=3D=3D touch c:/Users/albinus/AppData/Roaming/x =3D> Not in my watch: (64958367448= 4 created c:/Users/albinus/AppData/Roaming/x) echo dsds > c:/Users/albinus/AppData/Roaming/x =3D> Not in my watch: (64958= 3674484 changed c:/Users/albinus/AppData/Roaming/x) rm c:/Users/albinus/AppData/Roaming/x =3D> Not in my watch: (649583674484 = deleted c:/Users/albinus/AppData/Roaming/x) inotifywait =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D touch /tmp/x =3D> Not in my watch: (inotifywait created /ssh:gandalf:/tmp/x) echo dsds > /tmp/x =3D> Not in my watch: (inotifywait changed /ssh:gandalf:= /tmp/x) rm /tmp/x =3D> Not in my watch: (inotifywait deleted /ssh:gandalf:/tmp/x) gio (GKqueueFileMonitor) =3D=3D=3D touch /tmp/x =3D> Not in my watch: (gio created /ssh:freebsd12:/tmp/x) echo dsds > /tmp/x =3D> Nothing rm /tmp/x =3D> Not in my watch: (gio deleted /ssh:freebsd12:/tmp/x) gio (GPollFileMonitor) =3D=3D=3D touch /tmp/x =3D> Not in my watch: (gio created /mock:win10:/tmp/x) echo dsds > /tmp/x =3D> Not in my watch: (gio changed /mock:win10:/tmp/x) rm /tmp/x =3D> Not in my watch: (gio deleted /mock:win10:/tmp/x) > So according to the elisp manual this is a bug, but according to the > docstring it seemingly isn't. I'm with the manual in this one. In case a directory is watched, creation and deletion of a file are notified. Changes to a file are notified depending on the underlying library, in short everything which depends on kqueue does not notify such a change. I will adapt the docstring of file-notify-add-watch as well as the elisp manual accordingly. > Best regards, > Carlos Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 15 14:43:44 2021 Received: (at 51146) by debbugs.gnu.org; 15 Oct 2021 18:43:44 +0000 Received: from localhost ([127.0.0.1]:40417 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbSBD-0008U6-TF for submit@debbugs.gnu.org; Fri, 15 Oct 2021 14:43:44 -0400 Received: from mail-yb1-f181.google.com ([209.85.219.181]:41883) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbSBC-0008Tq-Al for 51146@debbugs.gnu.org; Fri, 15 Oct 2021 14:43:42 -0400 Received: by mail-yb1-f181.google.com with SMTP id s4so24887014ybs.8 for <51146@debbugs.gnu.org>; Fri, 15 Oct 2021 11:43:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=0WON3/3rIBTGI0pwIlUhClHqk68XkjclRJ04761SGwk=; b=eJ6hx+MjW7Tq5nJYYKS+gRqN7kpfQKhGx64KnK9cDcuVG12y5HBb1p1zjNySBJkptK wwlbowSUZqla+jSVUQVyY7GpBBgvhRPuovioWSg09D5vfoG9LRvUMdh//g6UcCOEjzPS G6SseJLL1UO2YOmU4VIFmoKHR1fdFWBYMUkY6EJhQCDZTC+TcFgRqz2BKcOBioXYQnZK jCtmLdsFPJAcO5TvrL1xcO3mDj1Iwtk+K115XMSiqmUyItDOmPJ4K8xLqUHhqSONsELA oaJhk+XbfCV8XHfAflhzSd/aSsX7+AMykpVGz5h40mNKU7qRBeglaxcwO79rQIkfjkWu B1+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=0WON3/3rIBTGI0pwIlUhClHqk68XkjclRJ04761SGwk=; b=qmUm5CG1w20zGWnPCYyTXlXr4KhFk0LLeC0FjKdzYQWm6qPiO2E6OBfuRnLEWF28qe R7+eEMLh3S6DN4aMEJUgaS0QUkCPiJuC+/f1TwSA5phG01y9EOg0nXBP7OIHlTarqE8J dOnwdqCs+1NjOHYLeMK9MSn0GC/fZjSghwBXcRxPdfcTFfIxA4fsak+9bogWCD+qE6aZ U9YS8QZyS+RwtcGwniM8JRI8P15J6MFoOdmU82qAD1V7UmeIY0eD0EaOED5eDuDphqpx iwAEC+QTx77+f9qOvOLiz+99LefunCukagFpi2e+H0lpGw0v4SADJ3Qx5c5zVBB4esVJ B0dw== X-Gm-Message-State: AOAM533BqMozkd+6bdP8YdMhueVvdAFJX9Ayyjimnn29ssbbe633i3Wc prmHVzLueVW5ltS2M+XUjCvDc/0FCQIzH/6LYbSqpIc3ab4= X-Google-Smtp-Source: ABdhPJz5T/RFNuaygiETK/drZJKGm69q7+O8m9jv3k14cBTnFMbBd3zGaJXwA59LKcJWi0iv87IhEUpqfbCQYygIBEo= X-Received: by 2002:a25:49c3:: with SMTP id w186mr15173544yba.429.1634323416780; Fri, 15 Oct 2021 11:43:36 -0700 (PDT) MIME-Version: 1.0 References: <878ryujxus.fsf@gmx.de> In-Reply-To: <878ryujxus.fsf@gmx.de> From: Carlos Pita Date: Fri, 15 Oct 2021 15:43:23 -0300 Message-ID: Subject: Re: bug#51146: 29.0.50; file-notify-add-watch not reporting changes of files To: Michael Albinus Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 51146 Cc: 51146@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Hi Michael, I highly appreciate your detailed explanation. > I will adapt the docstring of file-notify-add-watch as well as the elisp > manual accordingly. Thanks, this should be enough, it's clear from the above that there's only so much emacs can do in order to pull off the illusion of a common interface. Best regards, Carlos From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 16 02:53:22 2021 Received: (at 51146-done) by debbugs.gnu.org; 16 Oct 2021 06:53:22 +0000 Received: from localhost ([127.0.0.1]:40821 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbdZK-0003Q5-Jm for submit@debbugs.gnu.org; Sat, 16 Oct 2021 02:53:22 -0400 Received: from mout.gmx.net ([212.227.17.21]:37961) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbdZH-0003Pn-Gl for 51146-done@debbugs.gnu.org; Sat, 16 Oct 2021 02:53:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1634367192; bh=y6AlE0LlcoR5apAyIjuMabah6wsxQvikgs07gfSLXj4=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=Qglcee5eNfSDpol5v0mZVNyc3hwIwI+FGj8hk6v3vBDGEte8pJZodImiQuTqb9Tpf q50t7EXNlF1pG0KDYxP2w3CZ/FXE8nmn/ukOS0Igd8I6mx+FZL7LkOMCYVs/1nSOTX gdKbSgith8BqS4xSQhUiqjJpiPG0+InGwezym9zU= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([212.91.242.175]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MOiHf-1mMypD22QR-00QCNZ; Sat, 16 Oct 2021 08:53:12 +0200 From: Michael Albinus To: Carlos Pita Subject: Re: bug#51146: 29.0.50; file-notify-add-watch not reporting changes of files References: <878ryujxus.fsf@gmx.de> Date: Sat, 16 Oct 2021 08:53:11 +0200 In-Reply-To: (Carlos Pita's message of "Fri, 15 Oct 2021 15:43:23 -0300") Message-ID: <874k9hjwa0.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:d4i6yFTEuwelc3wyBOs3O6FK8qb726+w83mN1OEx52hYnn+YF5k 8k2g5Lt5uu6Q1afOAkGsI/IgzU6wJzv3dwU+X54dJYfogJ6oef+y7Nmv/5/dg7XZGfE5uNN wOBCUgmlCs6wm7wUR6Uz7xuAqf7aOTRLYbeELWcRjwCnmLJmKRd9pRvY0JtbyauqrTHj9jo EpAuR1RptsXc0oHmqQZIA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:U3Tnwe5Sgvg=:iA7Cx/A/Fj4KGYZs9xtwVI qmH5le6r14XduJ9c1UbNe1KHdaGv58QQOTuTnDSi7Ru73I3xJcXL9wqllvx+YhFDLg/Vv/zZh lJeHCnPJ6FW3n1UneU57FnPqsWspnSrAn9+9w1wdcifOpRDGA6AkVTdZUMzlIJrKg+HJRL5/P Y0Tt/DQwDeyH/znSLPRmiXx5EksaupUPHcW1k23r/sPWY3rc+hQ7O3LgX5FfiKv13710TewN0 N1Pcz14QXex5pdxPrKEIVgeSY8NI9oY9tZHglO2D/LoPxo6Dd86ssCkLrOtEzl5/oY6waJo8Z Dr3rpjXWGNwr8ntp2HYWHA8WhOARmm0ozpr17TePsry+ep8kulLRPNLYZ7XhTGkyWnZxmr2/D 69TpsFoI/HZoax7YyjOdj6TbgzcFq/vVCcADDV2Za3q6PZRlcIDcap56InDX0wI//daflVhqG HeVYlqqoK46JE/CAoFie7VCCnt+/16o9XEo2tg4yzdO/5h4zg45Cmr8tv6vhmpVRpbLRBaV5/ RgASX0WNm4oKyKrrtjrC4jMAMQYT+e+w818GMBoYjJqWgvSMnFy0ZUkLVQhxwmTn+ixZF4XWq bEVNgmBAd+UKLb1t3yaOEj65d9QZSzaN/Q/XOARCpTo6VhLlB3nggqbweQcFsBZyyx9vcchsJ CEmSofQ2r7G5TQuHG3KqORnYSvLyhMBp5KIj/428vK9da0217Y5ZQ2jTIKPlqJVm+xmmBj8Ca lD7xVOCHfpA6U3H8SzoM99MidTJe2jwBprQBKaLImPIUK/YlrxSsITY3SvLy4X1ZKnZx4KEA+ z/afAZIixB+OeFP71TyeFGK//CJtx+26efKVMKPycmy6uHYus/GON7fMP6VeyEw1zBNvxacKf RxS/OeB2TcekNETr41X77ehq4Feht7O/nL4DAFf8RadqAJuDTrUr/3slef///czucSibxFSiw pojPSpD0s3CDrGBfttYGKKyM8AaVL4NVXdDADSdFuedQqX8wNdL2BJoBEOe5vYW50U2RvXzew NfwSRd3mO4lCMARtgSjcwjFB4YIVjEssRP5zcjf3szQ49G5w7FZt8S8g4NlTwenHO9950uigg KEs0oCaStLuaaA= X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 51146-done Cc: 51146-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Version: 28.1 Carlos Pita writes: > Hi Michael, Hi Carlos, >> I will adapt the docstring of file-notify-add-watch as well as the elisp >> manual accordingly. > > Thanks, this should be enough, it's clear from the above that there's > only so much emacs can do in order to pull off the illusion of a > common interface. Thanks for the feedback, I'm closing the bug. > Best regards, > Carlos Best regards, Michael. From unknown Thu Aug 14 22:14:38 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 13 Nov 2021 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator