Hello,

I have made the modifications to madx.el, and I am attaching the copyright assignment that I signed in February.

o

Il giorno gio 25 ott 2018 alle ore 00:30 Noam Postavsky <npostavs@gmail.com> ha scritto:
Oscar Blanco <orblancog@gmail.com> writes:

> I attached again the script with the corresponding modifications. I
> understand that an additional script called madx-autoloads.el is required.

The madx-autoloads.el will be generated when installing the package from
forms that are prefix with

;;;###autoload

See `(elisp) Autoload'. You can test it out using M-x package-install-file.

> ;;; madx.el --- Major mode for editing MAD-X files in Emacs

> ;; Copyright (C) 2013, 2016 Oscar BLANCO
> ;; 2017, 2018 FSF

You don't seem to be listed in copyright assignment file; to officially
assign copyright to the FSF you need to sign some legal papers.
Instructions to begin the process are at
https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/Copyright/request-assign.future

> (defconst madx-font-lock-keywords-face-all
> ;; madx-font-lock-keywords-programflow
> `((,(regexp-opt '(;; font-lock-keyword-face
> ;; madx-font-lock-keywords-programflow
> "IF"
> "ELSEIF"
> "ELSE"
> "WHILE"
> "MACRO"
> ) 'words)

I would prefer the close paren grouped with the sexp it closes, as in

`((,(regexp-opt '(;; font-lock-keyword-face
;; madx-font-lock-keywords-programflow
"IF"
"ELSEIF"
"ELSE"
"WHILE"
"MACRO")
'words)
. font-lock-keyword-face))

> ;; some variables already optimized
> "\\|RE[1-6][1-6]"
> "\\|T[1-6][1-6][1-6]"
> "\\|TM[1-6][1-6][1-6]"

These two could be written as just "\\|TM?[1-6][1-6][1-6]"

> "\\||BETA[1-3][1-3]"
> "\\|BETA[1-3][1-3]P"

I guess that extra "|" is a typo; again you could coalesce these into
"\\|BETA[1-3][1-3]P?", similar for the following ones.

> "\\|ALFA[1-3][1-3]"
> "\\|ALFA[1-3][1-3]P"
> "\\|GAMA[1-3][1-3]"
> "\\|GAMA[1-3][1-3]P"
> "\\|GAMA[1-3][1-3]"
> "\\|DISP[1-4]P[1-3]"
> "\\|EIGN[1-6][1-6]"
> "\\|R[1-6][1-6]"
> "\\|RM[1-6][1-6]")
> . font-lock-variable-name-face))
> "Highlighting expressions for MAD-X mode (variable-name-all).")

> (define-derived-mode madx-mode fundamental-mode "madx"
> "Major mode for editing Methodical Accelerator Design X script files."
> (kill-all-local-variables)
> ;; (use-local-map madx-mode-map)
> (set-syntax-table madx-mode-syntax-table)

define-derived-mode already does kill-all-local-variables,
use-local-map, and set-syntax-table, so you don't need to put them here.


--
Oscar BLANCO