;;; -*- lexical-binding: t -*- ;; ;; this file: ;; https://dataswamp.org/~incal/emacs-init/misc.el (require 'cl-lib) (require 'url-parse) (defalias 'ps #'list-processes) (defun valid-url (url) (let ((data (url-generic-parse-url url))) (when (cl-struct-slot-value 'url 'type data) t) )) ;; (valid-url "https://dataswamp.org/~incal/") ; t ;; (valid-url "dataswamp.org/~incal/") ; nil (defun add-one-shot-hook (hook fun) (let ((name (cl-gensym))) (setf (symbol-function name) (lambda (&rest _) (remove-hook hook name) (funcall fun) )) (add-hook hook name) )) (provide 'misc)