bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#29450: 26.0.90; No check for nil in some filenotify functions


From: Glenn Morris
Subject: bug#29450: 26.0.90; No check for nil in some filenotify functions
Date: Tue, 09 Jan 2018 19:28:52 -0500
User-agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)

Eli Zaretskii wrote:

>> From: "John Wiegley" <johnw@gnu.org>
>> Date: Sat, 25 Nov 2017 22:18:07 -0800
>> 
>> The documentation for find-file-name-handler says:
>> 
>>     find-file-name-handler is a built-in function in ‘C source code’.
>>     
>>     (find-file-name-handler FILENAME OPERATION)
>>     
>>     Return FILENAME’s handler function for OPERATION, if it has one.
>>     Otherwise, return nil.
>> 
>> However, several of the functions in filenotify use the return value of this
>> function without checking if it's nil or not:
>
> Maybe I'm blind, but I cannot find any place in filenotify where the
> handler is used without checking, including in the case you show:
>
>>     (defun file-notify-rm-watch (descriptor)
>>       "Remove an existing watch specified by its DESCRIPTOR.
>>     DESCRIPTOR should be an object returned by `file-notify-add-watch'."
>>       (when-let* ((watch (gethash descriptor file-notify-descriptors)))
>>         (let ((handler (find-file-name-handler
>>                         (file-notify--watch-directory watch)
>>                         'file-notify-rm-watch)))
>>           (condition-case nil
>>               (if handler <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>                   ;; A file name handler could exist even if there is no
>>                   ;; local file notification support.
>>                   (funcall handler 'file-notify-rm-watch descriptor)
>
> What am I missing?
>
>> I've been getting several errors with a backtrace like nil(48). This is 
>> likely
>> because some package has done something wrong, but even still, filenotify
>> should be more defensive.
>
> Can you show a full backtrace like that?


Any update?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]