From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FORGED_GMAIL_RCVD,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE, MAILING_LIST_MULTI,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from txout-a3-smtp.messagingengine.com (txout-a3-smtp.messagingengine.com [103.168.172.226]) by inbox.vuxu.org (Postfix) with ESMTP id 40E7223D6C for ; Sun, 26 Jan 2025 23:45:40 +0100 (CET) Received: from localhost.localdomain (kubehost04.phl.internal [10.202.3.4]) by mailtxout.phl.internal (Postfix) with ESMTP id 033B72380139 for ; Sun, 26 Jan 2025 17:45:39 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=9fans.net; h=from:to :message-id:date:mime-version:content-type :content-transfer-encoding:list-help:list-id:list-post :list-subscribe:reply-to:subject:list-unsubscribe; s=dkim-1; t= 1737931538; x=1738017938; bh=/Rn2tHkALfmPPzrpFRDZBcv0Fsh8IhrOlaB b2ms9mho=; b=W8qlsN0dETfbf2cQYx1KMpH1XCk5repsScgl2AX4z/pvgD/f2S8 UlxcqOqBzVaAa58LZYDSSxQT7gyOaUS3iL4qpSuWi1+YKQnvdg2jmsDoAHKmNk2F gYpKwaf9CXUZoGXxE6B3Tvh7bMXHV3oU19mksyoskBr2STeNBBpoFAEw= From: fosskapper@gmail.com To: 9fans <9fans@9fans.net> Message-Id: <17379263790.3bad57.3959@composer.9fans.topicbox.com> Date: Sun, 26 Jan 2025 16:19:39 -0500 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=17379263791.C8DC.3959 Content-Transfer-Encoding: 7bit Topicbox-Policy-Reasoning: moderate: sender is a member; group holds all messages Topicbox-Message-UUID: 406435d2-dc2b-11ef-9132-173bbbb4462c Archived-At: =?UTF-8?B?PGh0dHBzOi8vOWZhbnMudG9waWNib3guY29tL2dyb3Vwcy85?= =?UTF-8?B?ZmFucy9UM2NkMmE4NzE4NTE3ODdkZi1NYWQyMTcxOTA4ZTdlOGNjZDYxYjBh?= =?UTF-8?B?YmY0Pg==?= List-Help: List-Id: "9fans" <9fans.9fans.net> List-Post: List-Software: Topicbox v0 List-Subscribe: Precedence: list Reply-To: 9fans <9fans@9fans.net> Subject: [9fans] Can you plumb a file with a single quote in the filename? List-Unsubscribe: , Topicbox-Delivery-ID: 2:9fans:437d30aa-c441-11e9-8a57-d036212d11b0:522be890-2105-11eb-b15e-8d699134e1fa:Mad2171908e7e8ccd61b0abf4:1:guakAIZ2U6kNnr-zh_uATmz4Li6BhFeYks2Wbzcb7Bo --17379263791.C8DC.3959 Date: Sun, 26 Jan 2025 16:19:39 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I am currently using Acme (the Plan9ports version) on my Raspberry Pi 4B us= ing Raspberry Pi OS. It works very well and I enjoy using it, but recently = I have encountered a problem that I can't seem to solve. I need to work with PNG image files that have been created and named by oth= er people. When I create a file, I am very conservative about which charact= ers I use in the filename (alphanumeric, underscore, and sometimes hyphen).= These PNG image files, however, frequently contain parentheses, pound sign= s, and single quotes (apostrophes), like these: Mary's first attempt (edited) #confirmed.png John's second attempt (original) #unconfirmed.png I have been able to create a plumbing rule that handles all of the characte= rs in the filenames above, except for the single quotes (apostrophes). When= ever I try to include an escaped single quote in the "data matches" string,= the plumber gives me this error when I use the "cat $HOME/lib/plumbing | 9= p write plumb/rules" command to refresh: 9p: write error: runaway quoted string literal This is the plumbing rule that is giving me the problem: =C2=A0# image files go to eom type is text data matches '[a-zA-Z=C2=A1-=EF=BF=BD0-9_\-./@ \(\)\']+' data matches '([a-zA-Z=C2=A1-=EF=BF=BD0-9_\-./@ \(\)\']+)\.(jpe?g|JPE?G|gif= |GIF|tiff?|TIFF?|ppm|bit|png|PNG|webp|WEBP)' arg isfile $0 plumb to image plumb start eom $file I don't know much about the plumber, so I am probably doing a lot of things= wrong, but I would be very grateful for any help that anyone could provide= . Thank you. And by the way -- I know that in a filename with spaces, you need to swipe = the entire filename first before you right click in order to have the click= "take". Thanks again. -- Foss ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T3cd2a871851787df-Mad217= 1908e7e8ccd61b0abf4 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription --17379263791.C8DC.3959 Date: Sun, 26 Jan 2025 16:19:39 -0500 MIME-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I am currently using Acme (the Plan9ports vers= ion) on my Raspberry Pi 4B using Raspberry Pi OS. It works very well and I = enjoy using it, but recently I have encountered a problem that I can't = seem to solve.

I need to work with PNG ima= ge files that have been created and named by other people. When I create a = file, I am very conservative about which characters I use in the filename (= alphanumeric, underscore, and sometimes hyphen). These PNG image files, how= ever, frequently contain parentheses, pound signs, and single quotes (apost= rophes), like these:

Mary's first atte= mpt (edited) #confirmed.png
John's second attempt (orig= inal) #unconfirmed.png

I have been able to= create a plumbing rule that handles all of the characters in the filenames= above, except for the single quotes (apostrophes). Whenever I try to inclu= de an escaped single quote in the "data matches" string, the plum= ber gives me this error when I use the "cat $HOME/lib/plumbing | 9p wr= ite plumb/rules" command to refresh:

= 9p: write error: runaway quoted string literal

=
This is the plumbing rule that is giving me the problem:

 # image files go to eom
type is t= ext
data matches '[a-zA-Z¡-�0-9_\-./@ \(\)= \']+'
data matches '([a-zA-Z¡-�0-9= _\-./@ \(\)\']+)\.(jpe?g|JPE?G|gif|GIF|tiff?|TIFF?|ppm|bit|png|PNG|webp= |WEBP)'
arg isfile $0
plumb to image
plumb start eom $file

I don&= #39;t know much about the plumber, so I am probably doing a lot of things w= rong, but I would be very grateful for any help that anyone could provide. = Thank you.

And by the way -- I know that i= n a filename with spaces, you need to swipe the entire filename first befor= e you right click in order to have the click "take".
<= div>
Thanks again.

--
Foss

= --17379263791.C8DC.3959--