From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Sam Steingold Newsgroups: gmane.emacs.devel Subject: case-insensitive string comparison Date: Tue, 19 Jul 2022 13:27:50 -0400 Message-ID: Reply-To: sds@gnu.org Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30253"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jul 19 19:55:49 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oDrRl-0007h7-Fz for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Jul 2022 19:55:49 +0200 Original-Received: from localhost ([::1]:48214 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oDrRk-00030A-6L for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Jul 2022 13:55:48 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49680) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDr0m-000890-ET for emacs-devel@gnu.org; Tue, 19 Jul 2022 13:27:56 -0400 Original-Received: from mail-qt1-x82a.google.com ([2607:f8b0:4864:20::82a]:39791) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oDr0k-00071n-Kf; Tue, 19 Jul 2022 13:27:56 -0400 Original-Received: by mail-qt1-x82a.google.com with SMTP id r24so4954694qtx.6; Tue, 19 Jul 2022 10:27:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:subject:user-agent:return-receipt-to:reply-to :mail-followup-to:date:message-id:mime-version; bh=+IQYcqExlC3+qEVrF9VWC5w6etqosl9sGTyZumlArkU=; b=Z3+v1FrMh5agc5wIpaskZb1N+befQJsNNIgTcujEEQdMqgBrI5Mvx7TlwI2+28OW8e qNH7kyB9p5dKz56CmlcY7xnREltuBwKU5uUECZ93Qo7ZIzU7lbLlnZqjNxhjT6oAoL45 6RtKge2sDhtLHANZfaC7Nu2f/PcrqE6ZX0HGyoR8A+1J8emirQEfVlxK9BdHoQ7t2xeN mRXJudTR9XqF/aVqzgRipcocFJa13e2a/XGAHxCSI6MezCuZ+JgGkTztGETT4MPCW0UY Qyl3ts2u90feigSs8c05722/5IrvXanBowrdV63NJshZvl2T7gPyKcJ5ENhL1r9igMJE BCAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:subject:user-agent :return-receipt-to:reply-to:mail-followup-to:date:message-id :mime-version; bh=+IQYcqExlC3+qEVrF9VWC5w6etqosl9sGTyZumlArkU=; b=27lvp8jkKzYBc/1Wz8sBvQFPY3/We9vy8TT8e6j75uCZ9WvzPz2CqlVeIjujK2DBzV 207oMsY8qFZCPJNNM/ikv3RzK++s3qMttCcXaPhA2vVueeQzMR2trn61wP2xBiamz0JJ kSdyLqRRbDR96zEpljF5bny4tEQoOoPC3UDATEte0OLTvnM3xOp3QYYRXo9mnbNAuIdJ 2gO+uIF8c2zoEzpyVVzBIKPOfzSe6EV3+xz7n2jJed8oXt/dDuINog2AttiD5mBJYyPQ +GhgoVOOKAmB8ZcqoH62LpAf6Dq5cAVQAn+VwCeUgqWndyw3EYqLC+N/rQKtfRFlW0Y7 veHQ== X-Gm-Message-State: AJIora/RPr8fGhosdtIEtkTPYLilMRz9YeCgdSFuiu9zX5+emylcT6at JzcLCHsqM661KvL7Samb/ZRSfnHcYQ== X-Google-Smtp-Source: AGRyM1uoKpoCeJbZ5Q58QIA1Ww4/netkblKhyycAL2HNDc7nuOKa4ydM2R4fb9oGs84n9tVN/pYHZA== X-Received: by 2002:ac8:59d3:0:b0:31e:ff86:f344 with SMTP id f19-20020ac859d3000000b0031eff86f344mr2858383qtf.199.1658251672523; Tue, 19 Jul 2022 10:27:52 -0700 (PDT) Original-Received: from 3c22fb11fdab.ant.amazon.com (pool-108-30-23-113.nycmny.fios.verizon.net. [108.30.23.113]) by smtp.gmail.com with ESMTPSA id m3-20020a05620a24c300b006b47dc92e15sm14659317qkn.36.2022.07.19.10.27.51 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 19 Jul 2022 10:27:51 -0700 (PDT) X-Attribution: Sam X-Disclaimer: You should not expect anyone to agree with me. Mail-Followup-To: emacs-devel@gnu.org Received-SPF: pass client-ip=2607:f8b0:4864:20::82a; envelope-from=sam.steingold@gmail.com; helo=mail-qt1-x82a.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, 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-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:292286 Archived-At: Hi, Emacs Lisp has 3 ways to describe comparison that ignores case: 1. "ignore-case", as in, e.g., `member-ignore-case' 2. "case-fold", as in, e.g., `case-fold-search' 3. "case-insensitive", as in, e.g., `minibuffer-history-case-insensitive-variables' Is there a general rule when to use which naming? Specifically, I would like to add --8<---------------cut here---------------start------------->8--- (defun string-equal-ignore-case (s1 s2) "Like `string-equal', but case-insensitive. Upper-case and lower-case letters are treated as equal. Unibyte strings are converted to multibyte for comparison." (eq t (compare-strings s1 0 nil s2 0 nil t))) --8<---------------cut here---------------end--------------->8--- to subr.el next to `string-prefix-p' - is this okay? Thanks. -- Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.2113 http://childpsy.net http://calmchildstories.com http://steingoldpsychology.com https://www.peaceandtolerance.org/ https://ij.org/ https://www.memritv.org Sex is like air. It's only a big deal if you can't get any.