mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-23 07:19:15 +00:00
(f90-mode-abbrev-table): Define abbrevs even if abbrev-table is
non-nil (saved user abbrevs may have been restored).
This commit is contained in:
parent
449657e878
commit
0761b294e1
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user