From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id iO72BZ2i82LOAQAAbAwnHQ (envelope-from ) for ; Wed, 10 Aug 2022 14:20:45 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id GGsOBZ2i82K1JgEAG6o9tA (envelope-from ) for ; Wed, 10 Aug 2022 14:20:45 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id BDCF52611C for ; Wed, 10 Aug 2022 14:20:44 +0200 (CEST) Received: from localhost ([::1]:34444 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLkhX-0001Ui-FP for larch@yhetil.org; Wed, 10 Aug 2022 08:20:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38492) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLkeo-0000qQ-Ok for emacs-orgmode@gnu.org; Wed, 10 Aug 2022 08:17:55 -0400 Received: from ciao.gmane.io ([116.202.254.214]:53936) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLkem-0000ui-RK for emacs-orgmode@gnu.org; Wed, 10 Aug 2022 08:17:53 -0400 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1oLkek-0002SG-1G for emacs-orgmode@gnu.org; Wed, 10 Aug 2022 14:17:50 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: emacs-orgmode@gnu.org From: Max Nikulin Subject: Re: [PATCH v2] Re: [BUG] org-attach-id-ts-folder-format fails on customized IDs [9.6 (9.6-??-2e9999783)] Date: Wed, 10 Aug 2022 19:17:42 +0700 Message-ID: References: <87k084v1wa.fsf@localhost> <871qtxhsm6.fsf@localhost> <87a68ce32u.fsf@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Content-Language: en-US In-Reply-To: <87a68ce32u.fsf@localhost> Received-SPF: pass client-ip=116.202.254.214; envelope-from=geo-emacs-orgmode@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 28 X-Spam_score: 2.8 X-Spam_bar: ++ X-Spam_report: (2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FORGED_MUA_MOZILLA=2.309, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, NICE_REPLY_A=-0.001, NML_ADSP_CUSTOM_MED=0.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1660134044; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=wx1539FEkI/yfR05uE1fg7KpGqqrJNF1o70UFny9Kho=; b=kNDIXWiuSsDsv4pC66nWBPfVLL0rh136B4jmeYn1zKga9pmXnKacpEnQgG6f2k0zMMQhU+ mXOhiYcxka/n6ijtyVqVrkQ4TsQOAiQOZHvriUT8JEt4hxQMmjWeS/mXF8Fs+G8FCh8AqK aUahda4e2IEdiXL9/9JKav32tM2k+nBgucFlQTfwWcFJOdjFYHwuYMPS7j2Bq0OCsrka8B Bh9Xu+3S76x5HKyWsext5I03jWYFGzVJVkchodPqmOaGu8jhWNbtumjbmaxLWNhyu5dSsK U7gHN/Pj7qqg2q43a+Mvy6bD9DuZ5SZZpHjsFWx1qkK6NrrqlCxe/OYYoDcDaA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1660134044; a=rsa-sha256; cv=none; b=kErbTmnfS7cHRm3Z9jkrqlwrVBwxN6mCqBhdZnKeMMjuruhQ6nXI/LxNmkiVw8Jhp00fYA J+bkJay8jr4OwFeOvU+xIg2BlQg1DecKwE+Sh/FS0w4JuM8x1d75DjdOSEJ/qRePs0GuuO iPzKaqYSQ/227WYB6JEvN9BIQnS7vH2yoortWiz6py84Il2fGhuhKcAoDBCvFj3VuuK8aR ab2J0SL6SMKrBzpFS+a0ZmikWPHRjPKZfmtayrQmAXfXA054RN47Exz/VxoFwXTBHZPz5a J7SD88ByGJl2Hw0oulJ+vn+zMsJ9CM7SJHAc1uN/JuAGCNneid5uiAPy+CsKCg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 2.81 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: BDCF52611C X-Spam-Score: 2.81 X-Migadu-Scanner: scn0.migadu.com X-TUID: ypzOAhJTDsII On 10/08/2022 18:43, Ihor Radchenko wrote: > Ihor Radchenko writes: > > I have updated the patch to use "__/id" when id is too short. > Any objections? > > +When ID is too short (less than 3 chars), use its md5 hash to create Misleading docs, you do not use md5. > +the path." > + (if (< (length id) 3) > + (format "--/%s" id) Please, do not use path components starting with dash, it is terrible for CLI tools. By the way, you promised underscores, not dashes. > + (format "%s/%s" > + (substring id 0 2) > + (substring id 2)))) Ihor, I have not look into the code around, so my suggestions may have no sense. Is it possible to pass empty string as ID to these functions? Should it be explicitly checked? What if ID contains "/" that can not be used in file name? Windows has more forbidden characters. Do you expect any problem if here (and for timestamp-based ids) directory component is just padded with some character (unsure what can better than underscore) to required length? "x" -> "_x/x" or "______x/x" "xy" -> "xy/xy" or "_____xy/xy" etc. From my point of view it might be a bit better than "__" and "unknown".