Commit 0761b294 authored by Glenn Morris's avatar Glenn Morris

(f90-mode-abbrev-table): Define abbrevs even if abbrev-table is

non-nil (saved user abbrevs may have been restored).
parent 449657e8
......@@ -674,76 +674,78 @@ Used in the F90 entry in `hs-special-modes-alist'.")
;; Abbrevs have generally two letters, except standard types `c, `i, `r, `t.
(defvar f90-mode-abbrev-table
(let (abbrevs-changed)
(progn
(define-abbrev-table 'f90-mode-abbrev-table nil)
;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible.
;; A little baroque to quieten the byte-compiler.
(mapcar
(function (lambda (element)
(condition-case nil
(apply 'define-abbrev f90-mode-abbrev-table
(append element '(nil 0 t)))
(wrong-number-of-arguments
(apply 'define-abbrev f90-mode-abbrev-table
(append element '(nil 0)))))))
'(("`al" "allocate" )
("`ab" "allocatable" )
("`as" "assignment" )
("`ba" "backspace" )
("`bd" "block data" )
("`c" "character" )
("`cl" "close" )
("`cm" "common" )
("`cx" "complex" )
("`cn" "contains" )
("`cy" "cycle" )
("`de" "deallocate" )
("`df" "define" )
("`di" "dimension" )
("`dp" "double precision")
("`dw" "do while" )
("`el" "else" )
("`eli" "else if" )
("`elw" "elsewhere" )
("`eq" "equivalence" )
("`ex" "external" )
("`ey" "entry" )
("`fl" "forall" )
("`fo" "format" )
("`fu" "function" )
("`fa" ".false." )
("`im" "implicit none")
("`in" "include" )
("`i" "integer" )
("`it" "intent" )
("`if" "interface" )
("`lo" "logical" )
("`mo" "module" )
("`na" "namelist" )
("`nu" "nullify" )
("`op" "optional" )
("`pa" "parameter" )
("`po" "pointer" )
("`pr" "print" )
("`pi" "private" )
("`pm" "program" )
("`pu" "public" )
("`r" "real" )
("`rc" "recursive" )
("`rt" "return" )
("`rw" "rewind" )
("`se" "select" )
("`sq" "sequence" )
("`su" "subroutine" )
("`ta" "target" )
("`tr" ".true." )
("`t" "type" )
("`wh" "where" )
("`wr" "write" )))
f90-mode-abbrev-table)
"Abbrev table for F90 mode.")
(let (abbrevs-changed)
;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible.
;; A little baroque to quieten the byte-compiler.
(mapcar
(function (lambda (element)
(condition-case nil
(apply 'define-abbrev f90-mode-abbrev-table
(append element '(nil 0 t)))
(wrong-number-of-arguments
(apply 'define-abbrev f90-mode-abbrev-table
(append element '(nil 0)))))))
'(("`al" "allocate" )
("`ab" "allocatable" )
("`as" "assignment" )
("`ba" "backspace" )
("`bd" "block data" )
("`c" "character" )
("`cl" "close" )
("`cm" "common" )
("`cx" "complex" )
("`cn" "contains" )
("`cy" "cycle" )
("`de" "deallocate" )
("`df" "define" )
("`di" "dimension" )
("`dp" "double precision")
("`dw" "do while" )
("`el" "else" )
("`eli" "else if" )
("`elw" "elsewhere" )
("`eq" "equivalence" )
("`ex" "external" )
("`ey" "entry" )
("`fl" "forall" )
("`fo" "format" )
("`fu" "function" )
("`fa" ".false." )
("`im" "implicit none")
("`in" "include" )
("`i" "integer" )
("`it" "intent" )
("`if" "interface" )
("`lo" "logical" )
("`mo" "module" )
("`na" "namelist" )
("`nu" "nullify" )
("`op" "optional" )
("`pa" "parameter" )
("`po" "pointer" )
("`pr" "print" )
("`pi" "private" )
("`pm" "program" )
("`pu" "public" )
("`r" "real" )
("`rc" "recursive" )
("`rt" "return" )
("`rw" "rewind" )
("`se" "select" )
("`sq" "sequence" )
("`su" "subroutine" )
("`ta" "target" )
("`tr" ".true." )
("`t" "type" )
("`wh" "where" )
("`wr" "write" ))))
;;;###autoload
(defun f90-mode ()
"Major mode for editing Fortran 90,95 code in free format.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment