unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: <ola.nilsson@gmail.com>
To: 74207@debbugs.gnu.org
Cc: Ola Nilsson <ola.nilsson@gmail.com>
Subject: bug#74207: [PATCH] make-mode: Add the missing GNU Make functions
Date: Mon, 4 Nov 2024 23:33:09 +0100	[thread overview]
Message-ID: <20241104223309.1504335-1-ola.nilsson@gmail.com> (raw)

From: Ola Nilsson <ola.nilsson@gmail.com>

Add and reorder functions according to The GNU Make Manual 0.75 for GNU
make 4.3.

* lisp/progmodes/make-mode.el (makefile-gnumake-functions-alist):
Add missing GNU make functions
---
 lisp/progmodes/make-mode.el | 34 +++++++++++++++++++++++++++-------
 1 file changed, 27 insertions(+), 7 deletions(-)

diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el
index 60b87142850..5441903738d 100644
--- a/lisp/progmodes/make-mode.el
+++ b/lisp/progmodes/make-mode.el
@@ -704,7 +704,7 @@ makefile-mode-hook
 ;; Each "ARG" is used as a prompt for a required argument.
 (defconst makefile-gnumake-functions-alist
   '(
-    ;; Text functions
+    ;; Functions for String Substitution and Analysis
     ("subst" "From" "To" "In")
     ("patsubst" "Pattern" "Replacement" "In")
     ("strip" "Text")
@@ -712,22 +712,42 @@ makefile-gnumake-functions-alist
     ("filter" "Pattern" "Text")
     ("filter-out" "Pattern" "Text")
     ("sort" "List")
-    ;; Filename functions
+    ("word" "Index" "Text")
+    ("wordlist" "S" "E" "Text")
+    ("words" "Text")
+    ("firstword" "Text")
+    ("lastword" "Names")
+    ;; Functions for File Names
     ("dir" "Names")
     ("notdir" "Names")
     ("suffix" "Names")
     ("basename" "Names")
-    ("addprefix" "Prefix" "Names")
     ("addsuffix" "Suffix" "Names")
+    ("addprefix" "Prefix" "Names")
     ("join" "List 1" "List 2")
-    ("word" "Index" "Text")
-    ("words" "Text")
-    ("firstword" "Text")
     ("wildcard" "Pattern")
+    ("realpath" "Names")
+    ("abspath" "Names")
+    ;; Functions for Conditionals
+    ("if" "Condition" "Then-part" "Else-part")
+    ("or"  "Condition 1" "Condition 2" "Condition 3" "Condition 4")
+    ("and" "Condition 1" "Condition 2" "Condition 3" "Condition 4")
     ;; Misc functions
     ("foreach" "Variable" "List" "Text")
+    ("file" "Op" "Filename" "Text")
+    ("call" "Variable" "Param 1" "Param 2" "Param 3" "Param 4" "Param 5")
+    ("value" "Variable")
+    ("eval" "statement")
     ("origin" "Variable")
-    ("shell" "Command")))
+    ("flavor" "Variable")
+    ("shell" "Command")
+    ("guile" "Program")
+    ;; Functions that control make
+    ("error" "Text")
+    ("warning" "Text")
+    ("info" "Text")
+    )
+  "Alist of GNU Make functions and their arguments.")
 
 
 ;;; ------------------------------------------------------------
-- 
2.45.2






             reply	other threads:[~2024-11-04 22:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-04 22:33 ola.nilsson [this message]
2024-11-09 11:09 ` bug#74207: [PATCH] make-mode: Add the missing GNU Make functions Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241104223309.1504335-1-ola.nilsson@gmail.com \
    --to=ola.nilsson@gmail.com \
    --cc=74207@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).